核酸序列数据


核酸序列数据

理论框架

# 简易 FASTA 解析 def parse_fasta(text): seqs = {} name = None for line in text.strip().splitlines(): line = line.strip() if line.startswith('>'): name = line[1:].split()[0] seqs[name] = '' elif name: seqs[name] += line return seqs fasta_text = """>chr1 geneA ATGCGTAAACCC GGGTTTACCCGA >chr2 geneB CCCAAATTTGGG """ for name, seq in parse_fasta(fasta_text).items(): print(name, len(seq), seq[:10], "...") ​

理解核酸序列数据的表示后,就能解释后面章节中许多操作:比对要处理的大文件为什么通常是压缩格式;质量值为什么参与变异检测的置信度计算;参考基因组索引为什么能加快检索。建议读者用真实数据完成一次"读文件—统计 GC 含量—识别 k-mer"的小练习,建立对数据的第一手感觉。

FASTA 与 FASTQ 格式解析

核酸序列数据以文本文件形式存储,最基础的是 FASTA 格式:以大于号开头的行为序列标识,其后每行序列内容直到下一条标识。FASTA 用于存放参考基因组、基因序列等不带质量信息的序列。高通量测序产生的原始数据使用 FASTQ 格式,它在 FASTA 基础上为每条 read 增加一行以加号开头、包含质量值的行,质量值用 ASCII 字符编码错误概率,Phred 质量分数 Q 与错误概率的关系是 P 等于 10 的负 Q 除以 10 次方,Q30 代表测序碱基错误率约千分之一。

数据库格式还包括 GenBank,它除了序列还携带注释信息;GFF/GTF 则用制表符分隔的表格记录基因、外显子等特征在基因组上的位置。解析这些格式是几乎所有分析的第一步,因此需要理解字段含义与常见的坑,例如首行标识可能带有多余信息、序列可能跨行、质量字符与 ASCII 码的偏移差异等。

# 简易 FASTA 解析 def parse_fasta(text): seqs = {} name = None for line in text.strip().splitlines(): line = line.strip() if line.startswith('>'): name = line[1:].split()[0] seqs[name] = '' elif name: seqs[name] += line return seqs fasta_text = """>chr1 geneA ATGCGTAAACCC GGGTTTACCCGA >chr2 geneB CCCAAATTTGGG """ for name, seq in parse_fasta(fasta_text).items(): print(name, len(seq), seq[:10], "...") ​

测序技术:从 Sanger 到 NGS 再到三代测序

核酸序列数据的"来源"是测序技术,理解测序的演进就理解了数据的特点:第一代测序(Sanger 测序——链终止法,读长长(约 1000 bp)、准确率高(99.99%)——"金标准"(用于验证与小规模测序),但通量低、成本高(人类基因组计划(2003 年完成)用了约 30 亿美元);第二代测序(NGS——大规模平行测序:Illumina 的边合成边测序——通量极高(一台机器一天可测数百 Gb)、成本骤降(人类基因组降至约 1000 美元)——但读长短(约 150 bp,双端)——"短读长"决定了组装与比对的算法设计;第三代测序(单分子长读长——PacBio、Oxford Nanopore——读长可达数万碱基——解决重复区域、结构变异、基因组组装难题——但错误率高(需纠错)——"长读长 + 高错误"的数据特点)。

测序数据的"格式与处理"也值得掌握:FASTA(序列格式)、FASTQ(序列 + 质量值——Phred 质量分数,Q30 = 99.9% 准确)、BAM/CRAM(比对后的格式)、以及 VCF(变异格式);数据处理流程("测序流水线"):质量控制(FastQC——读长质量、GC 含量、接头污染)→ 修剪(Trimmomatic——去除低质量与接头)→ 比对(BWA、STAR——短读比对到参考基因组)→ 下游分析(变异检测、表达定量)。做一个"测序认知"练习:理解"读长 vs 通量 vs 成本"的三角权衡(短读长 = 高通量低成本但组装难;长读长 = 高质量组装但成本高)——以及"为什么测序数据需要生物信息学"(一次 RNA-seq 产生数十亿条读长——"从读长到生物学结论"完全依赖计算处理)。测序技术是生物数据的第一来源——理解测序,你就理解了生物信息学处理的第一手材料"长什么样、怎么来"。
回顾本节核心:测序技术演进(Sanger→NGS→三代)决定数据形态(读长/通量/成本);FASTQ/BAM/VCF 等格式与测序流水线(质控→修剪→比对→分析)。测序是生物数据的"第一来源"——理解测序的数据特点(短读长 vs 长读长),就理解了后续所有分析方法的"约束条件"。
记住一句话:测序技术的演进(读长/通量/成本)决定了序列数据的"形态",也决定了下游算法的设计约束。
从实践角度理解测序数据:做一个「数据规模」练习——一次人类全基因组测序(约 30× 覆盖度)产生约 90 Gb 的原始数据(FASTQ)——存储(约 90 GB)与处理(比对约数小时到数天)都是现实挑战——理解「数据规模」是理解「为什么需要 HPC/云」(第五章)的第一课。
补充一点:测序数据的「质量」直接影响分析结果——低质量读长会引入假变异、假表达——「质控不是可选项而是必选项」;理解 FASTQ 质量值(Phred 分数)的编码,是读懂测序数据的第一步。

作者与出处
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 转发
评论区 (0)
U