通过与Biopython的坐标删除序列

问题描述 投票:0回答:1

Hel lo

我有一个序列,例如:

record_dict = SeqIO.to_dict(SeqIO.parse("sequence.fasta", "fasta"))

>sequence1 
AAACCCGGGTTTAAACCCGGGTTTGGGTTTGGG

而且我从这个序列中知道如何选择带有:的坐标的特定零件]

print(record_dict[sequence1].seq[coordinate_start:coordinate_end])
print(record_dict[sequence1].seq[3:7])

我得到:

CCCGG

但是如果我想从[]中删除此部分怎么办?>

>sequence1 
AAACCCGGGTTTAAACCCGGGTTTGGGTTTGGG 

并获取

>sequence1 
AAACGTTTAAACCCGGGTTTGGGTTTGGG

有人有主意吗?

感谢您的帮助

这里是一个更好的例子

ACCGCTTTGAATCCGAGCTAG
           ---- ----

并且我想删除2部分:

TCCG和GCTA对应于坐标

[11:1416:19

最后,我想将两者都删除并得到:

>seq
ACCGCTTTGAAAG

你好,我有一个序列,例如:record_dict = SeqIO.to_dict(SeqIO.parse(“ sequence.fasta”,“ fasta”))> sequence1 AAACCCGGGTTTAAACCCGGGGGTGTGGGTTTGGG,从这个序列中我知道如何选择...

] >

您可以通过将所需的两个部分放回去来完成:

sequence_1 = 'AAACCCGGGTTTAAACCCGGGTTTGGGTTTGGG'
sequence_1a = sequence_1[:4]
sequence_1b = sequence_1[8:]
sequence_2 = sequence_1a + sequence_1b
print(sequence_2)

>>> AAACGTTTAAACCCGGGTTTGGGTTTGGG

请注意,我已经在您的两个索引中加了1,以便切出正确的部分。

如果要对多个部分执行此操作,可以通过遍历列表来执行此操作:

sequence_1 = 'ACCGCTTTGAATCCGAGCTAG'
indexes_to_delete = [(11, 14), (16, 19)]
output_sequence = ''
start_value = 0
for start_delete, end_delete in indexes_to_delete:
    output_sequence += sequence_1[start_value: start_delete]
    start_value = end_delete
output_sequence += sequence_1[start_value:]
print(output_sequence)

>>> ACCGCTTTGAAGAAG
python biopython
1个回答
0
投票

您可以通过将所需的两个部分放回去来完成:

© www.soinside.com 2019 - 2024. All rights reserved.