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

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

【ROSALIND】【練Python,學生信】36 k-mer組成列表

2020-01-26 15:12 作者:未琢  | 我要投稿

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

題目:

k-Mer組成(k-Mer Composition)

Given: A DNA string s in FASTA format (having length at most 100 kbp).

所給:長度不超過100kb的一條DNA序列s,以FASTA給出。

Return: The 4-mer composition of s.

需得:s的4-mer組成列表。

?

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

>Rosalind_6431

CTTCGAAAGTTTGGGCCGAGTCTTACAGTCGGTCTTGAAGCAAAGTAACGAACTCCACGG

CCCTGACTACCGAACCAGTTGTGAGTACTCAACTGGGTGAGAGTGCAGTCCCTATTGAGT

TTCCGAGACTCACCGGGATTTTCGATCCAGCCTCAGTCCAGTCTTGTGGCCAACTCACCA

AATGACGTTGGAATATCCCTGTCTAGCTCACGCAGTACTTAGTAAGAGGTCGCTGCAGCG

GGGCAAGGAGATCGGAAAATGTGCTCTATATGCGACTAAAGCTCCTAACTTACACGTAGA

CTTGCCCGTGTTAAAAACTCGGCTCACATGCTGTCTGCGGCTGGCTGTATACAGTATCTA

CCTAATACCCTTCAGTTCGCCGCACAAAAGCTGGGAGTTACCGCGGAAATCACAG

測試輸出

4 1 4 3 0 1 1 5 1 3 1 2 2 1 2 0 1 1 3 1 2 1 3 1 1 1 1 2 2 5 1 3 0 2 2 1 1 1 1 3 1 0 0 1 5 5 1 5 0 2 0 2 1 2 1 1 1 2 0 1 0 0 1 1 3 2 1 0 3 2 3 0 0 2 0 8 0 0 1 0 2 1 3 0 0 0 1 4 3 2 1 1 3 1 2 1 3 1 2 1 2 1 1 1 2 3 2 1 1 0 1 1 3 2 1 2 6 2 1 1 1 2 3 3 3 2 3 0 3 2 1 1 0 0 1 4 3 0 1 5 0 2 0 1 2 1 3 0 1 2 2 1 1 0 3 0 0 4 5 0 3 0 2 1 1 3 0 3 2 2 1 1 0 2 1 0 2 2 1 2 0 2 2 5 2 2 1 1 2 1 2 2 2 2 1 1 3 4 0 2 1 1 0 1 2 2 1 1 1 5 2 0 3 2 1 1 2 2 3 0 3 0 1 3 1 2 3 0 2 1 2 2 1 2 3 0 1 2 3 1 1 3 1 0 1 1 3 0 2 1 2 2 0 2 1 1

?

生物學背景

????????有關k-mer的介紹請參考23 按字母順序排列的K-mer。k-mer組成(k-Mer Composition)是指每個k-mer在某序列中出現(xiàn)頻率組成的列表,1-mer組成列表就相當于這條序列的GC含量,2-mer,3-mer和4-mer分別又被叫作二核苷酸,三核苷酸和四核苷酸組成(di-nucleotide, tri-nucleotide, and tetra-nucleotide compositions)。K-mer在物種鑒定、編碼區(qū)鑒定以及序列拼接等多種序列分析過程中扮演重要的角色。

????????將一條序列所有的k-mer按照字母順序排列,其對應的出現(xiàn)頻率也可以寫成一個數(shù)組,這個數(shù)組就是這條序列的k-mer組成。

?

思路

????????我將這個問題劃分為兩部分依次解決。

????????第一部分:得到所有的4-mer,這里寫一個排列函數(shù),用循環(huán)的方法得到4-mer;

????????第二部分:統(tǒng)計4-mer出現(xiàn)的頻率,只需掃描序列,依次與每個4-mer比較即可。

?

代碼

def perm(l1, l2):
???
"""用來進行排列的函數(shù)"""
???
i = 0
???
p = []
???
while i < len(l1):
??????? j =
0
???????
while j < len(l2):
??????????? temp = l1[i] + l2[j]
??????????? p.append(temp)
??????????? j +=
1
???????
i += 1
???
return p


f =
open('input.txt', 'r')
input = f.readlines()
f.close()
index = input[
0].replace('\n', '')
input = input[
1:]
i =
0
seq = ''
while i < len(input):
??? seq = seq + input[i].replace(
'\n', '')
??? i +=
1

symbol = ["A", "C", "G", "T"]
fourmers = symbol
i =
1
while len(fourmers) < 4 ** 4: # 用循環(huán)的方法得到4-mer,用4-mer自身的數(shù)量控制循環(huán)
???
fourmers = perm(symbol,fourmers)


count = [
0] * len(fourmers) # count存儲4-mer組成
i = 0
while i < len(seq):
??? temp = seq[i:i+
4] # 逐個掃描序列
???
j = 0
???
while j < len(fourmers):
???????
if temp == fourmers[j]: # 與4-mer比較
???????????
count[j] += 1
???????????
break
???????
j += 1
???
i += 1

i = 0
f = open('output.txt', 'a')
while i < len(count):
???
# print(str(count[i]), end=' ')
???
f.write(str(count[i]) + ' ')
??? i +=
1

f.close()


【ROSALIND】【練Python,學生信】36 k-mer組成列表的評論 (共 條)

分享到微博請遵守國家法律
宝清县| 佛坪县| 洪江市| 宜兰县| 且末县| 彰武县| 淮滨县| 泉州市| 三门峡市| 临武县| 潢川县| 寻甸| 贵定县| 伊川县| 南充市| 昔阳县| 蓬莱市| 黎城县| 毕节市| 株洲市| 旬阳县| 彭州市| 凌海市| 巫山县| 湾仔区| 连州市| 绥阳县| 临城县| 新乡市| 榆林市| 双柏县| 恩施市| 牟定县| 元谋县| 特克斯县| 黎川县| 天台县| 禄丰县| 冕宁县| 图们市| 响水县|