gpt4 book ai didi

python - 使用 Biopython 查找并提取与精确 DNA 序列匹配的 FASTA

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:03 24 4
gpt4 key购买 nike

我正在尝试使用 Biopython 从 FASTA 文件中提取所有 DNA 序列,其中包含与以下短 DNA 序列的匹配:“GGCTCAACCCTGGA”

这是我到目前为止所拥有的:

from Bio import SeqIO

source = "rep_set_no_spaces.fasta"
outfile = "rep_set_PNA_matches.fasta"
seq1 = "GGCTCAACCCTGGA"

# basically a function to check whether seq contains sub1
def seq_check(seq, seq1):
return seq.find(seq1)

seqs = SeqIO.parse(source, 'fasta')
filtered = (seq for seq in seqs if seq_check(seq.seq, seq1))
SeqIO.write(filtered, outfile, 'fasta')

我正在尝试改编这篇文章中的代码( Filtering a FASTA file based on sequence with BioPython ),但我感兴趣的序列既不在序列的开头也不在序列的结尾...

例如,这是我的一些序列...第一个和第四个序列匹配,但第二个和第三个不匹配。我想提取序列创建一个新的 fasta 文件,其中仅包含包含“GGCTCAACCCTGGA”的序列:

>110148arco.1D_184193
TACGGAGGGGGTTAGCGTTGTTCGGAATTACTGGGCGTAAAGCGCACGTAGGTGGATTGGAAAGTATGGGGTGAAATCCCAGGGCTCAACCCTGGAACTGCCTCATAAACTATCAGTCTAGAGTTCGAGAGAGGTGAGTGGAATTCCGAGTGTAGAGGTGAAATTCGTAGATATTCGGAGGAACACCAGTGGCGAAGGCGGCTCACTGGCTCGATACTGACACTGAGGTGCGAAAGTGTGGGGAGCAAACAGG
>110475arco.1D_40770
TACGGAGGGTGCGAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCGTAGGCGGTTTGTTAAGTCAGCTGTGAAAGCCCTGGGCTCAACCTGGGAATTGCAGTTGATACTGGCAAGCTGGAGTACGAGAGAGGGAGGTAGAATTCCATGTGTAGCGGTGAAATGCGTAGATATATGGAGGAATACCAGTGGCGAAGGCGGCCTCCTGGCTCGATACTGACGCTGAGGTGCGAAAGCGTGGGGAGCAAACAGG
>110484arco.1D_190999
TACGGAGGGTGCAAGCGTTAATCGGAATTACTGGGCGTAAAGCGCGCGTAGGCGGTTTGTTAAGTCAGCTGTGAAAGCCCTGGGCTCAACCTGGGAATTGCAGTTGATACTGATCGACTAGAGTACGAGAGAGGGAGGTAGAATTCCACGTGTAGCGGTGAAATGCGTAGATATGTGGAGGAATACCGGTGGCGAAGGCGGCCTCCTGGCTCGATACTGACGCTGAGGTGCGAAAGCGTGGGGAGCAAACAGG
>110525amin.3D_40107
TACGGAGGGGGCTAGCGTTGTTCGGAATTACTGGGCGTAAAGCGTACGTAGGCGGATTAGTAAGTAAGATGTGAAATCCCAGGGCTCAACCCTGGAACTGCATTTTAAACTGCTAGTCTAGAGTTATGGAGAGGTAAGTGGAATTCCTAGTGTAGAGGTGAAATTCGTAGATATTAGGAGGAACACCAGAGGCGAAGGCGACTTACTGGACATATACTGACGCTGAGGTACGAAAGTGTGGGTAGCAAACAGG

谢谢!

最佳答案

其实这个问题不是关于Biopython而是关于Python的:

def seq_check(seq, seq1):
if seq1 in seq:
return True
else:
return False

您还可以将其直接放入生成器表达式中:

filtered = (seq for seq in seqs if seq1 in seq)

关于python - 使用 Biopython 查找并提取与精确 DNA 序列匹配的 FASTA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com