按索引/位置将整个DNA文件切片为固定长度的子字符串

2024-10-03 02:34:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python的新手,我正在编写代码来切割DNA序列。 其思想是:首先计算文本文件中的序列长度,然后将序列分割成长度为5的子串。最后将每个子串写入输出文本文件中的一行。你知道吗

我不知道如何从每个长度相同的字符中分割序列,假设文本文件包含[ACTGTATGCATACACGTA…]结果应该是ACTGT,CTGTA,TGTAT。。。你知道吗

我需要有关增量循环函数的帮助,该函数可以帮助按索引/位置分割/切片


Tags: 函数代码切片序列字符增量dna思想
2条回答

试试这个:

st = "ACTGTATGCATACACGTA"
for i in range(0,len(st[:-4])):
    print(st[i:i+5])

O/p将类似于:

ACTGT CTGTA TGTAT GTATG TATGC ATGCA TGCAT GCATA CATAC ATACA TACAC ACACG CACGT ACGTA

使用textwrap将输入字符串拆分为块,然后将它们写入newfile.txt

import textwrap

s = 'ACTGTATGCATACACACTGT'  # your input DNA sequence
splitted = textwrap.wrap(s, 5)  # split it to 5-char substrings

with open('newfile.txt', 'w') as f:  # write to a text file
    for line in splitted:
        f.write(line + '\n')  # one substring = one line

输出文件:

ACTGT
ATGCA
TACAC
ACTGT

相关问题 更多 >