2017-02-21 15 views
2

EMBL (여기 https://github.com/EMBL-EBI-GCA/reseqtrack/blob/master/scripts/variation_data/calculate_allele_frq_from_vcf.pl에서 찾을 수 있음)에서 Perl 스크립트를 실행하고 있습니다. 우분투 16.10에서는 Vcftools와 Tabix가 필요에 따라 설치되었으며 그에 따라 작동하도록 테스트되었습니다. 나는 다음과 같은 명령으로 스크립트를 실행합니다Perl 스크립트가 Tabix 폴더에 액세스 할 수 없습니다.

perl /home/[user]/calculate_allele_frq_from_vcf.pl \ 
-vcf /home/[user]/share/1000genomesPhase3VCFFiles/ALL.chr1.phase3_shapeit2_mvncall_integrated_v5a.20130502.genotypes.vcf.gz \ 
-sample_panel /home/[user]/share/1000genomesPhase3VCFFiles/integrated_call_samples_v3.20130502.ALL.panel \ 
-out_dir /home/[user]/Desktop/AlleleFrequency \ 
-tabix /home/[user]/tabix-0.2.6 \ 
-vcftools_dir /home/[user]/vcftools_0.1.13 \ 
-region 1:1-10000 \ 
-pop CEU,FIN \ 

스크립트가 어떤 이유로 Tabix에 액세스 할 수있는 권한이하지 않는 것 같습니다 다음과 같은 오류

Smartmatch is experimental at /home/[user]/calculate_allele_frq_from_vcf.pl line 133. 
Smartmatch is experimental at /home/[user]/calculate_allele_frq_from_vcf.pl line 144. 
sh: 1: /home/[user]/tabix-0.2.6: Permission denied 
Broken VCF header, no column names? 
at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 172. 
    Vcf::throw(Vcf4_2=HASH(0x55761601d320), "Broken VCF header, no column names?") called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 866 
    VcfReader::_read_column_names(Vcf4_2=HASH(0x55761601d320)) called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 601 
    VcfReader::parse_header(Vcf4_2=HASH(0x55761601d320)) called at /home/[user]/vcftools_0.1.13/perl/vcf-subset line 121 
    main::vcf_subset(HASH(0x557615b24558)) called at /home/[user]/vcftools_0.1.13/perl/vcf-subset line 12 
Broken VCF header, no column names? 
at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 172. 
    Vcf::throw(Vcf4_2=HASH(0x55fa53436f60), "Broken VCF header, no column names?") called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 866 
    VcfReader::_read_column_names(Vcf4_2=HASH(0x55fa53436f60)) called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 601 
    VcfReader::parse_header(Vcf4_2=HASH(0x55fa53436f60)) called at /home/[user]/vcftools_0.1.13/perl/fill-an-ac line 45 
    main::fill_an_ac(undef) called at /home/[user]/vcftools_0.1.13/perl/fill-an-ac line 9 
sh: 1: /home/[user]/tabix-0.2.6: Permission denied 
Broken VCF header, no column names? 
at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 172. 
    Vcf::throw(Vcf4_2=HASH(0x5607d059a190), "Broken VCF header, no column names?") called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 866 
    VcfReader::_read_column_names(Vcf4_2=HASH(0x5607d059a190)) called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 601 
    VcfReader::parse_header(Vcf4_2=HASH(0x5607d059a190)) called at /home/[user]/vcftools_0.1.13/perl/vcf-subset line 121 
    main::vcf_subset(HASH(0x5607d00a1558)) called at /home/[user]/vcftools_0.1.13/perl/vcf-subset line 12 
Broken VCF header, no column names? 
at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 172. 
    Vcf::throw(Vcf4_2=HASH(0x556b8e952110), "Broken VCF header, no column names?") called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 866 
    VcfReader::_read_column_names(Vcf4_2=HASH(0x556b8e952110)) called at /home/[user]/vcftools_0.1.13/perl/Vcf.pm line 601 
    VcfReader::parse_header(Vcf4_2=HASH(0x556b8e952110)) called at /home/[user]/vcftools_0.1.13/perl/fill-an-ac line 45 
    main::fill_an_ac(undef) called at /home/[user]/vcftools_0.1.13/perl/fill-an-ac line 9 
/home/[user]/Desktop/AlleleFrequency/calculated_fra.process3085.1.1-10000.CEU_FIN 

를 반환합니다. 스크립트를 실행하는 사용자 (me)에게 폴더 전체 읽기/쓰기 권한을 부여했습니다. 어떤 아이디어?

+2

실제 문제와 관련이 없지만 스크립트 작성자에게 'Smartmatch is experimental at ...'경고에 대해 알려야합니다. 스크립트가 여전히 유지되고 있다면 저자는'~~'을 피하는 대안 구성을 찾아서이 경고를 언급하는 것이 현명하다는 것을 알고 싶을 것이다. – DavidO

+2

[PerlMonks] (http://www.perlmonks.org/?node_id=1182443)에 교차 게시 됨. – choroba

답변

4

-tabix에서 /home/[user]/tabix-0.2.6으로 설정했지만 코드에 최상위 디렉토리가 아니라 실행 파일의 경로가 필요합니다. 경로에 /bin/tabix을 추가하면 문제가 해결 될 것입니다.

+0

전화하세요. 나는 당신이 오후에 이것을 게시해야한다고 생각합니다. ... 신경 쓰지 마라, 나는 네가 그것에 링크 된 것을 본다. – stevieb

+0

감사합니다 choroba, 당신의 대답은 정확합니다,/bin/part를 제외하고 tabix 실행 파일은 기본 폴더에 있습니다. 그러므로 정확한 경로는'/ home/[user] /tabix-0.2.6/tabix '이다. – Svencken