生物信息之FASTA格式处理
1. 什么是 FASTA 格式?
在生物信息学中,FASTA 是一种用于存储核酸序列或氨基酸序列的文本格式。它简单、通用,主要由两部分组成:
标题行 (Header Line):以大于号
>开头,包含序列的 ID 和描述信息。
序列行 (Sequence Lines):紧跟标题行之后的字符序列。需要注意的是,一条序列可能会分布在多个文本行中,这是初学者处理此类文件时最容易掉进去的“坑”。
1 | #用.strip()来去除后面的换行符(\n) |
2. Python 原生处理逻辑
处理 FASTA 文件最核心的任务是:将多行序列合并,并与 ID 形成映射关系。我们通常使用 Python 的字典(Dictionary)来存储。
核心代码实现
以下代码展示了如何读取 dna.txt 并将其转换为字典格式:
1 | with open('dna.txt', 'r', encoding='utf-8') as f: |
3. Rosalind 经典题目:计算最高 GC 含量
题目背景:在 DNA 序列中,G 和 C 碱基所占的比例(GC-content)对于分析热稳定性及基因组结构至关重要。
任务:给定若干条 FASTA 格式的序列,找出其中 GC 含量最高的一条,并输出其 ID 和百分比。
算法思路
- 解析文件:利用上述字典逻辑提取所有序列。
- 统计频率:利用
count()方法计算 G 和 C 的总和。 - 比较排序:将结果存入列表并进行降序排列,取首位。
完整解析代码
1 | compare = [] |
4. 什么是 FASTQ 格式?
在实际的测序下机数据中,我们更多看到的是 FASTQ 格式。它比 FASTA 多了两项内容:

- + 标识符。
- 质量值 (Quality Score):对应每个碱基测序的准确度。
FASTQ 逻辑结构(每 4 行为一个单位):
- Line 1:
@开头的 ID - Line 2: 序列
- Line 3:
+ - Line 4: 质量字符(如
IIIIHIIII...)
5.完整代码
1 | with open('dna.txt', 'r', encoding='utf-8') as f: |
评论
评论插件加载失败
正在加载评论插件