You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将氨基酸序列格式化为带<|endoftext|>标记的分段文本

解决方法

以下是满足需求的Python实现代码,核心是按原文件的每行独立处理,同时控制每行的氨基酸数量:

# 读取input.txt中的所有序列
with open('input.txt', 'r') as input_file:
    # 逐行读取,去掉首尾空白后按空格分割成氨基酸列表,跳过空行
    raw_sequences = [line.strip().split() for line in input_file if line.strip()]

processed_content = []
for seq in raw_sequences:
    # 为当前序列添加开头标记
    marked_seq = ['<|endoftext|>'] + seq
    # 按每30个元素为一组分割
    for start_idx in range(0, len(marked_seq), 30):
        # 截取当前组的元素,转为空格分隔的字符串
        line_chunk = ' '.join(marked_seq[start_idx:start_idx+30])
        processed_content.append(line_chunk)

# 输出处理后的内容(可选择打印或写入文件)
# 打印到控制台
print('\n'.join(processed_content))

# 若要写入文件,取消下面注释
# with open('output.txt', 'w') as output_file:
#     output_file.write('\n'.join(processed_content))

关键逻辑说明

  1. 按行独立处理:原文件的每一行对应一个独立的氨基酸序列,读取时保留这种独立性,避免所有序列被无差别拼接。
  2. 标记添加:给每个序列的最前面插入<|endoftext|>标记,和氨基酸序列合并成一个统一列表。
  3. 分段控制:通过range(0, len(marked_seq), 30)生成起始索引,每次截取最多30个元素,确保每行的元素(含标记)数量不超过30个。

内容的提问来源于stack exchange,提问作者littleworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:15:16