日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Python統(tǒng)計(jì)如何進(jìn)行DNA序列整理

Python統(tǒng)計(jì)在我們的使用中有很多的障礙,其中在DNA序列上的相關(guān)問(wèn)題就需要我們不斷的去學(xué)習(xí)。下面我們就向大家介紹有關(guān)的問(wèn)題,希望在以后Python統(tǒng)計(jì)的使用過(guò)程中有所收獲。

創(chuàng)新互聯(lián)建站專(zhuān)注于網(wǎng)站建設(shè)|網(wǎng)頁(yè)維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋砂巖浮雕等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷(xiāo)售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。

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

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

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

于是我們先要建立2個(gè)字典,Python統(tǒng)計(jì)表示ACGT和0123一一對(duì)應(yīng)的關(guān)系:

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

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

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

以上就是對(duì)Python統(tǒng)計(jì)的相關(guān)介紹。雖然我們內(nèi)部把子序列當(dāng)成正整數(shù)來(lái)存儲(chǔ)(確切地說(shuō),其實(shí)這個(gè)整數(shù)是沒(méi)有存在內(nèi)存里的,而是由其在list的index表示的),為了方便生物學(xué)家們看,輸出時(shí)還是轉(zhuǎn)換回子序列比較好。

【編輯推薦】

  1. Python字符串如何進(jìn)行代碼替換
  2. Python輸入方式具體的三種實(shí)現(xiàn)方式
  3. Python編程語(yǔ)言維和受到眾人的追捧
  4. Python編程語(yǔ)言具有相當(dāng)高的適應(yīng)能力
  5. Python字符串替換如何才能進(jìn)行字符的拆分

文章名稱(chēng):Python統(tǒng)計(jì)如何進(jìn)行DNA序列整理
新聞來(lái)源:http://www.dlmjj.cn/article/cohsidp.html