close

Python

另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~

TWITCH直播https://www.twitch.tv/saioyan

Youtubehttps://www.youtube.com/channel/UCtCeeanvsVdAuqNUyt91GXw/about

[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教學可以參考以下網址,歡迎大家參考!!!
本網站https://kk665403.pixnet.net/內之全部圖文,Saioyan梟夜所有,非經本人同意不得將全部或部分內容轉載於任何形式之媒體
Copyright © 2021 Saioyan. All rights reserved.
版權所有© 2021 Saioyan梟夜
arrow
arrow
    文章標籤
    python 基因體 反轉互補
    全站熱搜

    Saioyan梟夜 發表在 痞客邦 留言(0) 人氣()