运行软件ARC(http://ibest.github.io/ARC/#ARCInstallation)时报错如下:
-bash-4.2$ ./ARC > log.txt rm: 无法删除"/share/workdir/yangtt/software/ibest-ARC-3831cb8/bin/working_Sample1/I*_contigs.fasta": 没有那个文件或目录 Traceback (most recent call last): File "./ARC", line 85, in <module> main() File "./ARC", line 82, in main return app.start(loglevel, configfile=options.config) File "/share/workdir/yangtt/software/ibest-ARC-3831cb8/bin/../ARC/app.py", line 36, in start self.setup(values) File "/share/workdir/yangtt/software/ibest-ARC-3831cb8/bin/../ARC/app.py", line 117, in setup key_function=keyfunction(config['sra'])) File "/share/soft/python-2.7.15/lib/python2.7/site-packages/Bio/SeqIO/__init__.py", line 978, in index_db key_function, repr) File "/share/soft/python-2.7.15/lib/python2.7/site-packages/Bio/File.py", line 518, in __init__ raise MissingPythonDependencyError("Requires sqlite3, which is " Bio.MissingPythonDependencyError: Requires sqlite3, which is included Python 2.5+
其实就是调用biopython时,biopython某个需要调用sqlite3的子模块找不到sqlite3导致的报错(上面的报错信息是ARC软件作者写的),遇到这个问题,你通过下述方法调用sqlite3,可能依然会出现类似错误(https://groups.google.com/forum/#!topic/arc-assembly/gUezzcgWUfU):
-bash-4.2$ python Python 2.7.15 (default, May 18 2018, 21:16:28) [GCC 7.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Bio >>> Bio.__version__ '1.71' >>> from Bio import SeqIO >>> import sqlite3 #我这没报错是因为我已经解决了这个问题 >>> #否则可能出现类似如下错误: >>> import sqlite3 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/sqlite3/__init__.py", line 24, in <module> from dbapi2 import * File "/usr/local/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module> from _sqlite3 import * ImportError: No module named _sqlite3
问题的原因在于,在编译安装python前没有安装好sqlite库,导致编译安装python时没有对应的库文件。检查方法:
查看python安装目录下是否有_sqlite3.so动态库
[root@localhost site-packages]# find /share/soft/python-2.7.15/ -name _sqlite3.so #我运行发现没有
解决办法:
- 安装sqlite-devel库(我的系统是centos 7)
yum install sqlite-devel
- 重新编译安装python2
./configure --prefix=/share/soft/python-2.7.15 make make install
再次检查python安装目录下是否有_sqlite3.so动态库:
[root@localhost python-2.7.15]# find /share/soft/python-2.7.15/ -name _sqlite3.so /share/soft/python-2.7.15/lib/python2.7/lib-dynload/_sqlite3.so
再次运行 ARC,发现所有问题解决!
另外,sqlite3库也可以自己下载安装:https://stackoverflow.com/questions/1210664/no-module-named-sqlite3
Download sqlite3:
wget http://www.sqlite.org/2016/sqlite-autoconf-3150000.tar.gz
Follow these steps to install:
$tar xvfz sqlite-autoconf-3071502.tar.gz $cd sqlite-autoconf-3071502 $./configure --prefix=/usr/local $make install
https://groups.google.com/forum/#!topic/arc-assembly/gUezzcgWUfU
https://stackoverflow.com/questions/1210664/no-module-named-sqlite3
尊重他人劳动成果,转载请注明出处:Bluesky's blog » Bio.MissingPythonDependencyError: Requires sqlite3