欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

perl安装CRISPRCasFinder

最编程 2024-02-25 11:43:24
...

一路踩坑,不推荐github上的这种安装方法,里面用的sudo安装perl模块,使用也要root权限。

官网:https://crispr.i2bc.paris-saclay.fr/
github:https://github.com/dcouvin/CRISPRCasFinder

一、下载、安装CRISPRCasFinder
wget -c https://github.com/dcouvin/CRISPRCasFinder/archive/master.zip
bash installer_UBUNTU.sh
source ~/.profile

二、安装Date::Calc模块

https://metacpan.org/pod/Date::Calc

perl CRISPRCasFinder.pl -h
# Can't locate Date/Calc.pm
perl -MCPAN -e 'install Date::Calc'
perl -e 'use Date::Calc'
find -name 'Calc.pm'
# ./.cpan/build/Date-Calc-6.4-0/blib/lib/Date/Calc.pm
# ./.cpan/build/Date-Calc-6.4-0/lib/Date/Calc.pm
# 把Date/Calc.pm的路径export到perl环境
export PERL5LIB="/home/cheng/.cpan/build/Unix-Sysexits-0.06-0/blib/lib:/home/cheng/.cpan/build/Unix-Sysexits-0.06-0/lib:/home/cheng/.cpanm/work/1592559386.15556/Unix-Sysexits-0.06/blib/lib:/home/cheng/.cpanm/work/1592559386.15556/Unix-Sysexits-0.06/lib"

三、安装Unix::Sysexits模块

https://metacpan.org/pod/Unix::Sysexits

perl CRISPRCasFinder.pl -h
# Can't locate Unix/Sysexits.pm
perl -MCPAN -e 'install Unix::Sysexits'
find -name 'Sysexits.pm'
# add path to perl5lib and export
perl -e 'use Unix::Sysexits'
# Can't locate loadable object for module Unix::Sysexits
sudo perldoc perllocal
# /usr/local/share/perl/5.22.1
export PERL5LIB="/home/cheng/.cpan/build/Unix-Sysexits-0.06-0/blib/lib:/home/cheng/.cpan/build/Unix-Sysexits-0.06-0/lib:/home/cheng/.cpanm/work/1592559386.15556/Unix-Sysexits-0.06/blib/lib:/home/cheng/.cpanm/work/1592559386.15556/Unix-Sysexits-0.06/lib:/usr/local/share/perl/5.22.1"
perl -e 'use Unix::Sysexits'
# Can't locate loadable object for module Unix::Sysexits
sudo perl -e 'use Unix::Sysexits'
# OK
  • sudo perl module才能use
    因为1. conda里perl的没有gcc,因此安装不了模块
    因为2. installer_UBUNTU.sh里使用sudo安装模块的
sudo perl /home/cheng/huty/softwares/CRISPRCasFinder-master/CRISPRCasFinder.pl -h
# OK
  • 同样,该perl程序sudo才能正常
sudo perl /home/cheng/huty/softwares/CRISPRCasFinder-master/CRISPRCasFinder.pl -in Result/prokka/genome_prokka.fasta \
-outdir Result/crispr \
-cas -cf CasFinder-2.0.3 \
-def G -keep -log -html -prokka -cpuP 8

vmatch2 is not installed, please install it and try again.

五、全部依赖
  • 检查发现,crisprcasfinder bin fold中和emboss有依赖的软件,链接到~/bin中试试
    vmatch2
    mkvtree2
    vsubseqselect2
    fuzznuc emboss
    needle emboss
ln -s $(readlink -f vmatch2) ~/bin/
ln -s $(readlink -f mkvtree2) ~/bin/
ln -s $(readlink -f vsubseqselect2) ~/bin/
ln -s $(readlink -f fuzznuc) ~/bin/
ln -s $(readlink -f needle) ~/bin/

七、最后debug
sudo vmatch2 -help
# sudo: vmatch2:找不到命令
sudo ./vmatch2 -help
# OK
# 添加绝对路径到程序试试
perl -e "makesystemcall("/home/cheng/huty/softwares/CRISPRCasFinder-master/bin/vmatch2 -help";)"
# ok

发现解决办法:

  1. 把依赖软件的绝对路径添加到CRISPRCasFinder.pl中
  2. 把isProgInstalled的值改为'True'

八、运行、分析
PERL5LIB="/home/cheng/perl5/lib/perl5:/home/cheng/perl5/lib/perl5/5.26.2:/home/cheng/perl5/lib/perl5:/home/cheng/perl5lib:/home/cheng/perl5/lib/perl5:/home/cheng/miniconda2/envs/metawrap-env/lib/site_perl/5.26.2/x86_64-linux-thread-multi:/home/cheng/miniconda2/envs/metawrap-env/lib/site_perl/5.26.2:/home/cheng/miniconda2/envs/metawrap-env/lib/5.26.2/x86_64-linux-thread-multi:/home/cheng/miniconda2/envs/metawrap-env/lib/5.26.2:/home/cheng/perl5/lib/perl5/5.26.2/x86_64-linux-thread-multi:/home/cheng/perl5/lib/perl5/5.26.2:/home/cheng/perl5/lib/perl5/x86_64-linux-thread-multi:/home/cheng/perl5/lib/perl5:/home/cheng/perl5lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-1/blib/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-1/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-0/blib/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-0/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-MwBCHm/blib/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-MwBCHm/lib:/home/cheng/perl5/lib/perl5:/home/cheng/miniconda2/envs/metawrap-env/lib/site_perl/5.26.2/x86_64-linux-thread-multi:/home/cheng/miniconda2/envs/metawrap-env/lib/site_perl/5.26.2:/home/cheng/miniconda2/envs/metawrap-env/lib/5.26.2/x86_64-linux-thread-multi:/home/cheng/miniconda2/envs/metawrap-env/lib/5.26.2:/home/cheng/perl5/lib/perl5/5.26.2/x86_64-linux-thread-multi:/home/cheng/perl5/lib/perl5/5.26.2:/home/cheng/perl5/lib/perl5/x86_64-linux-thread-multi:/home/cheng/perl5/lib/perl5:/home/cheng/perl5lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-1/blib/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-1/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-0/blib/lib:/home/cheng/.cpan/build/MooseX-Singleton-0.30-0/lib:/home/cheng/.cpan/build/Date-Calc-6.4-0/blib/lib:/home/cheng/.cpan/build/Date-Calc-6.4-0/lib:/home/cheng/.cpanm/work/1592559386.15556/Unix-Sysexits-0.06/blib/lib:/home/cheng/.cpanm/work/1592559386.15556/Unix-Sysexits-0.06/lib:/usr/local/share/perl/5.22.1:/home/cheng/perl5lib:/home/cheng/perl5lib:/home/cheng/perl5lib"
sudo perl /home/cheng/huty/softwares/CRISPRCasFinder-master/CRISPRCasFinder.pl -h