Ben MultiFASTA dışına çizgilerini çekin ve Threader yoluyla bunları çalıştırmak için tasarlanmış bir program var:Sorunları 'benim'
#¡/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
}
Ben birçok konu 'gözlerimi' ile kırpma olsun çalıştırmayı deneyin :
testfile4.pl hattı 22.
aynı açıklamada "my" değişken $ ÇıkışDosyası maskeleri önceki deklarasyon "my" değişken $ seq_id maskeleri testfile4.pl hattında aynı kapsamda önceki beyanı 24.
testfile4.pl hattında aynı açıklamada "my" değişken $ temp_fh maskeleri önceki beyanı 26.
testfile4.pl hattında aynı açıklamada "my" değişken $ seq_id maskeleri önceki beyanı 26.
" benim" testfile4.pl hattında aynı açıklamada değişken $ seq maskeleri önceki beyan testfile4.pl hattı 24 yakın at 26.
sözdizimi hatası ") {" testfile4.pl hattı 31 at
sözdizimi hatası, yakın "}"
Testfile4.pl dosyasının derlenmesi, derleme hataları nedeniyle iptal edildi.
Burada neler olup bittiğini bilen var mı? Kaçmak için nasıl alabilirim?
PS Bunun nasıl yazılacağıyla ilgili birçok başka sorun olduğunu biliyorum. Ben çok yeni başlayan biriyim, henüz düzenli ya da verimli olmak için buna ihtiyacım yok, sadece işe ihtiyacım var.
Carey, sadece bir fyi ve [zaman çizelgesi] (http://stackoverflow.com/posts/36114241/timeline). Soru sormayız, yardım almaz, sonra soruyu sileceğiz. Bu, buraya nasıl döneceğimiz değil. – Drew
Lütfen bir göz atın [*** Birisi soruma cevap verdiğinde ne yapmalıyım? ***] (http://stackoverflow.com/help/someone-answers).İpucu: * Söylemiyor * Sorunuzu sil * – Borodin
Sorunun aptalca bir şey olduğunu anladım. – Carey