五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

【ROSALIND】【練Python,學(xué)生信】60 同一基因中的共存模序

2021-09-03 18:35 作者:未琢  | 我要投稿

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

題目:

在基因中搜尋不相交的模序(Finding Disjoint Motifs in a Gene)

?

Given: A text DNA string s of length at most 10 kbp, followed by a collection of n (n≤10) DNA strings of length at most 10 bp acting as patterns.

所給:一條DNA序列s,長度不超過10kb。一組長度不超過10bp的DNA短序列,數(shù)目n不超過10。

Return: An n×n matrix M for which Mj,k=1 if the jth and kth pattern strings can be interwoven into s and Mj,k=0 otherwise.

需得:一個n×n的矩陣M,如果第j個和第k個短序列可以“融合”成s,則Mj,k=1,否則Mj,k=0。

?

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

GACCACGGTT

ACAG

GT

CCG

測試輸出

0 0 1

0 1 0

1 0 0

?

生物學(xué)背景

? ? ? ? 在之前的題目中,我們已經(jīng)了解了模序(motif)的概念。模序并不一定單獨存在,在同一個位置可能存在多個模序。在本題中,我們的目的是定位兩個“不相交(disjoint)”的模序。

? ? ? ??何為 “不相交”?舉例來說,兩個序列"ACAG" 和"CCG"可以融合(interweave)成序列"GACCACGGTT"。但不能融合為” GACCACAAAAGGTT"因為其中插入了4個“A”。同理,盡管"ACACG"是ACAG 和CCG的最短公共超序列(詳見49 求解最短公共超序列),但卻不是由它們?nèi)诤隙鴣淼?,因為字符出現(xiàn)了重合,不滿足“不相交”。

?

思路

? ? ? ??我解決本題的思路是:把兩個序列所有能融合成的序列枚舉出來,然后在長DNA序列中查找,能找到就說明可以融合。

? ? ? ??因此,本題的關(guān)鍵代碼是createstraing函數(shù),在這個函數(shù)中,我用遞歸的方法,生成兩個序列的所有融合序列,為了保存這個序列集合,我在函數(shù)外定義了一個列表res,相當于一個全局變量,這樣createstraing函數(shù)運行完后,我可以在函數(shù)外使用res中儲存的序列。

? ? ? ??隨后,我就可以把res中的序列依次拿出來,用python定義的find函數(shù)在長DNA序列中進行查找。用循環(huán)實現(xiàn)短序列的兩兩融合比較,就可以完成題目要求。


代碼


【ROSALIND】【練Python,學(xué)生信】60 同一基因中的共存模序的評論 (共 條)

分享到微博請遵守國家法律
五家渠市| 乐业县| 晋宁县| 信宜市| 台山市| 象山县| 醴陵市| 连云港市| 屯门区| 巴彦县| 通海县| 朝阳县| 黔西县| 宝清县| 隆安县| 保康县| 峨边| 全椒县| 区。| 青川县| 玉屏| 谢通门县| 宣城市| 中方县| 拉萨市| 湾仔区| 龙山县| 南京市| 奇台县| 奈曼旗| 新巴尔虎左旗| 南投县| 河津市| 桦南县| 盱眙县| 内黄县| 沂水县| 彭泽县| 尤溪县| 杭锦旗| 桃江县|