行の先頭を正規表現に一致させ、後で行を返す方法を探しています。セットは非常に広範囲であるため、 set 内で一致する Python 正規表現で指定されたメソッドを単純に使用できないのはなぜですか。また、正規表現が最善の解決策であるかどうかも疑問に思っていました。残念ながらhttp://docs.python.org/3.3/library/re.htmlを読みましたが、答えがないようです。これが私がこれまでに試したことです...
import re
import os
import itertools
f2 = open(file_path)
unilist = []
bases=['A','G','C','N','U']
patterns= set(''.join(per) for per in itertools.product(bases, repeat=5))
#stuff
if re.match(r'.*?(?:patterns)', line):
print(line)
unilist.append(next(f2).strip())
print (unilist)
ほら、問題は、自分のセットを参照する方法がわからないことです...
一致させようとしているファイルは次のようになります。
@SRR566546.970 HWUSI-EAS1673_11067_FC7070M:4:1:2299:1109 length=50 TTGCCTGCCTATCATTTTAGTGCCTGTGAGGTGGAGATGTGAGGATCAGT
+
hhhhhhhhhhghhghhhhhfhhhhhfffffeee[X]b[d[ed`[Y[^Y