拯救单细胞代谢研究!从部署到修复:scFEA 的终极使用攻略

项目地址 changwn/scFEA:单细胞通量估计分析 (scFEA) 尝试下面的 Web 服务器! --- changwn/scFEA: single cell Flux Estimation Analysis (scFEA) Try the below web server! [changwn/scFEA:单细胞通量估计分析 (scFEA) 尝试下面的 Web 服务器! --- changwn/scFEA: single cell Flux Estimation Analysis (scFEA) Try the below web server!](https://github.com/changwn/scFEA)

Download scFEA: 下载 scFEA:

shell 复制代码
git clone https://github.com/changwn/scFEA

Install requirements: 安装要求:

shell 复制代码
cd scFEA
conda install --file requirements
conda install pytorch torchvision -c pytorch
pip install --user magic-impute

装完之后发现可以调出帮助 但是执行python src/scFEA.py就报错了

shell 复制代码
python src/scFEA.py --help
usage: scFEA.py [-h] [--data_dir <data_directory>]
                [--input_dir <input_directory>] [--res_dir <data_directory>]
                [--test_file TEST_FILE] [--moduleGene_file MODULEGENE_FILE]
                [--stoichiometry_matrix STOICHIOMETRY_MATRIX]
                [--sc_imputation {True,False}]

scFEA: A graph neural network model to estimate cell-wise metabolic flux using
single cell RNA-seq data

optional arguments:
  -h, --help            show this help message and exit
  --data_dir <data_directory>
                        The data directory for scFEA model files.
  --input_dir <input_directory>
                        The data directory for single cell input data.
  --res_dir <data_directory>
                        The data directory for result [output]. The output of scFEA includes two matrices, predicted metabolic flux and metabolites
                        stress at single cell resolution.
  --test_file TEST_FILE
                        The test SC file [input]. The input of scFEA is a single cell profile matrix, where row is gene and column is cell. Example
                        datasets are provided in /data/ folder. The input can be raw counts or normalised counts. The logarithm would be performed
                        if value larger than 30.
  --moduleGene_file MODULEGENE_FILE
                        The table contains genes for each module. We provide human and mouse two models in scFEA. For human model, please use
                        module_gene_m168.csv which is default. All candidate moduleGene files are provided in /data/ folder.
  --stoichiometry_matrix STOICHIOMETRY_MATRIX
                        The table describes relationship between compounds and modules. Each row is an intermediate metabolite and each column is
                        metabolic module. For human model, please use cmMat_171.csv which is default. All candidate stoichiometry matrices are
                        provided in /data/ folder.
  --cName_file CNAME_FILE
                        The name of compounds. The table contains two rows. First row is compounds name and second row is corresponding id.
  --sc_imputation {True,False}
                        Whether perform imputation for SC dataset (recommend set to <True> for 10x data).

报错

shell 复制代码
(scFEA) :~/Downloads/scFEA$ python src/scFEA.py
Starting load data...
Load compound name file, the balance output will have compound name.
Load data done.
Starting process data...
Traceback (most recent call last):
  File "/Downloads/scFEA/src/scFEA.py", line 370, in <module>
    main(args)
  File "/Downloads/scFEA/src/scFEA.py", line 172, in main
    geneExprDf = geneExprDf.append(temp, ignore_index = True, sort=False)
  File "/.local/lib/python3.10/site-packages/pandas/core/generic.py", line 5989, in __getattr__
    return object.__getattribute__(self, name)
AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?

最坑的来了 作者从没回复过issue, 根据报错提示 ai会提示让降级numpy和pandas 然并卵 降级后就只剩重装了

正确的步骤就是下面这个安装顺序 scFEA需要改函数调用

r 复制代码
mamba install --file requirements  
mamba install pytorch torchvision -c pytorch  
mamba install pytorch torchvision torchaudio cpuonly -c pytorch  # 单cpu 无GPU
mamba install bioconda::magic-impute  

在 Pandas 的最新版本中,DataFrame.append 方法已被废弃,并被 _append 方法取代。因此,代码中使用 .append 方法的部分需要调整以兼容较新的 Pandas 版本。

解决方法:

  1. 替换 append 方法 : 使用 pandas.concat 替代 DataFrame.append,因为这是推荐的标准方法。

    修改以下代码:

    ini 复制代码
    geneExprDf = geneExprDf.append(temp, ignore_index = True, sort=False)

    为:

    ini 复制代码
    geneExprDf = pd.concat([geneExprDf, temp], ignore_index=True)

    注意concat 不支持 sort 参数,所以如果需要排序,可能需要额外处理。

最终 再次运行 完美解决

bash 复制代码
(scFEA) :~/Downloads/scFEA$ python src/scFEA.py
Starting load data...
Load compound name file, the balance output will have compound name.
Load data done.
Starting process data...
Process data done.
Starting train neural network...
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:54<00:00,  1.83it/s]
Training time:  54.65031886100769
scFEA job finished. Check result in the desired output folder.
相关推荐
骇客野人3 小时前
Redis 完整安装部署方案(Linux,分【源码编译】+【Docker】两种,推荐生产用源码,测试快速用 Docker)
运维
蓝速科技6 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
chicheese6 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
2601_960620377 小时前
2026校招市场策略岗项目准备指南:调研/竞品/活动/竞赛4类项目
数据分析
Linux-lucky7 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
智能运维指南8 小时前
2026年ITSM系统怎么选?四款主流方案与五维评估模型
运维·itsm·嘉为蓝鲸
我命由我123458 小时前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
骇客野人8 小时前
测试环境MySQL迁移Vastbase(海量数据库)完整改造与落地实施方案
运维·服务器
迪康Defender8 小时前
终端安全实战:如何高效解决企业U盘泄密与管控难题
运维·网络·安全·web安全·终端安全管理
zly35009 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器