要安装的模块有如下:
模块名称 | 存在位置 | 下载地址 |
---|---|---|
Crypt::SSLeay | export PERL5LIB=/home/xxzhang/miniconda3/lib/5.26.2/Crypt-SSLeay-0.72/lib:$PERL5LIB | https://cpan.metacpan.org/authors/id/N/NA/NANIS/Crypt-SSLeay-0.72.tar.gz |
Data::UUID | ||
Devel::Symdump | ||
Term::ReadKey | ||
Test::Cmd | ||
Test::Pod | ||
Test::Pod::Coverage | ||
XML::NamespaceSupport | ||
XML::Parser | ||
XML::SAX | ||
XML::SAX::Expat | ||
XML::Simple | ||
HTML::Parser | ||
HTML::Tagset | ||
LWP::UserAgent | ||
Method::Alias | ||
Module::Starter | ||
Test::TAP::Model | ||
URI |
安装的步骤是:
cd /home/xxzhang/miniconda3/lib/5.26.2/
wget https://cpan.metacpan.org/authors/id/N/NA/NANIS/Crypt-SSLeay-0.72.tar.gz
/home/xxzhang/miniconda3/bin/perl Makefile.PL
出现错误:
Can’t locate Path/Class.pm in @INC (you may need to install the Path::Class module) (@INC contains: /home/xxzhang/miniconda3/lib/5.26.2/Integrator-Module-Build-1.057/lib/Integrator/Test /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/ /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/ /home/xxzhang/miniconda3/lib/site_perl/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/site_perl/5.26.2 /home/xxzhang/miniconda3/lib/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/5.26.2 .) at Makefile.PL line 8.
BEGIN failed–compilation aborted at Makefile.PL line 8.
需要先安装Path/Class.pm。
cd /home/xxzhang/miniconda3/lib/5.26.2/
wget https://cpan.metacpan.org/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz
tar -xvzf Path-Class-0.37.tar.gz
Path-Class-0.37/
Path-Class-0.37/Build.PL
Path-Class-0.37/Changes
Path-Class-0.37/cpanfile
Path-Class-0.37/dist.ini
Path-Class-0.37/INSTALL
Path-Class-0.37/lib/
Path-Class-0.37/LICENSE
Path-Class-0.37/Makefile.PL
Path-Class-0.37/MANIFEST
Path-Class-0.37/META.yml
Path-Class-0.37/README
Path-Class-0.37/README.pod
Path-Class-0.37/SIGNATURE
Path-Class-0.37/t/
Path-Class-0.37/t/01-basic.t
Path-Class-0.37/t/02-foreign.t
Path-Class-0.37/t/03-filesystem.t
Path-Class-0.37/t/04-subclass.t
Path-Class-0.37/t/05-traverse.t
Path-Class-0.37/t/06-traverse_filt.t
Path-Class-0.37/t/07-recurseprune.t
Path-Class-0.37/t/author-critic.t
Path-Class-0.37/lib/Path/
Path-Class-0.37/lib/Path/Class/
Path-Class-0.37/lib/Path/Class.pm
Path-Class-0.37/lib/Path/Class/Dir.pm
Path-Class-0.37/lib/Path/Class/Entity.pm
Path-Class-0.37/lib/Path/Class/File.pm
export PERL5LIB=/home/xxzhang/miniconda3/lib/5.26.2/Path-Class-0.37/lib/:$PERL5LIB
解决了这个模块的问题之后,又出现了了其他的错误(缺失其他的模块,陷入了debug的无底洞):
Can’t locate Try/Tiny.pm in @INC (you may need to install the Try::Tiny module) (@INC contains: /home/xxzhang/miniconda3/lib/5.26.2/Path-Class-0.37/lib/ /home/xxzhang/miniconda3/lib/5.26.2/Path-Class-0.37/lib/Path/ /home/xxzhang/miniconda3/lib/5.26.2/Integrator-Module-Build-1.057/lib/Integrator/Test /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/ /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/ /home/xxzhang/miniconda3/lib/site_perl/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/site_perl/5.26.2 /home/xxzhang/miniconda3/lib/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/5.26.2 .) at Makefile.PL line 9.
BEGIN failed–compilation aborted at Makefile.PL line 9.
想到这样下去不行。===>我们或许可以直接设置路径,不进行编译了。
export PERL5LIB=/home/xxzhang/miniconda3/lib/5.26.2/Crypt-Random-Source-SSLeay-0.02/lib/Crypt/Random/Source/SSLeay.pm:$PERL5LIB
此处省略许多尝试。
发现build过程中的报错很不稳定。
Building shimmer
cd printCompCounts && make all
make[1]: Entering directory/home/xxzhang/workplace/software/Shimmer/printCompCounts' make[1]: Nothing to be done for
all’.
make[1]: Leaving directory `/home/xxzhang/workplace/software/Shimmer/printCompCounts’
mkdir -p blib/bin && cp printCompCounts/printCompCounts blib/bin/
Can’t locate object method “feature” via package “Module::Build::ConfigData” at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build/Base.pm line 680.
重新开始。
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 388.
Use of uninitialized value $mask in bitwise and (&) at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 400.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 388.
Use of uninitialized value $mask in bitwise and (&) at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 400.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 388.
Use of uninitialized value $mask in bitwise and (&) at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 400.
Use of uninitialized value $mask in vec at /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/warnings.pm line 353.
version version 0.87 required–this is only version 0.77 at /home/xxzhang/miniconda3/lib/5.26.2/Module/Metadata.pm line 27.
BEGIN failed–compilation aborted at /home/xxzhang/miniconda3/lib/5.26.2/Module/Metadata.pm line 27.
Compilation failed in require at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build/Base.pm line 23.
BEGIN failed–compilation aborted at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build/Base.pm line 23.
Compilation failed in require at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build.pm line 17.
BEGIN failed–compilation aborted at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build.pm line 17.
Compilation failed in require at /home/xxzhang/workplace/software/Shimmer/_build/lib/My/Build.pm line 2.
BEGIN failed–compilation aborted at /home/xxzhang/workplace/software/Shimmer/_build/lib/My/Build.pm line 2.
Compilation failed in require at ./Build line 45.
BEGIN failed–compilation aborted at ./Build line 45.
有时候,越着急,反而搞不定。
回到从前。
Can’t locate Module/Build/ConfigData.pm in @INC (you may need to install the Module::Build::ConfigData module) (@INC contains: /home/xxzhang/workplace/software/Shimmer/_build/lib /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib /home/xxzhang/miniconda3/lib/5.26.2/perl-5.11.2/lib/Module/Build/ /home/xxzhang/miniconda3/lib/5.26.2/Integrator-Module-Build-1.057/lib/Integrator/Test /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/ /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/ /home/xxzhang/workplace/software/Shimmer/_build/lib /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/ /home/xxzhang/miniconda3/lib/site_perl/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/site_perl/5.26.2 /home/xxzhang/miniconda3/lib/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/5.26.2 .) at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build/Base.pm line 679.
后来,发现可能问题的原因在于自己安装的build模块不对。因为configData.pm是隶属于Module::Build之中的,所以,尝试重新安装Module::Build模块。
./Build
Building shimmer
cd printCompCounts && make all
make[1]: Entering directory/home/xxzhang/workplace/software/Shimmer/printCompCounts' make[1]: Nothing to be done for
all’.
make[1]: Leaving directory `/home/xxzhang/workplace/software/Shimmer/printCompCounts’
mkdir -p blib/bin && cp printCompCounts/printCompCounts blib/bin/
Can’t locate Module/Build/ConfigData.pm in @INC (you may need to install the Module::Build::ConfigData module) (@INC contain s: /home/xxzhang/workplace/software/Shimmer/_build/lib /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib /home/xxz hang/miniconda3/lib/5.26.2/perl-5.11.2/lib/Module/Build/ /home/xxzhang/miniconda3/lib/5.26.2/Integrator-Module-Build-1.057/l ib/Integrator/Test /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/ /home/xxzhang/miniconda3/lib/5.26.2/M odule-Build-0.4231/lib/ /home/xxzhang/workplace/software/Shimmer/_build/lib /home/xxzhang/miniconda3/lib/5.26.2/Module-Build -0.4231/lib/ /home/xxzhang/miniconda3/lib/site_perl/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/site_perl/ 5.26.2 /home/xxzhang/miniconda3/lib/5.26.2/x86_64-linux-thread-multi /home/xxzhang/miniconda3/lib/5.26.2 .) at /home/xxzhang /miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build/Base.pm line 679.
关于Module::Build模块的安装问题,后来,发现可以使用conda直接安装。而且安装得到的,是对应于我们的perl的版本。即5.26.2。
cd condabin/
./conda config --add channels bioconda
./conda install perl-module-build
export PERL5LIB=/home/xxzhang/miniconda3/pkgs/perl-module-build-0.4224-pl526_3/lib/site_perl/5.26.2/:$PERL5LIB
cd /home/xxzhang/workplace/software/Shimmer
./Build
./Build test
./Build install
v=Building shimmer
cd printCompCounts && make all
make[1]: Entering directory/home/xxzhang/workplace/software/Shimmer/printCompCounts' make[1]: Nothing to be done for
all’.
make[1]: Leaving directory `/home/xxzhang/workplace/software/Shimmer/printCompCounts’
mkdir -p blib/bin && cp printCompCounts/printCompCounts blib/bin/
cd printCompCounts && make all
make[1]: Entering directory/home/xxzhang/workplace/software/Shimmer/printCompCounts' make[1]: Nothing to be done for
all’.
make[1]: Leaving directory `/home/xxzhang/workplace/software/Shimmer/printCompCounts’
mkdir -p blib/bin && cp printCompCounts/printCompCounts blib/bin/
t/1_load.t … ok
t/2_call.t … ok
All tests successful.
Files=2, Tests=9, 16 wallclock secs ( 0.02 usr 0.02 sys + 3.26 cusr 1.30 csys = 4.60 CPU)
Result: PASS
执行到最后一步的build install
的时候,出现了报错:
Building shimmer
cd printCompCounts && make all
make[1]: Entering directory/home/xxzhang/workplace/software/Shimmer/printCompCounts' make[1]: Nothing to be done for
all’.
make[1]: Leaving directory `/home/xxzhang/workplace/software/Shimmer/printCompCounts’
mkdir -p blib/bin && cp printCompCounts/printCompCounts blib/bin/
!!!
ERROR: Can’t create ‘/opt/perl5/bin’
Do not have write permissions on ‘/opt/perl5/bin’
!!!
at /home/xxzhang/miniconda3/lib/5.26.2/Module-Build-0.4231/lib/Module/Build/Base.pm line 3570.
反应下来就是说,无法写入/opt/perl5/bin
路径中。尝试与师兄交涉修改这个系统路径的写入权限。
师兄的建议是:
还是尽量不要写入系统目录里面,再说了/opt/perl5是系统perl的路径,而它要覆写这里面的内容,所以你看看有没有可以指定安装位置的参数,让它装到自己的主目录里面。
虽然,尝试打开那个Base.pm的文件,查看了它的第3570行,但是没怎么看明白。
于是,现在尝试是否有参数,可以修改。
暂时没有找到。
不过,使用perl来运行shimmer.pl指令,屏显是这样的,是不是说明,安装好了?
/home/xxzhang/miniconda3/bin/perl shimmer.pl
Usage: shimmer.pl <–region chr1:1000-2000> <–bedfile bed file of regions> <–ref reference fasta>
For more information, type “perldoc shimmer.pl”. at shimmer.pl line 49.
我们带入数据看看,会不会出现类似的错误。
/home/xxzhang/miniconda3/bin/perl /home/xxzhang/workplace/software/Shimmer/shimmer.pl --minqual 25 --ref ./geneome/hg19/hg19.fa /home/xxzhang/workplace/QBRC/output_RNA/normal/normal.bam /home/xxzhang/workplace/QBRC/output_RNA/tumor/tumor.bam --outdir ./output_RNA
Can’t read file /home/xxzhang/workplace/QBRC/output_RNA/normal/normal.bam!
Failed to run /home/xxzhang/workplace/software/Shimmer/shimmer.pl --counts!
不再出现之前的那种错误:
/usr/bin/perl: symbol lookup error: /opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so: undefined symbol: Perl_xs_handshake
不过是否真的不出现,还要看最终的整体运行的效果。
接下来,还有这个流程的最后一个问题,mutect的无效的问题。在下一篇文章中来写。