3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
[Python]如何做基因體序列反轉互補 關鍵字:基因體序列、反轉、互補、IUPAC、for迴圈、字典dict、函數def 今天假設拿到一小段基因體序列"ATCCTTTCCATTATT",我們應該要如何將序列做反轉和互補的動作呢? 以下就直接以程式碼呈現,將功能寫入函數中再輸入一段序列後產出反轉互補序列 seq = 'ATCCTTTCCATTATT' print(seq,'初始序列') def reverse_complement(seq):     seq=seq.upper()     complement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A', 'K':'M','M':'K','R':'Y','Y':'R','S':'W','W':'W','B':'V','V':'B','H':'G','D':'C','X':'N','N':'N'}     bases = list(seq)     bases = bases[::-1]     rc=[complement.get(base) for base in bases]     bases = ''.join(rc)     return bases print(reverse_complement(seq),'反轉互補') seq = 'ATCCTTTCCATTATT'是我們設定的初始序列 seq=seq.upper()是轉換字串裡的字元為大寫 complement是互補對應表,使用字典的key和value紀錄待轉換字元以及轉換後的字元,除了'A','T','C','G'以外的字是IUPAC CODE bases = list(seq)是將字串轉換為清單,比如ATCC=>['A','T','C','C'] bases = bases[::-1]是將清單內的元素反過來讀取,比如['A','T','C','C']=>['C','C','T','A'] rc=[complement.get(base) for base in bases]是用圈將每個序列的字元進行互補轉換 bases = ''.join(rc)是重新將清單合併為字串 return bases是回傳參數到reverse_complement(seq)印出反轉互補序列 以上如何做基因體序列反轉互補介紹到這邊 ,其他Python教學可以參考以下網址,歡迎大家參考!!! [Python] Python學習總集

本文由kk665403pixnetnetblog提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦