[英]finding an exact string and save it and the following number in python
[英]Finding number of exact matches of string in file python
我有一個問題,關於如何在字符串文件(特別是FASTA文件)中查找字符串(特別是DNA序列)的精確匹配數。 我要執行的操作與命令行中的“ grep -c“字符串” file_of_strings.fasta”完全一樣。 我的代碼如下:
count = 0
for line in open("sequences.fasta"):
if sequence in line:
count += 1
這似乎並沒有計算文件中特定字符串實例的數量,我也不知道為什么。 任何幫助將非常感激!
好吧,所以fasta文件的格式為:
>SEQUENCE_1
MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG
LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK
IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL
MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL
>SEQUENCE_2
SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI
ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH
with open('file') as f:
print(f.read().count(sequence))
使用正則表達式(如果您不假設每行有一個匹配項,那么您的代碼將假設每行有一個匹配項):
import re
f = open("sequences.fasta")
print len(re.findall(sequence, f.read()))
f.close()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.