[Python]如何做基因體序列反轉互補

更新 發佈閱讀 4 分鐘


raw-image


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

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

Youtube: https://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)印出反轉互補序列

raw-image


以上如何做基因體序列反轉互補介紹到這邊 ,其他Python教學可以參考以下網址,歡迎大家參考!!!

[Python] Python學習總集

本網站https://kk665403.pixnet.net/內之全部圖文,Saioyan梟夜所有,非經本人同意不得將全部或部分內容轉載於任何形式之媒體
Copyright © 2021 Saioyan. All rights reserved.
版權所有© 2021 Saioyan梟夜

留言
avatar-img
Saioyan的沙龍
34會員
908內容數
贊助我 https://vocus.cc/pay/donate/@kk665403?donateSourceType=exclusiveLink
Saioyan的沙龍的其他內容
2020/06/22
另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~ TWITCH直播: https://www.twitch.tv/saioyan Youtube: https://www.youtube.com/channel/UCtCeeanvsVdAuqNU
Thumbnail
2020/06/22
另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~ TWITCH直播: https://www.twitch.tv/saioyan Youtube: https://www.youtube.com/channel/UCtCeeanvsVdAuqNU
Thumbnail
2019/05/27
另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~ TWITCH直播: https://www.twitch.tv/saioyan Youtube: https://www.youtube.com/channel/UCtCeeanvsVdAuqNU
Thumbnail
2019/05/27
另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~ TWITCH直播: https://www.twitch.tv/saioyan Youtube: https://www.youtube.com/channel/UCtCeeanvsVdAuqNU
Thumbnail
2019/05/27
另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~ TWITCH直播: https://www.twitch.tv/saioyan Youtube: https://www.youtube.com/channel/UCtCeeanvsVdAuqNU
Thumbnail
2019/05/27
另外站長打個廣告,最近站長正在嘗試經營遊戲直播平台希望大家能夠幫忙追隨訂閱一下,站長真心感謝~ TWITCH直播: https://www.twitch.tv/saioyan Youtube: https://www.youtube.com/channel/UCtCeeanvsVdAuqNU
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
本文探討會計數位轉型中,利用 Excel VBA 和 Python 自動化重複性結帳流程,提高工作效率。介紹 VBA 處理 Excel 表格操作、資料清洗與報表生成,以及 Python 在大數據、跨系統整合與進階財務分析的應用。提供會計人員的數位轉型行動指南,從入門到精通,並解答常見疑問。
Thumbnail
本文探討會計數位轉型中,利用 Excel VBA 和 Python 自動化重複性結帳流程,提高工作效率。介紹 VBA 處理 Excel 表格操作、資料清洗與報表生成,以及 Python 在大數據、跨系統整合與進階財務分析的應用。提供會計人員的數位轉型行動指南,從入門到精通,並解答常見疑問。
Thumbnail
一個被蚊子激怒的夏夜,催生了我人生第一個程式專案!本文紀錄一個程式新手,如何靠著一股怨氣與勇氣,用Python打造出懷舊的「滅蚊大進擊」遊戲。分享從零到一的真實挑戰、充滿血淚的學習心得,以及最終戰勝BUG的喜悅。
Thumbnail
一個被蚊子激怒的夏夜,催生了我人生第一個程式專案!本文紀錄一個程式新手,如何靠著一股怨氣與勇氣,用Python打造出懷舊的「滅蚊大進擊」遊戲。分享從零到一的真實挑戰、充滿血淚的學習心得,以及最終戰勝BUG的喜悅。
Thumbnail
這篇文章分享如何藉由網頁應用程式開發平台Bolt的AI助手,不用自己寫程式,也能製作出一個蒸汽龐克風格的角色扮演網頁小遊戲,讓玩家透過收集機器零件的過程,逐漸認識Astroquery這個能取得天文觀測資料的Python工具。
Thumbnail
這篇文章分享如何藉由網頁應用程式開發平台Bolt的AI助手,不用自己寫程式,也能製作出一個蒸汽龐克風格的角色扮演網頁小遊戲,讓玩家透過收集機器零件的過程,逐漸認識Astroquery這個能取得天文觀測資料的Python工具。
Thumbnail
如何用Python做可調整是否能重複抽獎的程式
Thumbnail
如何用Python做可調整是否能重複抽獎的程式
Thumbnail
在前一篇我們已經成功地建立簽核表單及簽核節點並關聯回請假表單,而本篇會接著介紹如何管理簽核節點狀態並同步更新簽核表單狀態。
Thumbnail
在前一篇我們已經成功地建立簽核表單及簽核節點並關聯回請假表單,而本篇會接著介紹如何管理簽核節點狀態並同步更新簽核表單狀態。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News