hier nochmals mein Code, den ich bis jetzt versucht habe zu ändern,jedoch treten noch folgende Probleme aus:
1.Es wird die Sequenz eingelesen, gespeichert. Auch anhand des xdom-files wird
start,end herausgesucht und mittels print kann ich mir diese ausgeben lassen,jedoch
werden die Sequenzen nicht in das output file egschrieben.
2. Ebenfalls habe ich noch das Problem,dass er nachdem keine weiteren start und
stops im xdom file sind, nicht ein neues fasta-file mit neuer seuqenz aus dem ordner
nimmt,sondern immernoch die gleiche sequenz hat. Dies müßte ja etwas mit der
Beendigung der Schleife zu tun haben,würde ich denken. Habe schon hin und her
probiert,jedoch weiß ich nicht mehr was ich ändern muß, um den gewünschten Erfolg
zu erhalten
Wie gesagt,aber es funktioniert jedoch schon mehr als gedacht.
Nochmals mein Code,sorry
Code: Alles auswählen
def sequence(file):
seq=""
file=open(file)
for line in file:
if ">" in line:
continue
print 'in sequence'
print seq
seq+=line.replace("\n","")
return seq
def domains(fname,seq):
output=open(fname+"._0.1.pfam.10.fa",'w')
file=open(fname)
print file,"file"
print seq ,"seq in dom"
for line in file:
if ">" in line:
continue
print 'in domains'
start=int(line.split()[0])
end=int(line.split()[1])
name=line.split()[2]
test=seq[(start)-1:end]
print test,"domain"
output.write(">"+name+"\n"+test+"\n")
#main
x=os.listdir('.')
for file in x:
if file.endswith("fasta"):
seq=sequence(file)
fname=file.split('.')[0]
for fname in x:
if fname.endswith(".xdom"):
file=open(fname)
domains(fname,seq)