SingleCell RNA-seqデータを使って、Perturbation後のtranscriptome変化を予測することができる。単一のRNA-seqではなくscRNA-seqというところが特徴的で、遺伝子ノックアウトやPerturbationによる影響を、次元圧縮された空間でベクトルとして視覚化し、その変化を予測可能にしている。
使ってみようと思ったらcelloracleをimportしようとしただけでエラーになってしまった。
>>> import celloracle as co
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ubuntu/Main/preturb_prediction/dev/CellOracle/celloracle/__init__.py", line 8, in <module>
from . import utility, network, network_analysis, go_analysis, data, data_conversion, oracle_utility
File "/home/ubuntu/Main/preturb_prediction/dev/CellOracle/celloracle/utility/__init__.py", line 18, in <module>
from .load_hdf5 import load_hdf5
File "/home/ubuntu/Main/preturb_prediction/dev/CellOracle/celloracle/utility/load_hdf5.py", line 8, in <module>
from ..motif_analysis.tfinfo_core import load_TFinfo
File "/home/ubuntu/Main/preturb_prediction/dev/CellOracle/celloracle/motif_analysis/__init__.py", line 11, in <module>
from .motif_analysis_utility import is_genome_installed
File "/home/ubuntu/Main/preturb_prediction/dev/CellOracle/celloracle/motif_analysis/motif_analysis_utility.py", line 22, in <module>
from genomepy import Genome
File "/home/ubuntu/mambaforge/envs/test_celloracle/lib/python3.10/site-packages/genomepy/__init__.py", line 10, in <module>
from genomepy.annotation import Annotation, query_mygene
File "/home/ubuntu/mambaforge/envs/test_celloracle/lib/python3.10/site-packages/genomepy/annotation/__init__.py", line 11, in <module>
from genomepy.annotation.mygene import _map_genes, query_mygene
File "/home/ubuntu/mambaforge/envs/test_celloracle/lib/python3.10/site-packages/genomepy/annotation/mygene.py", line 4, in <module>
import mygene
File "/home/ubuntu/mambaforge/envs/test_celloracle/lib/python3.10/site-packages/mygene/__init__.py", line 6, in <module>
from biothings_client import alwayslist, get_client
ImportError: cannot import name 'alwayslist' from 'biothings_client' (/home/ubuntu/mambaforge/envs/test_celloracle/lib/python3.10/site-packages/biothings_client/__init__.py)
biothings_clientでalwayslist
のimport errorが起きているようである。biothings_clientのimport文はbiothings/mygene.pyでimportされているらしく、biothings_clientは最近まで頻繁にアップデートされているのに対して、mygene.pyは四年くらい放置されている。
根本的解決は難しいので、biothings_clientのバージョン指定をすることで解決する。
celloracleのレポジトリ をcloneし、requirements.txtにて以下の編集をし、pip install .
でいったん解決できる。
+ biothings_client==0.2.6
あるいは、
pip install biothings_client==0.2.6
でその場しのぎのwalkaroundでもOK。
一応プルリクも出したので、遅かれ早かれ解決すると思う。