2016-04-25 16 views
1

So bin ich extrem neu in der Programmierung und ich bin nicht sehr mit jeder Programmiersprache. Ich kaufte ein Buch über Programmierung für Biologen und ich habe ein paar Dinge durchforstet. Ich möchte: Sequenzen aus einer Datei abrufen und eine variable Region daraus finden und extrahieren. mein Code unten:DNA Sequenzmanipulationen

**

#!/usr/bin/python 
#for extracting GAA sequences 
import os 
import sys 
import re 
#opens sequence file and defines it as reps 
reps = open('142sequences.txt') 
#defining what to read 
line = reps.readlines() 
#defines what we are looking for in rep lines 
for line in reps: 
    sear = re.search(r"C[A]{2,}G[ATCG]{17, 2700}AAT[A]{2,4}G[A]{2,}", reps) 
    if sear: 
     repeats = sear.group() 
     print(repeats) 
    else: 
     print('Not Recognized') 

** ich nichts zurück. Bitte helfen

Antwort

1

Sie müssen jede Zeile nicht Wiederholungen suchen, die eine Liste aller Linien ist:

with open('142sequences.txt') as reps: 
    # iterate over each line in the file 
    for line in reps: 
     # pass each line to re.search 
     sear = re.search(r"C[A]{2,}G[ATCG]{17, 2700}AAT[A]{2,4}G[A]{2,}", line) 
     if sear: 
      repeats = sear.group() 
      print(repeats) 
     else: 
      print('Not Recognized') 

Aufruf readlines die Linien alle, so dass Sie in eine Liste liest eigentlich nie Schleife in Ihrem eigenen Code Wie Sie den Iterator mit dem ersten Aufruf von readlines konsumiert hätten, hätte es bei einer Schleife zu einem Fehler geführt, da Sie eine Zeichenfolge und keine zu durchsuchende Liste übergeben müssen.

+0

Vielen Dank !! immer noch Dinge herausfinden –