Biopython使用re.search()对基因组tRNA序列进行排序

Biopython使用re.search()对基因组tRNA序列进行排序,python,biopython,Python,Biopython,使用Biopython导入fasta格式的tRNA基因组序列,我正在编写这个搜索脚本;当我在这里下载的文件中搜索“AT”时:;返回626个结果中的622个。在我想为这次搜索排除的4个序列中,“AT”序列确实存在于tRNA 54中(如下所示)。为什么re.search()不将此结果包含在622中?我不确定是误用了re.search()还是字符串太长? “AT”可以按以下顺序出现在字符串中: --模式:汇编;默认目录:“~/Dropbox/shared/”-- 编译于7月11日星期五15:35:06

使用Biopython导入fasta格式的tRNA基因组序列,我正在编写这个搜索脚本;当我在这里下载的文件中搜索“AT”时:;返回626个结果中的622个。在我想为这次搜索排除的4个序列中,“AT”序列确实存在于tRNA 54中(如下所示)。为什么re.search()不将此结果包含在622中?我不确定是误用了re.search()还是字符串太长? “AT”可以按以下顺序出现在字符串中:

--模式:汇编;默认目录:“~/Dropbox/shared/”--
编译于7月11日星期五15:35:06开始

./fasta_search.py位于
ID:向寡头探针致意
序号:
描述:对寡头探针TCAGTTGGAGGGAGGA的恭维
长度:0
ID:Homo_sapiens_chr1.trna25 AsnGTT
序号:GTCTCTGTGGCGTAGTGGTTAGGCGTTCGGCTGTTAACCGAAAGTTGGTGGTTCGAGCCACGCAGAGACG
描述:智人chr1.trna25-AsnGTT(148000805-148000878)Asn(GTT)74 bp Sc:72.61
长度:74
ID:Homo_sapiens_chr19.trna12 GlnTTG
序号:AGCAGTGTAGCCTAGTAGGCTAGTCCTCTGTTGAACCACGTGGTCTGTTTAAGTCGCTGCTA
描述:智人chr19.trna12-GlnTTG(9150428-9150356)Gln(TTG)73 bp Sc:23.15
长度:73
ID:Homo_sapiens_chr6.trna54 ThrCGT
序列:GGCCCTGTAGCTCAGCGGTTGGAGGCTGGTCTCGTAAACCTAGGGTCGTGTGTCAA*AT*CTCACCAGGGCCT
描述:智人chr6.trna54-ThrCGT(27586135-27586208)Thr(CGT)74 bp Sc:63.29
长度:74
hg19-tRNAs270.fa文件中有626条记录
在文件hg19-tRNAs270.fa中有622个序列匹配:AT


编译于7月11日星期五15:35:06完成,可能是换行了。FASTA记录通常限制为每行60个字符(或者web告诉我的那样),因此如果format调用将匹配部分转换为
A\nT
,它将与您的regexp不匹配。改用
str\u record=str(record.seq)
(假设您真的只想搜索序列)。

更改

result = re.search(search_seq,str_record)   


我猜record.format()会在str_记录字符串中添加一个换行符。

奇怪,如果我复制你的人类序列并在REPL中匹配它,它确实匹配。你能为它打印
str_记录吗?>智人chr6.trna25-AlaAGC(26751918-26751990)Ala(AGC)73 bp Sc:46.89 ggggggg attagctcaagggtagggtgcctgcttagcatgcaagaggagagagagagatcgacg cctgcatctcca仍然匹配。我建议使用下面发布的解决方案之一。我最初尝试重新搜索(search_seq,record.seq),得到一个TypeError,尝试str(record)-仍然是一个TypeError;但是,类型为的str(record.seq)将转换为字符串@彼得德格洛普
result = re.search(search_seq,str_record)   
result = re.search(search_seq,str_record, re.MULTILINE)