无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【ROSALIND】【練Python,學(xué)生信】56 De Bruijn圖的構(gòu)建

2021-04-29 19:05 作者:未琢  | 我要投稿

如果第一次閱讀本系列文檔請先移步閱讀【ROSALIND】【練Python,學(xué)生信】00 寫在前面 ?謝謝配合~

題目:

De Bruijn圖的構(gòu)建(Constructing a De Bruijn Graph)

?

Given: A collection of up to 1000 (possibly repeating) DNA strings of equal length (not exceeding 50 bp) corresponding to a set S of (k+1)-mers.

所給:一個含有(k+1)-mer的集合S,其中至少包含1000條(可能有重復(fù))DNA序列,長度均相等且不超過50 bp。

Return: The adjacency list corresponding to the de Bruijn graph corresponding to S∪Src.

需得:由S∪Src組成的De Bruijn圖對應(yīng)的鄰接表。

?

測試數(shù)據(jù)

TGAT

CATG

TCAT

ATGC

CATC

CATC

測試輸出

(ATC, TCA)

(ATG, TGA)

(ATG, TGC)

(CAT, ATC)

(CAT, ATG)

(GAT, ATG)

(GCA, CAT)

(TCA, CAT)

(TGA, GAT)

?

生物學(xué)背景

? ? ? ? 在二代測序中,所得數(shù)據(jù)的總長度將比基因組本身長得多。所以將測序的覆蓋度定義為基因組中每個核苷酸出現(xiàn)的平均次數(shù)。換句話說,如果30億bp基因組的總測序長度是300億bp,那么我們獲得的測序覆蓋度是10x。因為我們要處理數(shù)量如此巨大的短的測序片段,必然需要合適的算法將短片段拼接起來,De Bruijn就是最常用的二代測序拼接算法。具體介紹可參考下面的文章:https://blog.csdn.net/Emmett_Bioinfo/article/details/109274974。

? ? ? ??有關(guān)k-mer的介紹請參考23 按字母順序排列的K-mer

?

數(shù)學(xué)背景

? ? ? ??有關(guān)De Bruijn圖的介紹可以參考下面這篇文章:https://zhuanlan.zhihu.com/p/57177938。簡單來說,De Bruijn圖是一個展示符號序列之間重疊關(guān)系的有方向的示意圖。在二代測序數(shù)據(jù)處理中, 測序片段(reads)打斷成為長度為k的核酸片段(k-mer),隨后根據(jù)k-mer間重復(fù)的部分構(gòu)建De Bruijn 圖,得到最優(yōu)化路徑從而實現(xiàn)序列的拼接。

? ? ? ??假設(shè)S是某DNA序列的(k+1)-mer組成的集合,Src是S中序列的反向互補序列組成的集合。則這兩者的并集S∪Src 對應(yīng)的De Bruijn 圖Bk有如下特點:

1)Bk中的結(jié)點為S∪Src中的(k+1)-mer所包含的k-mers。(Nodes of Bk correspond to all k-mers that are present as a substring of a (k+1)-mer from S∪Src.)

2)Bk中的邊由如下方式產(chǎn)生:S∪Src中的每個(k+1)-mer(用r表示),形成有向邊(r[1:k],r[2:k+1])。(Edges of Bk are encoded by the (k+1)-mers of S∪Src in the following way: for each (k+1)-mer r in S∪Src, form a directed edge (r[1:k], r[2:k+1]).)

?

思路

這道題是對之前k-mer和集合知識的小小回顧。我的方法是先得到S∪Src,然后取出其中的每個元素分別得到k-mer即可,寫法較簡單,請參考代碼和注釋。


代碼



【ROSALIND】【練Python,學(xué)生信】56 De Bruijn圖的構(gòu)建的評論 (共 條)

分享到微博請遵守國家法律
荥经县| 隆子县| 旺苍县| 微山县| 武宣县| 蕲春县| 宁乡县| 大悟县| 沂南县| 漳州市| 珲春市| 汶川县| 大安市| 都安| 镇巴县| 连山| 涪陵区| 荆州市| 泰和县| 土默特左旗| 兴隆县| 罗平县| 东山县| 景宁| 吴川市| 辽阳县| 桑日县| 合肥市| 福海县| 博爱县| 收藏| 齐河县| 淮阳县| 若羌县| 福安市| 大石桥市| 北流市| 乌拉特后旗| 临洮县| 宿松县| 宣恩县|