Entschuldigung im Voraus, wenn dies bereits gefragt wurde, aber ich habe Stunden damit verbracht, nach Antworten zu suchen. Ich bin ein neuer Schüler zu Python (3.5.1, Windows 10) und meine Aufgabe ist es, eine Funktion zu schreiben, die den Inhalt einer Fasta-Datei liest (deren Name vom Benutzer angegeben wird) und eine neue Datei erstellt (Name ebenfalls angegeben) Nach dem Benutzer könnte .fasta oder .txt) mit den Fasta-Sequenzen in Großbuchstaben. Eine Fasta-Datei wird so formatiert, dass dem Titel einer Sequenz ein Caret vorangestellt wird und die nachfolgenden Zeilen Zeichen sind (die, die ich in Großbuchstaben schreiben möchte). Eine Fasta-Datei kann mehrere> Zeilen enthalten, die in der Datei enthalten sind. Ich möchte diese Zeilen nicht groß schreiben.Python - Funktion, die den Inhalt einer Datei liest und eine neue Datei mit Inhalt in Großbuchstaben erstellt
import sys
def fasta_upper(fasta_input_file, fasta_output_file):
fasta_input_file = sys.argv
with open('fasta_input_file', 'r') as f:
file_contents = f.read()
temp_contents = file_contents[:]
for line in temp_contents:
if line.startswith('>'):
pass
else:
g = line.upper()
open('fasta_output_file', 'w')
fasta_output_file.write(g)
fasta_input_file.close()
fasta_output_file.close()
Zum Beispiel dieser Fasta Datei:
Name der Sequenz cgtatgggggtattccgtagctctgctgacgcgcttatatttagc cgctcgatctggaggactctgcgatcgcggcatcgagctagcggc
würde wie folgt geschrieben werden:
Name des Sequen ce CGTATGGGGGGTATTCCGTAGCTCTGCTGACGCGCTTATATTTAGC CGCTCGATCTGGAGGACTCTCGATCGCGGCATCGAGCTAGCGCGGC
Ich bin sicher, dass dies nur gespickt mit offensichtlichen Fehlern ist, aber wieder ich bin ein Student versuchen zu lernen. Bitte sei höflich! Vielen Dank im Voraus für jede Beratung oder Tipps, die Sie haben, ich habe es genossen Python wirklich und ich mag diese Frustration überwinden und zu einem reicheren Programmierer :)
Was falsch war mit nur anrufen 'oberen()'? –
@JoelCornett werfen Sie einen Blick auf Beispiele. Ouwan12 möchte nur Nukleotidsequenzen konvertieren und alles andere unverändert lassen, einschließlich Sequenzkopfzeilen. Oder habe ich einen leichteren Weg verpasst? –