(9:52)首先理清楚老师的需求。
(1)希望能够完整的复现这个过程。
(2)希望复现的结果足够准确。(就是,你如何证明你的处理过程是正确的?===>复现结果与文献一致)
(3)希望你能够理解,这个pipeline 各个环节的意义(这一块我觉得是最难的,你如何理解它每一步的操作?为什么要这样处理?你能否根据自己的实际需求,对其进一步地作出个性化的调整?)。
这三点也是我现在对自己的要求。
接前面的步骤。
我们早上来的时候,发现在out_RNA的结果文件夹中,生成了我们期待的三个文件。
其中新生成的somatic_mutations_hg19.txt文件,打开后的具体内容是这样的。
Chr Start End Ref Alt Caller Normal_ref Normal_alt Tumor_ref Tumor_alt Func.refGene Gene.refGene ExonicFunc.refGene AAChange.refGene SIFT_pred Polyphen2_HVAR_pred cosmic70 esp6500siv2_all ExAC_ALL X1000g2015aug_all
chr1 173456981 173456981 C T speedseq,varscan,strelka 18.3333333333333 0 6.66666666666667 15 exonic PRDX6 synonymous SNV PRDX6:NM_004905:exon5:c.C654T:p.L218L . . 0 0 0 0
chr1 212216374 212216375 GT G speedseq,varscan,strelka 24 0 0 13.3333333333333 exonic DTL frameshift substitution DTL:NM_016448:exon2:c.92_93delinsG:p.Y32Ifs*36 . . 0 0 0 0
chr1 28220811 28220811 G A speedseq,varscan,strelka 15 0 10 12 exonic RPA2 nonsynonymous SNV RPA2:NM_001355129:exon7:c.C635T:p.A212V,RPA2:NM_001286076:exon7:c.C335T:p.A112V,RPA2:NM_002946:exon7:c.C623T:p.A208V,RPA2:NM_001297558:exon7:c.C647T:p.A216V,RPA2:NM_001355128:exon6:c.C335T:p.A112V T B 0 0 0 0
chr1 36752588 36752588 A G speedseq,varscan,strelka 18.3333333333333 0 11.6666666666667 13.3333333333333 exonic THRAP3 nonsynonymous SNV THRAP3:NM_001321473:exon4:c.A757G:p.S253G,THRAP3:NM_005119:exon4:c.A757G:p.S253G,THRAP3:NM_001321471:exon5:c.A757G:p.S253G T D 0 0 0 0
chr1 8927272 8927272 A G speedseq,varscan,strelka 33.3333333333333 0 33.3333333333333 8.33333333333333 exonic ENO1 synonymous SNV ENO1:NM_001353346:exon6:c.T348C:p.L116L,ENO1:NM_001201483:exon5:c.T69C:p.L23L,ENO1:NM_001428:exon6:c.T348C:p.L116L . . 0 0 0 0
chr2 162227788 162227788 A T speedseq,varscan,strelka 25 0 8.33333333333333 18.3333333333333 exonic PSMD14 nonsynonymous SNV PSMD14:NM_005805:exon7:c.A417T:p.R139S D D 0 0 0 0
chr2 219103399 219103399 C T speedseq,varscan,strelka 53.6666666666667 0 28 9.33333333333333 exonic ARPC2 nonsynonymous SNV ARPC2:NM_152862:exon6:c.C281T:p.S94F,ARPC2:NM_005731:exon5:c.C281T:p.S94F D D 0 0 0 0
chr2 232028414 232028414 A T speedseq,varscan,strelka 18.3333333333333 0 20 8.33333333333333 exonic PSMD1 nonsynonymous SNV PSMD1:NM_002807:exon21:c.A2454T:p.E818D T P 0 0 0 0
chr2 27436072 27436073 CA C speedseq,varscan,strelka 16.6666666666667 0 0 18.6666666666667 exonic ATRAID frameshift substitution ATRAID:NM_001170795:exon2:c.127_128delinsC:p.N44Ifs*15 . . 0 0 0 0
chr3 128889143 128889144 GT G speedseq,varscan,strelka 18 0 17.6666666666667 14.3333333333333 UTR3 CNBP . . . . 0 0 0 0
值得注意的是,caller部分,多了speedseq和strelka的结果,说明我们昨天的错误修正是有效的。
查看实验追踪记录部分,关于这部分的记录。
Sourcing executables from /home/xxzhang/workplace/software/speedseq/bin/speedseq.config …
Calling somatic variants…
create temporary directory
/home/xxzhang/workplace/software/speedseq//bin/sambamba view -H /home/xxzhang/workplace/QBRC/output_RNA/normal/normal.bam | grep “^@SQ” | cut -f 2- | awk ‘{ gsub("^SN:","",$1); gsub("^LN:","",$2); print $1"\t0\t"$2; }’ > ./output_RNA/sptmp/windows.bed
/home/xxzhang/workplace/software/speedseq//bin/freebayes -f ./geneome/hg19/hg19.fa
–pooled-discrete
–min-repeat-entropy 1
–genotype-qualities
–min-alternate-fraction 0.01
–min-alternate-count 2
–region $chrom: $start… $end
/home/xxzhang/workplace/QBRC/output_RNA/normal/normal.bam /home/xxzhang/workplace/QBRC/output_RNA/tumor/tumor.bam
| somatic_filter 10 18 0
./output_RNA/sptmp/speedseq. $chrom: $start… $end.vcf
通过以上记录,我们可以看出speedseq是运行的比较成功的。
我们查看一下,用于sclineager的example文件夹的结果。结果很不一样,于是,我发邮件询问作者,如何验证结果是否可靠?邮件内容如下,等待回复:
Hi @tianshilu,
Thank you for your past help.I have recently operated the somatic.pl successfully on the example data about the mtDNA that you provided.However,I also meet with another problems.That is How can I vertify the precision of my result!The result of this pipeline is three files,which is coverage.txt,germline_mutations_hg19.txt and somatic_mutations_hg19.txt.
I list them as follows:
- coverage.txt
- germline_mutations_hg19.txt
- somatic_mutations_hg19.txt
I try to campare the result files that you provided in the folder /QBRC/example/example_dataset/example_output/ and the /QBRC/example/example_dataset/output/. It turns out to be quite different and that makes me question the reliability of my processing flow!
Therefore,can you give me some suggestions about how to vertify the reliability of our result?Really thanks very much!
Best regards,
Xiu
在接下来的这段时间内,我们继续去修正这个过程中的遇到的其他问题。
错误1:
(暂时没弄清楚,屏幕显示中,到底是哪一段代码报出这样的错误。)
ERROR MESSAGE: Invalid command line: No tribble type was provided on the command line and the type of the file could not be determined dynamically. Please add an explicit type tag :NAME listing the correct type from among the supported types:
ERROR Name | FeatureType | Documentation |
---|---|---|
ERROR BCF2 | VariantContext | (this is an external codec and is not documented within GATK) |
ERROR VCF | VariantContext | (this is an external codec and is not documented within GATK) |
ERROR VCF3 | VariantContext | (this is an external codec and is not documented within GATK) |
在Google上找到和我遇到了同样的问题的讨论:
https://www.biostars.org/p/313982/(发表时间2018年)
https://www.biostars.org/p/117241/(发表时间2015年)
http://seqanswers.com/forums/showthread.php?t=30399(发表时间2008年)
阅读完成之后,将其观点总结如下,
(1)在合并vcf的过程中出错,GATK无法识别vcf文件。
(2)问题出错的原因,不在于vcf文件,而是:
There is nothing wrong with the VCF file, the recal and tranches files were empty.
(我的理解是,我们上游的文件没有生成成功,所以导致在合并的过程中报错。)
错误2:
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
/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
Failed to run /home/xxzhang/workplace/software/Shimmer/shimmer.pl --counts!
参考链接:https://blog.csdn.net/buknow/article/details/96130049
https://www.jianshu.com/p/5181a76c7c73
网上说这个错误的主要原因是,并不是缺少模块,而是perl的依赖库有冲突。
使用ldd -r /opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so
查看so库链接状态和错误信息。
linux-vdso.so.1 => (0x00007ffcbf753000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd488612000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd488bed000)
undefined symbol: PL_memory_wrap (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: PL_no_usym (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_save_sptr (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2iv_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2bool_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_looks_like_number (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setnv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newRV_noinc (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2uv_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_stack_grow (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_catpvn_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_del_backref (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_pop_scope (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_reftype (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: ceil (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_warn_nocontext (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSV (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_pad_push (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_drand48_r (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_was_lvalue_sub (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_upgrade (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setiv_mg (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_gv_stashpvn (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_av_store (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setpv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSVnv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_bless (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2pv_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_xs_boot_epilog (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_safesysmalloc (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_drand48_init_r (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_ref (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_cxinc (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_gv_fetchpv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setpvf_nocontext (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_mortalcopy_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSVsv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_amagic_call (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_croak_xs_usage (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSVpvn_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2nv_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_mg_size (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_croak_no_modify (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_av_push (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_cmp_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_gv_fetchsv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_cvgv_from_hek (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_save_pushptr (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_safesyscalloc (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_get_sv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_new_stackinfo (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_croak_nocontext (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newXS_deffile (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_mg_set (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setsv_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newXS_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2mortal (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_mg_get (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_hv_common (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSVuv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_leave_scope (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_2cv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_cvgv_set (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_xs_handshake (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_av_fetch (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_copypv_flags (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_rvweaken (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_markstack_grow (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_hv_common_key_len (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setpvn (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_mg_find (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSV_type (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_block_gimme (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSVpvf_nocontext (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_seed (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_magic (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_call_sv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setuv_mg (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_free2 (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_ckwarn (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_push_scope (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSViv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_gv_add_by_type (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_croak_popstack (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_setiv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_gv_init_pvn (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_newSVpvn (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_newmortal (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: floor (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_sv_tainted (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_av_clear (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_get_hv (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
undefined symbol: Perl_av_extend (/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so)
在这里,找到了我们报错时出现的那个语句。
ldd
这个指令,通常是在Linux开发的过程中去看,某个动态库的依赖关系。
通过前面的描述,我们可以清楚的知道了库之间的依赖关系:
linux-vdso.so.1 => (0x00007ffdeaf60000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4569a65000)
/lib64/ld-linux-x86-64.so.2 (0x00007f456a040000)
对于缺少未定义的符号的问题, 那就在makefile中补依赖库呗, 缺啥补啥, 见招拆招, 没啥可怕的。
https://www.cnblogs.com/NekoCc/p/13489856.html
cpan install Getopt::Long
Manifying 1 pod document
!!!
ERROR: Can’t create ‘/opt/perl5/lib/perl5’
Do not have write permissions on ‘/opt/perl5/lib/perl5’
!!!
at -e line 1.
make: *** [pure_site_install] Error 13
非root用户,安装各种模块,真的有太多的麻烦了。
查看perl的安装位置:
whereis perl
/usr/bin/perl /opt/anaconda3/bin/perl /opt/ActivePerl-5.26/bin/perl /usr/share/man/man1/perl.1.gz
找了半天,没有怎么看明白。
参考链接:https://stackoverflow.com/questions/13226772/usr-bin-perl-symbol-look-up-error-undefined-symbol-perl-istack-sp-ptr
这里给出的解决方法是,
Util.so这个模块编译的版本与现在使用的perl版本不一致,需要重新安装Util.so这个模块。
经过前面的若干乱糟糟的探索,我最终将问题的症结归因于 “conda的perl和系统的perl冲突。”
尝试解决方案如下:
(1)使用conda,重新安装perl。
(2)在路径下,安装shimmer程序所依赖的一些库、模块。
- Getopt::Long
- File::Temp
(3)最后使用perllib等规定lib路径。
现在开始执行。
(1)首先安装perl。
./conda install -c anaconda perl
Downloading and Extracting Packages
ca-certificates-2020 | 128 KB | ################################################################################################################################################## | 100%
certifi-2020.6.20 | 160 KB | ################################################################################################################################################## | 100%
perl-5.26.2 | 15.9 MB | ################################################################################################################################################## | 100%
其中,所安装的perl的版本是perl-5.26.2。
This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi
Copyright 1987-2018, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using “man perl” or “perldoc perl”. If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
而我们在系统中的perl的版本反而更高一点(但是由于我们不是root用户,所以一些设置我们不能人为的修改):
This is perl 5, version 26, subversion 3 (v5.26.3) built for x86_64-linux-thread-multi
(with 2 registered patches, see perl -V for more detail)
Copyright 1987-2018, Larry Wall
Binary build 0000 [034c0e9b] provided by ActiveState http://www.ActiveState.com
Built Oct 28 2020 16:14:41
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using “man perl” or “perldoc perl”. If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
在这个基础上,安装cpan。
这个问题暂时解决不了了。先放在这里,等有时间的时候,再看一眼。
报错信息所使用的lib路径是,/opt/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so
,这是,默认的lib路径。
我们看一下,shimmer.pl这边,对于lib是如何规定的?
use strict;
use Getopt::Long;
#use Pod::Usage;
use File::Temp qw /tempfile tempdir /;
use vars qw($VERSION);
除此之外,并无其他。
perl /home/xxzhang/workplace/QBRC//somatic_script/add_readct_shimmer.pl ./output_RNA/som_counts.bh.txt ./output_RNA/somatic_diffs.vcf ./output_RNA/somatic_diffs.readct.vcf
No such file or directory at /home/xxzhang/workplace/QBRC//somatic_script/add_readct_shimmer.pl line 6.
#!/usr/bin/perl -w
#add_readct_shimmer.pl
my ($input_bh,$input_vcf,$output_vcf)=@ARGV;
open CT, "<".$input_bh or die $!;
注:这里,还是挺奇怪的。我们等一下看看这个文件的第六行是什么东西?
通过上面的代码,我们可以看到,其所使用的参数来自于我们的屏幕输入,即,./output_RNA/som_counts.bh.txt
,./output_RNA/somatic_diffs.vcf
, ./output_RNA/somatic_diffs.readct.vcf
这三个文件。而代码中的第六行,使用了输入文件,./output_RNA/som_counts.bh.txt
,报错显示并不存在,也就是说,在路径下找不到该文件,唯一的可能就是,上一步的操作失败,导致文件没有生成。所以,如果要解决这一步的问题,首先需要解决上一步的问题。
错误3:
/home/xxzhang/miniconda3/bin/lofreq2_call_parallel.py --pp-threads 20 -s --sig 0.1 --bonf 1 -C 7 -f ./geneome/hg19/hg19.fa -S ./geneome/hg19/hg19.fa_resource/dbsnp.hg19.vcf --call-indels -l ./geneome/hg19/hg19.fa.exon.bed -o ./output_RNA/lofreq_t.vcf /home/xxzhang/workplace/QBRC/output_RNA/tumor/tumor.bam
FileNotFoundError: [Errno 2] No such file or directory: ‘lofreq’: ‘lofreq’
针对于这个错误,我们来看一下lofreq如何使用?
偏偏在使用call-parallel
这个选项的时候,会报错:
Calling external LoFreq script via execvp failed: No such file or directory
通过查看参考文档,发现两者(call与call-parallel)之间的主要区别是,parallel使用多个处理器,需要额外规定使用线程的数目,其他并无差别。所以,从本质上说,只是运行时间的区别。所以,在这里,我们将代码修改为,
/home/xxzhang/miniconda3/bin/lofreq call --sig 0.1 --bonf 1 -C 7 -f ./geneome/hg19/hg19.fa -S ./geneome/hg19/hg19.fa_resource/dbsnp.hg19.vcf --call-indels -l ./geneome/hg19/hg19.fa.exon.bed -o ./output_RNA/lofreq_t.vcf /home/xxzhang/workplace/QBRC/output_RNA/tumor/tumor.bam
觉得在此处,这个问题解决。