使用列表理解返回DNA的互補特徵的最佳方式是什麼,而不是4個不同的if
陳述?返回恭維核苷酸字符
例如:
A <-> T
「A」 返回 「T」 和 「T」 返回 「A」
G <-> C
「G」 返回 「C」 和 「C」 返回 「G」
沒有循環等。內置函數是允許的。
使用列表理解返回DNA的互補特徵的最佳方式是什麼,而不是4個不同的if
陳述?返回恭維核苷酸字符
例如:
A <-> T
「A」 返回 「T」 和 「T」 返回 「A」
G <-> C
「G」 返回 「C」 和 「C」 返回 「G」
沒有循環等。內置函數是允許的。
你能有外部字典這樣
strand = 'GATTAGAC'
comps = {'A':'T', 'C':'G', 'G':'C', 'T':'A' }
comp_strand = [ comps[x] for x in strand ]
如果你想在你輸入容忍未知字符,查找「defaultdict」
只是一個小的語法錯誤,開頭的引號' A'缺少合成分配 – coolioasjulio
從這裏http://biopython.org/wiki/Seq
>>> 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())
如何另一個答案關於創建一個字典,將A映射到T等,然後在字典中查找它?這是一個更優雅的版本,如果:) – okaram
@Carcigenicate重點是,我已經嘗試了4如果語句,並想知道是否有人有更好的方法來做到這一點 –