真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中怎么整理DNA序列

今天就跟大家聊聊有關Python中怎么整理DNA序列,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

烏拉特后網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)

給定一堆DNA序列,即由字符A, C, G, T組成的字符串,統(tǒng)計所有長度為n的子序列出現(xiàn)的頻率。比如 ACGTACGT,子序列長度為2,于是 AC=2, CG=2, GT=2, TA=1,其余長度為2的子序列頻率為0.

***想到的就是建一個字典,key是所有可能的子序列,value是這個子序列出現(xiàn)的頻率。但是當子序列比較長的時候,比如 n=8,需要一個有65536 (4的8次方) 個key-value pair的字典,且每個key的長度是8字符。這樣ms有點浪費內存。。

于是想到,所有的長度為n的子序列是有序且連續(xù)的,所以可以映射到一個長度為4的n次方的的list里。令 A=0, C=1, G=2, T=3,則把子序列 ACGT 轉換成 0*4^3 + 1*4^2 + 2*4 + 3 = 27, 映射到list的第27位。如此,list的index對應子序列,而list這個index位置則儲存這個子序列出現(xiàn)的頻率。

于是我們先要建立2個字典,Python統(tǒng)計表示ACGT和0123一一對應的關系:

i2mD = {0:'A', 1:'C', 2:'G', 3:'T'}  m2iD = dict(A=0,C=1,G=2,T=3)  # This is just another way to initialize a dictionary

以及下面的子序列映射成整數(shù)函數(shù):

def motif2int(motif):  '''convert a sub-sequence/motif to a non-negative integer'''  total = 0 for i, letter in enumerate(motif):  total += m2iD[letter]*4**(len(motif)-i-1)  return total  Test:  >>> motif2int('ACGT')  27

看完上述內容,你們對Python中怎么整理DNA序列有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享題目:Python中怎么整理DNA序列
路徑分享:http://weahome.cn/article/jjechs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部