我想用RE來過濾我的文件內容。 這是一個關於蛋白質的文件,每個蛋白質都有一些信息。Python的文件正則表達式
爲兩種蛋白質實施例: 「[AG] {4} GK [ST]」
>sp|B3MGT3|AKTP2_DROAN (266 aa)
Protein crossbronx-like. [Drosophila ananassae (Fruit fly)]
MWYSIRNNQRMALIKQGYKILAEYRLVQDHLKNIYAIPSYASGLHWFGVIFVHSGIYAGSMFRFSILLPENFPDDTILPT
VIFNAAIFHPHICPHSKSLDLGPCFKEWRKDQHHIWHLLRYIQAVFADPEGSICTGKSPSGDLVVLDEVNNLEALNMLAK
SRPEYIKRIQELAISSRRHMYDKPMIEDPHYIIVEPYCAERHLRFMEQLKSPSWREATCEDDSPPAELLGHIDSSRQLDE
DEANQRGKLQAATTDLQHGARCSVAQ
131 - 138: GsictGKS
>sp|Q9AT00|TGD3_ARATH (345 aa)
Protein TRIGALACTOSYLDIACYLGLYCEROL 3, chloroplastic. [Arabidopsis thaliana (Mouse-ear cress)]
MLSLSCSSSSSSLLPPSLHYHGSSSVQSIVVPRRSLISFRRKVSCCCIAPPQNLDNDATKFDSLTKSGGGMCKERGLEND
SDVLIECRDVYKSFGEKHILKGVSFKIRHGEAVGVIGPSGTGKSTILKIMAGLLAPDKGEVYIRGKKRAGLISDEEISGL
RIGLVFQSAALFDSLSVRENVGFLLYERSKMSENQISELVTQTLAAVGLKGVENRLPSELSGGMKKRVALARSLIFDTTK
EVIEPEVLLYDEPTAGLDPIASTVVEDLIRSVHMTDEDAVGKPGKIASYLVVTHQHSTIQRAVDRLLFLYEGKIVWQGMT
HEFTTSTNPIVQQFATGSLDGPIRY
117 - 124: GpsgtGKS
我需要過濾上述信息,僅用於與所述RE中的蛋白質在它們的序列。
現在我有2個問題:
這不工作...有誰知道爲什麼嗎?
import re file = open ("ploop.fa", "r") motief = re.search("[AG].{4}GK[ST]", file) for line in file: if motief in line: print (line)
所以,我需要用於容納RE,不僅該序列中的蛋白質的所有信息(Accessioncode,姓名,氨基酸等)。我怎樣才能做到這一點?
你明白'.'在正則表達式的特殊含義?此外,您正在嘗試打印的這個「行」是什麼?它沒有在任何地方定義。 –
那麼,正則表達式[在您的文本中找不到任何匹配項](https://regex101.com/r/hI5gS8/1)。另外,您需要讀取文件以將文件內容傳遞給正則表達式。以上示例文本的確切預期輸出是什麼? –
對於你的第一個問題,'line'應該是什麼? – Adib