У меня есть программа, предназначенная, чтобы вытащить строки из multifasta и запустить их через Threader:Проблем с «моим»
#¡/usr/bin/perl
use warnings;
use strict;
use File::Temp qw(tempfile);
my $filename = 'unchar_prot'; #open file
open (my $fh, '<:encoding(UTF-8)', $filename)
or die "Error - cannot open file";
my %id2seq =(); #create a hash
my $seq_id = '';
while (my $line = <$fh>) {
chomp $line;
if ($line =~ /^>(.+)/) { #Find lines starting in >
$seq_id = $1;
} else {
$id2seq{$seq_id} .= $line; #Store seq and ID on hash
}
}
open(my $outfile, '>', 'out.txt') or die
close (my $outfile)
while (my ($seq_id, $seq) = each %id2seq) { #Call key and value from hash
my ($temp_fh, $prot) = tempfile ("tempXXXX", SUFFIX => '.seq'); #create a temporary file
print $temp_fh ">$seq_id\n$seq\n"; #print the 2 lines to the temp file
my ($out_fh, $out) = tempfile("outXXXX", SUFFIX => '.txt'); # create a temporary outfile
system ('nohup threader -p $temp_fh $out_fh cdc6.lst &'); #call threader
open($outfile, '>>', 'out.txt');
print $outfile "$out_fh"; # append the content of the temp out to the main outfile
}
Когда я пытаюсь запустить его я получаю много вопросов, появляющуюся с «мой» :
«мое» переменный $ Outfile маска ранее заявление в том же заявлении на testfile4.pl линии 22.
«мои» переменные $ seq_id маски ранее декларирование в том же области в testfile4.pl линии 24.
«мое» переменные $ temp_fh масками ранее заявление в том же заявлении на testfile4.pl линии 26.
«мое» переменные $ seq_id масками ранее заявление в том же заявлении на testfile4.pl линии 26.
" мой»переменная $ SEQ маски ранее заявление в том же заявлении на testfile4.pl линии 26.
ошибка синтаксиса в testfile4.pl линии 24, возле„) {“
ошибка синтаксиса в testfile4.pl строке 31, рядом "}"
Выполнение testfile4.pl отменено из-за ошибок компиляции.
Кто-нибудь знает, что здесь происходит? Как я могу заставить его работать?
PS Я знаю, что, возможно, есть много других проблем с тем, как это написано. Я очень начинающий, мне не нужно, чтобы это было аккуратно или эффективно, мне просто нужно, чтобы он работал.
Кэри, только фью и [шкала времени] (http://stackoverflow.com/posts/36114241/timeline). Мы не задаем вопросы, не получаем помощь, а затем удаляем вопрос. Это не то, как мы катаемся здесь. – Drew
Пожалуйста, взгляните на [*** Что делать, если кто-то отвечает на мой вопрос? ***] (http://stackoverflow.com/help/someone-answers).Подсказка: он не говорит * удаляйте свой вопрос * – Borodin
Я понял, что вопрос был таким глупым – Carey