项目地址 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 版本。
解决方法:
-
替换
append
方法 : 使用pandas.concat
替代DataFrame.append
,因为这是推荐的标准方法。修改以下代码:
inigeneExprDf = geneExprDf.append(temp, ignore_index = True, sort=False)
为:
inigeneExprDf = 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.