提取參考基因組某個(gè)位置的堿基

轉(zhuǎn)載

引言

參考基因組是現(xiàn)代遺傳學(xué)的基石,更是生物信息學(xué)研究的基礎(chǔ)。不論你研究的是DNA、RNA,還是蛋白,你都無法避開參考基因組而進(jìn)行你的研究。在生物信息分析過程中,參考基因組最常用的一個(gè)場景就是序列比對---將測序的read比對回參考基因組上。那么,如果我們想知道參考基因組某個(gè)位置或者某個(gè)區(qū)域的堿基序列,我們應(yīng)該如何快速的解決這個(gè)問題呢?本文將介紹三種解決方案。

參考基因組格式

參考基因組通常以FASTA格式存在。在生物信息學(xué)中,F(xiàn)ASTA格式是一種用于記錄核酸序列或肽序列的文本格式,其中的核酸或氨基酸均以單個(gè)字母編碼呈現(xiàn)。該格式同時(shí)還允許在序列之前定義名稱和編寫注釋。這一格式最初由FASTA軟件包定義,但現(xiàn)今已是生物信息學(xué)領(lǐng)域的一項(xiàng)標(biāo)準(zhǔn)。(維基百科)

FASTA文件中存儲(chǔ)的一條完整的序列,由兩部分組成:

1. 開頭的單行描述行

描述行以“>”開頭,用以和數(shù)據(jù)行分開,后緊接的內(nèi)容為該序列的標(biāo)識(shí)符,該行剩余部分則為序列的描述(標(biāo)識(shí)符與描述均非必須)

2. 緊隨其后的序列行

序列行可以是多行,序列的結(jié)束以下一條序列的“>”出現(xiàn)為標(biāo)識(shí)。


FASTA格式示例


提取位置堿基

接下來我們以chr5:8397384-8397384為例,分別介紹三種方法提取某個(gè)位置的堿基。

01?利用samtools faidx

samtools faidx常常用來對參考基因組建立索引,但它還有個(gè)鮮為人知的功能,就是序列提取,如下:


02 利用bedtools getfasta

bedtools說明文檔中對getfasta的描述是“Extract DNA sequences into a fasta file based on feature coordinates.”顯而易見,bedtools getfasta的功能就是根據(jù)坐標(biāo)信息提取序列信息。操作如下:

bedtools getfasta有三個(gè)必選參數(shù):-fi即參考基因組fasta文件;-bed即需要提取的位置坐標(biāo)信息,格式:chr\tstart\tend;-fo:輸出文件。

有一點(diǎn)需要說明,bedtools接收的是bed文件,而bed文件時(shí)0-based,因此我們要提取chr5:8397384-8397384位置的堿基,輸入文件pos.bed中需要寫入:chr5\t8397383\t8397384



03 利用pysam模塊

直接上代碼吧!


性能比較

三種方法耗時(shí)如下:

可以看出,samtools和bedtools的性能很好,python的性能就比較尷尬了。其實(shí),個(gè)人比較推薦bedtools,比較容易進(jìn)行批量處理,把想處理的位置信息寫到輸出文件,然后就可以輕松的進(jìn)行序列提取。

版權(quán)聲明:本文為CSDN博主「whenfree」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/whenfree/article/details/85305616

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容