Thread Problem mit erstellten Dateien
(7 answers)
Opened by Riboflavin at 2012-05-10 22:20
Hallo liebe Perl-Community!
Versuche mal mein Problem zu beschreiben. Auf einer Web-Seite soll in einem Fenster eine Abfolge von atcg's (DNA) eingegeben werden. Diese wird an ein Perl-Script geschickt, welches dann verschiedene Sachen damit macht. Als erstes wird die Sequenz in einer Datei abgelegt. Dann wird diese Datei geöffnet und die Sequenz ausgelesen und in 1000 Buchstaben grosse Fragmente zerlegt. Diese Fragmente werden in einer zweiten Datei abgespeichert. Als nächstes folgt ein system () Befehl Code: (dl
)
system (" /usr/local/ncbi/blast/bin/makeblastdb -in '$upload_directory/$filename_db' -out '$upload_directory/$filename_db' -dbtype nucl "); Die erste Datei wird ohne Probleme bearbeitet, die zweite nicht. Das selbe wenn ich den makeblastdb-Befehl direkt im Terminal ausführe. Allerdings, öffne ich die Datei, füge einen Buchstaben hinzu, lösche diesen wieder, klappt es im Terminal. Der Editor frägt mich allerdings ob die Datei writeable gemacht werden soll (das gleiche allerdings auch mit der ersten Datei, die ja klappt). Mit ls -n zeigen beide Dateien die gleichen rw-Werte. So wird die erste Datei erstellt: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 if ($sequence1 =~ /^>(.+)/) { $handle_ref = $1; $handle_ref =~ s/\s+//g; } $datei1 = $handle_ref.".txt"; open (SEQFILE1, "> $upload_directory/$datei1"); chomp ($sequence1); print SEQFILE1 $sequence1; close (SEQFILE1); Und so die zweite Datei: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 open (DATEI2, "> $upload_directory/$datei2") or die "Couldn't open: $!"; while ($i < length ($seq) ) { ... if ($ii == 50) { print DATEI2 "\n>$kopf\n$dna"; $dna = ""; $seq_dna = ""; $ii = 0; $iii++; } } close DATEI2; Über Anmerkungen würde ich mich freuen. Vielleicht hat ja jemand eine Idee! Viele Dank schonmal für's lesen! Grüße, janosch |