2
我想要移除以SRR開頭並以'長度=可變長度的數字'結束的字符串。我所知道的這個數字是它在1和200之間變化的...如何在末尾使用不同的數字來移除字符串
我不知道如何製作它,也不知道什麼方式是最有效的。我正在操縱大文件(> 10GB)。
我想要做的所有值的循環,從1到200進行測試:
import os
import re
f2 = open(r'path')
num = 0
while num < 200:
num = num+1
ident2 = re.compile('SRR.*?%d' %num, re.DOTALL)
stuff = f2.read()
for line in f2:
ident2.sub('',stuff)
的代碼是整體更長的時間,但是是我做的寫入和關閉的東西了底。我只是想知道如果我可以使用一個表達式,將需要考慮每個數字,並刪除字符串...
任何建議,並建設性的批評將不勝感激。
我加入文字稱輸入樣本:
@SRR566546.970 HWUSI-EAS1673_11067_FC7070M:4:1:2299:1109 length=50TTGCCTGCCTATCATTTTAGTGCCTGTGAGGTGGAGATGTGAGGATCAGT+SRR566546.970 HWUSI-EAS1673_11067_FC7070M:4:1:2299:1109 length=50hhhhhhhhhhghhghhhhhfhhhhhfffffe`ee[`X]b[d[ed`[Y[^Y
它是一點整行,我有相似序列的許多重複。
哇,謝謝,我不知道你可以這樣使用\ d。 – Fabien
re.compile('^ SRR。*?[012] {1,2} \ d \ b $',re.DOTALL) – blackwind
@blackwind:它允許模式000',它根本不是數字。它不允許199應該匹配。 –