Hallo, ich bin neu bei Python, und ich hoffe, Sie können mir helfen. Ich habe eine Textdatei (nennen Sie es data.txt) mit Daten über die Gen-Nummer mit der entsprechenden RS-Nummer und etwas Abstandsmessung. Die Daten, sieht wie folgt aus:Extrahieren einer Zeichenfolge aus einer Textdatei in Python 2.7.5
rs1982171 55349 40802
rs6088650 55902 38550
rs1655902 3105 12220
rs1013677 55902 0
, wo die erste Spalte rs-Nummer, die zweite Spalte ist Gen-Nummer, und die dritte Spalte ist etwas Abstandsmaß. Die Daten sind viel größer, aber das obige gibt Ihnen hoffentlich eine Vorstellung von dem Datensatz. Was ich tun möchte, ist, alle RS-Nummern zu finden, die einem bestimmten Gen entsprechen. Für den obigen Datensatz ist beispielsweise das Gen 55902 = {rs6088650, rs1013677}. Im Idealfall möchte ich, dass mein Code alle RS-Nummern findet, die einem bestimmten Gen entsprechen. Da ich nicht in der Lage bin, dass jetzt zu tun, schrieb ich stattdessen einen kurzen Code, den die Linien gibt, die die Zeichenfolge „55902“ in der data.txt Datei enthalten:
import re
data=open("data.txt","r")
for line in data:
line=line.rstrip()
if re.search("55902",line):
print line
Das Problem mit diesem Code ist, dass der Ausgang so etwas wie dieses:
rs6088650 55902 38550
rs1655902 3105 12220
rs1013677 55902 0
ich möchte meinen Code die Zeichenfolge "55902" in der rs-Nummer zu ignorieren. Mit anderen Worten, ich meine Code-Ausgabe nicht die zweite Zeile in der Ausgabe oben, weil die Gen-Nummer nicht 55902. ist, würde ich meine Ausgabe sein mag:
rs6088650 55902 38550
rs1013677 55902 0
Wie kann ich den obigen Code ändern, um erreiche was ich will. Jede Hilfe wäre willkommen. Danke im Voraus.
Je nachdem, wie viele verschiedene Gene verwenden Sie für rs Zahlen zu sammeln, Sie wäre wahrscheinlich viel besser dran, all Ihre Daten in einen '' Pandas' '(http://pandas.org) 'DataFrame' zu stecken und dort zu analysieren. – MattDMo
Danke für den Vorschlag! –