Meine Frage folgt dieser: Datei (1) und Magie (5): Beschreibung anderer Formate .
Ich möchte eine FASTA-Sequenz beschreiben ( http://en.wikipedia.org/wiki/FASTA_format )
Es könnte eine DNA-Sequenz sein (nur mit ATGC)
>header
ATGCTAGCATAGCATCGATGCTGTAGCTACGTAGCTACGTCTACG
Ein "magisches" Muster wäre
>.*\n[ATGC]*
oder eine PROTEIN- Sequenz (ACDEFGHIKLMNPQRSTVWYBZX, die auch ATGC enthält)
>header
AHITKLMNPQRGHIKLMNPQRC
Ein "magisches" Muster wäre
>.*\n[ACDEFGHIKLMNPQRSTVWYBZX]*
Aber wenn ich diese regulären Ausdrücke verwende, sagt mir die Datei, dass es sich um ein Protein handelt, da es mit dem 2. regulären Ausdruck übereinstimmt. Gibt es eine Möglichkeit, ein Ergebnis zu priorisieren? Gibt es eine Möglichkeit zum Proritieren, etwa "Versuchen Sie kein anderes Muster, wenn dieses übereinstimmt?".
>.*\n[ATCGXN-]*\n
zum Beispiel für DNA (Ignorieren der anderen IUPAC-Codes ).
U
(Sec) als auchO
(Pyl) sind korrekte und gültige Aminosäurecodes, und Sie können auch*
für STOP sowie die verschiedenen IUPAC-Codes wieY
für Pyrimidine usw. in Nukleotidsequenzen sowie einfach-
für Lücken oderX
oderN
für maskierte oder unbekannte Reste finden . Ich bin mir ziemlich sicher, dass die meisten Programme einige ziemlich komplexe Heuristiken verwenden werden, um zwischen DNA (und Sie scheinen hier RNA zu ignorieren) und Protein zu wählen. Ich bezweifle sehr, dass Sie es mit einer einfachen Regex tun können.