大豆SNP位點查詢V2 0

2021-10-24 12:52:11 字數 2022 閱讀 2264

大豆snp位點查詢v2.0

from time import perf_counter

import csv

import time

start = perf_counter(

)f =

open

("gm18.txt"

,"r"

)txt = f.read(

)#print(txt[:1000])

txt = txt.strip(

">gm18"

)txt = txt.replace(

"\n",""

).replace(

"\r",""

)#更改了此處的刪除換行符!

# txt = txt.strip(r"\n")

# txt = txt.strip(r"\r")

txt = txt.strip("")

#注意這個地方有錯誤就是開頭的第乙個字串是1,游標位置是0。

#print(txt[:1000])

aimseq =

input

("請輸入你想查詢的dna序列檔案(回車結束):"

)def

indexstr

(str1,str2)

:'''查詢指定字串str1包含指定子字串str2的全部位置,

以列表形式返回'''

lenth2=

len(str2)

lenth1=

len(str1)

indexstr2=

i=0while str2 in str1[i:]:

indextmp = str1.index(str2, i, lenth1)

i =(indextmp + lenth2)

return indexstr2

if __name__ ==

'__main__'

:print

(indexstr(txt,aimseq)

) pos = indexstr(txt,aimseq)

# def getseq():

num =

len(aimseq)

for number in pos:

if num ==45:

sequence1 = txt[number -

300: number]

sequence2 = txt[number +

45: number +

345]

elif num ==50:

sequence1 = txt[number -

300: number]

sequence2 = txt[number +

50: number +

350]

print

("由以上條件我們可以得知前300個鹼基為 {} ,後300個鹼基為 {} "

.format

(sequence1,sequence2)

)print

("此次查詢花費的時間是: 秒"

.format

(perf_counter(

)- start)

)

c=open

("snp相關資料.csv"

,"w+"

) writer=csv.writer(c)

datalist =

time.sleep(

0.1)

time.sleep(

0.1)

time.sleep(

0.1)

for numbers in pos:

time.sleep(

0.1)

writer.writerow(

["snp"

,"前300個鹼基"

,"後300個鹼基"

,"所在位置"])

writer.writerow(datalist)

c.close(

)

位 mysql 查詢 Mysql 查詢 按位運算

前言 雖說這是件小事兒,但本寶寶思前想後,還是為它留下一筆,嘿嘿。反正寫部落格不浪費紙和筆!好久沒有開啟我的逗比模式了,我親愛的乖徒弟dba,dbb,dbaa等,好久不見你們,遙祝幸福快樂 db。整個事情其實使這樣的,最近的專案中,有乙個表,最終是這樣的 一共 位,每一位的取值是 和 額,後來還有 ...

位運算 知識點

1.按位與 位運算實質是將參與運算的數字轉換為二進位制,而後逐位對應進行運算。按位與運算為 兩位全為1,結果為1,即1 1 1,1 0 0,0 1 0,0 0 0。例如51 5 00110011 00000101 00000001 51 5 1 特殊用法 1 與0相與可清零。2 與1相與可保留原值,...

位24點 爆搜

題目描述 撲克牌24點大家都玩過,把一副撲克牌的大王小王去除,把a j q k當做1 11 12 13,抽取其中4張,通過任意順序和次數的四則運算操作使得結果是24即可 位24點與普通24點的區別在於它在四則運算的基礎上增加了三則位運算 位與,位或,位異或 其他規則不變 給定4張牌,請求得這四張牌是...