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
それはすべて1行であり、同様のシーケンスの繰り返しがたくさんあります.