Я запускаю скрипт Perl из EMBL (найден здесь 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 \
Это возвращает следующее сообщение об ошибке
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
Вероятно, что сценарий не имеет разрешения на доступ к Tabix по какой-то причине. Я дал папке полное право на чтение/запись для пользователя, выполняющего скрипт (я). Есть идеи?
Не связанный с реальной проблемой, но вы, вероятно, должны позволить автору сценария узнать о том, что «Smartmatch является экспериментальным при ...» предупреждениях. Если сценарий все еще поддерживается, автор, вероятно, захочет узнать, что было бы разумно устранить это предупреждение, найдя альтернативную конструкцию, которая избегает '~~'. – DavidO
Crossposted to [PerlMonks] (http://www.perlmonks.org/?node_id=1182443). – choroba