簡體   English   中英

在文件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()
  1. 以字符串形式讀取文件
  2. 使用re.findall查找匹配項,它將返回包含匹配項的列表
  3. 從步驟2計算列表的長度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM