最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

【ROSALIND】【練Python,學(xué)生信】09 確定DNA子序列出現(xiàn)的位置

2019-02-05 16:49 作者:未琢  | 我要投稿

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

題目:

確定DNA子序列出現(xiàn)的位置

Given: Two DNA strings s and t (each of length at most 1 kbp).

所給:兩條DNA序列s和t,長度均不超過1kb。

Return: All locations of t as a substring of s.

需得:t是s的子序列,找到t在s中出現(xiàn)的所有位置。

?

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

GATATATGCATATACTT

ATAT

測試輸出

2 4 10

?

背景

模序(Motif)通常指一段核酸或氨基酸序列,在具有同源性的基因或蛋白質(zhì)中重復(fù)出現(xiàn),具有其特征的序列,通常有生物學(xué)意義。分子生物學(xué)中的一個(gè)重要研究內(nèi)容就是定位模序出現(xiàn)的位置。

?

思路

Python中字符串雖然有.find()方法,但僅能返回子串第一次出現(xiàn)的位置,因此需要自己編寫命令查找。我選用的方法是將與子串長度相同的字符串挨個(gè)取出比較,相同則輸出位置。

?

Python知識點(diǎn)

一個(gè)字符在某字符串中的位置是指其左側(cè)所有字符的數(shù)目(包括其自身),Python計(jì)數(shù)時(shí)從0開始。

?

代碼

f = open('rosalind_subs.txt', 'r')

s = f.readlines()

f.close()

seq1 = s[0].strip()

seq2 = s[1].strip()

i = 0

while i < len(seq1)-len(seq2):

??? if seq1[i:i+len(seq2)] == seq2:

??????? print(i+1, end=" ")

??? i = i + 1


【ROSALIND】【練Python,學(xué)生信】09 確定DNA子序列出現(xiàn)的位置的評論 (共 條)

分享到微博請遵守國家法律
乐至县| 凤凰县| 嫩江县| 济宁市| 新建县| 定南县| 丹东市| 沁源县| 略阳县| 邵阳市| 洮南市| 礼泉县| 鲁山县| 顺平县| 六枝特区| 红原县| 玛纳斯县| 海口市| 抚顺市| 望谟县| 丹东市| 龙南县| 黄石市| 隆化县| 宁乡县| 新巴尔虎右旗| 句容市| 贡嘎县| 方正县| 北碚区| 大同市| 曲阜市| 漯河市| 马尔康县| 张北县| 积石山| 来安县| 英德市| 福泉市| 太白县| 哈密市|