大豆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__'
(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]
("由以上條件我們可以得知前300個鹼基為 {} ,後300個鹼基為 {} "
.format
(sequence1,sequence2)
("此次查詢花費的時間是: 秒"
.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張牌,請求得這四張牌是...