Gleichzeitige Funktion

Ich habe bereits die Benutzereingabe von DNA-Code (A,T,G,C) in den RNA-Code (A,U,G,C) . Das war ziemlich einfach

 RNA_Code=DNA_Code.replace('T','U') 

Jetzt das nächste, was ich tun muss, ist, den RNA_Code in seinen Komplimentstrang umzuwandeln. Das heißt, ich muss A mit U, U mit A, G mit C und C mit G ersetzen, aber alle gleichzeitig.

wenn ich sage

 RNA_Code.replace('A','U') RNA_Code.replace('U','A') 

Es verwandelt das ganze in uns, dann alle uns in As, aber ich bin mit allen übrig. Wie für beide.

Ich brauche es, um so etwas wie AUUUGCGGCAAA zu nehmen und es in UAAACGCCGUUU .

Irgendwelche Ideen, wie man das macht? (3.3)

3 Solutions collect form web for “Gleichzeitige Funktion”

Verwenden Sie eine Übersetzungstabelle:

 RNA_compliment = { ord('A'): 'U', ord('U'): 'A', ord('G'): 'C', ord('C'): 'G'} RNA_Code.translate(RNA_compliment) 

Die str.translate() -Methode nimmt eine Zuordnung von Codepoint (eine Zahl) zu Ersatzzeichen. Die Funktion ord() gibt uns einen Codepoint für ein gegebenes Zeichen, so dass es einfach ist, deine Karte zu erstellen.

Demo:

 >>> RNA_compliment = {ord('A'): 'U', ord('U'): 'A', ord('G'): 'C', ord('C'): 'G'} >>> 'AUUUGCGGCAAA'.translate(RNA_compliment) 'UAAACGCCGUUU' 

Sie können ein Mapping-Wörterbuch verwenden:

 In [1]: dic={"A":"U","U":"A","G":"C","C":"G"} In [2]: strs="AUUUGCGGCAAA" In [3]: "".join(dic[x] for x in strs) Out[3]: 'UAAACGCCGUUU' 

Wenn du es nicht bereits benutzt hast, schlage ich vor, Biopython auszuprobieren . Es hat alle Arten von Funktionen für den Umgang mit biologischen Daten, einschließlich einer ziemlich cool Seq Objekt. Es gibt eine reverse_complement() -Funktion, die genau das macht, was du zu tun versuchst, und ein Bündel mehr, von dem du noch nicht einmal gedacht hast. Check it out, es ist eine echte Zeit-Saver.

 >>> from Bio.Seq import Seq >>> from Bio.Alphabet import generic_dna >>> my_dna = Seq("AGTACACTGGT", generic_dna) >>> my_dna Seq('AGTACACTGGT', DNAAlphabet()) >>> my_dna.complement() Seq('TCATGTGACCA', DNAAlphabet()) >>> my_dna.reverse_complement() Seq('ACCAGTGTACT', DNAAlphabet()) 
  • Wie ändere ich die Stringdarstellung einer Python-Klasse?
  • Python: Warum Listen haben keine Suchmethode?
  • Python: Nicht alle Argumente, die während der String-Formatierung konvertiert wurden
  • Python Wie kann ich erste und letzte doppelte Anführungszeichen ausstrecken
  • So ändern Sie einen String in Großbuchstaben
  • Python-Fehler, '' Modul 'Objekt hat kein Attribut' lstrip ''
  • Python-String als Datei-Argument für Unterprozess
  • Effizient ersetzen schlechte Zeichen
  • Python konvertiert formatierten String in die Liste
  • Python sql liste ins Wörterbuch umwandeln
  • Wie kann ich Zeichenfolgen wie "\ u5c0f \ u738b \ u5b50 \ u003a \ u6c49 \ u6cd5 \ u82f1 \ u5bf9 \ u7167" auf chinesische Zeichen umwandeln
  • Python ist die beste Programmiersprache der Welt.