EINLEITUNG: Ich bin Bioinformatikerin. In meiner Analyse, die ich für alle menschlichen Gene (etwa 20 000) durchführe, suche ich nach einem bestimmten kurzen Sequenzmotiv und prüfe, wie oft dieses Motiv in jedem Gen vorkommt.
Gene werden in einer linearen Folge von vier Buchstaben (A,T,G,C) "geschrieben". Zum Beispiel: CGTAGGGGGTTTAC... Dies ist das Vier-Buchstaben-Alphabet des genetischen Codes, der sozusagen die Geheimsprache jeder Zelle ist; so speichert die DNA tatsächlich Informationen.
Ich vermute, dass häufige Wiederholungen einer bestimmten kurzen Motivsequenz (AGTGGAC) in einigen Genen für einen bestimmten biochemischen Prozess in der Zelle entscheidend sind. Da das Motiv selbst sehr kurz ist, ist es schwierig, mit computergestützten Werkzeugen zwischen echten funktionellen Beispielen in Genen und solchen, die zufällig ähnlich aussehen, zu unterscheiden. Um dieses Problem zu vermeiden, habe ich die Sequenzen aller Gene zu einem einzigen String verkettet und gemischt. Die Länge jedes der Originalgene wurde gespeichert. Dann wurde für jede der ursprünglichen Sequenzlängen eine Zufallssequenz konstruiert, indem wiederholt zufällig A oder T oder G oder C aus der verketteten Sequenz ausgewählt und auf die Zufallssequenz übertragen wurde. Auf diese Weise hat der resultierende Satz an zufälligen Sequenzen die gleiche Längenverteilung sowie die gleiche Gesamtzusammensetzung von A, T, G und C. Dann suche ich in diesen randomisierten Sequenzen nach dem Motiv. Ich habe dieses Verfahren 1000 Mal durchgeführt und die Ergebnisse gemittelt.
- 15000 Gene, die ein bestimmtes Motiv nicht enthalten
- 5000 Gene, die 1 Motiv enthalten
- 3000 Gene, die 2 Motive enthalten
- 1000 Gene, die 3 Motive enthalten
- ...
- 1 Gen, das 6 Motive enthält
Selbst nach 1000-facher Randomisierung des echten genetischen Codes gibt es also keine Gene, die mehr als 6 Motive haben. Aber im echten genetischen Code gibt es ein paar Gene, die mehr als 20 Vorkommen des Motivs enthalten, was darauf hindeutet, dass diese Wiederholungen funktionell sein könnten und es unwahrscheinlich ist, dass sie rein zufällig in einer solchen Häufigkeit vorkommen.
PROBLEM:
Ich möchte wissen, wie hoch die Wahrscheinlichkeit ist, ein Gen zu finden, in dem das Motiv in meiner Verteilung, sagen wir, 20 Mal vorkommt. Ich möchte also wissen, wie hoch die Wahrscheinlichkeit ist, ein solches Gen zufällig zu finden. Ich würde das gerne in Python implementieren, aber ich weiß nicht, wie.
Kann ich eine solche Analyse in Python durchführen?
Für jede Hilfe wären wir dankbar.