2017-02-21 4 views
2

私はEMBLからPerlスクリプトを実行しています(ここではhttps://github.com/EMBL-EBI-GCA/reseqtrack/blob/master/scripts/variation_data/calculate_allele_frq_from_vcf.plにあります)。Ubuntu 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 

を返します。スクリプトを実行しているユーザー(私)に対して、フォルダに完全な読み取り/書き込み権限を与えました。何か案は?

+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

よろしくお願いします。私はあなたもPMにこれを投稿するべきだと思います。 ...気にしないで、私はあなたがそれにリンクして参照してください。 – stevieb

+0

ありがとうございました。あなたの答えは正しいですが、/ bin/partを除き、tabix実行ファイルはベースフォルダにあります。したがって、正しいパスは '/ home/[user] /tabix-0.2.6/tabix 'です。 – Svencken

関連する問題