实验记录 | 6/16

(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 NameFeatureTypeDocumentation
ERROR BCF2VariantContext(this is an external codec and is not documented within GATK)
ERROR VCFVariantContext(this is an external codec and is not documented within GATK)
ERROR VCF3VariantContext(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

觉得在此处,这个问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值