私は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
を返します。スクリプトを実行しているユーザー(私)に対して、フォルダに完全な読み取り/書き込み権限を与えました。何か案は?
実際の問題とは関係ありませんが、スクリプトの作者に 'Smartmatch is experimental at ...'警告について知らせるべきでしょう。スクリプトがまだメンテナンスされているならば、作者は '~~'を避ける代わりの構文を見つけることでこの警告に対処することが賢明であることを知りたいでしょう。 – DavidO
[PerlMonks](http://www.perlmonks.org/?node_id=1182443)にクロスポストされています。 – choroba