Daten aus FASTA-Dateien auslesen
|
Seitenanfang |
Hi! Ich habe eine Datei im FastA-Format, die sieht folgendermassen aus:<seq1 --ACdff-p <seq2 klAm----l <seq3 AC--pkls- Aus dieser Datei moechte ich jetzt die "Namenszeilen" <seq1 usw. heraus weg haben und nur die folgenden Sequenzen dann in einer anderen Datei speicher, so dass ich auf die einzelnen Elemente (Buchstaben und -) zugreifen kann. Kann mir da vielleicht jemand weiterhelfen? Katrin
Datum: 13.12.2004-16:51

|
re: Daten aus FASTA-Dateien auslesen
|
Seitenanfang |
Ja schon. Filter einfach die entsprechenden Zeilen ueber eine RegEx aus. Z.B. so: open(INFILE, 'FASTAdatei') or die $!; open(OUTFILE, '>RESTdatei') or die $!; while (my $line = <INFILE>) { next if $line =~ m/^<[a-zA-Z0-9]+$/; # Namen ueberspringen print OUTFILE $line; } close(OUTFILE); close(INFILE);
Ich weiss nicht wie die Namen aussehen duerfen. Wenn da noch mehr Zeichen als a .. Z und 0 .. 9 dazugehoeren musst Du die Zeichenklasse entsprechend erweitern. Oder heissen die immer "seqX" ? Dann kannst Du auch
m/^<seq[0-9]+$/
benutzen. Fuer Doku zu regulaeren Ausdruecken siehe: perldoc perlre perldoc perlop
Datum: 14.12.2004-06:59

|
re: Daten aus FASTA-Dateien auslesen
|
Seitenanfang |
| Kennst Du BioPerl? (gibt's auf CPAN) Dort gibt's das Modul Bio::SeqIO Und weiterhin gibt es Bio::FASTASequence::File
Datum: 14.12.2004-14:41

|