美文网首页
CPC2安装报错-------解决过程

CPC2安装报错-------解决过程

作者: 宗肃書 | 来源:发表于2021-03-18 14:53 被阅读0次

    1.首先我目前的python版本是3.7的
    按照网上(http://cpc2.gao-lab.org/download.php)标准流程安装了CPC2

    pip install biopython   #首先需要安装这个
    剩下的按下面的步骤
    wget http://cpc2.gao-lab.org/data/CPC2-beta.tar.gz              
    gzip -dc CPC2-beta.tar.gz | tar xf -
    cd CPC2-beta
    export CPC_HOME="$PWD"
    cd libs/libsvm
    gzip -dc libsvm-3.18.tar.gz | tar xf -
    cd libsvm-3.18
    make clean && make
    

    2.尝试运行CPC2

    python CPC2-beta/bin/CPC2.py
    

    第一次报错

    (base) [jychu@localhost soft]$ python CPC2-beta/bin/CPC2.py
    Traceback (most recent call last):
      File "CPC2-beta/bin/CPC2.py", line 8, in <module>
        import commands
    ModuleNotFoundError: No module named 'commands'
    

    起初不知道是什么意思,思考了一下它说的是“没有commands"这个模块,在网上搜了一下,说是python3中commands模块已经被subprocess取代了,所以接下来我就试了一下在CPC2-beta/bin/CPC2.py文件中把commands替换为subprocess

    2.第二次运行

    python CPC2-beta/bin/CPC2.py
    

    结果又报错

    (base) [jychu@localhost soft]$ python CPC2-beta/bin/CPC2.py
    Traceback (most recent call last):
      File "CPC2-beta/bin/CPC2.py", line 16, in <module>
        import seqio
      File "/public/jychu/soft/CPC2-beta/bin/seqio.py", line 165
        print a
              ^
    SyntaxError: Missing parentheses in call to 'print'. Did you mean print(a)?
    

    这次一定要看清楚,报错的文件是/public/jychu/soft/CPC2-beta/bin/seqio.py,进入该文件,确实有print a 这一行,百度一下发现python3 的print语法相对于python2的改变了一下,把print a 改为 print(a)就行了。

    3.再次运行

    (base) [jychu@localhost soft]$ python CPC2-beta/bin/CPC2.py
    Traceback (most recent call last):
      File "CPC2-beta/bin/CPC2.py", line 16, in <module>
        import seqio
      File "/public/jychu/soft/CPC2-beta/bin/seqio.py", line 166
        print merge_region(a)
                         ^
    SyntaxError: invalid syntax
    
    

    其实这次报错和上次是一样的问题,也是在print后面加()即可

    4.再次运行,运行成功!

    (base) [jychu@localhost soft]$ python CPC2-beta/bin/CPC2.py
    Usage: CPC2.py [options] -i input.fasta -o output_file
    
    Contact: Kang Yujian <kangyj@mail.cbi.pku.edu.cn>
    
    Options:
      --version   show program's version number and exit
      -h, --help  show this help message and exit
    
      Common Options:
        -i FILE   input sequence in fasta format [Required]
        -o FILE   output file [Default: cpc2output.txt]
        -r        also check the reverse strand [Default: FALSE]
        --ORF     output the start position of longest ORF [Default: FALSE]
    
    • 运行命令
    python /public/jychu/soft/CPC2-beta/bin/CPC2.py -i iux200LFPKM0.1.fa -o CPC.txt
    

    又报错了

    Traceback (most recent call last):
      File "/public/jychu/soft/CPC2-beta/bin/CPC2.py", line 363, in <module>
        sys.exit(__main())
      File "/public/jychu/soft/CPC2-beta/bin/CPC2.py", line 45, in __main
        if calculate_potential(options.fasta,strand,output_orf,options.outfile):
      File "/public/jychu/soft/CPC2-beta/bin/CPC2.py", line 255, in calculate_potential
        ftmp_feat = file(outfile + ".feat","w")
    NameError: name 'file' is not defined
    

    上网查说是python版本升级file函数改为open
    又运行了一下出现下面结果

    [INFO] read file 'u.fa'
    Error: Fail to IO file: u.fa
    

    看不懂了,不知有大佬可否解答
    当然之前我也用python2版本试了运行该软件,里面报错的是有些模块适合python3.0以上的版本,所以安装不了,因此就没往下折腾。

    相关文章

      网友评论

          本文标题:CPC2安装报错-------解决过程

          本文链接:https://www.haomeiwen.com/subject/wioucltx.html