生物信息学概述 (第1章)

5 个小节 · 105 个知识点

生物信息学的基本概念

💡

第1章 生物信息学概述 (第1章)

chapter
查看详情 →
💡

1.1 生物信息学的基本概念

section

1953 年,詹姆斯·沃森(James Watson)和弗朗西斯·克里克(Francis Crick)提出了 DNA 的双螺旋结构,随着对 DNA 结构的理解深入,科学家开始思考如何解读 DNA 序列中的遗传信息。20 世纪 70 年代,科学家们开展了一些初步的 DNA 序列测定工作。1990 年,正式启动了国际人类基因组计划项目,旨在解码人类基因组中的所有基因。经过长达 13 年的合作,人类基因组图谱于 2001 年分别在 Nature 和 Science 上发表,2003 年完成了人类基因组几乎全部基因序列的测定。这个里程碑性的成就对于理解人类遗传学、疾病机制以及生命的基本过程产生了深远的影响,也为生物信息学提供了兴盛的契机。
随着基因组计划的不断进展, DNA 测序技术得到了极大的改进, 从传统的 Sanger 测序发展到高通量测序技术。这些技术的发展不仅极大地加速了人类基因组计划的进展, 还使得大规模的基因组和转录组数据可以更加经济高效地获得。随着生物技术的不断完善, 现代生物学研究范围扩展到了更多维度, 涉及蛋白质、代谢物、表观遗传组等多个层面。单细胞组学和空间组学的研究更是丰富了我们对生物系统的理解。海量生物组学数据的产生速度呈指数级增长, 需要强大的计算机技术和算法进行处理。随着计算机硬件和软件技术的不断进步, 人们也能够更有效地处理复杂的生物数据。这样跨学科的合作加速了生物信息学的发展, 为解决生物学研究中的复杂问题提供了新的视角和方法。

1.1.1 生物信息学的基本含义

生物信息学(bioinformatics)一词的最初定义是由保利恩·霍赫韦格(Paulien Hogeweg)和本·赫斯珀(Ben Hesper)于20世纪70年代提出,指的是对生物系统中信息过程的研究。该定义将生物信息学视为与生物化学(生物系统中化学过程的研究)平行的领域。在此之前,玛格丽特·戴霍夫(Margaret Dayhoff)在20世纪60年代便率先认识到计算机在处理生物数据方面的巨大潜力,通过创建首个蛋白质序列数据库、构建蛋白质进化树以及提出点突变模型等开创性工作,为这一新兴学科的萌芽与发展奠定了重要基础。生物信息分析生物数据以产生有意义的信息这一概念涉及许多方面,如编写和运行使用图论、人工智能、软计算、数据挖掘、图像处理和计算机模拟算法的软件程序等,而这些算法又依赖于离散数学、控制论、系统论、信息论和统计学等理论基础。由此可见,生物信息学是一门跨学科的科学领域,将生物学、计算机科学、应用数学、信息学和统计学等多个学科知识融会贯通在一起。生物信息学一开始简单地被理解为“生物学+信息学”,但作为一门学科,它有自己的学科体系,而不是简单的叠加,更应该理解为“生物学+信息学+学科体系”。生物信息学旨在开发和应用计算机技术和算法来处理、分析、解释和存储生物学数据,从中获取生物学上的洞见和知识。
生物信息学的研究材料是各类生物学数据,研究工具是计算机,研究方法和技术包括对生物学数据的搜索、收集和筛选、处理(编辑、整理、管理和显示)及利用(计算、模拟)等。生物信息学涵盖了多方面的内容。首先,序列分析是生物信息学的一个核心领域,如对 DNA、RNA 和蛋白质序列的处理和分析。这包括了基因识别、蛋白质功能预测、序列比对等方面的内容。其次,生物信息学关注蛋白质、核酸等分子的结构。这对于理解它们的功能和相互作用至关重要,包括蛋白质结构预测、分子对接等方面。再次,生物信息学包含了对各类组学数据的分析。基因组学研究整个基因组的组成和功能,包括基因组测序、基因组注释、基因功能预测等;转录组学关注在不同条件下基因的表达情况,研究了解细胞的功能、调控机制以及疾病的发生机制;蛋白质组学研究细胞或生物体内所有蛋白质的组成和功能,并揭示细胞内各种蛋白质相互作用的网络。再者,生物信息学还关注生物系统的整体性质和相互作用,可以通过建立数据模型来模拟和预测生物过程。最后,生物信息学还包括数据库的构建和算法工具的开发。生物信息学数据库存储了大量的生物学数据,如基因序列、蛋白质结构、表达调控数据等,为科学家提供检索和分析的工具。生物信息学领域也开发了许多算法和工具,用于数据处理、模拟、预测等。这些工具对于生物学研究具有重要意义。总之,生物信息学通过整合多学科的知识,致力于通过处理和分析生物学数据、建立数据库与各类算法模型等方式,深入了解生命的分子机制、进化、疾病等,在现代生物学研究中扮演着重要的角色。

1.1.2 生物信息学的学科特点与发展

作为交叉学科,生物信息学既是一门自然科学(理学),也是一门工程技术(工学)。作为自然科学方面,生物信息学深入探索生命的分子机制、遗传信息的传递和表达等生物学基本问题。它使用计算机科学和数学工具来分析、解释和预测生物学数据,从而帮助科学家更好地理解生物系统的运作方式。生物信息学在基因组学、蛋白质组学、转录组学等领域的研究中,探索生物分子的结构、功能和相互作用等方面具有重要作用。作为工程技术方面,它开发了许多计算工具、算法和软件来处理和管理大规模的生物学数据。这些工具可以用于基因序列分析、蛋白质结构预测、基因表达模式分析等。这些技术的开发和应用在药物研发、医学诊断、农业改良等实际应用领域产生了重要的影响。总的来说,生物信息学在理论研究和实际应用中都起到了关键作用,同时也是生物学与计算机科学交叉的典范。这种综合性的性质使得生物信息学在推动科学研究进程、创新技术发展以及解决实际问题方面发挥了重要作用。
由于生物信息学的重要性,国内外一直非常重视生物信息学的发展。在国际上,美国、欧洲和日本共同组成了 GenBank/ENA/DDBJ 国际核酸序列数据库。其他一些西方国家在分享网络共享资源的同时,也分别建有自己的生物信息学机构、二级或更高级的具有各自特色的专业数据库以及自己的分析技术。我国高度重视生物信息学领域的创新发展,早在 1999 年,郝柏林等老一辈科学家倡议成立了国家级生物医学信息中心,致力于生物信息学研究、数据资源的构建和管理,以及相关技术的开发与应用。2019 年,国家生物信息中心正式批准成立,它的主要职责和任务包括:生物信息资源建设与管理、生物信息学研究、数据分析和挖掘、生物信息学培训与推广、国际合作与交流。国家生物信息中心在促进中国生物信息学领域的发展、推动科研成果转化以及提供生物信息学技术支持等方面发挥着重要作用。目前,在国内外具有广泛影响力和声誉。
生物信息学的发展极为迅速,迄今已取得诸多成果。就网络资源而言,国内外的生物信息学网络资源极为丰富,从代表国家级研究机构的大型网点到代表专业实验室的小型站点,都建立了众多生物信息学网站。大型机构的网站通常提供相关新闻、数据库服务以及软件在线服务;小型科研机构大多展示自己的研究成果,部分还提供自行设计算法的在线服务。各种专业研究机构和公司如雨后春笋般不断涌现,生物科技公司和制药工业内部的生物信息学部门的数量也日益增加。
如今,随着生物信息学的蓬勃发展,生命科学的基础研究与技术开发对生物信息学的科研与人才需求也迅猛增加,传统欧美发达国家也面临着供不应求、人才匮乏的局面。因此,对生物信息学人才的培养至关重要。我国越来越多的高等院校、科研单位开展了生物信息学教育和科研工作,许多大学已经建设生物信息学相关的专业与课程,推动我国生物信息学的快速发展。

查看详情 →
💡

1.2 生物信息学的发展历史与趋势

section
查看详情 →
💡

第一阶段:分子生物学发展时期(1953—1975年)

concept

这一时期是生物信息学的萌芽阶段,核心特征是**理论奠基**和**初步尝试**。 **关键里程碑:** - **1953年**:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。 - **1955年**:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子...

这一时期是生物信息学的萌芽阶段,核心特征是理论奠基初步尝试
关键里程碑:
- 1953年:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。
- 1955年:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子的序列可以被"读取"。
- 1965年:中国科学家成功人工合成牛胰岛素结晶,这是人类首次人工合成蛋白质。
- 1968年:玛格丽特·戴霍夫(Margaret Dayhoff)创建了首个蛋白质序列数据库(Atlas of Protein Sequence and Structure),并提出了PAM矩阵(点突变矩阵),为序列比较奠定了数学基础。她被誉为"生物信息学之母"。
- 1973年:伯格(Berg)发现第一个重组DNA,基因工程时代来临。
- 1975年:DNA测序工作正式开启,为后续大规模数据产生铺平道路。
这一时期的生物信息学活动主要是零星的、手工的。科学家们用纸质卡片记录序列,用简单的统计学方法分析数据。但正是这些早期工作,确立了"生物序列可以被计算分析"的核心理念。

查看详情 →
💡

第二阶段:基因组学时期(1976—2001年)

concept

这一时期是生物信息学的**成型阶段**,核心特征是**数据库建立**、**算法开发**和**基因组计划启动**。 **关键里程碑:** - **1977年**:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。 - **1981年**:中国实现酵母丙氨酸转移核糖核酸的人工合成。 - **1985年**:穆利斯(Mullis)创立PCR...

这一时期是生物信息学的成型阶段,核心特征是数据库建立算法开发基因组计划启动
关键里程碑:
- 1977年:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。
- 1981年:中国实现酵母丙氨酸转移核糖核酸的人工合成。
- 1985年:穆利斯(Mullis)创立PCR技术;生物信息学专业期刊CABIOS创刊。
- 1986年:日本核酸序列数据库DDBJ诞生;蛋白质数据库SWISS-PROT建立。
- 1988年:美国国家生物技术信息中心(NCBI)成立,成为生物信息学最重要的基础设施之一。
- 1990年:国际人类基因组计划(HGP)正式启动,预算30亿美元,计划15年完成。这是生物学领域的"登月计划"。
- 1991年:BLAST算法发表,成为生物信息学领域最广泛使用的序列比对工具。
- 1995年:流感嗜血杆菌全基因组序列发布,这是第一个被完全测序的自由生活生物。
- 1996年:酵母基因组完成测序,这是第一个真核生物基因组。
- 1997年:北京大学生物信息学中心(CBI)成立;大肠杆菌基因组完成测序。
- 1998年:克雷格·文特尔(Craig Venter)创立塞莱拉基因组公司,采用鸟枪法测序策略,与公共基因组计划形成竞争。
这一时期,生物信息学从一个边缘领域逐渐走向中心。人类基因组计划产生的海量数据,迫使科学家们开发自动化工具来处理和分析。BLAST、FASTA等序列搜索算法,Clustal多序列比对工具,Phylip进化分析软件等都在这一时期诞生。

查看详情 →
💡

第三阶段:后基因组时期(2002—2012年)

concept

这一时期是生物信息学的**快速发展阶段**,核心特征是**高通量数据**、**多组学整合**和**系统生物学兴起**。 **关键里程碑:** - **2001年**:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。 - **2002年**:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。 - **2003年**:人类基因组计划正式宣布完成;ENCODE计划启...

这一时期是生物信息学的快速发展阶段,核心特征是高通量数据多组学整合系统生物学兴起
关键里程碑:
- 2001年:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。
- 2002年:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。
- 2003年:人类基因组计划正式宣布完成;ENCODE计划启动,旨在识别人类基因组中的所有功能元件。
- 2005年:二代测序技术(NGS)出现,测序成本开始断崖式下降。
- 2006年:癌症基因组图谱计划(TCGA)启动,系统性地对多种癌症进行基因组分析。
- 2007年:世界首份"个人版"基因图谱完成,个体化基因组时代来临;人体微生物组计划(HMP)启动。
- 2009年:汤富酬发表单细胞转录组测序技术,开启了单细胞组学时代。
- 2010年:外显子测序技术成熟,三代测序技术出现。
- 2012年:CRISPR/Cas基因编辑系统的应用发表;英国启动十万人基因组计划。
这一时期,二代测序技术(Illumina平台为代表)的普及使得数据产量呈指数级增长。一个实验室一天就能产生相当于整个人类基因组计划的数据量。生物信息学从"辅助基因组计划"变成了所有生命科学研究都离不开的核心工具。

查看详情 →
💡

第四阶段:大数据与人工智能时期(2013年至今)

concept

这一时期是生物信息学的**智能化阶段**,核心特征是**深度学习应用**、**多模态数据整合**和**精准医学实践**。 **关键里程碑:** - **2013年**:人类脑计划启动。 - **2015年**:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。 - **2016年**:深圳国家基因库CNGB正式运营;空间转录组学技术发展。 - **2017年**:"中国十万人基因组计划"启动...

这一时期是生物信息学的智能化阶段,核心特征是深度学习应用多模态数据整合精准医学实践
关键里程碑:
- 2013年:人类脑计划启动。
- 2015年:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。
- 2016年:深圳国家基因库CNGB正式运营;空间转录组学技术发展。
- 2017年:"中国十万人基因组计划"启动;人类细胞图谱计划启动。
- 2018年:单细胞水平细胞谱系追踪技术出现;小麦基因组图谱历经13年绘制完成。
- 2019年:国家基因组科学数据中心(NGDC)成立。
- 2020年:AlphaFold2在蛋白质结构预测大赛CASP14中获得历史性突破,解决了困扰生物学界50年的蛋白质折叠问题。
- 2021年:AlphaFold2成功预测98.5%的人类蛋白质结构。
- 2022年:ChatGPT发布,大语言模型开始影响科学研究方式;人类基因组计划最后8%的空缺(端粒等复杂区域)被填补。
- 2024年:AlphaFold2获得诺贝尔化学奖,这是生物信息学领域首次获得诺贝尔奖,标志着该学科得到国际最高学术认可;AlphaFold3发布,能够预测蛋白质-DNA、蛋白质-RNA复合物结构。
这一时期,人工智能特别是深度学习与生物信息学的融合成为最显著的特征。AlphaFold系列的成功证明,AI不仅可以加速数据分析,还能解决传统计算方法难以攻克的生物学难题。


查看详情 →
💡

1.3 生物信息学的研究领域

section
查看详情 →
💡

1.3.1 生物学研究领域

concept

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

查看详情 →
💡

生物化学与分子生物学

concept

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。 **核心应用包括:** - **基因识别与注释**:通过计算算法从基因组序列中识别基因的位置、结构和功能 - **蛋白质功能预测**:基于序列相似性推断未知蛋白质的功能 - **序列 motif 发现**:识别DNA...

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。
核心应用包括:
- 基因识别与注释:通过计算算法从基因组序列中识别基因的位置、结构和功能
- 蛋白质功能预测:基于序列相似性推断未知蛋白质的功能
- 序列 motif 发现:识别DNA或蛋白质序列中的保守模式(如转录因子结合位点)
- 分子进化分析:重建基因和蛋白质家族的进化历史
由于生物功能的主要体现者是蛋白质和其他各类生物分子,研究它们的生成过程、修饰加工、转运定位、结构变化、相互作用等活动,将推动对生物分子的功能、表达和调控的理解。生物信息学通过计算模拟,可以预测蛋白质的三维结构、分子间的相互作用界面,为实验设计提供指导。

查看详情 →
💡

细胞生物学

concept

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。 **生物信息学在细胞生物学中的应用:** - **单细胞组学分析**:利用单细胞测序技术,解析细胞异质性和发育轨迹 - **信号通路重构**:整合多组学数据,构建细胞内的信号传导网络 - **细胞间通信分析**:通过配体-受体分析推断细胞间的相互作用 - **空间转录组分析**:将基因表达信息映射到组织的...

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。
生物信息学在细胞生物学中的应用:
- 单细胞组学分析:利用单细胞测序技术,解析细胞异质性和发育轨迹
- 信号通路重构:整合多组学数据,构建细胞内的信号传导网络
- 细胞间通信分析:通过配体-受体分析推断细胞间的相互作用
- 空间转录组分析:将基因表达信息映射到组织的物理位置
生物信息学可以利用单细胞组学数据并整合基因组、表观组、转录组、蛋白质组等多组学数据,解析细胞内的信号通路传导与基因/蛋白质相互作用以及细胞间的信号通信,探索细胞、组织、器官、系统、生物体等不同尺度下生命活动的原理和调控方式。

查看详情 →
💡

遗传与发育生物学

concept

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。 **关键应用方向:** - **GWAS分析**:全基因组关联研究,识别人类复杂疾病的易感位点 - **表观遗传学分析**:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读 - **发育轨迹推断**:通过单细胞测序重建胚胎发育过程中的细胞分化路径 - **基因调控网络**:识别关键调控元件,理解基因组、表观基因组和环境...

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。
关键应用方向:
- GWAS分析:全基因组关联研究,识别人类复杂疾病的易感位点
- 表观遗传学分析:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读
- 发育轨迹推断:通过单细胞测序重建胚胎发育过程中的细胞分化路径
- 基因调控网络:识别关键调控元件,理解基因组、表观基因组和环境之间的动态相互作用
一个受精卵是如何从单细胞发育、分化为大量不同类型的细胞、组织和器官,最终构成一个完整的生命体,这一直是生物学领域中一个很大的谜团。通过结合多组学分析,我们得以揭开胚胎按照精确的时间顺序发展的秘密,预测和模拟胚胎发育的潜在模式。此外,我们还能分析环境因素如何影响胚胎发展,并探讨这些影响如何在遗传水平上被传递及其对后代可能产生的效应。

查看详情 →
💡

生理学

concept

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。 **生物信息学在生理学中的新兴应用:** - **3D器官重构**:基于成像数据构建器官的三维结构模型 - **动态功能模拟**:利用数学模型模拟生理过程(如心脏跳动、血流动力学) - **影像组学分析**:结合高分辨率影像测量技术,提取生物标志物 - **系统生理学建模**:整合多尺度数据,构...

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。
生物信息学在生理学中的新兴应用:
- 3D器官重构:基于成像数据构建器官的三维结构模型
- 动态功能模拟:利用数学模型模拟生理过程(如心脏跳动、血流动力学)
- 影像组学分析:结合高分辨率影像测量技术,提取生物标志物
- 系统生理学建模:整合多尺度数据,构建从分子到器官的系统模型
如今,单细胞测序、空间转录组等生物技术的发展,为生理学研究带来了细胞和分子层面的丰富信息。同时,高分辨率影像测量技术和控制与计算技术结合生物信息学、人工智能,能够对生物体进行计算机数学建模,帮助理解复杂的生理过程。

查看详情 →
💡

微生物学

concept

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。 **生物信息学在微生物学中的核心应用:** - **宏基因组分析**:直接从环境样品中提取全部DNA,分析微生物群落组成 - **16S/18S rRNA分析**:通过保守的核糖体RNA基因识别和分类微生物 - **微生物代谢网络**:重构微生物的代谢途径,预测代谢能力 - **病原...

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。
生物信息学在微生物学中的核心应用:
- 宏基因组分析:直接从环境样品中提取全部DNA,分析微生物群落组成
- 16S/18S rRNA分析:通过保守的核糖体RNA基因识别和分类微生物
- 微生物代谢网络:重构微生物的代谢途径,预测代谢能力
- 病原微生物基因组学:追踪病原体的变异和进化,预测耐药性和毒力
- 微生物组学(Microbiome):研究微生物群落与宿主健康的相互作用
现代微生物学中,生物信息学已经成为不可或缺的工具。测序、序列比对、系统发育分析、机器学习等技术以及宏基因组、微生物代谢组、16S/18S rRNA分析等生物信息分析方法,在环境微生物学、微生物生态学、病原生物学、微生物工程等不同分支中发挥着重要作用。

查看详情 →
💡

神经生物学

concept

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。 **生物信息学在神经生物学中的应用:** - **脑基因表达图谱**:利用先进计算工具分析数百万神经元及其群体的基因表达数据 - **神经影像分析**:处理和分析fMRI、EEG等神经影像数据 - **神经网络建模**:构建神经元和神经环路的计算模型 - **认知科学计算模型**:利用深度学习理解大脑信息处理机制 长期以来,借...

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。
生物信息学在神经生物学中的应用:
- 脑基因表达图谱:利用先进计算工具分析数百万神经元及其群体的基因表达数据
- 神经影像分析:处理和分析fMRI、EEG等神经影像数据
- 神经网络建模:构建神经元和神经环路的计算模型
- 认知科学计算模型:利用深度学习理解大脑信息处理机制
长期以来,借助神经解剖、神经生理、神经病理以及临床医学研究,已获取了海量有关脑结构与功能的数据。神经影像技术与生物信息学的融合,为研究大脑结构和功能提供了新途径。深度学习技术与生物信息学的结合,也为理解大脑信息处理机制以及认知科学和人工智能领域提供了崭新的理论框架。

查看详情 →
💡

其他重要领域

concept

**生态学(Ecology)**:利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。 **植物学(Phytology)**:植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。 **动物学(Zoology)**:动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。 **免疫学(Immunology)**:免疫组库测序(TCR/BCR-...

生态学(Ecology):利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。
植物学(Phytology):植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。
动物学(Zoology):动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。
免疫学(Immunology):免疫组库测序(TCR/BCR-seq);MHC-肽段结合预测;疫苗设计。
进化生物学(Evolutionary Biology):系统发育树构建;分子进化速率计算;适应性进化检测。

查看详情 →
💡

1.3.2 生物信息学研究内容

concept

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

查看详情 →
💡

序列分析

concept

序列分析是生物信息学最经典、最核心的内容。 **主要研究内容包括:** - **序列比对**:比较两条或多条序列的相似性,识别保守区域和变异位点 - **基因预测**:从基因组DNA序列中识别基因的位置和结构 - **序列搜索**:在大型数据库中搜索与查询序列相似的序列(如BLAST) - **Motif发现**:识别序列中的保守模式(如转录因子结合位点) - **序列拼接**:将短序列片段组装成...

序列分析是生物信息学最经典、最核心的内容。
主要研究内容包括:
- 序列比对:比较两条或多条序列的相似性,识别保守区域和变异位点
- 基因预测:从基因组DNA序列中识别基因的位置和结构
- 序列搜索:在大型数据库中搜索与查询序列相似的序列(如BLAST)
- Motif发现:识别序列中的保守模式(如转录因子结合位点)
- 序列拼接:将短序列片段组装成连续的基因组序列
序列分析的基础假设是"序列决定结构,结构决定功能"——相似的序列往往具有相似的功能。这一假设构成了生物信息学中"通过同源性推断功能"(homology-based function prediction)的基石。

查看详情 →
💡

结构分析

concept

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括: - **蛋白质结构预测**:从氨基酸序列预测三维结构(如AlphaFold) - **RNA结构预测**:预测RNA的二级和三级结构 - **分子对接**:预测小分子药物与蛋白质靶点的结合模式 - **分子动力学模拟**:模拟生物大分子的动态行为 - **结构比对**:比较不同蛋白质的结构相似性,识别结构域 蛋白质结构预测被生物信息...

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括:
- 蛋白质结构预测:从氨基酸序列预测三维结构(如AlphaFold)
- RNA结构预测:预测RNA的二级和三级结构
- 分子对接:预测小分子药物与蛋白质靶点的结合模式
- 分子动力学模拟:模拟生物大分子的动态行为
- 结构比对:比较不同蛋白质的结构相似性,识别结构域
蛋白质结构预测被生物信息学先驱Michael Levitt称为"生物信息学的圣杯",而2024年AlphaFold2的诺贝尔奖正是对这一领域里程碑式成就的肯定。

查看详情 →
💡

功能分析

concept

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。 **主要内容包括:** - **功能注释**:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等) - **表达分析**:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等) - **通路分析**:将基因列表映射到生物学通路,理解系统性功能变化 - **相互作用网络**:构建蛋白质-蛋白质相互作用(PPI)网...

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。
主要内容包括:
- 功能注释:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等)
- 表达分析:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等)
- 通路分析:将基因列表映射到生物学通路,理解系统性功能变化
- 相互作用网络:构建蛋白质-蛋白质相互作用(PPI)网络、基因调控网络
- 表型关联分析:将基因型与表型关联,理解遗传基础

查看详情 →
💡

数据资源与算法工具

concept

生物信息学的发展离不开数据资源和算法工具的积累。 **主要数据库:** - **核酸序列数据库**:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟 - **蛋白质数据库**:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构) - **基因组数据库**:Ensembl、UCSC Genome Browser、NCBI Genome - **通路数据...

生物信息学的发展离不开数据资源和算法工具的积累。
主要数据库:
- 核酸序列数据库:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟
- 蛋白质数据库:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构)
- 基因组数据库:Ensembl、UCSC Genome Browser、NCBI Genome
- 通路数据库:KEGG、Reactome、WikiPathways
- 疾病数据库:OMIM、ClinVar、GWAS Catalog
- 单细胞数据库:Cell Atlas、Single Cell Portal
算法工具开发:
- 生物信息学领域已发展了数以万计的软件工具
- 工具开发遵循"开源、共享"的文化传统
- 生物信息学社区通过BioConductor(R)、Biopython(Python)、Galaxy(Web平台)等项目推动工具的标准化和可重复性


查看详情 →
💡

1.4 生物信息学的算法基础

section
查看详情 →
💡

1.4.1 降维算法

concept

**为什么需要降维?** 生物数据通常具有"高维"特征。例如: - 一个RNA-Seq实验可能测量2万多个基因的表达 - 一个基因组变异研究可能检测数百万个SNP位点 - 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达 维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。 **主成分分析(PCA)**: - **原理**:寻找数据...

为什么需要降维?
生物数据通常具有"高维"特征。例如:
- 一个RNA-Seq实验可能测量2万多个基因的表达
- 一个基因组变异研究可能检测数百万个SNP位点
- 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达
维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。
主成分分析(PCA)
- 原理:寻找数据中方差最大的方向,将数据投影到这些方向上
- 类比:想象一个三维的云朵,PCA找到云朵"最长"和"次长"的两个方向,将其投影到二维平面上
- 生物应用:基因表达数据可视化、群体遗传结构分析(如PCA用于推断人群祖先成分)、批次效应校正
- 优点:无监督、计算高效、结果可解释
- 局限:只能捕获线性关系
t-SNE(t-分布随机邻域嵌入)
- 原理:在高维空间中"相近"的样本,在低维空间中也应该"相近";优化低维表示使得这种"邻近关系"尽可能保持
- 类比:把一张揉皱的地图展平,尽量保持邻近城市的相对位置
- 生物应用:单细胞RNA-Seq数据可视化(如Seurat包中的标准流程)、细胞类型识别、发育轨迹推断
- 优点:擅长揭示非线性结构、可视化效果好
- 局限:计算成本高、结果随机性强、全局结构保持不佳
UMAP(统一流形近似与投影)
- 原理:基于流形学习(manifold learning)和拓扑数据分析,保持数据的局部和全局结构
- 生物应用:单细胞数据降维、空间转录组数据可视化
- 优点:比t-SNE更快、能更好地保持全局结构、更稳定
- 局限:参数调优较复杂
选择建议:PCA适合初步探索和线性结构;t-SNE适合精细可视化;UMAP是二者的折中,是目前单细胞分析的首选。

查看详情 →
💡

1.4.2 聚类算法

concept

**为什么需要聚类?** 聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。 **K-Means聚类**: - **原理**:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点 - **类比**:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直...

为什么需要聚类?
聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。
K-Means聚类
- 原理:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点
- 类比:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直到稳定
- 生物应用:基因表达模式聚类、患者分型、微生物群落分类
- 优点:简单、高效
- 局限:需要预先指定K值、对初始值敏感、假设簇是球形
层次聚类(Hierarchical Clustering)
- 原理:自底向上(凝聚)或自顶向下(分裂)地构建树状结构
- 类比:从每片叶子(单个样本)开始,不断合并"最相似"的两组,直到形成一棵树
- 生物应用:基因表达热图(heatmap)的标准聚类方法、进化树构建、样本关系分析
- 优点:不需要预先指定类别数、输出树状图(dendrogram)直观展示关系
- 局限:计算复杂度高、对噪声敏感
DBSCAN(基于密度的聚类)
- 原理:将"高密度区域"识别为簇,可以自动发现任意形状的簇
- 生物应用:发现细胞亚群、识别异常样本
- 优点:能发现任意形状的簇、自动识别噪声
- 局限:对密度不均匀的数据效果不佳
聚类在生物信息学中的经典应用
- 基因共表达网络:聚类表达模式相似的基因,推断功能模块
- 癌症分子分型:基于基因表达谱将癌症患者分为不同亚型,指导治疗
- 细胞类型鉴定:聚类单细胞数据,发现新的细胞类型

查看详情 →
💡

1.4.3 分类算法

concept

**为什么需要分类?** 分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。 **决策树(Decision Tree)**: - **原理**:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别 - **类比**:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可...

为什么需要分类?
分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。
决策树(Decision Tree)
- 原理:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别
- 类比:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可能是..."
- 生物应用:疾病诊断决策、基因功能分类、突变有害性预测(如SIFT、PolyPhen)
- 优点:可解释性强、不需要数据标准化
- 局限:容易过拟合、对数据变化敏感
支持向量机(SVM)
- 原理:在高维空间中寻找一个超平面,使不同类别的样本间隔最大化
- 类比:想象两类水果(苹果和橙子),SVM找到一条"最宽"的分界线,把两类水果分开
- 生物应用:蛋白质分类、疾病亚型识别、基因选择
- 优点:在高维空间表现好、泛化能力强
- 局限:大数据集训练慢、核函数选择困难
随机森林(Random Forest)
- 原理:构建多棵决策树,每棵树用随机抽样的样本和特征训练,最后投票决定分类
- 类比:让一个"专家委员会"(多棵树)投票决定,每个专家看问题的角度不同(随机特征),综合结果更稳健
- 生物应用:特征选择(识别重要基因)、疾病风险预测、蛋白质-蛋白质相互作用预测
- 优点:准确率高、能评估特征重要性、不易过拟合
- 局限:模型复杂、训练时间长
深度学习(Deep Learning)
- 原理:多层神经网络自动学习特征表示
- 生物应用:蛋白质结构预测(AlphaFold)、基因表达调控预测、药物分子生成、病理图像诊断
- 优点:表示能力强、自动特征提取
- 局限:需要大量训练数据、计算成本高、可解释性差("黑箱"问题)
分类算法选择建议
- 小样本、需要可解释性:决策树、SVM
- 大数据、追求准确率:随机森林、深度学习
- 生物信息学实际问题:往往需要尝试多种方法,交叉验证选择最优

查看详情 →
💡

1.4.4 回归算法

concept

**为什么需要回归?** 回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。 **线性回归(Linear Regression)**: - **原理**:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面) - **公式**:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ - **类比**:根据房屋面积、地段等特征,预测房价 - **生物应...

为什么需要回归?
回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。
线性回归(Linear Regression)
- 原理:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面)
- 公式:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ
- 类比:根据房屋面积、地段等特征,预测房价
- 生物应用:基因表达量预测、表型-基因型关联分析、药物剂量-效应关系
- 优点:简单、可解释、理论基础扎实
- 局限:只能捕获线性关系、对异常值敏感
逻辑回归(Logistic Regression)
- 原理:虽然名字里有"回归",但它用于分类——通过sigmoid函数将线性输出映射到0-1概率
- 公式:P(y=1|x) = 1 / (1 + e^-(β₀ + β₁x₁ + ...))
- 生物应用:疾病风险预测(如根据SNP预测患病概率)、临床诊断模型
- 优点:输出概率、可解释性强、计算高效
- 局限:只能处理线性可分问题
LASSO回归(Least Absolute Shrinkage and Selection Operator)
- 原理:在普通回归的基础上加入L1正则化,使部分系数变为0,实现特征选择
- 类比:像一位严格的编辑,不仅要文章写得准(拟合数据),还要尽量简洁(减少用词),把不重要的词直接删掉(系数变为0)
- 生物应用:高维基因数据的特征选择(从数万个基因中筛选出与疾病相关的关键基因)、构建稀疏预测模型
- 优点:自动特征选择、防止过拟合、模型可解释
- 局限:高度相关特征中只选一个
岭回归(Ridge Regression)
- 原理:L2正则化,使系数尽量小但不为0
- 与LASSO的区别:LASSO做"选择"(删去不重要特征),岭回归做"收缩"(让所有特征都参与但权重更小)
- 生物应用:共线性严重的基因数据(如通路中的基因)
弹性网络(Elastic Net)
- 原理:LASSO和岭回归的结合,同时具有L1和L2正则化
- 生物应用:高维基因数据,特别是特征数远大于样本数时(p >> n问题)

查看详情 →
💡

1.4.5 统计分析

concept

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。 **假设检验**: - **核心问题**:观察到的差异是"真实存在"还是"随机波动"? - **p值**:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著" - **生物应用**:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较 - **注意事项**:p值不是...

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。
假设检验
- 核心问题:观察到的差异是"真实存在"还是"随机波动"?
- p值:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著"
- 生物应用:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较
- 注意事项:p值不是"差异有多大",而是"证据有多强";需要结合效应量(effect size)解释结果
多重检验校正
- 问题:当同时进行数千次检验(如检测2万个基因的差异表达)时,即使零假设成立,也有约5%的检验会"偶然"显著(假阳性)
- Bonferroni校正:将阈值除以检验次数,非常严格但损失统计功效
- FDR(False Discovery Rate)校正:控制假阳性比例,如Benjamini-Hochberg方法
- 生物应用:全基因组关联研究(GWAS)、RNA-Seq差异表达分析
- 重要性:不进行多重检验校正,差异表达分析几乎总会"发现"大量假阳性基因
方差分析(ANOVA)
- 原理:比较三组或更多组之间的均值差异,分解变异来源
- 生物应用:多组实验比较(如三种药物处理下的基因表达差异)、批次效应评估
- 类型:单因素ANOVA(一个分组变量)、双因素ANOVA(两个分组变量,如处理+时间)
非参数检验
- 何时使用:数据不满足正态分布、样本量小、存在异常值
- 常用方法:Mann-Whitney U检验(两组比较)、Kruskal-Wallis检验(多组比较)、Wilcoxon符号秩检验(配对样本)
- 生物应用:基因表达数据(通常不服从正态分布)、微生物组数据(计数数据,偏态分布)
- 优点:不假设数据分布、稳健
- 局限:统计功效通常低于参数检验
生存分析(Survival Analysis)
- 核心:分析"事件发生时间"(如死亡、复发、转移)
- Kaplan-Meier曲线:直观展示不同组别的生存概率
- Cox比例风险模型:评估协变量对风险率的影响
- 生物应用:临床预后分析(根据基因表达预测患者生存时间)、药物临床试验
统计学习在生物信息学中的趋势
- 从"统计显著"到"生物学意义":不仅看p值,还关注效应量、临床意义
- 贝叶斯方法:结合先验知识(如通路信息、蛋白质相互作用)进行推断,在生物信息学中越来越重要
- 可重复性危机:生物信息学领域正加强统计方法的规范使用,提高结果可重复性


查看详情 →
💡

1.5 生物信息学的机遇与挑战

section
查看详情 →
💡

1.5.1 生物信息学的机遇

concept
查看详情 →
💡

人工智能与深度学习的深度融合

concept

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长: **蛋白质科学与结构生物学**: - AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱 - AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物 - 基于深度学习的蛋白质设计(如RFdiffusio...

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长:
蛋白质科学与结构生物学
- AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱
- AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物
- 基于深度学习的蛋白质设计(如RFdiffusion、ProteinMPNN)可以从头设计具有特定功能的蛋白质
- 蛋白质语言模型(如ESM-2、ProGen)学习蛋白质序列的"语法",预测突变效应和蛋白质功能
基因组学与变异解读
- 深度学习模型(如DeepVariant、Clair3)在变异检测精度上已超越传统方法
- 大规模语言模型(如Enformer、Basenji2)预测基因调控和染色质可及性
- 利用AI从DNA序列直接预测基因表达和表型
药物研发与分子设计
- 生成式AI(如扩散模型)可以设计全新的药物分子
- AI预测分子与靶点的结合亲和力,加速药物筛选
- 临床试验患者招募和结果预测
多组学整合
- 深度学习能够同时处理基因组、转录组、蛋白质组等多模态数据
- 图神经网络(GNN)用于建模生物分子网络(如蛋白质相互作用网络、代谢网络)
- 自监督学习利用未标注的海量生物数据预训练模型
AI for Science的范式转变
- 从"人工设计特征+传统机器学习"到"端到端深度学习"
- 从"单个任务优化"到"基础模型+微调"(如生物信息学基础模型)
- 大语言模型(LLM)辅助生物学知识发现(如GPT-4在文献挖掘和假设生成中的应用)

查看详情 →
💡

数据资源的指数级增长与开放共享

concept

**数据规模**: - 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍 - 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱 - 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据 **数据开放**: - FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化 - 数据...

数据规模
- 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍
- 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱
- 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据
数据开放
- FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化
- 数据共享平台(如GEO、ArrayExpress、Zenodo)使科学数据可重复利用
- 国际合作项目(如人类基因组计划、人类细胞图谱、地球微生物组计划)产生开放参考数据集
数据价值
- 数据驱动的发现(如从海量GWAS数据中发现新的疾病基因)
- 数据整合产生新知识(如整合多队列数据验证发现的可靠性)
- 历史数据再利用(如对20年前的微阵列数据重新分析,发现新的生物学见解)

查看详情 →
💡

精准医学与临床转化需求

concept

**精准医学**: - 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选) - 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型) - 罕见病诊断:全外显子/全基因组测序快速锁定致病基因 **临床生物信息学**: - 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测 - 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向...

精准医学
- 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选)
- 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型)
- 罕见病诊断:全外显子/全基因组测序快速锁定致病基因
临床生物信息学
- 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测
- 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向治疗)
- 感染病原快速鉴定:宏基因组测序(mNGS)从患者样本中直接检测病原体
公共卫生
- 病原体基因组监测(如COVID-19变异株追踪)
- 流行病学建模与预测
- 耐药性监测与预警

查看详情 →
💡

新兴技术的发展

concept

**单细胞与空间组学**: - 单细胞测序从"看见细胞群体"到"看见单个细胞" - 空间组学从"知道表达了什么"到"知道在哪里表达" - 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平 **三代测序**: - 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题 - 直接检测DNA/RNA修饰(如甲基化)无需化学转化 - 实时测序、便携设备...

单细胞与空间组学
- 单细胞测序从"看见细胞群体"到"看见单个细胞"
- 空间组学从"知道表达了什么"到"知道在哪里表达"
- 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平
三代测序
- 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题
- 直接检测DNA/RNA修饰(如甲基化)无需化学转化
- 实时测序、便携设备(如MinION)实现现场测序
基因编辑与合成生物学
- CRISPR-Cas9的广泛应用产生大量编辑数据,需要生物信息学分析编辑效率和脱靶效应
- 合成生物学设计新生物系统,需要生物信息学工具进行设计-构建-测试-学习(DBTL)循环
- 基因线路设计与优化

查看详情 →
💡

1.5.2 生物信息学的挑战

concept
查看详情 →
💡

数据挑战

concept

**数据质量与标准化**: - 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应) - 数据格式多样,缺乏统一标准,数据整合困难 - 元数据(metadata)记录不完整,影响数据的可理解性和可重复性 - 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果 **数据规模与计算资源**: - 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据 - 存储、...

数据质量与标准化
- 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应)
- 数据格式多样,缺乏统一标准,数据整合困难
- 元数据(metadata)记录不完整,影响数据的可理解性和可重复性
- 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果
数据规模与计算资源
- 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据
- 存储、传输、计算成本高昂,对基础设施提出巨大挑战
- 实时分析需求(如临床诊断)与计算复杂度的矛盾
数据隐私与伦理
- 基因组数据包含个人身份信息,隐私保护至关重要
- 跨国数据共享面临法律和政策障碍(如GDPR、数据主权)
- 基因歧视风险:保险公司、雇主可能利用基因信息歧视个体
- 数据安全:生物数据库成为网络攻击的潜在目标
数据复杂性
- 生物数据的高维性(特征数远超样本数)导致统计分析的困难
- 数据的异质性:不同来源、不同技术平台的数据难以直接比较
- 生物系统的复杂性:基因-环境相互作用、表观遗传修饰、微生物组影响等增加了数据解读的难度

查看详情 →
💡

算法挑战

concept

**可解释性(Interpretability)**: - 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难 - 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求) - 如何平衡模型性能与可解释性是一个核心挑战 **泛化能力(Generalization)**: - 生物数据存在严重的批次效应和技术平台差异 - 在一个数据集上训练的模型,往往无法直接应用于...

可解释性(Interpretability)
- 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难
- 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求)
- 如何平衡模型性能与可解释性是一个核心挑战
泛化能力(Generalization)
- 生物数据存在严重的批次效应和技术平台差异
- 在一个数据集上训练的模型,往往无法直接应用于另一个数据集
- 领域适应(Domain Adaptation)和迁移学习在生物信息学中至关重要
小样本问题
- 生物医学实验成本高,样本量通常有限(几十到几百)
- 特征维度高(数万到数百万),样本量小,导致"维度灾难"
- 如何在小样本条件下训练可靠的模型?
因果推断(Causality)
- 大多数生物信息学分析只能发现相关性,而非因果关系
- 从"基因X与疾病Y相关"到"基因X导致疾病Y"需要严格的因果推断
- 孟德尔随机化(Mendelian Randomization)等方法正在被广泛采用,但仍有局限
多组学整合
- 如何有效整合基因组、转录组、蛋白质组、代谢组等不同层次的数据?
- 不同组学数据具有不同的尺度、分布和噪声特征
- 缺乏统一的多组学整合理论框架

查看详情 →
💡

人才与教育挑战

concept

**跨学科人才培养困难**: - 生物信息学需要生物学、计算机科学、统计学的交叉知识 - 传统教育体系培养的学生往往只精通一个领域 - 既懂生物学问题又懂计算方法的复合型人才严重短缺 **技术迭代快速**: - 生物信息学工具和技术更新极快,学习者需要持续学习 - 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂 - 教育体系难以跟上技术发展的步伐 **计算与实验的脱节**: - 计算生物学家...

跨学科人才培养困难
- 生物信息学需要生物学、计算机科学、统计学的交叉知识
- 传统教育体系培养的学生往往只精通一个领域
- 既懂生物学问题又懂计算方法的复合型人才严重短缺
技术迭代快速
- 生物信息学工具和技术更新极快,学习者需要持续学习
- 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂
- 教育体系难以跟上技术发展的步伐
计算与实验的脱节
- 计算生物学家和实验生物学家之间往往存在沟通障碍
- 计算人员缺乏生物学直觉,实验人员缺乏计算思维
- 需要培养"双语人才"——既能与生物学家讨论科学问题,又能与计算机科学家讨论算法设计

查看详情 →
💡

应用转化挑战

concept

**从基础研究到临床应用的鸿沟**: - 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证 - 临床试验成本高、周期长,许多计算预测难以进入临床 - 监管政策滞后于技术发展(如AI医疗设备的审批流程) **结果可重复性**: - 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择 - 许多已发表的研究结果难以重复 - 需要建立标准化的分析流程(如Best Practices)和...

从基础研究到临床应用的鸿沟
- 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证
- 临床试验成本高、周期长,许多计算预测难以进入临床
- 监管政策滞后于技术发展(如AI医疗设备的审批流程)
结果可重复性
- 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择
- 许多已发表的研究结果难以重复
- 需要建立标准化的分析流程(如Best Practices)和可重复性研究环境(如Docker、Conda)
成本与效益的平衡
- 基因组测序成本虽已大幅下降,但全基因组分析、存储和解读的综合成本仍然较高
- 精准医学的效益需要长期验证,短期内难以体现
- 资源分配:在有限的医疗预算中,生物信息学驱动的精准医疗能否带来足够的健康收益?

查看详情 →
💡

1.5.3 结语

concept

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。 然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括: 1. **自动化与智能化**:从"手动编写...

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。
然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括:
1. 自动化与智能化:从"手动编写分析脚本"到"自动化分析流程"(如Snakemake、Nextflow),再到"智能分析助手"(LLM辅助分析)
2. 可解释AI:发展既能保持高性能又具有生物学可解释性的AI方法,让黑箱变透明
3. 标准化与可重复性:建立分析流程、数据格式、软件环境的行业标准,提高研究可重复性
4. 教育与培训:改革教育体系,培养更多跨学科人才;发展在线教育资源和虚拟实践平台
5. 临床整合:推动生物信息学从基础研究走向临床实践,建立从样本采集到报告解读的标准化流程
6. 伦理与法规:制定数据共享、隐私保护、AI应用的伦理准则和法规框架
7. 全球合作:加强国际合作,建立全球生物数据共享和标准化体系
生物信息学的未来,不仅是技术的未来,更是科学的未来。在这个数据驱动的时代,生物信息学将继续扮演连接生物学、计算机科学和医学的桥梁角色,推动人类对生命本质的理解,最终造福人类健康和社会福祉。


查看详情 →
💡

第10章 表型组学

chapter
查看详情 →
💡

10.1 表型组学概述

section
查看详情 →
💡

10.2 表型组学数据

section
查看详情 →
💡

10.3 表型组学的数据分析

section
查看详情 →
💡

10.4 表型组学的应用

section
查看详情 →
💡

10.5 总结与展望

section
查看详情 →
💡

第11章 系统生物学

chapter
查看详情 →
💡

11.1 系统生物学概述

section
查看详情 →
💡

11.2 生物网络类型及数据资源

section
查看详情 →
💡

11.3 生物分子网络及特征

section
查看详情 →
💡

第12章 生物信息学应用

chapter
查看详情 →
💡

12.1 精准医学

section
查看详情 →
💡

基因组医学的原理

concept

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析: 1. **变异检测**:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。 2. *...

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析:
1. 变异检测:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。
2. 变异注释:使用ANNOVAR、VEP(Variant Effect Predictor)等工具对检测到的变异进行功能注释,判断变异位于基因组的什么位置(编码区、非编码区、调控区)、是否改变氨基酸序列(同义突变、错义突变、无义突变、移码突变)等。
3. 致病性评估:结合人群频率数据库(如gnomAD)、致病性预测工具(如SIFT、PolyPhen-2、CADD)和临床数据库(如ClinVar、OMIM),评估变异的致病可能性。
4. 多组学整合:将基因组数据与转录组(RNA-seq)、蛋白质组、代谢组等数据整合,构建全面的分子图谱。

查看详情 →
💡

肿瘤基因组学的原理

concept

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括: 1. **肿瘤-正常配对分析**:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。 2. **突变特征分析**:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺...

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括:
1. 肿瘤-正常配对分析:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。
2. 突变特征分析:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺陷)会产生特定的突变模式,称为突变特征(mutational signatures)。通过分解突变谱,可以推断肿瘤的致突变因素。
3. 驱动突变识别:并非所有突变都对肿瘤发展有贡献。乘客突变(passenger mutations)是随机累积的,而驱动突变(driver mutations)则赋予细胞生长优势。生物信息学工具如OncodriveCLUST、MutSigCV通过统计方法识别显著的驱动突变。
4. 肿瘤异质性分析:肿瘤内部存在多个亚克隆,每个亚克隆具有不同的突变谱。通过PyClone、SciClone等工具可以重建肿瘤进化树,理解治疗耐药性的产生机制。

查看详情 →
💡

药物基因组学的原理

concept

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控: 1. **药物代谢酶**:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。 2. **药物转运体**:ABCB1(MDR1)、SLC...

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控:
1. 药物代谢酶:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。
2. 药物转运体:ABCB1(MDR1)、SLCO1B1等转运体基因的多态性影响药物的吸收和分布。
3. 药物靶点:VKORC1基因变异影响华法林的靶点敏感性,决定抗凝治疗剂量。
4. 剂量预测模型:基于患者的基因型和临床特征(年龄、体重、合并用药等),建立剂量预测算法,如华法林剂量预测模型整合VKORC1和CYP2C9基因型信息。

查看详情 →
💡

案例一:新生儿罕见病基因组诊断

concept

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。 分析流程: 1. WES测序(约2×10^7 reads...

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。
分析流程:
1. WES测序(约2×10^7 reads,150bp paired-end)
2. BWA-MEM比对到GRCh38参考基因组
3. GATK HaplotypeCaller检测变异
4. VEP注释变异效应
5. 过滤:保留罕见变异(gnomAD AF<0.01)、蛋白截断或错义变异
6. 候选基因筛选:聚焦代谢疾病相关基因 panel
7. Sanger测序验证突变

查看详情 →
💡

案例二:非小细胞肺癌的精准治疗

concept

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。 融合基因检测流程: 1. RNA-seq数据质控...

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。
融合基因检测流程:
1. RNA-seq数据质控(FastQC)
2. STAR比对(使用chimeric alignment模式)
3. STAR-Fusion或Arriba检测融合基因
4. 可视化验证(IGV查看融合断点)
5. 临床解读(OncoKB数据库查询靶向药物)

查看详情 →
💡

案例三:华法林个体化给药

concept

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C9*1/*3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C91/3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

查看详情 →
💡

12.2 智能药学

section
查看详情 →
💡

药物靶点发现的生物信息学策略

concept

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略: **1. 基因组学方法** - **全基因组关联分析(GWAS)**:通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。 - **表达数量性状位点(eQTL)分析**:将GWAS发现的疾病关联位点与...

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略:
1. 基因组学方法
- 全基因组关联分析(GWAS):通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。
- 表达数量性状位点(eQTL)分析:将GWAS发现的疾病关联位点与基因表达数据整合,推断因果基因。
2. 网络药理学方法
- 疾病模块识别:利用蛋白质相互作用网络(PPI),识别与疾病相关的功能模块。一个理想的药物靶点应位于疾病模块的中心位置(高介数中心性),干扰它可以最大程度地影响疾病进程。
- 网络邻近性分析:计算药物靶点与疾病基因在网络中的距离,预测药物重定位(drug repurposing)的可能性。
3. 多组学整合方法
- 整合基因组、转录组、蛋白质组和代谢组数据,构建多层次的疾病分子图谱,系统性地识别关键节点作为潜在靶点。
- 差异表达分析(如DESeq2、edgeR)识别疾病状态下显著上调或下调的基因。
4. 靶点可药性评估
- 并非所有与疾病相关的蛋白都是好的药物靶点。可药性(druggability)评估考虑:是否有适合小分子结合的口袋、靶点的组织特异性表达、靶向该靶点是否会产生严重毒副作用等。
- 工具如DrugMAP、canSAR数据库提供蛋白质可药性预测。

查看详情 →
💡

计算机辅助药物设计的原理

concept

**基于结构的药物设计(SBDD)** SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为: 1. **靶点结构准备**:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。 2. **活性位点识别**:使用Fpocket、SiteMap等工具预测结合口袋。 3. **虚拟筛选**:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口...

基于结构的药物设计(SBDD)
SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为:
1. 靶点结构准备:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。
2. 活性位点识别:使用Fpocket、SiteMap等工具预测结合口袋。
3. 虚拟筛选:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口袋,根据对接打分排序。
4. 先导化合物优化:基于对接结果和相互作用分析,进行结构修饰以提高活性、选择性和成药性。
基于配体的药物设计(LBDD)
当靶点结构未知时,可以利用已知活性配体的信息:
1. 药效团建模:提取活性分子共同的化学特征(氢键供体/受体、疏水中心、芳环中心)及其空间排布,建立药效团模型,用于数据库搜索。
2. 定量构效关系(QSAR):建立分子描述符与生物活性之间的统计模型,预测新化合物的活性。
3. 分子相似性搜索:基于"相似结构的分子具有相似活性"的原则,在化学空间中搜索与已知活性分子相似的化合物。

查看详情 →
💡

分子对接的原理

concept

分子对接模拟配体与受体的结合过程,包括两个核心问题: **1. 构象搜索(Pose Prediction)** - 在构象空间中搜索配体的最优结合姿态。 - 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。 - 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。 **2. 结合亲和力预测(Scoring...

分子对接模拟配体与受体的结合过程,包括两个核心问题:
1. 构象搜索(Pose Prediction)
- 在构象空间中搜索配体的最优结合姿态。
- 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。
- 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。
2. 结合亲和力预测(Scoring)
- 打分函数评估每个结合姿态的亲和力,用于排序。
- 打分函数类型:
- 力场打分:基于分子力学能量项(范德华力、静电相互作用)
- 经验打分:拟合实验数据得到的加权能量项
- 知识-based打分:基于蛋白质-配体复合物结构数据库的统计势能
- 机器学习打分:使用RF、SVM、CNN等算法学习结构-亲和力关系
常用分子对接软件包括AutoDock Vina、Glide、GOLD、rDock等。

查看详情 →
💡

AI药物设计的原理

concept

**1. 生成式分子设计** - **变分自编码器(VAE)**:学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。 - **生成对抗网络(GAN)**:生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。 - **强化学习(RL)**:将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。 - **扩散模型(Diff...

1. 生成式分子设计
- 变分自编码器(VAE):学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。
- 生成对抗网络(GAN):生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。
- 强化学习(RL):将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。
- 扩散模型(Diffusion Model):目前最先进的生成模型,通过逐步去噪生成高质量分子,在3D分子生成方面表现优异。
2. 分子性质预测
- 图神经网络(GNN):将分子表示为图(原子为节点,键为边),利用消息传递机制学习分子表征,预测生物活性、毒性、药代动力学性质(ADMET)。
- Transformer架构:如ChemBERTa、MolBERT,将SMILES字符串作为输入序列,利用自注意力机制学习化学语言模型。
3. 蛋白质结构预测
- AlphaFold2:利用注意力机制和多序列比对(MSA)实现接近实验精度的蛋白质结构预测,为SBDD提供了前所未有的结构基础。
- RoseTTAFold:另一种高精度蛋白质结构预测方法。

查看详情 →
💡

案例一:COVID-19靶点发现与药物重定位

concept

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点: 1. **基因组注释**:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。 2. **人类-病毒蛋白质相互作用**:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式...

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点:
1. 基因组注释:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。
2. 人类-病毒蛋白质相互作用:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式,预测关键宿主因子(如ACE2受体、TMPRSS2)。
3. 药物重定位:通过网络邻近性分析,筛选已上市药物中可能有效对抗SARS-CoV-2的候选药物。例如,基于病毒-宿主相互作用网络,预测氯喹和瑞德西韦(Remdesivir)可能有效(后续临床试验验证了瑞德西韦的疗效)。
4. 虚拟筛选:以Mpro为靶点,对ZINC数据库进行虚拟筛选,识别潜在抑制剂。德国研究团队通过高通量X射线晶体学筛选,发现了Mpro抑制剂的前导化合物。

# 使用RDKit进行分子对接准备示例
from rdkit import Chem
from rdkit.Chem import AllChem
# 读取配体分子
ligand = Chem.MolFromSmiles("CC(C)Cc1ccc(cc1)C(C)C(=O)O")  # 布洛芬
ligand = Chem.AddHs(ligand)
AllChem.EmbedMolecule(ligand, AllChem.ETKDG())
# 保存为PDB格式用于对接
Chem.MolToPDBFile(ligand, "ligand.pdb")
查看详情 →
💡

案例二:AlphaFold驱动的药物设计——靶向KRAS G12C

algorithm

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。 1. **结构解析**:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。 2. **共价抑制剂设计**:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sot...

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。
1. 结构解析:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。
2. 共价抑制剂设计:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sotorasib(AMG 510)和Adagrasib(MRTX849)通过共价结合Cys12,将KRAS锁定在非活性状态。
3. AI优化:利用机器学习模型预测化合物的选择性、代谢稳定性和口服生物利用度,优化先导化合物。
这一案例展示了从"不可成药"到"可成药"的转变如何依赖于精准的结构信息和计算设计。

查看详情 →
💡

案例三:AI生成全新抗生素——Halicin的发现

concept

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin: 1. **训练数据**:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。 2. **虚拟筛选**:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。 3. **实验验证**:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝...

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin:
1. 训练数据:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。
2. 虚拟筛选:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。
3. 实验验证:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝杆菌)表现出强效杀菌活性,且与现有抗生素无交叉耐药性。
4. 作用机制:后续研究表明Halicin通过干扰细菌的质子动力势发挥作用,这是一种全新的作用机制。

# 使用DeepChem进行分子性质预测示例
import deepchem as dc
from deepchem.models import GraphConvModel
# 加载Tox21毒性数据集
tasks, datasets, transformers = dc.molnet.load_tox21()
train_dataset, valid_dataset, test_dataset = datasets
# 构建图卷积网络模型
model = GraphConvModel(
    n_tasks=len(tasks),
    mode='classification',
    batch_size=64,
    learning_rate=0.001
)
# 训练模型
model.fit(train_dataset, nb_epoch=20)
查看详情 →
💡

12.3 智能育种

section
查看详情 →
💡

基因组选择(GS)的原理

concept

**1. 基本概念** 基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。 假设个体的表型值P可以分解为: P = μ + g + e 其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。 GS的目标是利用标记基因型X来预测遗传效应...

1. 基本概念
基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。
假设个体的表型值P可以分解为:
P = μ + g + e
其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。
GS的目标是利用标记基因型X来预测遗传效应g:
g = Xβ + ε
其中,β为标记效应向量。
2. 统计模型
基因组选择的核心是估计每个标记的效应。由于标记数(p,通常为数千至数百万)远大于个体数(n,数百至数千),传统的最小二乘法无法直接使用,需要借助特殊统计方法:
- 岭回归最佳线性无偏预测(RR-BLUP):假设所有标记效应服从正态分布,通过L2正则化(岭回归)解决过拟合问题。计算速度快,是GS的基准方法。
- 贝叶斯方法(BayesA、BayesB、Bayesian LASSO等):假设标记效应服从不同的先验分布。BayesB假设只有少数标记具有大效应(大部分标记效应为0),更符合真实遗传架构。
- GBLUP(Genomic BLUP):利用标记信息构建基因组关系矩阵G,替代传统的系谱关系矩阵A,进行最佳线性无偏预测。
- 机器学习算法:随机森林(RF)、支持向量机(SVM)、神经网络等也被用于GS,在处理非加性遗传效应时可能优于线性模型。
3. 实施流程
(1) 训练群体构建:选择具有代表性的群体,测定高密度SNP基因型和目标性状表型。
(2) 统计模型训练:利用训练数据估计标记效应。
(3) 育种值预测:对候选个体(仅有基因型)计算GEBV。
(4) 选择决策:根据GEBV排名,选择最优个体进入下一代。
(5) 模型更新:定期用新收集的表型数据更新预测模型,保持预测准确性。
4. 影响预测准确性的因素
- 训练群体大小:一般而言,训练群体越大,预测准确性越高。
- 训练群体与候选群体的亲缘关系:关系越近,预测越准确。
- 性状遗传力:遗传力越高,GS效果越好。
- 标记密度:需要足够密度的标记覆盖全基因组,捕获LD信息。
- 性状遗传架构:由大量微效基因控制的性状更适合GS。

查看详情 →
💡

分子标记辅助育种的原理

concept

**1. QTL定位** 数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。 常用方法: - **单标记分析(SMA)**:检验单个标记与性状的关联 - **区间作图(IM)**:利用两侧标记信息,检测标记区间内的QTL - **复合区间作图(...

1. QTL定位
数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。
常用方法:
- 单标记分析(SMA):检验单个标记与性状的关联
- 区间作图(IM):利用两侧标记信息,检测标记区间内的QTL
- 复合区间作图(CIM):在区间作图基础上,加入背景标记控制多QTL效应
- 全基因组关联分析(GWAS):利用自然群体中的连锁不平衡(LD),不需要构建专门的家系
2. MAS(Marker-Assisted Selection)策略
- 前景选择:利用与目标QTL紧密连锁的标记,选择携带有利等位基因的个体。
- 背景选择:利用全基因组标记,监测轮回亲本的基因组恢复程度,加速回交育种进程。
- 基因聚合(Gene Pyramiding):将多个有利基因/QTL聚合到同一个品种中。
3. 标记类型
从RFLP、AFLP、SSR发展到目前的SNP(单核苷酸多态性)。SNP标记具有密度高、分布广、自动化检测等优点,已成为MAB和GS的主流标记。

查看详情 →
💡

种质资源鉴定的原理

concept

**1. 遗传多样性分析** - **群体结构分析**:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。 - **主成分分析(PCA)**:降维可视化种质间的遗传关系。 - **进化树构建**:基于遗传距离构建系统发育树,揭示种质的亲缘关系。 **2. 核心种质构建** - 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。 - 常用策略:基于遗传...

1. 遗传多样性分析
- 群体结构分析:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。
- 主成分分析(PCA):降维可视化种质间的遗传关系。
- 进化树构建:基于遗传距离构建系统发育树,揭示种质的亲缘关系。
2. 核心种质构建
- 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。
- 常用策略:基于遗传距离的逐步聚类采样、基于等位基因覆盖率的优化算法。
3. 指纹图谱构建
- 利用一组高度多态性的SSR或SNP标记,为每个品种建立独特的DNA指纹。
- 用于品种真实性鉴定、纯度检测和知识产权保护。
4. 优异等位基因发掘
- 通过GWAS或候选基因关联分析,在种质资源中挖掘与重要农艺性状相关的优异等位基因。
- 这些优异等位基因可作为分子标记辅助育种或转基因育种的靶点。

查看详情 →
💡

案例一:玉米基因组选择育种

concept

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测: 1. **训练群体**:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。 2. **模型建立**:使用rrBLUP或BayesB模型训练。 3. **预测应用**:对新合成的杂交组合(仅有基因型)预测配合力。 4. **效果**:GS可将育种周期从传统的5-6年缩短至2-3年,预...

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测:
1. 训练群体:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。
2. 模型建立:使用rrBLUP或BayesB模型训练。
3. 预测应用:对新合成的杂交组合(仅有基因型)预测配合力。
4. 效果:GS可将育种周期从传统的5-6年缩短至2-3年,预测准确性达到0.5-0.8(取决于性状和群体)。

# 使用rrBLUP包进行基因组选择
library(rrBLUP)
# 读取基因型矩阵(n×m,n个体,m标记)和表型
marker_data <- read.table("snps.txt", header=TRUE)
phenotype <- read.table("yield.txt", header=TRUE)
# 训练模型
model <- mixed.solve(y=phenotype$yield, Z=marker_data)
# 预测育种值
gebv <- marker_data %*% model$u
查看详情 →
💡

案例二:水稻分子标记辅助抗病育种

concept

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。 1. **标记开发**:开发与Xa21紧密连锁的PCR标记(如PTA248)。 2. **前景选择**:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。 3. **背景选择**:利用全基因组SNP标记,选择轮回亲本基因...

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。
1. 标记开发:开发与Xa21紧密连锁的PCR标记(如PTA248)。
2. 前景选择:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。
3. 背景选择:利用全基因组SNP标记,选择轮回亲本基因组恢复率最高的个体。
4. 结果:仅需2-3个回交世代即可获得基因组恢复率>95%的抗性近等基因系,而传统回交需要6-7代。

# Xa21前景选择PCR标记检测
# 引物序列:正向 5'-GCTCGATCGATAATGGAAGG-3'
#          反向 5'-TTGGTGATGGTTCGACGAGC-3'
PCR反应体系(20 μL):
- 2× PCR Mix: 10 μL
- 正向引物 (10 μM): 0.5 μL
- 反向引物 (10 μM): 0.5 μL
- DNA模板 (50 ng/μL): 1 μL
- ddH2O: 8 μL
PCR程序:
94°C 5min
[94°C 30s → 55°C 30s → 72°C 1min] × 35 cycles
72°C 7min
预期结果:携带Xa21的个体扩增出约500 bp的条带
查看详情 →
💡

案例三:小麦种质资源的遗传多样性分析

concept

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布: 1. **SNP基因型**:使用35K SNP芯片对约8,000份核心种质进行基因分型。 2. **群体结构**:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。 3. **多样性评估**:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基...

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布:
1. SNP基因型:使用35K SNP芯片对约8,000份核心种质进行基因分型。
2. 群体结构:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。
3. 多样性评估:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基因数(Ne)降低,表明育种过程中存在遗传瓶颈。
4. 核心种质构建:基于等位基因丰富度,从8,000份种质中选择约1,000份核心种质,保留了>95%的等位基因。
5. 优异等位基因发掘:GWAS分析在核心种质中鉴定了与产量、抗病性、品质相关的多个显著位点。

# 使用scikit-allel进行群体遗传分析
import allel
import numpy as np
# 读取VCF文件
callset = allel.read_vcf('wheat_samples.vcf.gz', 
                          fields=['calldata/GT', 'variants/POS', 'samples'])
gt = allel.GenotypeArray(callset['calldata/GT'])
# 计算等位基因频率
ac = gt.count_alleles()
# 计算多态性信息含量(PIC)
n = ac.sum(axis=1)
p = ac[:, 0] / n
q = ac[:, 1] / n
pic = 1 - (p**2 + q**2) - 2 * p**2 * q**2
查看详情 →
💡

12.4 其他应用

section
查看详情 →
💡

合成生物学中的生物信息学原理

concept

**1. 生物元件标准化与表征** 合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元: - **启动子(Promoter)**:控制基因表达的"开关" - **核糖体结合位点(RBS)**:调控翻译起始效率 - **编码序列(CDS)**:编码蛋白质的功能基因 - **终止子(Terminator)**:终止转录的信号 生物信息学通过建立元件库(如iGE...

1. 生物元件标准化与表征
合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元:
- 启动子(Promoter):控制基因表达的"开关"
- 核糖体结合位点(RBS):调控翻译起始效率
- 编码序列(CDS):编码蛋白质的功能基因
- 终止子(Terminator):终止转录的信号
生物信息学通过建立元件库(如iGEM Registry、SynBioHub)和标准化表征数据,使元件可以像电子元件一样被组合使用。
2. 基因线路设计
基因线路是由多个生物元件组成的遗传回路,实现逻辑运算(如AND门、OR门、NOT门):
- 布尔逻辑门:例如,双输入AND门需要两个诱导物同时存在才能激活报告基因表达。
- 振荡器:如repressilator,由三个抑制子基因组成的负反馈环,产生周期性基因表达振荡。
- 双稳态开关:两个相互抑制的基因,使系统可以稳定处于两种状态之一。
生物信息学工具(如Cello、Genetic Constructor)提供图形化界面设计基因线路,并自动转换为DNA序列。
3. 代谢工程与通路设计
代谢工程旨在改造细胞代谢网络,使其高效生产目标化合物:
- 通路搜索:利用KEGG、MetaCyc等数据库,搜索从天然底物到目标产物的已知或潜在代谢路径。
- 通量平衡分析(FBA):利用代谢网络的化学计量矩阵,在稳态假设下(Sv=0),通过线性规划优化目标产物产量。
- 酶选择与优化:在已知反应步骤中,从不同物种中筛选催化效率最高的酶,并通过蛋白质工程(定向进化、理性设计)优化酶性质。
4. DNA序列优化
- 密码子优化:根据宿主细胞的密码子使用偏好,调整外源基因的密码子组成,提高翻译效率。
- mRNA二级结构优化:避免在RBS区域形成发夹结构,保证翻译起始效率。
- 避免重复序列和限制性酶切位点:防止DNA重组和克隆困难。

查看详情 →
💡

生物多样性保护的生物信息学原理

concept

**1. DNA条形码鉴定** -DNA条形码的原理是:物种内遗传距离应远小于物种间距离。 - 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。 - 对于未知物种,构建系统发育树,推断其分类地位。 **2. eDNA Metabarcoding** -eDNA metabarcoding结合了环境采样和高通量测序: (1) 环境DNA提取:从水样、...

1. DNA条形码鉴定
-DNA条形码的原理是:物种内遗传距离应远小于物种间距离。
- 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。
- 对于未知物种,构建系统发育树,推断其分类地位。
2. eDNA Metabarcoding
-eDNA metabarcoding结合了环境采样和高通量测序:
(1) 环境DNA提取:从水样、土壤等环境基质中提取总DNA。
(2) 通用引物PCR:使用覆盖多个物种的通用引物扩增目标区域(如16S rRNA、COI、ITS)。
(3) 高通量测序:Illumina或Nanopore平台测序。
(4) 生物信息学分析:序列质控、去嵌合体、OTU/ASV聚类、物种注释(与参考数据库比对)、多样性分析。
3. 群体遗传学在保护中的应用
- 有效种群大小(Ne)估计:反映种群的遗传健康状况,Ne越小,遗传多样性丧失越快。
- 近亲繁殖评估:利用杂合度降低、ROH(连续纯合子片段)分析评估近亲繁殖程度。
- 迁徙与基因流分析:利用STRUCTURE、MIGRATE等工具分析种群间的基因交流。
- 适应性遗传变异检测:利用选择信号扫描(如FST离群值、环境关联分析)识别与环境适应相关的基因。
4. 保护基因组学(Conservation Genomics)
- 利用全基因组数据指导保护决策:
- 识别具有独特遗传适应性的种群,优先保护
- 评估近交衰退风险
- 指导遗传 rescue(引入外来基因恢复遗传多样性)
- 追踪非法野生动物贸易(通过DNA溯源)

查看详情 →
💡

案例一:酵母青蒿酸合成通路的设计

concept

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路: 1. **通路设计**:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。 2. **基因来源选择**:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。 3. **密码子优化**:将所有外源基因按照酵母密...

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路:
1. 通路设计:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。
2. 基因来源选择:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。
3. 密码子优化:将所有外源基因按照酵母密码子偏好进行优化。
4. 代谢流调控:通过FBA分析,鉴定限制产量的代谢瓶颈。过表达tHMG1增加FPP供应,下调ERG9减少FPP向麦角固醇分流。
5. 启动子强度平衡:利用不同强度的启动子组合,平衡通路中各酶的表达量,避免中间产物积累。
6. 结果:工程酵母的青蒿酸产量从初始的约100 mg/L提升到超过25 g/L,实现了工业化生产。

# 使用cobra进行通量平衡分析
import cobra
from cobra.io import read_sbml_model
# 读取酵母代谢模型
model = read_sbml_model('yeast-GEM.xml')
# 设置目标函数:最大化青蒿酸产量
model.objective = model.reactions.DM_artemisinic_acid
# 优化
solution = model.optimize()
print(f"最大理论产量: {solution.objective_value} mmol/gDW/h")
print(f"生长速率: {solution.fluxes['BIOMASS_Ec_iML1515_core_75p37M']}")
# 查找关键通量
for rxn in model.reactions:
    if abs(solution.fluxes[rxn.id]) > 1:
        print(f"{rxn.id}: {solution.fluxes[rxn.id]:.2f}")
查看详情 →
💡

案例二:eDNA监测入侵物种——亚洲鲤鱼

concept

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。 1. **eDNA采样**:在河流和湖泊的关键位置采集水样。 2. **引物设计**:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。 3. **qPCR检测**:检测水样中是否存在亚洲鲤鱼的DNA。 4. **结果**:eDNA检测可以在亚...

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。
1. eDNA采样:在河流和湖泊的关键位置采集水样。
2. 引物设计:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。
3. qPCR检测:检测水样中是否存在亚洲鲤鱼的DNA。
4. 结果:eDNA检测可以在亚洲鲤鱼实际到达前数月预警其入侵路径,比传统方法更灵敏。
5. ** metabarcoding扩展**:进一步利用12S rRNA通用引物进行eDNA metabarcoding,同时监测所有鱼类群落组成,评估入侵对本地群落的影响。

# eDNA metabarcoding分析流程(示例)
# 1. 原始数据质控
fastp -i sample_R1.fastq.gz -I sample_R2.fastq.gz \
      -o clean_R1.fastq.gz -O clean_R2.fastq.gz \
      -q 20 -u 30 -l 50
# 2. DADA2去重(R中运行)
# library(dada2)
# seqtab <- dada2::mergePairs(dadaF, derepF, dadaR, derepR)
# 3. OTU聚类和物种注释(使用VSEARCH)
vsearch --cluster_size clean.fasta --id 0.97 \
        --centroids otus.fasta --relabel OTU_
vsearch --usearch_global clean.fasta --db reference_db.fasta \
        --id 0.97 --otutabout otu_table.txt
# 4. 多样性分析(使用QIIME 2或R的vegan包)
查看详情 →
💡

案例三:大熊猫保护基因组学

concept

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据: 1. **全基因组测序**:对多个野生和圈养大熊猫种群进行全基因组重测序。 2. **遗传多样性评估**:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。 3. **近交分析**:检测到长片段ROH,证实近亲繁殖的存在。 4. **有害突变负荷**:发现大熊猫携带大量有害突变,但...

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据:
1. 全基因组测序:对多个野生和圈养大熊猫种群进行全基因组重测序。
2. 遗传多样性评估:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。
3. 近交分析:检测到长片段ROH,证实近亲繁殖的存在。
4. 有害突变负荷:发现大熊猫携带大量有害突变,但由于近亲繁殖,这些突变以纯合状态暴露,可能影响种群适应性和繁殖成功率。
5. 保护建议
- 优先保护遗传独特性高的种群(如秦岭亚种)
- 圈养繁殖计划应避免近亲交配
- 考虑栖息地连通性,促进野生种群间的基因交流

查看详情 →
💡

第13章 生物信息学实验基础

chapter
查看详情 →
💡

13.1 生物信息学实验概述

section
查看详情 →
💡

生物信息学分析的基本流程

concept

一个典型的生物信息学分析项目通常遵循以下流程: **第一阶段:项目规划** 1. 明确科学问题 2. 确定所需数据类型和来源 3. 选择合适的分析方法和工具 4. 评估计算资源需求 5. 制定数据管理计划 **第二阶段:数据获取与预处理** 1. **数据采集**:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据 2. **质量控制(QC)**:评估数据质量,识别并处理低质量...

一个典型的生物信息学分析项目通常遵循以下流程:
第一阶段:项目规划
1. 明确科学问题
2. 确定所需数据类型和来源
3. 选择合适的分析方法和工具
4. 评估计算资源需求
5. 制定数据管理计划
第二阶段:数据获取与预处理
1. 数据采集:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据
2. 质量控制(QC):评估数据质量,识别并处理低质量数据。对于测序数据,使用FastQC等工具检查碱基质量分布、GC含量、接头污染、重复序列等
3. 数据清洗:去除低质量序列、接头序列、PCR重复等
4. 格式转换:将数据转换为分析所需的标准格式
第三阶段:核心分析
根据研究问题选择相应的分析方法,例如:
- 序列比对:将测序reads定位到参考基因组
- 变异检测:识别SNP、Indel等遗传变异
- 表达量计算:定量基因或转录本的表达水平
- 功能注释:将分析结果与生物学功能关联
第四阶段:结果整合与解释
1. 多来源结果整合
2. 统计显著性评估和多重检验校正
3. 功能富集分析(GO、KEGG等)
4. 可视化展示
第五阶段:报告与共享
1. 撰写分析报告
2. 整理代码和文档
3. 数据和代码归档
4. 论文发表和结果共享

查看详情 →
💡

生物信息学中的数据格式

concept

掌握标准数据格式是进行生物信息学分析的基础: | 格式 | 用途 | 说明 | |------|------|------| | FASTA | 序列存储 | `>header`开头的文本格式,用于存储DNA、RNA、蛋白质序列 | | FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) | | SAM/BAM | 比对结果 | SAM为文本格式,...

掌握标准数据格式是进行生物信息学分析的基础:
| 格式 | 用途 | 说明 |
|------|------|------|
| FASTA | 序列存储 | >header开头的文本格式,用于存储DNA、RNA、蛋白质序列 |
| FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) |
| SAM/BAM | 比对结果 | SAM为文本格式,BAM为二进制压缩格式,存储reads比对信息 |
| VCF | 变异信息 | 存储SNP、Indel等变异的位置、基因型和质量信息 |
| GFF/GTF | 基因组注释 | 存储基因、外显子、CDS等特征的位置和属性信息 |
| BED | 基因组区间 | 简单的三列格式(chr, start, end),用于表示基因组区域 |
| GCT/TPM | 表达矩阵 | 存储基因表达量矩阵,行是基因,列是样本 |

查看详情 →
💡

可重复性研究的原则

concept

**FAIR原则**:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。 **可重复性的层次**: 1. **结果可重复(Repeatability)**:同一研究者使用相同数据和方法重复实验,获得相同结果 2. **可复现(Reproducibility)**:不同研究者使用相同数据和...

FAIR原则:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。
可重复性的层次
1. 结果可重复(Repeatability):同一研究者使用相同数据和方法重复实验,获得相同结果
2. 可复现(Reproducibility):不同研究者使用相同数据和方法,获得相同结果
3. 可再实现(Replicability):在不同数据集上应用相同方法,获得一致结论
实现可重复性的最佳实践
- 使用版本控制系统(Git)管理代码
- 记录软件名称和版本号
- 保存完整的分析参数
- 使用虚拟环境或容器隔离运行环境
- 编写清晰的文档和README文件
- 使用工作流管理系统自动化分析流程

查看详情 →
💡

示例:一个完整的RNA-seq分析项目

tool

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。 **项目结构**: ``` rnaseq_project/ ├── data/ │ ├── raw/ # 原始测序数据(FASTQ) │ ├── reference/ # 参考基因组和注释文件 │ └── processed/...

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。
项目结构

rnaseq_project/
├── data/
│   ├── raw/              # 原始测序数据(FASTQ)
│   ├── reference/        # 参考基因组和注释文件
│   └── processed/        # 处理后的数据
├── scripts/              # 分析脚本
│   ├── 01_qc.sh
│   ├── 02_alignment.sh
│   ├── 03_quantification.sh
│   └── 04_de_analysis.R
├── results/              # 分析结果
│   ├── qc_reports/
│   ├── bam_files/
│   ├── counts/
│   └── de_results/
├── envs/                 # 环境配置文件
│   └── rnaseq_env.yml
├── README.md             # 项目说明文档
└── Snakefile             # Snakemake工作流文件

分析流程概览

# 第一步:质量控制
fastqc data/raw/*.fastq.gz -o results/qc_reports/
multiqc results/qc_reports/ -o results/qc_reports/summary/
# 第二步:序列比对
hisat2 -p 8 -x reference/genome -1 sample_R1.fq.gz -2 sample_R2.fq.gz | \
    samtools sort -@ 4 -o results/bam_files/sample.bam
# 第三步:表达量定量
featureCounts -T 8 -a reference/genes.gtf -o results/counts/counts.txt \
    results/bam_files/*.bam
# 第四步:差异表达分析(在R中完成)
# DESeq2分析
查看详情 →
💡

13.2 Linux系统及常用编程语言

section

13.2.1 Linux操作系统

查看详情 →
💡

13.3 Python编程基础

section
查看详情 →
💡

Python基本语法

tool

**变量和数据类型:** ```python # 数字 integer = 42 floating = 3.14159 # 字符串 dna = "ATGCGCTAGCTA" protein = 'MPLK' # 字符串操作 print(len(dna)) # 长度 print(dna[0:3]) # 切片(前3个碱基) print(dna.cou...

变量和数据类型:

# 数字
integer = 42
floating = 3.14159
# 字符串
dna = "ATGCGCTAGCTA"
protein = 'MPLK'
# 字符串操作
print(len(dna))              # 长度
print(dna[0:3])              # 切片(前3个碱基)
print(dna.count("GC"))       # 计数
print(dna.replace("T", "U"))  # 替换(DNA转RNA)
print(dna.find("ATG"))       # 查找子串位置
# 列表(有序可变)
sequences = ["ATCG", "GCTA", "TAGC"]
sequences.append("CGAT")     # 添加元素
print(sequences[0])          # 访问
print(len(sequences))        # 长度
# 字典(键值对)
gene_expr = {
    "GAPDH": 25.3,
    "ACTB": 18.7,
    "TP53": 3.2
}
print(gene_expr["GAPDH"])    # 访问
gene_expr["BRCA1"] = 7.5     # 添加
# 元组(有序不可变)
coordinates = (100, 200)

控制流:

# 条件语句
gc_content = 0.55
if gc_content > 0.6:
    print("High GC")
elif gc_content > 0.4:
    print("Moderate GC")
else:
    print("Low GC")
# for循环
for seq in sequences:
    gc = (seq.count("G") + seq.count("C")) / len(seq)
    print(f"{seq}: GC={gc:.2%}")
# while循环
i = 0
while i < len(sequences):
    print(sequences[i])
    i += 1
# 列表推导式(Pythonic写法)
gc_values = [(s.count("G") + s.count("C")) / len(s) for s in sequences]

函数:

def calculate_gc_content(sequence):
    """计算DNA序列的GC含量"""
    sequence = sequence.upper()
    gc_count = sequence.count("G") + sequence.count("C")
    return gc_count / len(sequence)
# 调用
gc = calculate_gc_content("ATGCGCTAGCTA")
print(f"GC content: {gc:.2%}")
# 默认参数
def reverse_complement(seq, rna=False):
    """计算反向互补序列"""
    complement = {"A": "T", "T": "A", "G": "C", "C": "G",
                  "a": "t", "t": "a", "g": "c", "c": "g"}
    if rna:
        complement["A"] = "U"
        complement["a"] = "u"
    rc = "".join(complement.get(base, base) for base in reversed(seq))
    return rc
print(reverse_complement("ATGC"))       # GCAT
print(reverse_complement("ATGC", rna=True))  # GCAU

文件操作:

# 读取文件
with open("sequences.fasta", "r") as f:
    content = f.read()           # 读取全部
    lines = f.readlines()        # 读取为列表
# 写入文件
with open("output.txt", "w") as f:
    f.write("Hello\n")
# 逐行读取(推荐大文件使用)
with open("data.txt", "r") as f:
    for line in f:
        line = line.strip()      # 去除末尾换行符
        if line.startswith(">"):
            print(f"Header: {line}")
查看详情 →
💡

Biopython详解

tool

**安装:** ```bash pip install biopython # 或 conda install -c conda-forge biopython ``` **序列处理(Seq对象):** ```python from Bio.Seq import Seq from Bio.SeqUtils import GC, molecular_weight # 创建序列对象 dna_seq =...

安装:

pip install biopython
# 或
conda install -c conda-forge biopython

序列处理(Seq对象):

from Bio.Seq import Seq
from Bio.SeqUtils import GC, molecular_weight
# 创建序列对象
dna_seq = Seq("ATGCGCTAGCTA")
# 序列属性
print(f"长度: {len(dna_seq)}")
print(f"GC含量: {GC(dna_seq):.1f}%")
print(f"分子量: {molecular_weight(dna_seq):.1f}")
# 序列操作
print(dna_seq.complement())        # 互补序列
print(dna_seq.reverse_complement()) # 反向互补
print(dna_seq.transcribe())        # DNA转RNA
print(dna_seq.translate())         # 翻译为蛋白质
# 转录和翻译
mrna = dna_seq.transcribe()
protein = mrna.translate()
print(f"Protein: {protein}")

解析FASTA/FASTQ文件:

from Bio import SeqIO
# 解析FASTA文件
for record in SeqIO.parse("sequences.fasta", "fasta"):
    print(f"ID: {record.id}")
    print(f"Description: {record.description}")
    print(f"Length: {len(record.seq)}")
    print(f"Sequence: {record.seq[:50]}...")
    print()
# 解析FASTQ文件(测序数据)
for record in SeqIO.parse("reads.fastq", "fastq"):
    print(f"ID: {record.id}")
    print(f"Sequence: {record.seq}")
    print(f"Quality: {record.letter_annotations['phred_quality'][:10]}")
# 将记录写入文件
records = []
for record in SeqIO.parse("input.fasta", "fasta"):
    if len(record.seq) > 100:  # 只保留长序列
        records.append(record)
SeqIO.write(records, "filtered.fasta", "fasta")
# 转换格式(FASTQ to FASTA)
SeqIO.convert("reads.fastq", "fastq", "reads.fasta", "fasta")

访问NCBI数据库:

from Bio import Entrez, SeqIO
# 设置邮箱(NCBI要求)
Entrez.email = "your.email@example.com"
# 搜索PubMed
handle = Entrez.esearch(db="pubmed", term="CRISPR[Title] AND 2023[PDAT]", retmax=10)
record = Entrez.read(handle)
print(f"Found {record['Count']} articles")
print(f"IDs: {record['IdList']}")
# 获取序列
handle = Entrez.efetch(db="nucleotide", id="NM_001301717", rettype="fasta", retmode="text")
record = SeqIO.read(handle, "fasta")
print(f"Sequence: {record.seq[:100]}...")

序列比对:

from Bio import pairwise2
from Bio.pairwise2 import format_alignment
# 全局比对(Needleman-Wunsch)
alignments = pairwise2.align.globalxx("ATCG", "ATG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 局部比对(Smith-Waterman)
alignments = pairwise2.align.localxx("ATCGGCTA", "CGG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 带参数的比对(匹配+1,错配-1,空位开启-2,空位延伸-1)
alignments = pairwise2.align.globalms("ATCG", "ATG", 1, -1, -2, -1)

BLAST解析:

from Bio.Blast import NCBIXML
# 解析BLAST XML结果
with open("blast_result.xml") as result_handle:
    blast_record = NCBIXML.read(result_handle)
    for alignment in blast_record.alignments:
        print(f"Hit: {alignment.title}")
        for hsp in alignment.hsps:
            print(f"  E-value: {hsp.expect}")
            print(f"  Identity: {hsp.identities}/{hsp.align_length}")
            print(f"  Query: {hsp.query[:50]}...")
            print(f"  Match: {hsp.match[:50]}...")
            print(f"  Sbjct: {hsp.sbjct[:50]}...")
查看详情 →
💡

13.4 R语言基础

section
查看详情 →
💡

R语言基本语法

tool

**变量和数据类型:** ```r # 赋值(推荐使用 <-) x <- 42 y <- 3.14 name <- "GeneA" is_active <- TRUE # 向量(最基本的数据结构) expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1) genes <- c("BRCA1", "TP53", "EGFR", "MYC") # 向量操作 lengt...

变量和数据类型:

# 赋值(推荐使用 <-)
x <- 42
y <- 3.14
name <- "GeneA"
is_active <- TRUE
# 向量(最基本的数据结构)
expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1)
genes <- c("BRCA1", "TP53", "EGFR", "MYC")
# 向量操作
length(expr_values)
mean(expr_values)
sd(expr_values)
summary(expr_values)
# 数据框(类似Excel表格)
df <- data.frame(
    gene = c("BRCA1", "TP53", "EGFR", "MYC"),
    expression = c(25.3, 18.7, 12.4, 8.9),
    group = c("treatment", "treatment", "control", "control")
)
# 访问数据
df$gene                    # 提取列
df$expression
df[1, ]                    # 第一行
df[, "expression"]         # 按名列
df[df$group == "treatment", ]  # 条件筛选
# 列表(可包含不同类型)
my_list <- list(
    name = "sample1",
    counts = c(100, 200, 300),
    metadata = data.frame(key = c("A", "B"), val = c(1, 2))
)
my_list$name
my_list[["counts"]]

控制流:

# 条件语句
x <- 15
if (x > 10) {
    print("x is greater than 10")
} else if (x > 5) {
    print("x is between 5 and 10")
} else {
    print("x is 5 or less")
}
# ifelse向量化条件
scores <- c(85, 92, 78, 65, 88)
grades <- ifelse(scores >= 90, "A",
                 ifelse(scores >= 80, "B",
                        ifelse(scores >= 70, "C", "D")))
# for循环
for (gene in genes) {
    print(paste("Processing:", gene))
}
# apply族函数(向量化操作,避免显式循环)
# apply用于矩阵/数组
# lapply用于列表,返回列表
# sapply用于列表,返回向量/矩阵
# tapply用于分组计算
# 示例:对数据框的数值列计算均值
numeric_cols <- sapply(df, is.numeric)
lapply(df[, numeric_cols], mean)

函数:

# 定义函数
calculate_fold_change <- function(treatment, control) {
    """计算差异倍数(log2 fold change)"""
    fc <- treatment - control  # 假设已经是log2转换的值
    return(fc)
}
# 使用
fc <- calculate_fold_change(10.5, 8.2)
print(paste("Fold change:", round(fc, 2)))
# 默认参数
normalize <- function(values, method = "zscore") {
    if (method == "zscore") {
        return((values - mean(values)) / sd(values))
    } else if (method == "minmax") {
        return((values - min(values)) / (max(values) - min(values)))
    } else {
        stop("Unknown normalization method")
    }
}
查看详情 →
💡

ggplot2可视化

concept

```r library(ggplot2) # 创建示例数据 data <- data.frame( gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10), expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)), group = rep(c("...

library(ggplot2)
# 创建示例数据
data <- data.frame(
    gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10),
    expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)),
    group = rep(c("Control", "Treatment"), each = 5, times = 3)
)
# 散点图
p1 <- ggplot(data, aes(x = group, y = expression, color = group)) +
    geom_point(position = position_jitter(width = 0.2), size = 3) +
    geom_boxplot(alpha = 0.3, outlier.shape = NA) +
    facet_wrap(~gene) +
    labs(title = "Gene Expression Comparison",
         x = "Condition",
         y = "Expression Level") +
    theme_minimal()
print(p1)
# 热图(使用pheatmap包)
library(pheatmap)
expr_matrix <- matrix(rnorm(100), nrow = 10)
rownames(expr_matrix) <- paste0("Gene", 1:10)
colnames(expr_matrix) <- paste0("Sample", 1:10)
pheatmap(expr_matrix, 
         scale = "row",
         clustering_method = "ward.D2",
         color = colorRampPalette(c("navy", "white", "firebrick"))(50))
# 火山图(差异表达结果)
de_results <- data.frame(
    gene = paste0("Gene", 1:1000),
    log2FC = rnorm(1000, 0, 2),
    pvalue = runif(1000)
)
de_results$padj <- p.adjust(de_results$pvalue, method = "BH")
ggplot(de_results, aes(x = log2FC, y = -log10(padj))) +
    geom_point(aes(color = abs(log2FC) > 1 & padj < 0.05), alpha = 0.5) +
    scale_color_manual(values = c("grey", "red")) +
    geom_vline(xintercept = c(-1, 1), linetype = "dashed") +
    geom_hline(yintercept = -log10(0.05), linetype = "dashed") +
    labs(x = "log2 Fold Change", y = "-log10 adjusted p-value") +
    theme_bw()
查看详情 →
💡

Bioconductor核心包

tool

```r # 安装Bioconductor if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") # 安装Bioconductor包 BiocManager::install("DESeq2") BiocManager::install("edgeR") BiocManager::insta...

# 安装Bioconductor
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
# 安装Bioconductor包
BiocManager::install("DESeq2")
BiocManager::install("edgeR")
BiocManager::install("Biostrings")
# Biostrings:序列处理
library(Biostrings)
dna <- DNAString("ATGCGCTAGCTA")
complement(dna)
reverseComplement(dna)
translate(dna)
# 计算GC含量
letterFrequency(dna, "GC") / length(dna)
# 读取FASTA文件
fasta_file <- readDNAStringSet("sequences.fasta")
width(fasta_file)  # 序列长度
alphabetFrequency(fasta_file)  # 碱基频率
# DESeq2:差异表达分析(简要示例)
library(DESeq2)
# countData: 基因计数矩阵(行是基因,列是样本)
# colData: 样本信息
# dds <- DESeqDataSetFromMatrix(countData = counts, 
#                               colData = sample_info,
#                               design = ~ condition)
# dds <- DESeq(dds)
# results <- results(dds)
查看详情 →
💡

13.5 生物信息学分析流程搭建

section
查看详情 →
💡

Conda环境管理

tool

**核心概念:** - **环境(Environment)**:独立的软件安装空间,不同环境之间互不干扰 - **通道(Channel)**:软件包的来源仓库。Bioconda是生物信息学专用通道 - **环境文件(environment.yml)**:记录环境中所有软件及其版本的配置文件 **基本操作:** ```bash # 查看现有环境 conda env list # 创建新环境 cond...

核心概念:
- 环境(Environment):独立的软件安装空间,不同环境之间互不干扰
- 通道(Channel):软件包的来源仓库。Bioconda是生物信息学专用通道
- 环境文件(environment.yml):记录环境中所有软件及其版本的配置文件
基本操作:

# 查看现有环境
conda env list
# 创建新环境
conda create -n rnaseq python=3.10
# 激活环境
conda activate rnaseq
# 安装软件
conda install -c bioconda star
conda install -c bioconda samtools
conda install -c bioconda featurecounts
conda install -c bioconda fastqc
conda install -c bioconda multiqc
# 一次性安装多个包
conda install -c bioconda star samtools featurecounts fastqc multiqc
# 查看已安装的包
conda list
# 导出环境配置
conda env export > environment.yml
# 从配置文件创建环境
conda env create -f environment.yml
# 删除环境
conda remove -n rnaseq --all
# 退出当前环境
conda deactivate

示例environment.yml文件:

name: rnaseq
channels:
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - star=2.7.10b
  - samtools=1.16
  - featurecounts=2.0
  - fastqc=0.11.9
  - multiqc=1.14
  - trimmomatic=0.39
  - picard=2.27
  - r-base=4.2
  - bioconductor-deseq2=1.38
  - pip
  - pip:
    - salmon==1.9.0
查看详情 →
💡

Snakemake工作流

tool

**基本语法:** Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。 ```python # Snakefile # 定义样本列表 SAMPLES = ["sample1", "sample2", "sample3"] # 目标规则:定义最终需要生成的文件 rule all: input:...

基本语法:
Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。

# Snakefile
# 定义样本列表
SAMPLES = ["sample1", "sample2", "sample3"]
# 目标规则:定义最终需要生成的文件
rule all:
    input:
        "results/counts_matrix.txt",
        "results/multiqc_report.html"
# 质量控制规则
rule fastqc:
    input:
        "data/{sample}_R1.fastq.gz",
        "data/{sample}_R2.fastq.gz"
    output:
        html_r1="qc/{sample}_R1_fastqc.html",
        zip_r1="qc/{sample}_R1_fastqc.zip",
        html_r2="qc/{sample}_R2_fastqc.html",
        zip_r2="qc/{sample}_R2_fastqc.zip"
    params:
        outdir="qc"
    threads: 2
    shell:
        "fastqc -t {threads} -o {params.outdir} {input}"
# 序列比对规则
rule star_align:
    input:
        r1="data/{sample}_R1.fastq.gz",
        r2="data/{sample}_R2.fastq.gz",
        index="reference/STAR_index/Genome"
    output:
        bam="aligned/{sample}.sorted.bam",
        bai="aligned/{sample}.sorted.bam.bai"
    params:
        prefix="aligned/{sample}_",
        index_dir="reference/STAR_index"
    threads: 8
    shell:
        """
        STAR --runThreadN {threads} \
             --genomeDir {params.index_dir} \
             --readFilesIn {input.r1} {input.r2} \
             --readFilesCommand zcat \
             --outFileNamePrefix {params.prefix} \
             --outSAMtype BAM SortedByCoordinate
        mv {params.prefix}Aligned.sortedByCoord.out.bam {output.bam}
        samtools index {output.bam}
        """
# 表达量定量
rule featurecounts:
    input:
        bams=expand("aligned/{sample}.sorted.bam", sample=SAMPLES),
        gtf="reference/genes.gtf"
    output:
        counts="results/counts_matrix.txt"
    threads: 4
    shell:
        "featureCounts -T {threads} -a {input.gtf} -o {output.counts} {input.bams}"
# MultiQC汇总
rule multiqc:
    input:
        expand("qc/{sample}_{read}_fastqc.zip", sample=SAMPLES, read=["R1", "R2"])
    output:
        "results/multiqc_report.html"
    shell:
        "multiqc qc/ -o results/"

运行Snakemake:

# 预览(dry-run)
snakemake -n
# 本地运行(使用4个核)
snakemake --cores 4
# 强制重新运行
snakemake --cores 4 --forceall
# 只运行特定规则
snakemake --cores 4 featurecounts
# 使用Conda环境(自动为每个规则创建环境)
snakemake --cores 4 --use-conda
# 集群提交(SLURM)
snakemake --cluster "sbatch --time={resources.time} --mem={resources.mem} --cpus-per-task={threads}" \
          --jobs 10
查看详情 →
💡

Nextflow简介

tool

Nextflow采用数据流编程模型,更适合复杂的并行计算: ```groovy // main.nf params.reads = "data/*_{R1,R2}.fastq.gz" params.genome = "reference/genome.fa" params.gtf = "reference/genes.gtf" // 定义进程 process FASTQC { tag "$...

Nextflow采用数据流编程模型,更适合复杂的并行计算:

// main.nf
params.reads = "data/*_{R1,R2}.fastq.gz"
params.genome = "reference/genome.fa"
params.gtf = "reference/genes.gtf"
// 定义进程
process FASTQC {
    tag "$sample_id"
    input:
    tuple val(sample_id), path(reads)
    output:
    path "fastqc_*"
    script:
    """
    fastqc -t 2 -o . ${reads}
    """
}
process STAR_ALIGN {
    tag "$sample_id"
    cpus 8
    input:
    tuple val(sample_id), path(reads)
    path index
    output:
    tuple val(sample_id), path("*.sorted.bam")
    script:
    """
    STAR --runThreadN 8 \
         --genomeDir $index \
         --readFilesIn ${reads[0]} ${reads[1]} \
         --readFilesCommand zcat \
         --outSAMtype BAM SortedByCoordinate \
         --outFileNamePrefix ${sample_id}_
    mv ${sample_id}_Aligned.sortedByCoord.out.bam ${sample_id}.sorted.bam
    """
}
// 工作流
workflow {
    Channel
        .fromFilePairs(params.reads, checkIfExists: true)
        .set { read_pairs }
    FASTQC(read_pairs)
    STAR_ALIGN(read_pairs, params.genome)
}
查看详情 →
💡

13.6 常用软件工具实操

section
查看详情 →
💡

FastQC原理

algorithm

FastQC从多个维度评估测序数据质量: - **基本统计**:总reads数、序列长度、GC含量 - **每个碱基的质量**:箱线图展示read各位置的质量分布 - **每个序列的质量**:所有reads平均质量的分布 - **每个碱基的序列含量**:各位置A/T/G/C的比例(应接近一致) - **GC含量**:样本GC分布与理论正态分布的比较 - **接头序列**:检测已知接头序列的污染 -...

FastQC从多个维度评估测序数据质量:
- 基本统计:总reads数、序列长度、GC含量
- 每个碱基的质量:箱线图展示read各位置的质量分布
- 每个序列的质量:所有reads平均质量的分布
- 每个碱基的序列含量:各位置A/T/G/C的比例(应接近一致)
- GC含量:样本GC分布与理论正态分布的比较
- 接头序列:检测已知接头序列的污染
- 序列重复:评估PCR重复和过度表达的序列

查看详情 →
💡

BWA-MEM比对原理

algorithm

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法: 1. **索引构建**:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。 2. **种子搜索**:在参考基因组中查找read的精确匹配子串(maximal exact matches)。 3. **链...

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法:
1. 索引构建:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。
2. 种子搜索:在参考基因组中查找read的精确匹配子串(maximal exact matches)。
3. 链式扩展:将种子连接起来,构建可能的比对位置。
4. 局部比对:使用Smith-Waterman算法对候选位置进行精细比对,处理gap(插入缺失)。
5. 比对质量计算:根据最佳和次佳比对的得分差异,计算MAPQ(mapping quality)。

查看详情 →
💡

SAM/BAM格式详解

concept

SAM文件包含11个必需字段: | 列 | 字段名 | 说明 | |----|--------|------| | 1 | QNAME | Read名称 | | 2 | FLAG | 比对标志(位掩码) | | 3 | RNAME | 参考序列名称 | | 4 | POS | 比对起始位置(1-based) | | 5 | MAPQ | 比对质量(Phred标度) | | 6 | CIGAR |...

SAM文件包含11个必需字段:
| 列 | 字段名 | 说明 |
|----|--------|------|
| 1 | QNAME | Read名称 |
| 2 | FLAG | 比对标志(位掩码) |
| 3 | RNAME | 参考序列名称 |
| 4 | POS | 比对起始位置(1-based) |
| 5 | MAPQ | 比对质量(Phred标度) |
| 6 | CIGAR | 比对运算字符串 |
| 7 | RNEXT | 配对read的参考序列 |
| 8 | PNEXT | 配对read的位置 |
| 9 | TLEN | 模板长度 |
| 10 | SEQ | 序列 |
| 11 | QUAL | 质量值 |
FLAG字段解读(关键值):
| FLAG | 含义 |
|------|------|
| 1 | Read有配对 |
| 2 | Read在配对中正确比对 |
| 4 | Read未比对 |
| 8 | 配对read未比对 |
| 16 | Read比对到反向互补链 |
| 64 | 是第一个read |
| 128 | 是第二个read |
| 256 | 非主要比对 |
| 512 | 未通过QC |
| 1024 | PCR重复或光学重复 |

查看详情 →
💡

GATK变异检测流程

algorithm

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括: 1. **标记重复(MarkDuplicates)**:识别PCR重复reads,只保留一个拷贝用于变异检测。 2. **碱基质量校正(Base Quality Score Recalibration, BQSR)**:系统性的测序误差会导致碱基质量值不准确。B...

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括:
1. 标记重复(MarkDuplicates):识别PCR重复reads,只保留一个拷贝用于变异检测。
2. 碱基质量校正(Base Quality Score Recalibration, BQSR):系统性的测序误差会导致碱基质量值不准确。BQSR通过比较观察到的错配率和期望的错配率,构建校正模型,输出更准确的碱基质量值。
3. 变异检测(HaplotypeCaller):GATK的核心变异检测引擎:
- 在感兴趣区域进行局部de novo组装
- 识别潜在的单倍型
- 使用PairHMM算法将reads与单倍型比对
- 输出基因型似然值和变异质量
4. 变异质量校正(Variant Quality Score Recalibration, VQSR):利用已知变异位点(如dbSNP、HapMap)训练高斯混合模型,区分真实的变异和假阳性。

查看详情 →
💡

FastQC + Trimmomatic质控示例

algorithm

```bash # === 第一步:FastQC质控 === mkdir -p qc_results # 对单个样本运行FastQC fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz # 批量处理 for r1 in raw/*_R1.fastq.gz; do r2="${r1/_R1/_R2}" fas...

# === 第一步:FastQC质控 ===
mkdir -p qc_results
# 对单个样本运行FastQC
fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz
# 批量处理
for r1 in raw/*_R1.fastq.gz; do
    r2="${r1/_R1/_R2}"
    fastqc -t 4 -o qc_results "$r1" "$r2"
done
# MultiQC汇总所有质控报告
multiqc qc_results/ -o qc_results/summary/
# === 第二步:Trimmomatic质量修剪 ===
# 假设FastQC显示:
# 1. 3'端质量下降(需要SLIDINGWINDOW修剪)
# 2. 存在adapter污染(需要ILLUMINACLIP)
mkdir -p trimmed
# PE模式(双端)
trimmomatic PE -threads 8 \
    raw/sample_R1.fastq.gz raw/sample_R2.fastq.gz \
    trimmed/sample_R1_paired.fq.gz trimmed/sample_R1_unpaired.fq.gz \
    trimmed/sample_R2_paired.fq.gz trimmed/sample_R2_unpaired.fq.gz \
    ILLUMINACLIP:adapters.fa:2:30:10 \
    LEADING:3 TRAILING:3 \
    SLIDINGWINDOW:4:15 \
    MINLEN:36
# 参数说明:
# ILLUMINACLIP:adapters.fa:2:30:10
#   adapters.fa = adapter序列文件
#   2 = seed匹配时允许的最大错配数
#   30 = palindrome模式下的阈值
#   10 = simple模式下的阈值
# LEADING:3 - 从read起始切除质量值<3的碱基
# TRAILING:3 - 从read末尾切除质量值<3的碱基
# SLIDINGWINDOW:4:15 - 4bp窗口平均质量<15时切除
# MINLEN:36 - 丢弃长度<36bp的read
查看详情 →
💡

BWA + SAMtools比对示例

algorithm

```bash # === 第一步:建立BWA索引 === bwa index reference.fa # 或使用samtools建立FASTA索引(用于IGV等工具) samtools faidx reference.fa # === 第二步:序列比对 === # BWA-MEM适合70bp-1Mbp的reads bwa mem -t 16 \ -R "@RG\tID:sample1\...

# === 第一步:建立BWA索引 ===
bwa index reference.fa
# 或使用samtools建立FASTA索引(用于IGV等工具)
samtools faidx reference.fa
# === 第二步:序列比对 ===
# BWA-MEM适合70bp-1Mbp的reads
bwa mem -t 16 \
    -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa \
    sample_R1_paired.fq.gz sample_R2_paired.fq.gz \
    > sample.sam
# -t 16: 使用16个线程
# -R: 添加read group信息(GATK必需)
# === 第三步:SAM转BAM、排序、索引 ===
# 方法1:管道一步完成
bwa mem -t 16 -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa sample_R1.fq.gz sample_R2.fq.gz | \
    samtools sort -@ 4 -o sample.sorted.bam -
samtools index sample.sorted.bam
# 方法2:分步处理
samtools view -bS sample.sam > sample.bam          # SAM转BAM
samtools sort sample.bam -o sample.sorted.bam      # 排序
samtools index sample.sorted.bam                    # 建立索引
rm sample.sam sample.bam                           # 删除中间文件
# === 第四步:比对质量统计 ===
samtools flagstat sample.sorted.bam > sample.flagstat
samtools idxstats sample.sorted.bam > sample.idxstats
# === 常用SAMtools命令 ===
# 查看BAM头部
samtools view -H sample.sorted.bam
# 查看特定区域的比对
samtools view sample.sorted.bam chr1:1000000-2000000 | head
# 提取特定FLAG的reads(例如:只提取properly paired reads)
samtools view -f 2 -b sample.sorted.bam > sample.proper_pair.bam
# 过滤掉未比对reads(FLAG 4)
samtools view -F 4 -b sample.sorted.bam > sample.mapped_only.bam
# BAM转FASTQ(用于重新比对)
samtools bam2fq sample.sorted.bam > sample.fastq
# 合并多个BAM
samtools merge merged.bam sample1.sorted.bam sample2.sorted.bam
查看详情 →
💡

GATK变异检测示例

algorithm

```bash # === GATK最佳实践流程 === # 1. 标记重复(MarkDuplicates) gatk MarkDuplicates \ -I sample.sorted.bam \ -O sample.dedup.bam \ -M sample.metrics.txt \ --REMOVE_DUPLICATES false # 标记但不删除,GA...

# === GATK最佳实践流程 ===
# 1. 标记重复(MarkDuplicates)
gatk MarkDuplicates \
    -I sample.sorted.bam \
    -O sample.dedup.bam \
    -M sample.metrics.txt \
    --REMOVE_DUPLICATES false  # 标记但不删除,GATK推荐
samtools index sample.dedup.bam
# 2. 碱基质量校正(BQSR)
# 需要已知变异位点(如dbSNP)作为训练集
gatk BaseRecalibrator \
    -I sample.dedup.bam \
    -R reference.fa \
    --known-sites dbsnp.vcf.gz \
    -O sample.recal.table
gatk ApplyBQSR \
    -R reference.fa \
    -I sample.dedup.bam \
    --bqsr-recal-file sample.recal.table \
    -O sample.recal.bam
# 3. 变异检测(HaplotypeCaller)
gatk HaplotypeCaller \
    -R reference.fa \
    -I sample.recal.bam \
    -O sample.g.vcf.gz \
    -ERC GVCF  # 输出gVCF格式(适合多样本联合分析)
# 4. 多样本联合基因型(如果有多个样本)
# GenomicsDBImport导入gVCF
gatk GenomicsDBImport \
    -V sample1.g.vcf.gz \
    -V sample2.g.vcf.gz \
    -V sample3.g.vcf.gz \
    --genomicsdb-workspace-path cohort_db \
    -L intervals.list
# GenotypeGVCFs输出最终VCF
gatk GenotypeGVCFs \
    -R reference.fa \
    -V gendb://cohort_db \
    -O cohort.vcf.gz
# 5. 变异质控(VQSR,可选)
gatk VariantRecalibrator \
    -R reference.fa \
    -V cohort.vcf.gz \
    --resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap.vcf.gz \
    --resource:omni,known=false,training=true,truth=false,prior=12.0 omni.vcf.gz \
    -an QD -an MQ -an MQRankSum -an ReadPosRankSum \
    -mode SNP \
    -O cohort.recal \
    --tranches-file cohort.tranches
gatk ApplyVQSR \
    -R reference.fa \
    -V cohort.vcf.gz \
    --recal-file cohort.recal \
    --tranches-file cohort.tranches \
    --truth-sensitivity-filter-level 99.5 \
    -mode SNP \
    -O cohort.vqsr.vcf.gz
# 6. 硬过滤(如果VQSR不适用,如小样本)
gatk VariantFiltration \
    -R reference.fa \
    -V cohort.vcf.gz \
    -O cohort.filtered.vcf.gz \
    --filter-expression "QD < 2.0 || MQ < 40.0 || FS > 60.0 || SOR > 3.0" \
    --filter-name "basic_filters"
查看详情 →
💡

IGV可视化示例

tool

```bash # IGV是一个Java桌面应用程序,无需命令行操作 # 但它可以配合命令行工具准备输入文件 # 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览) igvtools count sample.sorted.bam sample.tdf reference.fa # 2. 生成BEDGRAPH覆盖度文件 bedtools genomecov -ibam sample.s...

# IGV是一个Java桌面应用程序,无需命令行操作
# 但它可以配合命令行工具准备输入文件
# 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览)
igvtools count sample.sorted.bam sample.tdf reference.fa
# 2. 生成BEDGRAPH覆盖度文件
bedtools genomecov -ibam sample.sorted.bam -bg > sample.coverage.bedgraph
# 3. 生成VCF索引(tabix)
bgzip cohort.vcf.gz
tabix -p vcf cohort.vcf.gz

IGV使用步骤:
1. 启动IGV(需要Java环境)
2. 加载参考基因组:Genomes → Load Genome from File → 选择reference.fa
3. 加载比对文件:File → Load from File → 选择sample.sorted.bam
4. 加载变异文件:File → Load from File → 选择cohort.vcf.gz
5. 导航到感兴趣的基因区域(如输入 TP53 或坐标 chr17:7,661,778-7,687,538
6. 观察reads的比对情况、覆盖深度和变异位点

查看详情 →

生物信息学的发展历史与趋势

💡

第1章 生物信息学概述 (第1章)

chapter
查看详情 →
💡

1.1 生物信息学的基本概念

section

1953 年,詹姆斯·沃森(James Watson)和弗朗西斯·克里克(Francis Crick)提出了 DNA 的双螺旋结构,随着对 DNA 结构的理解深入,科学家开始思考如何解读 DNA 序列中的遗传信息。20 世纪 70 年代,科学家们开展了一些初步的 DNA 序列测定工作。1990 年,正式启动了国际人类基因组计划项目,旨在解码人类基因组中的所有基因。经过长达 13 年的合作,人类基因组图谱于 2001 年分别在 Nature 和 Science 上发表,2003 年完成了人类基因组几乎全部基因序列的测定。这个里程碑性的成就对于理解人类遗传学、疾病机制以及生命的基本过程产生了深远的影响,也为生物信息学提供了兴盛的契机。
随着基因组计划的不断进展, DNA 测序技术得到了极大的改进, 从传统的 Sanger 测序发展到高通量测序技术。这些技术的发展不仅极大地加速了人类基因组计划的进展, 还使得大规模的基因组和转录组数据可以更加经济高效地获得。随着生物技术的不断完善, 现代生物学研究范围扩展到了更多维度, 涉及蛋白质、代谢物、表观遗传组等多个层面。单细胞组学和空间组学的研究更是丰富了我们对生物系统的理解。海量生物组学数据的产生速度呈指数级增长, 需要强大的计算机技术和算法进行处理。随着计算机硬件和软件技术的不断进步, 人们也能够更有效地处理复杂的生物数据。这样跨学科的合作加速了生物信息学的发展, 为解决生物学研究中的复杂问题提供了新的视角和方法。

1.1.1 生物信息学的基本含义

生物信息学(bioinformatics)一词的最初定义是由保利恩·霍赫韦格(Paulien Hogeweg)和本·赫斯珀(Ben Hesper)于20世纪70年代提出,指的是对生物系统中信息过程的研究。该定义将生物信息学视为与生物化学(生物系统中化学过程的研究)平行的领域。在此之前,玛格丽特·戴霍夫(Margaret Dayhoff)在20世纪60年代便率先认识到计算机在处理生物数据方面的巨大潜力,通过创建首个蛋白质序列数据库、构建蛋白质进化树以及提出点突变模型等开创性工作,为这一新兴学科的萌芽与发展奠定了重要基础。生物信息分析生物数据以产生有意义的信息这一概念涉及许多方面,如编写和运行使用图论、人工智能、软计算、数据挖掘、图像处理和计算机模拟算法的软件程序等,而这些算法又依赖于离散数学、控制论、系统论、信息论和统计学等理论基础。由此可见,生物信息学是一门跨学科的科学领域,将生物学、计算机科学、应用数学、信息学和统计学等多个学科知识融会贯通在一起。生物信息学一开始简单地被理解为“生物学+信息学”,但作为一门学科,它有自己的学科体系,而不是简单的叠加,更应该理解为“生物学+信息学+学科体系”。生物信息学旨在开发和应用计算机技术和算法来处理、分析、解释和存储生物学数据,从中获取生物学上的洞见和知识。
生物信息学的研究材料是各类生物学数据,研究工具是计算机,研究方法和技术包括对生物学数据的搜索、收集和筛选、处理(编辑、整理、管理和显示)及利用(计算、模拟)等。生物信息学涵盖了多方面的内容。首先,序列分析是生物信息学的一个核心领域,如对 DNA、RNA 和蛋白质序列的处理和分析。这包括了基因识别、蛋白质功能预测、序列比对等方面的内容。其次,生物信息学关注蛋白质、核酸等分子的结构。这对于理解它们的功能和相互作用至关重要,包括蛋白质结构预测、分子对接等方面。再次,生物信息学包含了对各类组学数据的分析。基因组学研究整个基因组的组成和功能,包括基因组测序、基因组注释、基因功能预测等;转录组学关注在不同条件下基因的表达情况,研究了解细胞的功能、调控机制以及疾病的发生机制;蛋白质组学研究细胞或生物体内所有蛋白质的组成和功能,并揭示细胞内各种蛋白质相互作用的网络。再者,生物信息学还关注生物系统的整体性质和相互作用,可以通过建立数据模型来模拟和预测生物过程。最后,生物信息学还包括数据库的构建和算法工具的开发。生物信息学数据库存储了大量的生物学数据,如基因序列、蛋白质结构、表达调控数据等,为科学家提供检索和分析的工具。生物信息学领域也开发了许多算法和工具,用于数据处理、模拟、预测等。这些工具对于生物学研究具有重要意义。总之,生物信息学通过整合多学科的知识,致力于通过处理和分析生物学数据、建立数据库与各类算法模型等方式,深入了解生命的分子机制、进化、疾病等,在现代生物学研究中扮演着重要的角色。

1.1.2 生物信息学的学科特点与发展

作为交叉学科,生物信息学既是一门自然科学(理学),也是一门工程技术(工学)。作为自然科学方面,生物信息学深入探索生命的分子机制、遗传信息的传递和表达等生物学基本问题。它使用计算机科学和数学工具来分析、解释和预测生物学数据,从而帮助科学家更好地理解生物系统的运作方式。生物信息学在基因组学、蛋白质组学、转录组学等领域的研究中,探索生物分子的结构、功能和相互作用等方面具有重要作用。作为工程技术方面,它开发了许多计算工具、算法和软件来处理和管理大规模的生物学数据。这些工具可以用于基因序列分析、蛋白质结构预测、基因表达模式分析等。这些技术的开发和应用在药物研发、医学诊断、农业改良等实际应用领域产生了重要的影响。总的来说,生物信息学在理论研究和实际应用中都起到了关键作用,同时也是生物学与计算机科学交叉的典范。这种综合性的性质使得生物信息学在推动科学研究进程、创新技术发展以及解决实际问题方面发挥了重要作用。
由于生物信息学的重要性,国内外一直非常重视生物信息学的发展。在国际上,美国、欧洲和日本共同组成了 GenBank/ENA/DDBJ 国际核酸序列数据库。其他一些西方国家在分享网络共享资源的同时,也分别建有自己的生物信息学机构、二级或更高级的具有各自特色的专业数据库以及自己的分析技术。我国高度重视生物信息学领域的创新发展,早在 1999 年,郝柏林等老一辈科学家倡议成立了国家级生物医学信息中心,致力于生物信息学研究、数据资源的构建和管理,以及相关技术的开发与应用。2019 年,国家生物信息中心正式批准成立,它的主要职责和任务包括:生物信息资源建设与管理、生物信息学研究、数据分析和挖掘、生物信息学培训与推广、国际合作与交流。国家生物信息中心在促进中国生物信息学领域的发展、推动科研成果转化以及提供生物信息学技术支持等方面发挥着重要作用。目前,在国内外具有广泛影响力和声誉。
生物信息学的发展极为迅速,迄今已取得诸多成果。就网络资源而言,国内外的生物信息学网络资源极为丰富,从代表国家级研究机构的大型网点到代表专业实验室的小型站点,都建立了众多生物信息学网站。大型机构的网站通常提供相关新闻、数据库服务以及软件在线服务;小型科研机构大多展示自己的研究成果,部分还提供自行设计算法的在线服务。各种专业研究机构和公司如雨后春笋般不断涌现,生物科技公司和制药工业内部的生物信息学部门的数量也日益增加。
如今,随着生物信息学的蓬勃发展,生命科学的基础研究与技术开发对生物信息学的科研与人才需求也迅猛增加,传统欧美发达国家也面临着供不应求、人才匮乏的局面。因此,对生物信息学人才的培养至关重要。我国越来越多的高等院校、科研单位开展了生物信息学教育和科研工作,许多大学已经建设生物信息学相关的专业与课程,推动我国生物信息学的快速发展。

查看详情 →
💡

1.2 生物信息学的发展历史与趋势

section
查看详情 →
💡

第一阶段:分子生物学发展时期(1953—1975年)

concept

这一时期是生物信息学的萌芽阶段,核心特征是**理论奠基**和**初步尝试**。 **关键里程碑:** - **1953年**:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。 - **1955年**:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子...

这一时期是生物信息学的萌芽阶段,核心特征是理论奠基初步尝试
关键里程碑:
- 1953年:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。
- 1955年:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子的序列可以被"读取"。
- 1965年:中国科学家成功人工合成牛胰岛素结晶,这是人类首次人工合成蛋白质。
- 1968年:玛格丽特·戴霍夫(Margaret Dayhoff)创建了首个蛋白质序列数据库(Atlas of Protein Sequence and Structure),并提出了PAM矩阵(点突变矩阵),为序列比较奠定了数学基础。她被誉为"生物信息学之母"。
- 1973年:伯格(Berg)发现第一个重组DNA,基因工程时代来临。
- 1975年:DNA测序工作正式开启,为后续大规模数据产生铺平道路。
这一时期的生物信息学活动主要是零星的、手工的。科学家们用纸质卡片记录序列,用简单的统计学方法分析数据。但正是这些早期工作,确立了"生物序列可以被计算分析"的核心理念。

查看详情 →
💡

第二阶段:基因组学时期(1976—2001年)

concept

这一时期是生物信息学的**成型阶段**,核心特征是**数据库建立**、**算法开发**和**基因组计划启动**。 **关键里程碑:** - **1977年**:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。 - **1981年**:中国实现酵母丙氨酸转移核糖核酸的人工合成。 - **1985年**:穆利斯(Mullis)创立PCR...

这一时期是生物信息学的成型阶段,核心特征是数据库建立算法开发基因组计划启动
关键里程碑:
- 1977年:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。
- 1981年:中国实现酵母丙氨酸转移核糖核酸的人工合成。
- 1985年:穆利斯(Mullis)创立PCR技术;生物信息学专业期刊CABIOS创刊。
- 1986年:日本核酸序列数据库DDBJ诞生;蛋白质数据库SWISS-PROT建立。
- 1988年:美国国家生物技术信息中心(NCBI)成立,成为生物信息学最重要的基础设施之一。
- 1990年:国际人类基因组计划(HGP)正式启动,预算30亿美元,计划15年完成。这是生物学领域的"登月计划"。
- 1991年:BLAST算法发表,成为生物信息学领域最广泛使用的序列比对工具。
- 1995年:流感嗜血杆菌全基因组序列发布,这是第一个被完全测序的自由生活生物。
- 1996年:酵母基因组完成测序,这是第一个真核生物基因组。
- 1997年:北京大学生物信息学中心(CBI)成立;大肠杆菌基因组完成测序。
- 1998年:克雷格·文特尔(Craig Venter)创立塞莱拉基因组公司,采用鸟枪法测序策略,与公共基因组计划形成竞争。
这一时期,生物信息学从一个边缘领域逐渐走向中心。人类基因组计划产生的海量数据,迫使科学家们开发自动化工具来处理和分析。BLAST、FASTA等序列搜索算法,Clustal多序列比对工具,Phylip进化分析软件等都在这一时期诞生。

查看详情 →
💡

第三阶段:后基因组时期(2002—2012年)

concept

这一时期是生物信息学的**快速发展阶段**,核心特征是**高通量数据**、**多组学整合**和**系统生物学兴起**。 **关键里程碑:** - **2001年**:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。 - **2002年**:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。 - **2003年**:人类基因组计划正式宣布完成;ENCODE计划启...

这一时期是生物信息学的快速发展阶段,核心特征是高通量数据多组学整合系统生物学兴起
关键里程碑:
- 2001年:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。
- 2002年:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。
- 2003年:人类基因组计划正式宣布完成;ENCODE计划启动,旨在识别人类基因组中的所有功能元件。
- 2005年:二代测序技术(NGS)出现,测序成本开始断崖式下降。
- 2006年:癌症基因组图谱计划(TCGA)启动,系统性地对多种癌症进行基因组分析。
- 2007年:世界首份"个人版"基因图谱完成,个体化基因组时代来临;人体微生物组计划(HMP)启动。
- 2009年:汤富酬发表单细胞转录组测序技术,开启了单细胞组学时代。
- 2010年:外显子测序技术成熟,三代测序技术出现。
- 2012年:CRISPR/Cas基因编辑系统的应用发表;英国启动十万人基因组计划。
这一时期,二代测序技术(Illumina平台为代表)的普及使得数据产量呈指数级增长。一个实验室一天就能产生相当于整个人类基因组计划的数据量。生物信息学从"辅助基因组计划"变成了所有生命科学研究都离不开的核心工具。

查看详情 →
💡

第四阶段:大数据与人工智能时期(2013年至今)

concept

这一时期是生物信息学的**智能化阶段**,核心特征是**深度学习应用**、**多模态数据整合**和**精准医学实践**。 **关键里程碑:** - **2013年**:人类脑计划启动。 - **2015年**:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。 - **2016年**:深圳国家基因库CNGB正式运营;空间转录组学技术发展。 - **2017年**:"中国十万人基因组计划"启动...

这一时期是生物信息学的智能化阶段,核心特征是深度学习应用多模态数据整合精准医学实践
关键里程碑:
- 2013年:人类脑计划启动。
- 2015年:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。
- 2016年:深圳国家基因库CNGB正式运营;空间转录组学技术发展。
- 2017年:"中国十万人基因组计划"启动;人类细胞图谱计划启动。
- 2018年:单细胞水平细胞谱系追踪技术出现;小麦基因组图谱历经13年绘制完成。
- 2019年:国家基因组科学数据中心(NGDC)成立。
- 2020年:AlphaFold2在蛋白质结构预测大赛CASP14中获得历史性突破,解决了困扰生物学界50年的蛋白质折叠问题。
- 2021年:AlphaFold2成功预测98.5%的人类蛋白质结构。
- 2022年:ChatGPT发布,大语言模型开始影响科学研究方式;人类基因组计划最后8%的空缺(端粒等复杂区域)被填补。
- 2024年:AlphaFold2获得诺贝尔化学奖,这是生物信息学领域首次获得诺贝尔奖,标志着该学科得到国际最高学术认可;AlphaFold3发布,能够预测蛋白质-DNA、蛋白质-RNA复合物结构。
这一时期,人工智能特别是深度学习与生物信息学的融合成为最显著的特征。AlphaFold系列的成功证明,AI不仅可以加速数据分析,还能解决传统计算方法难以攻克的生物学难题。


查看详情 →
💡

1.3 生物信息学的研究领域

section
查看详情 →
💡

1.3.1 生物学研究领域

concept

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

查看详情 →
💡

生物化学与分子生物学

concept

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。 **核心应用包括:** - **基因识别与注释**:通过计算算法从基因组序列中识别基因的位置、结构和功能 - **蛋白质功能预测**:基于序列相似性推断未知蛋白质的功能 - **序列 motif 发现**:识别DNA...

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。
核心应用包括:
- 基因识别与注释:通过计算算法从基因组序列中识别基因的位置、结构和功能
- 蛋白质功能预测:基于序列相似性推断未知蛋白质的功能
- 序列 motif 发现:识别DNA或蛋白质序列中的保守模式(如转录因子结合位点)
- 分子进化分析:重建基因和蛋白质家族的进化历史
由于生物功能的主要体现者是蛋白质和其他各类生物分子,研究它们的生成过程、修饰加工、转运定位、结构变化、相互作用等活动,将推动对生物分子的功能、表达和调控的理解。生物信息学通过计算模拟,可以预测蛋白质的三维结构、分子间的相互作用界面,为实验设计提供指导。

查看详情 →
💡

细胞生物学

concept

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。 **生物信息学在细胞生物学中的应用:** - **单细胞组学分析**:利用单细胞测序技术,解析细胞异质性和发育轨迹 - **信号通路重构**:整合多组学数据,构建细胞内的信号传导网络 - **细胞间通信分析**:通过配体-受体分析推断细胞间的相互作用 - **空间转录组分析**:将基因表达信息映射到组织的...

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。
生物信息学在细胞生物学中的应用:
- 单细胞组学分析:利用单细胞测序技术,解析细胞异质性和发育轨迹
- 信号通路重构:整合多组学数据,构建细胞内的信号传导网络
- 细胞间通信分析:通过配体-受体分析推断细胞间的相互作用
- 空间转录组分析:将基因表达信息映射到组织的物理位置
生物信息学可以利用单细胞组学数据并整合基因组、表观组、转录组、蛋白质组等多组学数据,解析细胞内的信号通路传导与基因/蛋白质相互作用以及细胞间的信号通信,探索细胞、组织、器官、系统、生物体等不同尺度下生命活动的原理和调控方式。

查看详情 →
💡

遗传与发育生物学

concept

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。 **关键应用方向:** - **GWAS分析**:全基因组关联研究,识别人类复杂疾病的易感位点 - **表观遗传学分析**:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读 - **发育轨迹推断**:通过单细胞测序重建胚胎发育过程中的细胞分化路径 - **基因调控网络**:识别关键调控元件,理解基因组、表观基因组和环境...

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。
关键应用方向:
- GWAS分析:全基因组关联研究,识别人类复杂疾病的易感位点
- 表观遗传学分析:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读
- 发育轨迹推断:通过单细胞测序重建胚胎发育过程中的细胞分化路径
- 基因调控网络:识别关键调控元件,理解基因组、表观基因组和环境之间的动态相互作用
一个受精卵是如何从单细胞发育、分化为大量不同类型的细胞、组织和器官,最终构成一个完整的生命体,这一直是生物学领域中一个很大的谜团。通过结合多组学分析,我们得以揭开胚胎按照精确的时间顺序发展的秘密,预测和模拟胚胎发育的潜在模式。此外,我们还能分析环境因素如何影响胚胎发展,并探讨这些影响如何在遗传水平上被传递及其对后代可能产生的效应。

查看详情 →
💡

生理学

concept

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。 **生物信息学在生理学中的新兴应用:** - **3D器官重构**:基于成像数据构建器官的三维结构模型 - **动态功能模拟**:利用数学模型模拟生理过程(如心脏跳动、血流动力学) - **影像组学分析**:结合高分辨率影像测量技术,提取生物标志物 - **系统生理学建模**:整合多尺度数据,构...

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。
生物信息学在生理学中的新兴应用:
- 3D器官重构:基于成像数据构建器官的三维结构模型
- 动态功能模拟:利用数学模型模拟生理过程(如心脏跳动、血流动力学)
- 影像组学分析:结合高分辨率影像测量技术,提取生物标志物
- 系统生理学建模:整合多尺度数据,构建从分子到器官的系统模型
如今,单细胞测序、空间转录组等生物技术的发展,为生理学研究带来了细胞和分子层面的丰富信息。同时,高分辨率影像测量技术和控制与计算技术结合生物信息学、人工智能,能够对生物体进行计算机数学建模,帮助理解复杂的生理过程。

查看详情 →
💡

微生物学

concept

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。 **生物信息学在微生物学中的核心应用:** - **宏基因组分析**:直接从环境样品中提取全部DNA,分析微生物群落组成 - **16S/18S rRNA分析**:通过保守的核糖体RNA基因识别和分类微生物 - **微生物代谢网络**:重构微生物的代谢途径,预测代谢能力 - **病原...

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。
生物信息学在微生物学中的核心应用:
- 宏基因组分析:直接从环境样品中提取全部DNA,分析微生物群落组成
- 16S/18S rRNA分析:通过保守的核糖体RNA基因识别和分类微生物
- 微生物代谢网络:重构微生物的代谢途径,预测代谢能力
- 病原微生物基因组学:追踪病原体的变异和进化,预测耐药性和毒力
- 微生物组学(Microbiome):研究微生物群落与宿主健康的相互作用
现代微生物学中,生物信息学已经成为不可或缺的工具。测序、序列比对、系统发育分析、机器学习等技术以及宏基因组、微生物代谢组、16S/18S rRNA分析等生物信息分析方法,在环境微生物学、微生物生态学、病原生物学、微生物工程等不同分支中发挥着重要作用。

查看详情 →
💡

神经生物学

concept

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。 **生物信息学在神经生物学中的应用:** - **脑基因表达图谱**:利用先进计算工具分析数百万神经元及其群体的基因表达数据 - **神经影像分析**:处理和分析fMRI、EEG等神经影像数据 - **神经网络建模**:构建神经元和神经环路的计算模型 - **认知科学计算模型**:利用深度学习理解大脑信息处理机制 长期以来,借...

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。
生物信息学在神经生物学中的应用:
- 脑基因表达图谱:利用先进计算工具分析数百万神经元及其群体的基因表达数据
- 神经影像分析:处理和分析fMRI、EEG等神经影像数据
- 神经网络建模:构建神经元和神经环路的计算模型
- 认知科学计算模型:利用深度学习理解大脑信息处理机制
长期以来,借助神经解剖、神经生理、神经病理以及临床医学研究,已获取了海量有关脑结构与功能的数据。神经影像技术与生物信息学的融合,为研究大脑结构和功能提供了新途径。深度学习技术与生物信息学的结合,也为理解大脑信息处理机制以及认知科学和人工智能领域提供了崭新的理论框架。

查看详情 →
💡

其他重要领域

concept

**生态学(Ecology)**:利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。 **植物学(Phytology)**:植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。 **动物学(Zoology)**:动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。 **免疫学(Immunology)**:免疫组库测序(TCR/BCR-...

生态学(Ecology):利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。
植物学(Phytology):植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。
动物学(Zoology):动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。
免疫学(Immunology):免疫组库测序(TCR/BCR-seq);MHC-肽段结合预测;疫苗设计。
进化生物学(Evolutionary Biology):系统发育树构建;分子进化速率计算;适应性进化检测。

查看详情 →
💡

1.3.2 生物信息学研究内容

concept

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

查看详情 →
💡

序列分析

concept

序列分析是生物信息学最经典、最核心的内容。 **主要研究内容包括:** - **序列比对**:比较两条或多条序列的相似性,识别保守区域和变异位点 - **基因预测**:从基因组DNA序列中识别基因的位置和结构 - **序列搜索**:在大型数据库中搜索与查询序列相似的序列(如BLAST) - **Motif发现**:识别序列中的保守模式(如转录因子结合位点) - **序列拼接**:将短序列片段组装成...

序列分析是生物信息学最经典、最核心的内容。
主要研究内容包括:
- 序列比对:比较两条或多条序列的相似性,识别保守区域和变异位点
- 基因预测:从基因组DNA序列中识别基因的位置和结构
- 序列搜索:在大型数据库中搜索与查询序列相似的序列(如BLAST)
- Motif发现:识别序列中的保守模式(如转录因子结合位点)
- 序列拼接:将短序列片段组装成连续的基因组序列
序列分析的基础假设是"序列决定结构,结构决定功能"——相似的序列往往具有相似的功能。这一假设构成了生物信息学中"通过同源性推断功能"(homology-based function prediction)的基石。

查看详情 →
💡

结构分析

concept

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括: - **蛋白质结构预测**:从氨基酸序列预测三维结构(如AlphaFold) - **RNA结构预测**:预测RNA的二级和三级结构 - **分子对接**:预测小分子药物与蛋白质靶点的结合模式 - **分子动力学模拟**:模拟生物大分子的动态行为 - **结构比对**:比较不同蛋白质的结构相似性,识别结构域 蛋白质结构预测被生物信息...

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括:
- 蛋白质结构预测:从氨基酸序列预测三维结构(如AlphaFold)
- RNA结构预测:预测RNA的二级和三级结构
- 分子对接:预测小分子药物与蛋白质靶点的结合模式
- 分子动力学模拟:模拟生物大分子的动态行为
- 结构比对:比较不同蛋白质的结构相似性,识别结构域
蛋白质结构预测被生物信息学先驱Michael Levitt称为"生物信息学的圣杯",而2024年AlphaFold2的诺贝尔奖正是对这一领域里程碑式成就的肯定。

查看详情 →
💡

功能分析

concept

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。 **主要内容包括:** - **功能注释**:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等) - **表达分析**:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等) - **通路分析**:将基因列表映射到生物学通路,理解系统性功能变化 - **相互作用网络**:构建蛋白质-蛋白质相互作用(PPI)网...

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。
主要内容包括:
- 功能注释:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等)
- 表达分析:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等)
- 通路分析:将基因列表映射到生物学通路,理解系统性功能变化
- 相互作用网络:构建蛋白质-蛋白质相互作用(PPI)网络、基因调控网络
- 表型关联分析:将基因型与表型关联,理解遗传基础

查看详情 →
💡

数据资源与算法工具

concept

生物信息学的发展离不开数据资源和算法工具的积累。 **主要数据库:** - **核酸序列数据库**:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟 - **蛋白质数据库**:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构) - **基因组数据库**:Ensembl、UCSC Genome Browser、NCBI Genome - **通路数据...

生物信息学的发展离不开数据资源和算法工具的积累。
主要数据库:
- 核酸序列数据库:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟
- 蛋白质数据库:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构)
- 基因组数据库:Ensembl、UCSC Genome Browser、NCBI Genome
- 通路数据库:KEGG、Reactome、WikiPathways
- 疾病数据库:OMIM、ClinVar、GWAS Catalog
- 单细胞数据库:Cell Atlas、Single Cell Portal
算法工具开发:
- 生物信息学领域已发展了数以万计的软件工具
- 工具开发遵循"开源、共享"的文化传统
- 生物信息学社区通过BioConductor(R)、Biopython(Python)、Galaxy(Web平台)等项目推动工具的标准化和可重复性


查看详情 →
💡

1.4 生物信息学的算法基础

section
查看详情 →
💡

1.4.1 降维算法

concept

**为什么需要降维?** 生物数据通常具有"高维"特征。例如: - 一个RNA-Seq实验可能测量2万多个基因的表达 - 一个基因组变异研究可能检测数百万个SNP位点 - 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达 维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。 **主成分分析(PCA)**: - **原理**:寻找数据...

为什么需要降维?
生物数据通常具有"高维"特征。例如:
- 一个RNA-Seq实验可能测量2万多个基因的表达
- 一个基因组变异研究可能检测数百万个SNP位点
- 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达
维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。
主成分分析(PCA)
- 原理:寻找数据中方差最大的方向,将数据投影到这些方向上
- 类比:想象一个三维的云朵,PCA找到云朵"最长"和"次长"的两个方向,将其投影到二维平面上
- 生物应用:基因表达数据可视化、群体遗传结构分析(如PCA用于推断人群祖先成分)、批次效应校正
- 优点:无监督、计算高效、结果可解释
- 局限:只能捕获线性关系
t-SNE(t-分布随机邻域嵌入)
- 原理:在高维空间中"相近"的样本,在低维空间中也应该"相近";优化低维表示使得这种"邻近关系"尽可能保持
- 类比:把一张揉皱的地图展平,尽量保持邻近城市的相对位置
- 生物应用:单细胞RNA-Seq数据可视化(如Seurat包中的标准流程)、细胞类型识别、发育轨迹推断
- 优点:擅长揭示非线性结构、可视化效果好
- 局限:计算成本高、结果随机性强、全局结构保持不佳
UMAP(统一流形近似与投影)
- 原理:基于流形学习(manifold learning)和拓扑数据分析,保持数据的局部和全局结构
- 生物应用:单细胞数据降维、空间转录组数据可视化
- 优点:比t-SNE更快、能更好地保持全局结构、更稳定
- 局限:参数调优较复杂
选择建议:PCA适合初步探索和线性结构;t-SNE适合精细可视化;UMAP是二者的折中,是目前单细胞分析的首选。

查看详情 →
💡

1.4.2 聚类算法

concept

**为什么需要聚类?** 聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。 **K-Means聚类**: - **原理**:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点 - **类比**:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直...

为什么需要聚类?
聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。
K-Means聚类
- 原理:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点
- 类比:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直到稳定
- 生物应用:基因表达模式聚类、患者分型、微生物群落分类
- 优点:简单、高效
- 局限:需要预先指定K值、对初始值敏感、假设簇是球形
层次聚类(Hierarchical Clustering)
- 原理:自底向上(凝聚)或自顶向下(分裂)地构建树状结构
- 类比:从每片叶子(单个样本)开始,不断合并"最相似"的两组,直到形成一棵树
- 生物应用:基因表达热图(heatmap)的标准聚类方法、进化树构建、样本关系分析
- 优点:不需要预先指定类别数、输出树状图(dendrogram)直观展示关系
- 局限:计算复杂度高、对噪声敏感
DBSCAN(基于密度的聚类)
- 原理:将"高密度区域"识别为簇,可以自动发现任意形状的簇
- 生物应用:发现细胞亚群、识别异常样本
- 优点:能发现任意形状的簇、自动识别噪声
- 局限:对密度不均匀的数据效果不佳
聚类在生物信息学中的经典应用
- 基因共表达网络:聚类表达模式相似的基因,推断功能模块
- 癌症分子分型:基于基因表达谱将癌症患者分为不同亚型,指导治疗
- 细胞类型鉴定:聚类单细胞数据,发现新的细胞类型

查看详情 →
💡

1.4.3 分类算法

concept

**为什么需要分类?** 分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。 **决策树(Decision Tree)**: - **原理**:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别 - **类比**:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可...

为什么需要分类?
分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。
决策树(Decision Tree)
- 原理:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别
- 类比:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可能是..."
- 生物应用:疾病诊断决策、基因功能分类、突变有害性预测(如SIFT、PolyPhen)
- 优点:可解释性强、不需要数据标准化
- 局限:容易过拟合、对数据变化敏感
支持向量机(SVM)
- 原理:在高维空间中寻找一个超平面,使不同类别的样本间隔最大化
- 类比:想象两类水果(苹果和橙子),SVM找到一条"最宽"的分界线,把两类水果分开
- 生物应用:蛋白质分类、疾病亚型识别、基因选择
- 优点:在高维空间表现好、泛化能力强
- 局限:大数据集训练慢、核函数选择困难
随机森林(Random Forest)
- 原理:构建多棵决策树,每棵树用随机抽样的样本和特征训练,最后投票决定分类
- 类比:让一个"专家委员会"(多棵树)投票决定,每个专家看问题的角度不同(随机特征),综合结果更稳健
- 生物应用:特征选择(识别重要基因)、疾病风险预测、蛋白质-蛋白质相互作用预测
- 优点:准确率高、能评估特征重要性、不易过拟合
- 局限:模型复杂、训练时间长
深度学习(Deep Learning)
- 原理:多层神经网络自动学习特征表示
- 生物应用:蛋白质结构预测(AlphaFold)、基因表达调控预测、药物分子生成、病理图像诊断
- 优点:表示能力强、自动特征提取
- 局限:需要大量训练数据、计算成本高、可解释性差("黑箱"问题)
分类算法选择建议
- 小样本、需要可解释性:决策树、SVM
- 大数据、追求准确率:随机森林、深度学习
- 生物信息学实际问题:往往需要尝试多种方法,交叉验证选择最优

查看详情 →
💡

1.4.4 回归算法

concept

**为什么需要回归?** 回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。 **线性回归(Linear Regression)**: - **原理**:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面) - **公式**:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ - **类比**:根据房屋面积、地段等特征,预测房价 - **生物应...

为什么需要回归?
回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。
线性回归(Linear Regression)
- 原理:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面)
- 公式:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ
- 类比:根据房屋面积、地段等特征,预测房价
- 生物应用:基因表达量预测、表型-基因型关联分析、药物剂量-效应关系
- 优点:简单、可解释、理论基础扎实
- 局限:只能捕获线性关系、对异常值敏感
逻辑回归(Logistic Regression)
- 原理:虽然名字里有"回归",但它用于分类——通过sigmoid函数将线性输出映射到0-1概率
- 公式:P(y=1|x) = 1 / (1 + e^-(β₀ + β₁x₁ + ...))
- 生物应用:疾病风险预测(如根据SNP预测患病概率)、临床诊断模型
- 优点:输出概率、可解释性强、计算高效
- 局限:只能处理线性可分问题
LASSO回归(Least Absolute Shrinkage and Selection Operator)
- 原理:在普通回归的基础上加入L1正则化,使部分系数变为0,实现特征选择
- 类比:像一位严格的编辑,不仅要文章写得准(拟合数据),还要尽量简洁(减少用词),把不重要的词直接删掉(系数变为0)
- 生物应用:高维基因数据的特征选择(从数万个基因中筛选出与疾病相关的关键基因)、构建稀疏预测模型
- 优点:自动特征选择、防止过拟合、模型可解释
- 局限:高度相关特征中只选一个
岭回归(Ridge Regression)
- 原理:L2正则化,使系数尽量小但不为0
- 与LASSO的区别:LASSO做"选择"(删去不重要特征),岭回归做"收缩"(让所有特征都参与但权重更小)
- 生物应用:共线性严重的基因数据(如通路中的基因)
弹性网络(Elastic Net)
- 原理:LASSO和岭回归的结合,同时具有L1和L2正则化
- 生物应用:高维基因数据,特别是特征数远大于样本数时(p >> n问题)

查看详情 →
💡

1.4.5 统计分析

concept

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。 **假设检验**: - **核心问题**:观察到的差异是"真实存在"还是"随机波动"? - **p值**:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著" - **生物应用**:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较 - **注意事项**:p值不是...

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。
假设检验
- 核心问题:观察到的差异是"真实存在"还是"随机波动"?
- p值:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著"
- 生物应用:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较
- 注意事项:p值不是"差异有多大",而是"证据有多强";需要结合效应量(effect size)解释结果
多重检验校正
- 问题:当同时进行数千次检验(如检测2万个基因的差异表达)时,即使零假设成立,也有约5%的检验会"偶然"显著(假阳性)
- Bonferroni校正:将阈值除以检验次数,非常严格但损失统计功效
- FDR(False Discovery Rate)校正:控制假阳性比例,如Benjamini-Hochberg方法
- 生物应用:全基因组关联研究(GWAS)、RNA-Seq差异表达分析
- 重要性:不进行多重检验校正,差异表达分析几乎总会"发现"大量假阳性基因
方差分析(ANOVA)
- 原理:比较三组或更多组之间的均值差异,分解变异来源
- 生物应用:多组实验比较(如三种药物处理下的基因表达差异)、批次效应评估
- 类型:单因素ANOVA(一个分组变量)、双因素ANOVA(两个分组变量,如处理+时间)
非参数检验
- 何时使用:数据不满足正态分布、样本量小、存在异常值
- 常用方法:Mann-Whitney U检验(两组比较)、Kruskal-Wallis检验(多组比较)、Wilcoxon符号秩检验(配对样本)
- 生物应用:基因表达数据(通常不服从正态分布)、微生物组数据(计数数据,偏态分布)
- 优点:不假设数据分布、稳健
- 局限:统计功效通常低于参数检验
生存分析(Survival Analysis)
- 核心:分析"事件发生时间"(如死亡、复发、转移)
- Kaplan-Meier曲线:直观展示不同组别的生存概率
- Cox比例风险模型:评估协变量对风险率的影响
- 生物应用:临床预后分析(根据基因表达预测患者生存时间)、药物临床试验
统计学习在生物信息学中的趋势
- 从"统计显著"到"生物学意义":不仅看p值,还关注效应量、临床意义
- 贝叶斯方法:结合先验知识(如通路信息、蛋白质相互作用)进行推断,在生物信息学中越来越重要
- 可重复性危机:生物信息学领域正加强统计方法的规范使用,提高结果可重复性


查看详情 →
💡

1.5 生物信息学的机遇与挑战

section
查看详情 →
💡

1.5.1 生物信息学的机遇

concept
查看详情 →
💡

人工智能与深度学习的深度融合

concept

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长: **蛋白质科学与结构生物学**: - AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱 - AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物 - 基于深度学习的蛋白质设计(如RFdiffusio...

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长:
蛋白质科学与结构生物学
- AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱
- AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物
- 基于深度学习的蛋白质设计(如RFdiffusion、ProteinMPNN)可以从头设计具有特定功能的蛋白质
- 蛋白质语言模型(如ESM-2、ProGen)学习蛋白质序列的"语法",预测突变效应和蛋白质功能
基因组学与变异解读
- 深度学习模型(如DeepVariant、Clair3)在变异检测精度上已超越传统方法
- 大规模语言模型(如Enformer、Basenji2)预测基因调控和染色质可及性
- 利用AI从DNA序列直接预测基因表达和表型
药物研发与分子设计
- 生成式AI(如扩散模型)可以设计全新的药物分子
- AI预测分子与靶点的结合亲和力,加速药物筛选
- 临床试验患者招募和结果预测
多组学整合
- 深度学习能够同时处理基因组、转录组、蛋白质组等多模态数据
- 图神经网络(GNN)用于建模生物分子网络(如蛋白质相互作用网络、代谢网络)
- 自监督学习利用未标注的海量生物数据预训练模型
AI for Science的范式转变
- 从"人工设计特征+传统机器学习"到"端到端深度学习"
- 从"单个任务优化"到"基础模型+微调"(如生物信息学基础模型)
- 大语言模型(LLM)辅助生物学知识发现(如GPT-4在文献挖掘和假设生成中的应用)

查看详情 →
💡

数据资源的指数级增长与开放共享

concept

**数据规模**: - 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍 - 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱 - 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据 **数据开放**: - FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化 - 数据...

数据规模
- 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍
- 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱
- 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据
数据开放
- FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化
- 数据共享平台(如GEO、ArrayExpress、Zenodo)使科学数据可重复利用
- 国际合作项目(如人类基因组计划、人类细胞图谱、地球微生物组计划)产生开放参考数据集
数据价值
- 数据驱动的发现(如从海量GWAS数据中发现新的疾病基因)
- 数据整合产生新知识(如整合多队列数据验证发现的可靠性)
- 历史数据再利用(如对20年前的微阵列数据重新分析,发现新的生物学见解)

查看详情 →
💡

精准医学与临床转化需求

concept

**精准医学**: - 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选) - 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型) - 罕见病诊断:全外显子/全基因组测序快速锁定致病基因 **临床生物信息学**: - 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测 - 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向...

精准医学
- 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选)
- 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型)
- 罕见病诊断:全外显子/全基因组测序快速锁定致病基因
临床生物信息学
- 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测
- 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向治疗)
- 感染病原快速鉴定:宏基因组测序(mNGS)从患者样本中直接检测病原体
公共卫生
- 病原体基因组监测(如COVID-19变异株追踪)
- 流行病学建模与预测
- 耐药性监测与预警

查看详情 →
💡

新兴技术的发展

concept

**单细胞与空间组学**: - 单细胞测序从"看见细胞群体"到"看见单个细胞" - 空间组学从"知道表达了什么"到"知道在哪里表达" - 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平 **三代测序**: - 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题 - 直接检测DNA/RNA修饰(如甲基化)无需化学转化 - 实时测序、便携设备...

单细胞与空间组学
- 单细胞测序从"看见细胞群体"到"看见单个细胞"
- 空间组学从"知道表达了什么"到"知道在哪里表达"
- 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平
三代测序
- 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题
- 直接检测DNA/RNA修饰(如甲基化)无需化学转化
- 实时测序、便携设备(如MinION)实现现场测序
基因编辑与合成生物学
- CRISPR-Cas9的广泛应用产生大量编辑数据,需要生物信息学分析编辑效率和脱靶效应
- 合成生物学设计新生物系统,需要生物信息学工具进行设计-构建-测试-学习(DBTL)循环
- 基因线路设计与优化

查看详情 →
💡

1.5.2 生物信息学的挑战

concept
查看详情 →
💡

数据挑战

concept

**数据质量与标准化**: - 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应) - 数据格式多样,缺乏统一标准,数据整合困难 - 元数据(metadata)记录不完整,影响数据的可理解性和可重复性 - 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果 **数据规模与计算资源**: - 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据 - 存储、...

数据质量与标准化
- 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应)
- 数据格式多样,缺乏统一标准,数据整合困难
- 元数据(metadata)记录不完整,影响数据的可理解性和可重复性
- 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果
数据规模与计算资源
- 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据
- 存储、传输、计算成本高昂,对基础设施提出巨大挑战
- 实时分析需求(如临床诊断)与计算复杂度的矛盾
数据隐私与伦理
- 基因组数据包含个人身份信息,隐私保护至关重要
- 跨国数据共享面临法律和政策障碍(如GDPR、数据主权)
- 基因歧视风险:保险公司、雇主可能利用基因信息歧视个体
- 数据安全:生物数据库成为网络攻击的潜在目标
数据复杂性
- 生物数据的高维性(特征数远超样本数)导致统计分析的困难
- 数据的异质性:不同来源、不同技术平台的数据难以直接比较
- 生物系统的复杂性:基因-环境相互作用、表观遗传修饰、微生物组影响等增加了数据解读的难度

查看详情 →
💡

算法挑战

concept

**可解释性(Interpretability)**: - 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难 - 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求) - 如何平衡模型性能与可解释性是一个核心挑战 **泛化能力(Generalization)**: - 生物数据存在严重的批次效应和技术平台差异 - 在一个数据集上训练的模型,往往无法直接应用于...

可解释性(Interpretability)
- 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难
- 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求)
- 如何平衡模型性能与可解释性是一个核心挑战
泛化能力(Generalization)
- 生物数据存在严重的批次效应和技术平台差异
- 在一个数据集上训练的模型,往往无法直接应用于另一个数据集
- 领域适应(Domain Adaptation)和迁移学习在生物信息学中至关重要
小样本问题
- 生物医学实验成本高,样本量通常有限(几十到几百)
- 特征维度高(数万到数百万),样本量小,导致"维度灾难"
- 如何在小样本条件下训练可靠的模型?
因果推断(Causality)
- 大多数生物信息学分析只能发现相关性,而非因果关系
- 从"基因X与疾病Y相关"到"基因X导致疾病Y"需要严格的因果推断
- 孟德尔随机化(Mendelian Randomization)等方法正在被广泛采用,但仍有局限
多组学整合
- 如何有效整合基因组、转录组、蛋白质组、代谢组等不同层次的数据?
- 不同组学数据具有不同的尺度、分布和噪声特征
- 缺乏统一的多组学整合理论框架

查看详情 →
💡

人才与教育挑战

concept

**跨学科人才培养困难**: - 生物信息学需要生物学、计算机科学、统计学的交叉知识 - 传统教育体系培养的学生往往只精通一个领域 - 既懂生物学问题又懂计算方法的复合型人才严重短缺 **技术迭代快速**: - 生物信息学工具和技术更新极快,学习者需要持续学习 - 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂 - 教育体系难以跟上技术发展的步伐 **计算与实验的脱节**: - 计算生物学家...

跨学科人才培养困难
- 生物信息学需要生物学、计算机科学、统计学的交叉知识
- 传统教育体系培养的学生往往只精通一个领域
- 既懂生物学问题又懂计算方法的复合型人才严重短缺
技术迭代快速
- 生物信息学工具和技术更新极快,学习者需要持续学习
- 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂
- 教育体系难以跟上技术发展的步伐
计算与实验的脱节
- 计算生物学家和实验生物学家之间往往存在沟通障碍
- 计算人员缺乏生物学直觉,实验人员缺乏计算思维
- 需要培养"双语人才"——既能与生物学家讨论科学问题,又能与计算机科学家讨论算法设计

查看详情 →
💡

应用转化挑战

concept

**从基础研究到临床应用的鸿沟**: - 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证 - 临床试验成本高、周期长,许多计算预测难以进入临床 - 监管政策滞后于技术发展(如AI医疗设备的审批流程) **结果可重复性**: - 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择 - 许多已发表的研究结果难以重复 - 需要建立标准化的分析流程(如Best Practices)和...

从基础研究到临床应用的鸿沟
- 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证
- 临床试验成本高、周期长,许多计算预测难以进入临床
- 监管政策滞后于技术发展(如AI医疗设备的审批流程)
结果可重复性
- 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择
- 许多已发表的研究结果难以重复
- 需要建立标准化的分析流程(如Best Practices)和可重复性研究环境(如Docker、Conda)
成本与效益的平衡
- 基因组测序成本虽已大幅下降,但全基因组分析、存储和解读的综合成本仍然较高
- 精准医学的效益需要长期验证,短期内难以体现
- 资源分配:在有限的医疗预算中,生物信息学驱动的精准医疗能否带来足够的健康收益?

查看详情 →
💡

1.5.3 结语

concept

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。 然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括: 1. **自动化与智能化**:从"手动编写...

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。
然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括:
1. 自动化与智能化:从"手动编写分析脚本"到"自动化分析流程"(如Snakemake、Nextflow),再到"智能分析助手"(LLM辅助分析)
2. 可解释AI:发展既能保持高性能又具有生物学可解释性的AI方法,让黑箱变透明
3. 标准化与可重复性:建立分析流程、数据格式、软件环境的行业标准,提高研究可重复性
4. 教育与培训:改革教育体系,培养更多跨学科人才;发展在线教育资源和虚拟实践平台
5. 临床整合:推动生物信息学从基础研究走向临床实践,建立从样本采集到报告解读的标准化流程
6. 伦理与法规:制定数据共享、隐私保护、AI应用的伦理准则和法规框架
7. 全球合作:加强国际合作,建立全球生物数据共享和标准化体系
生物信息学的未来,不仅是技术的未来,更是科学的未来。在这个数据驱动的时代,生物信息学将继续扮演连接生物学、计算机科学和医学的桥梁角色,推动人类对生命本质的理解,最终造福人类健康和社会福祉。


查看详情 →
💡

第10章 表型组学

chapter
查看详情 →
💡

10.1 表型组学概述

section
查看详情 →
💡

10.2 表型组学数据

section
查看详情 →
💡

10.3 表型组学的数据分析

section
查看详情 →
💡

10.4 表型组学的应用

section
查看详情 →
💡

10.5 总结与展望

section
查看详情 →
💡

第11章 系统生物学

chapter
查看详情 →
💡

11.1 系统生物学概述

section
查看详情 →
💡

11.2 生物网络类型及数据资源

section
查看详情 →
💡

11.3 生物分子网络及特征

section
查看详情 →
💡

第12章 生物信息学应用

chapter
查看详情 →
💡

12.1 精准医学

section
查看详情 →
💡

基因组医学的原理

concept

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析: 1. **变异检测**:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。 2. *...

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析:
1. 变异检测:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。
2. 变异注释:使用ANNOVAR、VEP(Variant Effect Predictor)等工具对检测到的变异进行功能注释,判断变异位于基因组的什么位置(编码区、非编码区、调控区)、是否改变氨基酸序列(同义突变、错义突变、无义突变、移码突变)等。
3. 致病性评估:结合人群频率数据库(如gnomAD)、致病性预测工具(如SIFT、PolyPhen-2、CADD)和临床数据库(如ClinVar、OMIM),评估变异的致病可能性。
4. 多组学整合:将基因组数据与转录组(RNA-seq)、蛋白质组、代谢组等数据整合,构建全面的分子图谱。

查看详情 →
💡

肿瘤基因组学的原理

concept

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括: 1. **肿瘤-正常配对分析**:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。 2. **突变特征分析**:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺...

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括:
1. 肿瘤-正常配对分析:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。
2. 突变特征分析:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺陷)会产生特定的突变模式,称为突变特征(mutational signatures)。通过分解突变谱,可以推断肿瘤的致突变因素。
3. 驱动突变识别:并非所有突变都对肿瘤发展有贡献。乘客突变(passenger mutations)是随机累积的,而驱动突变(driver mutations)则赋予细胞生长优势。生物信息学工具如OncodriveCLUST、MutSigCV通过统计方法识别显著的驱动突变。
4. 肿瘤异质性分析:肿瘤内部存在多个亚克隆,每个亚克隆具有不同的突变谱。通过PyClone、SciClone等工具可以重建肿瘤进化树,理解治疗耐药性的产生机制。

查看详情 →
💡

药物基因组学的原理

concept

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控: 1. **药物代谢酶**:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。 2. **药物转运体**:ABCB1(MDR1)、SLC...

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控:
1. 药物代谢酶:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。
2. 药物转运体:ABCB1(MDR1)、SLCO1B1等转运体基因的多态性影响药物的吸收和分布。
3. 药物靶点:VKORC1基因变异影响华法林的靶点敏感性,决定抗凝治疗剂量。
4. 剂量预测模型:基于患者的基因型和临床特征(年龄、体重、合并用药等),建立剂量预测算法,如华法林剂量预测模型整合VKORC1和CYP2C9基因型信息。

查看详情 →
💡

案例一:新生儿罕见病基因组诊断

concept

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。 分析流程: 1. WES测序(约2×10^7 reads...

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。
分析流程:
1. WES测序(约2×10^7 reads,150bp paired-end)
2. BWA-MEM比对到GRCh38参考基因组
3. GATK HaplotypeCaller检测变异
4. VEP注释变异效应
5. 过滤:保留罕见变异(gnomAD AF<0.01)、蛋白截断或错义变异
6. 候选基因筛选:聚焦代谢疾病相关基因 panel
7. Sanger测序验证突变

查看详情 →
💡

案例二:非小细胞肺癌的精准治疗

concept

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。 融合基因检测流程: 1. RNA-seq数据质控...

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。
融合基因检测流程:
1. RNA-seq数据质控(FastQC)
2. STAR比对(使用chimeric alignment模式)
3. STAR-Fusion或Arriba检测融合基因
4. 可视化验证(IGV查看融合断点)
5. 临床解读(OncoKB数据库查询靶向药物)

查看详情 →
💡

案例三:华法林个体化给药

concept

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C9*1/*3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C91/3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

查看详情 →
💡

12.2 智能药学

section
查看详情 →
💡

药物靶点发现的生物信息学策略

concept

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略: **1. 基因组学方法** - **全基因组关联分析(GWAS)**:通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。 - **表达数量性状位点(eQTL)分析**:将GWAS发现的疾病关联位点与...

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略:
1. 基因组学方法
- 全基因组关联分析(GWAS):通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。
- 表达数量性状位点(eQTL)分析:将GWAS发现的疾病关联位点与基因表达数据整合,推断因果基因。
2. 网络药理学方法
- 疾病模块识别:利用蛋白质相互作用网络(PPI),识别与疾病相关的功能模块。一个理想的药物靶点应位于疾病模块的中心位置(高介数中心性),干扰它可以最大程度地影响疾病进程。
- 网络邻近性分析:计算药物靶点与疾病基因在网络中的距离,预测药物重定位(drug repurposing)的可能性。
3. 多组学整合方法
- 整合基因组、转录组、蛋白质组和代谢组数据,构建多层次的疾病分子图谱,系统性地识别关键节点作为潜在靶点。
- 差异表达分析(如DESeq2、edgeR)识别疾病状态下显著上调或下调的基因。
4. 靶点可药性评估
- 并非所有与疾病相关的蛋白都是好的药物靶点。可药性(druggability)评估考虑:是否有适合小分子结合的口袋、靶点的组织特异性表达、靶向该靶点是否会产生严重毒副作用等。
- 工具如DrugMAP、canSAR数据库提供蛋白质可药性预测。

查看详情 →
💡

计算机辅助药物设计的原理

concept

**基于结构的药物设计(SBDD)** SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为: 1. **靶点结构准备**:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。 2. **活性位点识别**:使用Fpocket、SiteMap等工具预测结合口袋。 3. **虚拟筛选**:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口...

基于结构的药物设计(SBDD)
SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为:
1. 靶点结构准备:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。
2. 活性位点识别:使用Fpocket、SiteMap等工具预测结合口袋。
3. 虚拟筛选:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口袋,根据对接打分排序。
4. 先导化合物优化:基于对接结果和相互作用分析,进行结构修饰以提高活性、选择性和成药性。
基于配体的药物设计(LBDD)
当靶点结构未知时,可以利用已知活性配体的信息:
1. 药效团建模:提取活性分子共同的化学特征(氢键供体/受体、疏水中心、芳环中心)及其空间排布,建立药效团模型,用于数据库搜索。
2. 定量构效关系(QSAR):建立分子描述符与生物活性之间的统计模型,预测新化合物的活性。
3. 分子相似性搜索:基于"相似结构的分子具有相似活性"的原则,在化学空间中搜索与已知活性分子相似的化合物。

查看详情 →
💡

分子对接的原理

concept

分子对接模拟配体与受体的结合过程,包括两个核心问题: **1. 构象搜索(Pose Prediction)** - 在构象空间中搜索配体的最优结合姿态。 - 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。 - 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。 **2. 结合亲和力预测(Scoring...

分子对接模拟配体与受体的结合过程,包括两个核心问题:
1. 构象搜索(Pose Prediction)
- 在构象空间中搜索配体的最优结合姿态。
- 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。
- 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。
2. 结合亲和力预测(Scoring)
- 打分函数评估每个结合姿态的亲和力,用于排序。
- 打分函数类型:
- 力场打分:基于分子力学能量项(范德华力、静电相互作用)
- 经验打分:拟合实验数据得到的加权能量项
- 知识-based打分:基于蛋白质-配体复合物结构数据库的统计势能
- 机器学习打分:使用RF、SVM、CNN等算法学习结构-亲和力关系
常用分子对接软件包括AutoDock Vina、Glide、GOLD、rDock等。

查看详情 →
💡

AI药物设计的原理

concept

**1. 生成式分子设计** - **变分自编码器(VAE)**:学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。 - **生成对抗网络(GAN)**:生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。 - **强化学习(RL)**:将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。 - **扩散模型(Diff...

1. 生成式分子设计
- 变分自编码器(VAE):学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。
- 生成对抗网络(GAN):生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。
- 强化学习(RL):将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。
- 扩散模型(Diffusion Model):目前最先进的生成模型,通过逐步去噪生成高质量分子,在3D分子生成方面表现优异。
2. 分子性质预测
- 图神经网络(GNN):将分子表示为图(原子为节点,键为边),利用消息传递机制学习分子表征,预测生物活性、毒性、药代动力学性质(ADMET)。
- Transformer架构:如ChemBERTa、MolBERT,将SMILES字符串作为输入序列,利用自注意力机制学习化学语言模型。
3. 蛋白质结构预测
- AlphaFold2:利用注意力机制和多序列比对(MSA)实现接近实验精度的蛋白质结构预测,为SBDD提供了前所未有的结构基础。
- RoseTTAFold:另一种高精度蛋白质结构预测方法。

查看详情 →
💡

案例一:COVID-19靶点发现与药物重定位

concept

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点: 1. **基因组注释**:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。 2. **人类-病毒蛋白质相互作用**:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式...

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点:
1. 基因组注释:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。
2. 人类-病毒蛋白质相互作用:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式,预测关键宿主因子(如ACE2受体、TMPRSS2)。
3. 药物重定位:通过网络邻近性分析,筛选已上市药物中可能有效对抗SARS-CoV-2的候选药物。例如,基于病毒-宿主相互作用网络,预测氯喹和瑞德西韦(Remdesivir)可能有效(后续临床试验验证了瑞德西韦的疗效)。
4. 虚拟筛选:以Mpro为靶点,对ZINC数据库进行虚拟筛选,识别潜在抑制剂。德国研究团队通过高通量X射线晶体学筛选,发现了Mpro抑制剂的前导化合物。

# 使用RDKit进行分子对接准备示例
from rdkit import Chem
from rdkit.Chem import AllChem
# 读取配体分子
ligand = Chem.MolFromSmiles("CC(C)Cc1ccc(cc1)C(C)C(=O)O")  # 布洛芬
ligand = Chem.AddHs(ligand)
AllChem.EmbedMolecule(ligand, AllChem.ETKDG())
# 保存为PDB格式用于对接
Chem.MolToPDBFile(ligand, "ligand.pdb")
查看详情 →
💡

案例二:AlphaFold驱动的药物设计——靶向KRAS G12C

algorithm

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。 1. **结构解析**:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。 2. **共价抑制剂设计**:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sot...

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。
1. 结构解析:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。
2. 共价抑制剂设计:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sotorasib(AMG 510)和Adagrasib(MRTX849)通过共价结合Cys12,将KRAS锁定在非活性状态。
3. AI优化:利用机器学习模型预测化合物的选择性、代谢稳定性和口服生物利用度,优化先导化合物。
这一案例展示了从"不可成药"到"可成药"的转变如何依赖于精准的结构信息和计算设计。

查看详情 →
💡

案例三:AI生成全新抗生素——Halicin的发现

concept

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin: 1. **训练数据**:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。 2. **虚拟筛选**:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。 3. **实验验证**:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝...

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin:
1. 训练数据:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。
2. 虚拟筛选:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。
3. 实验验证:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝杆菌)表现出强效杀菌活性,且与现有抗生素无交叉耐药性。
4. 作用机制:后续研究表明Halicin通过干扰细菌的质子动力势发挥作用,这是一种全新的作用机制。

# 使用DeepChem进行分子性质预测示例
import deepchem as dc
from deepchem.models import GraphConvModel
# 加载Tox21毒性数据集
tasks, datasets, transformers = dc.molnet.load_tox21()
train_dataset, valid_dataset, test_dataset = datasets
# 构建图卷积网络模型
model = GraphConvModel(
    n_tasks=len(tasks),
    mode='classification',
    batch_size=64,
    learning_rate=0.001
)
# 训练模型
model.fit(train_dataset, nb_epoch=20)
查看详情 →
💡

12.3 智能育种

section
查看详情 →
💡

基因组选择(GS)的原理

concept

**1. 基本概念** 基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。 假设个体的表型值P可以分解为: P = μ + g + e 其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。 GS的目标是利用标记基因型X来预测遗传效应...

1. 基本概念
基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。
假设个体的表型值P可以分解为:
P = μ + g + e
其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。
GS的目标是利用标记基因型X来预测遗传效应g:
g = Xβ + ε
其中,β为标记效应向量。
2. 统计模型
基因组选择的核心是估计每个标记的效应。由于标记数(p,通常为数千至数百万)远大于个体数(n,数百至数千),传统的最小二乘法无法直接使用,需要借助特殊统计方法:
- 岭回归最佳线性无偏预测(RR-BLUP):假设所有标记效应服从正态分布,通过L2正则化(岭回归)解决过拟合问题。计算速度快,是GS的基准方法。
- 贝叶斯方法(BayesA、BayesB、Bayesian LASSO等):假设标记效应服从不同的先验分布。BayesB假设只有少数标记具有大效应(大部分标记效应为0),更符合真实遗传架构。
- GBLUP(Genomic BLUP):利用标记信息构建基因组关系矩阵G,替代传统的系谱关系矩阵A,进行最佳线性无偏预测。
- 机器学习算法:随机森林(RF)、支持向量机(SVM)、神经网络等也被用于GS,在处理非加性遗传效应时可能优于线性模型。
3. 实施流程
(1) 训练群体构建:选择具有代表性的群体,测定高密度SNP基因型和目标性状表型。
(2) 统计模型训练:利用训练数据估计标记效应。
(3) 育种值预测:对候选个体(仅有基因型)计算GEBV。
(4) 选择决策:根据GEBV排名,选择最优个体进入下一代。
(5) 模型更新:定期用新收集的表型数据更新预测模型,保持预测准确性。
4. 影响预测准确性的因素
- 训练群体大小:一般而言,训练群体越大,预测准确性越高。
- 训练群体与候选群体的亲缘关系:关系越近,预测越准确。
- 性状遗传力:遗传力越高,GS效果越好。
- 标记密度:需要足够密度的标记覆盖全基因组,捕获LD信息。
- 性状遗传架构:由大量微效基因控制的性状更适合GS。

查看详情 →
💡

分子标记辅助育种的原理

concept

**1. QTL定位** 数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。 常用方法: - **单标记分析(SMA)**:检验单个标记与性状的关联 - **区间作图(IM)**:利用两侧标记信息,检测标记区间内的QTL - **复合区间作图(...

1. QTL定位
数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。
常用方法:
- 单标记分析(SMA):检验单个标记与性状的关联
- 区间作图(IM):利用两侧标记信息,检测标记区间内的QTL
- 复合区间作图(CIM):在区间作图基础上,加入背景标记控制多QTL效应
- 全基因组关联分析(GWAS):利用自然群体中的连锁不平衡(LD),不需要构建专门的家系
2. MAS(Marker-Assisted Selection)策略
- 前景选择:利用与目标QTL紧密连锁的标记,选择携带有利等位基因的个体。
- 背景选择:利用全基因组标记,监测轮回亲本的基因组恢复程度,加速回交育种进程。
- 基因聚合(Gene Pyramiding):将多个有利基因/QTL聚合到同一个品种中。
3. 标记类型
从RFLP、AFLP、SSR发展到目前的SNP(单核苷酸多态性)。SNP标记具有密度高、分布广、自动化检测等优点,已成为MAB和GS的主流标记。

查看详情 →
💡

种质资源鉴定的原理

concept

**1. 遗传多样性分析** - **群体结构分析**:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。 - **主成分分析(PCA)**:降维可视化种质间的遗传关系。 - **进化树构建**:基于遗传距离构建系统发育树,揭示种质的亲缘关系。 **2. 核心种质构建** - 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。 - 常用策略:基于遗传...

1. 遗传多样性分析
- 群体结构分析:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。
- 主成分分析(PCA):降维可视化种质间的遗传关系。
- 进化树构建:基于遗传距离构建系统发育树,揭示种质的亲缘关系。
2. 核心种质构建
- 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。
- 常用策略:基于遗传距离的逐步聚类采样、基于等位基因覆盖率的优化算法。
3. 指纹图谱构建
- 利用一组高度多态性的SSR或SNP标记,为每个品种建立独特的DNA指纹。
- 用于品种真实性鉴定、纯度检测和知识产权保护。
4. 优异等位基因发掘
- 通过GWAS或候选基因关联分析,在种质资源中挖掘与重要农艺性状相关的优异等位基因。
- 这些优异等位基因可作为分子标记辅助育种或转基因育种的靶点。

查看详情 →
💡

案例一:玉米基因组选择育种

concept

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测: 1. **训练群体**:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。 2. **模型建立**:使用rrBLUP或BayesB模型训练。 3. **预测应用**:对新合成的杂交组合(仅有基因型)预测配合力。 4. **效果**:GS可将育种周期从传统的5-6年缩短至2-3年,预...

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测:
1. 训练群体:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。
2. 模型建立:使用rrBLUP或BayesB模型训练。
3. 预测应用:对新合成的杂交组合(仅有基因型)预测配合力。
4. 效果:GS可将育种周期从传统的5-6年缩短至2-3年,预测准确性达到0.5-0.8(取决于性状和群体)。

# 使用rrBLUP包进行基因组选择
library(rrBLUP)
# 读取基因型矩阵(n×m,n个体,m标记)和表型
marker_data <- read.table("snps.txt", header=TRUE)
phenotype <- read.table("yield.txt", header=TRUE)
# 训练模型
model <- mixed.solve(y=phenotype$yield, Z=marker_data)
# 预测育种值
gebv <- marker_data %*% model$u
查看详情 →
💡

案例二:水稻分子标记辅助抗病育种

concept

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。 1. **标记开发**:开发与Xa21紧密连锁的PCR标记(如PTA248)。 2. **前景选择**:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。 3. **背景选择**:利用全基因组SNP标记,选择轮回亲本基因...

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。
1. 标记开发:开发与Xa21紧密连锁的PCR标记(如PTA248)。
2. 前景选择:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。
3. 背景选择:利用全基因组SNP标记,选择轮回亲本基因组恢复率最高的个体。
4. 结果:仅需2-3个回交世代即可获得基因组恢复率>95%的抗性近等基因系,而传统回交需要6-7代。

# Xa21前景选择PCR标记检测
# 引物序列:正向 5'-GCTCGATCGATAATGGAAGG-3'
#          反向 5'-TTGGTGATGGTTCGACGAGC-3'
PCR反应体系(20 μL):
- 2× PCR Mix: 10 μL
- 正向引物 (10 μM): 0.5 μL
- 反向引物 (10 μM): 0.5 μL
- DNA模板 (50 ng/μL): 1 μL
- ddH2O: 8 μL
PCR程序:
94°C 5min
[94°C 30s → 55°C 30s → 72°C 1min] × 35 cycles
72°C 7min
预期结果:携带Xa21的个体扩增出约500 bp的条带
查看详情 →
💡

案例三:小麦种质资源的遗传多样性分析

concept

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布: 1. **SNP基因型**:使用35K SNP芯片对约8,000份核心种质进行基因分型。 2. **群体结构**:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。 3. **多样性评估**:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基...

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布:
1. SNP基因型:使用35K SNP芯片对约8,000份核心种质进行基因分型。
2. 群体结构:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。
3. 多样性评估:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基因数(Ne)降低,表明育种过程中存在遗传瓶颈。
4. 核心种质构建:基于等位基因丰富度,从8,000份种质中选择约1,000份核心种质,保留了>95%的等位基因。
5. 优异等位基因发掘:GWAS分析在核心种质中鉴定了与产量、抗病性、品质相关的多个显著位点。

# 使用scikit-allel进行群体遗传分析
import allel
import numpy as np
# 读取VCF文件
callset = allel.read_vcf('wheat_samples.vcf.gz', 
                          fields=['calldata/GT', 'variants/POS', 'samples'])
gt = allel.GenotypeArray(callset['calldata/GT'])
# 计算等位基因频率
ac = gt.count_alleles()
# 计算多态性信息含量(PIC)
n = ac.sum(axis=1)
p = ac[:, 0] / n
q = ac[:, 1] / n
pic = 1 - (p**2 + q**2) - 2 * p**2 * q**2
查看详情 →
💡

12.4 其他应用

section
查看详情 →
💡

合成生物学中的生物信息学原理

concept

**1. 生物元件标准化与表征** 合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元: - **启动子(Promoter)**:控制基因表达的"开关" - **核糖体结合位点(RBS)**:调控翻译起始效率 - **编码序列(CDS)**:编码蛋白质的功能基因 - **终止子(Terminator)**:终止转录的信号 生物信息学通过建立元件库(如iGE...

1. 生物元件标准化与表征
合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元:
- 启动子(Promoter):控制基因表达的"开关"
- 核糖体结合位点(RBS):调控翻译起始效率
- 编码序列(CDS):编码蛋白质的功能基因
- 终止子(Terminator):终止转录的信号
生物信息学通过建立元件库(如iGEM Registry、SynBioHub)和标准化表征数据,使元件可以像电子元件一样被组合使用。
2. 基因线路设计
基因线路是由多个生物元件组成的遗传回路,实现逻辑运算(如AND门、OR门、NOT门):
- 布尔逻辑门:例如,双输入AND门需要两个诱导物同时存在才能激活报告基因表达。
- 振荡器:如repressilator,由三个抑制子基因组成的负反馈环,产生周期性基因表达振荡。
- 双稳态开关:两个相互抑制的基因,使系统可以稳定处于两种状态之一。
生物信息学工具(如Cello、Genetic Constructor)提供图形化界面设计基因线路,并自动转换为DNA序列。
3. 代谢工程与通路设计
代谢工程旨在改造细胞代谢网络,使其高效生产目标化合物:
- 通路搜索:利用KEGG、MetaCyc等数据库,搜索从天然底物到目标产物的已知或潜在代谢路径。
- 通量平衡分析(FBA):利用代谢网络的化学计量矩阵,在稳态假设下(Sv=0),通过线性规划优化目标产物产量。
- 酶选择与优化:在已知反应步骤中,从不同物种中筛选催化效率最高的酶,并通过蛋白质工程(定向进化、理性设计)优化酶性质。
4. DNA序列优化
- 密码子优化:根据宿主细胞的密码子使用偏好,调整外源基因的密码子组成,提高翻译效率。
- mRNA二级结构优化:避免在RBS区域形成发夹结构,保证翻译起始效率。
- 避免重复序列和限制性酶切位点:防止DNA重组和克隆困难。

查看详情 →
💡

生物多样性保护的生物信息学原理

concept

**1. DNA条形码鉴定** -DNA条形码的原理是:物种内遗传距离应远小于物种间距离。 - 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。 - 对于未知物种,构建系统发育树,推断其分类地位。 **2. eDNA Metabarcoding** -eDNA metabarcoding结合了环境采样和高通量测序: (1) 环境DNA提取:从水样、...

1. DNA条形码鉴定
-DNA条形码的原理是:物种内遗传距离应远小于物种间距离。
- 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。
- 对于未知物种,构建系统发育树,推断其分类地位。
2. eDNA Metabarcoding
-eDNA metabarcoding结合了环境采样和高通量测序:
(1) 环境DNA提取:从水样、土壤等环境基质中提取总DNA。
(2) 通用引物PCR:使用覆盖多个物种的通用引物扩增目标区域(如16S rRNA、COI、ITS)。
(3) 高通量测序:Illumina或Nanopore平台测序。
(4) 生物信息学分析:序列质控、去嵌合体、OTU/ASV聚类、物种注释(与参考数据库比对)、多样性分析。
3. 群体遗传学在保护中的应用
- 有效种群大小(Ne)估计:反映种群的遗传健康状况,Ne越小,遗传多样性丧失越快。
- 近亲繁殖评估:利用杂合度降低、ROH(连续纯合子片段)分析评估近亲繁殖程度。
- 迁徙与基因流分析:利用STRUCTURE、MIGRATE等工具分析种群间的基因交流。
- 适应性遗传变异检测:利用选择信号扫描(如FST离群值、环境关联分析)识别与环境适应相关的基因。
4. 保护基因组学(Conservation Genomics)
- 利用全基因组数据指导保护决策:
- 识别具有独特遗传适应性的种群,优先保护
- 评估近交衰退风险
- 指导遗传 rescue(引入外来基因恢复遗传多样性)
- 追踪非法野生动物贸易(通过DNA溯源)

查看详情 →
💡

案例一:酵母青蒿酸合成通路的设计

concept

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路: 1. **通路设计**:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。 2. **基因来源选择**:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。 3. **密码子优化**:将所有外源基因按照酵母密...

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路:
1. 通路设计:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。
2. 基因来源选择:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。
3. 密码子优化:将所有外源基因按照酵母密码子偏好进行优化。
4. 代谢流调控:通过FBA分析,鉴定限制产量的代谢瓶颈。过表达tHMG1增加FPP供应,下调ERG9减少FPP向麦角固醇分流。
5. 启动子强度平衡:利用不同强度的启动子组合,平衡通路中各酶的表达量,避免中间产物积累。
6. 结果:工程酵母的青蒿酸产量从初始的约100 mg/L提升到超过25 g/L,实现了工业化生产。

# 使用cobra进行通量平衡分析
import cobra
from cobra.io import read_sbml_model
# 读取酵母代谢模型
model = read_sbml_model('yeast-GEM.xml')
# 设置目标函数:最大化青蒿酸产量
model.objective = model.reactions.DM_artemisinic_acid
# 优化
solution = model.optimize()
print(f"最大理论产量: {solution.objective_value} mmol/gDW/h")
print(f"生长速率: {solution.fluxes['BIOMASS_Ec_iML1515_core_75p37M']}")
# 查找关键通量
for rxn in model.reactions:
    if abs(solution.fluxes[rxn.id]) > 1:
        print(f"{rxn.id}: {solution.fluxes[rxn.id]:.2f}")
查看详情 →
💡

案例二:eDNA监测入侵物种——亚洲鲤鱼

concept

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。 1. **eDNA采样**:在河流和湖泊的关键位置采集水样。 2. **引物设计**:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。 3. **qPCR检测**:检测水样中是否存在亚洲鲤鱼的DNA。 4. **结果**:eDNA检测可以在亚...

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。
1. eDNA采样:在河流和湖泊的关键位置采集水样。
2. 引物设计:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。
3. qPCR检测:检测水样中是否存在亚洲鲤鱼的DNA。
4. 结果:eDNA检测可以在亚洲鲤鱼实际到达前数月预警其入侵路径,比传统方法更灵敏。
5. ** metabarcoding扩展**:进一步利用12S rRNA通用引物进行eDNA metabarcoding,同时监测所有鱼类群落组成,评估入侵对本地群落的影响。

# eDNA metabarcoding分析流程(示例)
# 1. 原始数据质控
fastp -i sample_R1.fastq.gz -I sample_R2.fastq.gz \
      -o clean_R1.fastq.gz -O clean_R2.fastq.gz \
      -q 20 -u 30 -l 50
# 2. DADA2去重(R中运行)
# library(dada2)
# seqtab <- dada2::mergePairs(dadaF, derepF, dadaR, derepR)
# 3. OTU聚类和物种注释(使用VSEARCH)
vsearch --cluster_size clean.fasta --id 0.97 \
        --centroids otus.fasta --relabel OTU_
vsearch --usearch_global clean.fasta --db reference_db.fasta \
        --id 0.97 --otutabout otu_table.txt
# 4. 多样性分析(使用QIIME 2或R的vegan包)
查看详情 →
💡

案例三:大熊猫保护基因组学

concept

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据: 1. **全基因组测序**:对多个野生和圈养大熊猫种群进行全基因组重测序。 2. **遗传多样性评估**:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。 3. **近交分析**:检测到长片段ROH,证实近亲繁殖的存在。 4. **有害突变负荷**:发现大熊猫携带大量有害突变,但...

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据:
1. 全基因组测序:对多个野生和圈养大熊猫种群进行全基因组重测序。
2. 遗传多样性评估:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。
3. 近交分析:检测到长片段ROH,证实近亲繁殖的存在。
4. 有害突变负荷:发现大熊猫携带大量有害突变,但由于近亲繁殖,这些突变以纯合状态暴露,可能影响种群适应性和繁殖成功率。
5. 保护建议
- 优先保护遗传独特性高的种群(如秦岭亚种)
- 圈养繁殖计划应避免近亲交配
- 考虑栖息地连通性,促进野生种群间的基因交流

查看详情 →
💡

第13章 生物信息学实验基础

chapter
查看详情 →
💡

13.1 生物信息学实验概述

section
查看详情 →
💡

生物信息学分析的基本流程

concept

一个典型的生物信息学分析项目通常遵循以下流程: **第一阶段:项目规划** 1. 明确科学问题 2. 确定所需数据类型和来源 3. 选择合适的分析方法和工具 4. 评估计算资源需求 5. 制定数据管理计划 **第二阶段:数据获取与预处理** 1. **数据采集**:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据 2. **质量控制(QC)**:评估数据质量,识别并处理低质量...

一个典型的生物信息学分析项目通常遵循以下流程:
第一阶段:项目规划
1. 明确科学问题
2. 确定所需数据类型和来源
3. 选择合适的分析方法和工具
4. 评估计算资源需求
5. 制定数据管理计划
第二阶段:数据获取与预处理
1. 数据采集:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据
2. 质量控制(QC):评估数据质量,识别并处理低质量数据。对于测序数据,使用FastQC等工具检查碱基质量分布、GC含量、接头污染、重复序列等
3. 数据清洗:去除低质量序列、接头序列、PCR重复等
4. 格式转换:将数据转换为分析所需的标准格式
第三阶段:核心分析
根据研究问题选择相应的分析方法,例如:
- 序列比对:将测序reads定位到参考基因组
- 变异检测:识别SNP、Indel等遗传变异
- 表达量计算:定量基因或转录本的表达水平
- 功能注释:将分析结果与生物学功能关联
第四阶段:结果整合与解释
1. 多来源结果整合
2. 统计显著性评估和多重检验校正
3. 功能富集分析(GO、KEGG等)
4. 可视化展示
第五阶段:报告与共享
1. 撰写分析报告
2. 整理代码和文档
3. 数据和代码归档
4. 论文发表和结果共享

查看详情 →
💡

生物信息学中的数据格式

concept

掌握标准数据格式是进行生物信息学分析的基础: | 格式 | 用途 | 说明 | |------|------|------| | FASTA | 序列存储 | `>header`开头的文本格式,用于存储DNA、RNA、蛋白质序列 | | FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) | | SAM/BAM | 比对结果 | SAM为文本格式,...

掌握标准数据格式是进行生物信息学分析的基础:
| 格式 | 用途 | 说明 |
|------|------|------|
| FASTA | 序列存储 | >header开头的文本格式,用于存储DNA、RNA、蛋白质序列 |
| FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) |
| SAM/BAM | 比对结果 | SAM为文本格式,BAM为二进制压缩格式,存储reads比对信息 |
| VCF | 变异信息 | 存储SNP、Indel等变异的位置、基因型和质量信息 |
| GFF/GTF | 基因组注释 | 存储基因、外显子、CDS等特征的位置和属性信息 |
| BED | 基因组区间 | 简单的三列格式(chr, start, end),用于表示基因组区域 |
| GCT/TPM | 表达矩阵 | 存储基因表达量矩阵,行是基因,列是样本 |

查看详情 →
💡

可重复性研究的原则

concept

**FAIR原则**:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。 **可重复性的层次**: 1. **结果可重复(Repeatability)**:同一研究者使用相同数据和方法重复实验,获得相同结果 2. **可复现(Reproducibility)**:不同研究者使用相同数据和...

FAIR原则:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。
可重复性的层次
1. 结果可重复(Repeatability):同一研究者使用相同数据和方法重复实验,获得相同结果
2. 可复现(Reproducibility):不同研究者使用相同数据和方法,获得相同结果
3. 可再实现(Replicability):在不同数据集上应用相同方法,获得一致结论
实现可重复性的最佳实践
- 使用版本控制系统(Git)管理代码
- 记录软件名称和版本号
- 保存完整的分析参数
- 使用虚拟环境或容器隔离运行环境
- 编写清晰的文档和README文件
- 使用工作流管理系统自动化分析流程

查看详情 →
💡

示例:一个完整的RNA-seq分析项目

tool

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。 **项目结构**: ``` rnaseq_project/ ├── data/ │ ├── raw/ # 原始测序数据(FASTQ) │ ├── reference/ # 参考基因组和注释文件 │ └── processed/...

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。
项目结构

rnaseq_project/
├── data/
│   ├── raw/              # 原始测序数据(FASTQ)
│   ├── reference/        # 参考基因组和注释文件
│   └── processed/        # 处理后的数据
├── scripts/              # 分析脚本
│   ├── 01_qc.sh
│   ├── 02_alignment.sh
│   ├── 03_quantification.sh
│   └── 04_de_analysis.R
├── results/              # 分析结果
│   ├── qc_reports/
│   ├── bam_files/
│   ├── counts/
│   └── de_results/
├── envs/                 # 环境配置文件
│   └── rnaseq_env.yml
├── README.md             # 项目说明文档
└── Snakefile             # Snakemake工作流文件

分析流程概览

# 第一步:质量控制
fastqc data/raw/*.fastq.gz -o results/qc_reports/
multiqc results/qc_reports/ -o results/qc_reports/summary/
# 第二步:序列比对
hisat2 -p 8 -x reference/genome -1 sample_R1.fq.gz -2 sample_R2.fq.gz | \
    samtools sort -@ 4 -o results/bam_files/sample.bam
# 第三步:表达量定量
featureCounts -T 8 -a reference/genes.gtf -o results/counts/counts.txt \
    results/bam_files/*.bam
# 第四步:差异表达分析(在R中完成)
# DESeq2分析
查看详情 →
💡

13.2 Linux系统及常用编程语言

section

13.2.1 Linux操作系统

查看详情 →
💡

13.3 Python编程基础

section
查看详情 →
💡

Python基本语法

tool

**变量和数据类型:** ```python # 数字 integer = 42 floating = 3.14159 # 字符串 dna = "ATGCGCTAGCTA" protein = 'MPLK' # 字符串操作 print(len(dna)) # 长度 print(dna[0:3]) # 切片(前3个碱基) print(dna.cou...

变量和数据类型:

# 数字
integer = 42
floating = 3.14159
# 字符串
dna = "ATGCGCTAGCTA"
protein = 'MPLK'
# 字符串操作
print(len(dna))              # 长度
print(dna[0:3])              # 切片(前3个碱基)
print(dna.count("GC"))       # 计数
print(dna.replace("T", "U"))  # 替换(DNA转RNA)
print(dna.find("ATG"))       # 查找子串位置
# 列表(有序可变)
sequences = ["ATCG", "GCTA", "TAGC"]
sequences.append("CGAT")     # 添加元素
print(sequences[0])          # 访问
print(len(sequences))        # 长度
# 字典(键值对)
gene_expr = {
    "GAPDH": 25.3,
    "ACTB": 18.7,
    "TP53": 3.2
}
print(gene_expr["GAPDH"])    # 访问
gene_expr["BRCA1"] = 7.5     # 添加
# 元组(有序不可变)
coordinates = (100, 200)

控制流:

# 条件语句
gc_content = 0.55
if gc_content > 0.6:
    print("High GC")
elif gc_content > 0.4:
    print("Moderate GC")
else:
    print("Low GC")
# for循环
for seq in sequences:
    gc = (seq.count("G") + seq.count("C")) / len(seq)
    print(f"{seq}: GC={gc:.2%}")
# while循环
i = 0
while i < len(sequences):
    print(sequences[i])
    i += 1
# 列表推导式(Pythonic写法)
gc_values = [(s.count("G") + s.count("C")) / len(s) for s in sequences]

函数:

def calculate_gc_content(sequence):
    """计算DNA序列的GC含量"""
    sequence = sequence.upper()
    gc_count = sequence.count("G") + sequence.count("C")
    return gc_count / len(sequence)
# 调用
gc = calculate_gc_content("ATGCGCTAGCTA")
print(f"GC content: {gc:.2%}")
# 默认参数
def reverse_complement(seq, rna=False):
    """计算反向互补序列"""
    complement = {"A": "T", "T": "A", "G": "C", "C": "G",
                  "a": "t", "t": "a", "g": "c", "c": "g"}
    if rna:
        complement["A"] = "U"
        complement["a"] = "u"
    rc = "".join(complement.get(base, base) for base in reversed(seq))
    return rc
print(reverse_complement("ATGC"))       # GCAT
print(reverse_complement("ATGC", rna=True))  # GCAU

文件操作:

# 读取文件
with open("sequences.fasta", "r") as f:
    content = f.read()           # 读取全部
    lines = f.readlines()        # 读取为列表
# 写入文件
with open("output.txt", "w") as f:
    f.write("Hello\n")
# 逐行读取(推荐大文件使用)
with open("data.txt", "r") as f:
    for line in f:
        line = line.strip()      # 去除末尾换行符
        if line.startswith(">"):
            print(f"Header: {line}")
查看详情 →
💡

Biopython详解

tool

**安装:** ```bash pip install biopython # 或 conda install -c conda-forge biopython ``` **序列处理(Seq对象):** ```python from Bio.Seq import Seq from Bio.SeqUtils import GC, molecular_weight # 创建序列对象 dna_seq =...

安装:

pip install biopython
# 或
conda install -c conda-forge biopython

序列处理(Seq对象):

from Bio.Seq import Seq
from Bio.SeqUtils import GC, molecular_weight
# 创建序列对象
dna_seq = Seq("ATGCGCTAGCTA")
# 序列属性
print(f"长度: {len(dna_seq)}")
print(f"GC含量: {GC(dna_seq):.1f}%")
print(f"分子量: {molecular_weight(dna_seq):.1f}")
# 序列操作
print(dna_seq.complement())        # 互补序列
print(dna_seq.reverse_complement()) # 反向互补
print(dna_seq.transcribe())        # DNA转RNA
print(dna_seq.translate())         # 翻译为蛋白质
# 转录和翻译
mrna = dna_seq.transcribe()
protein = mrna.translate()
print(f"Protein: {protein}")

解析FASTA/FASTQ文件:

from Bio import SeqIO
# 解析FASTA文件
for record in SeqIO.parse("sequences.fasta", "fasta"):
    print(f"ID: {record.id}")
    print(f"Description: {record.description}")
    print(f"Length: {len(record.seq)}")
    print(f"Sequence: {record.seq[:50]}...")
    print()
# 解析FASTQ文件(测序数据)
for record in SeqIO.parse("reads.fastq", "fastq"):
    print(f"ID: {record.id}")
    print(f"Sequence: {record.seq}")
    print(f"Quality: {record.letter_annotations['phred_quality'][:10]}")
# 将记录写入文件
records = []
for record in SeqIO.parse("input.fasta", "fasta"):
    if len(record.seq) > 100:  # 只保留长序列
        records.append(record)
SeqIO.write(records, "filtered.fasta", "fasta")
# 转换格式(FASTQ to FASTA)
SeqIO.convert("reads.fastq", "fastq", "reads.fasta", "fasta")

访问NCBI数据库:

from Bio import Entrez, SeqIO
# 设置邮箱(NCBI要求)
Entrez.email = "your.email@example.com"
# 搜索PubMed
handle = Entrez.esearch(db="pubmed", term="CRISPR[Title] AND 2023[PDAT]", retmax=10)
record = Entrez.read(handle)
print(f"Found {record['Count']} articles")
print(f"IDs: {record['IdList']}")
# 获取序列
handle = Entrez.efetch(db="nucleotide", id="NM_001301717", rettype="fasta", retmode="text")
record = SeqIO.read(handle, "fasta")
print(f"Sequence: {record.seq[:100]}...")

序列比对:

from Bio import pairwise2
from Bio.pairwise2 import format_alignment
# 全局比对(Needleman-Wunsch)
alignments = pairwise2.align.globalxx("ATCG", "ATG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 局部比对(Smith-Waterman)
alignments = pairwise2.align.localxx("ATCGGCTA", "CGG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 带参数的比对(匹配+1,错配-1,空位开启-2,空位延伸-1)
alignments = pairwise2.align.globalms("ATCG", "ATG", 1, -1, -2, -1)

BLAST解析:

from Bio.Blast import NCBIXML
# 解析BLAST XML结果
with open("blast_result.xml") as result_handle:
    blast_record = NCBIXML.read(result_handle)
    for alignment in blast_record.alignments:
        print(f"Hit: {alignment.title}")
        for hsp in alignment.hsps:
            print(f"  E-value: {hsp.expect}")
            print(f"  Identity: {hsp.identities}/{hsp.align_length}")
            print(f"  Query: {hsp.query[:50]}...")
            print(f"  Match: {hsp.match[:50]}...")
            print(f"  Sbjct: {hsp.sbjct[:50]}...")
查看详情 →
💡

13.4 R语言基础

section
查看详情 →
💡

R语言基本语法

tool

**变量和数据类型:** ```r # 赋值(推荐使用 <-) x <- 42 y <- 3.14 name <- "GeneA" is_active <- TRUE # 向量(最基本的数据结构) expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1) genes <- c("BRCA1", "TP53", "EGFR", "MYC") # 向量操作 lengt...

变量和数据类型:

# 赋值(推荐使用 <-)
x <- 42
y <- 3.14
name <- "GeneA"
is_active <- TRUE
# 向量(最基本的数据结构)
expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1)
genes <- c("BRCA1", "TP53", "EGFR", "MYC")
# 向量操作
length(expr_values)
mean(expr_values)
sd(expr_values)
summary(expr_values)
# 数据框(类似Excel表格)
df <- data.frame(
    gene = c("BRCA1", "TP53", "EGFR", "MYC"),
    expression = c(25.3, 18.7, 12.4, 8.9),
    group = c("treatment", "treatment", "control", "control")
)
# 访问数据
df$gene                    # 提取列
df$expression
df[1, ]                    # 第一行
df[, "expression"]         # 按名列
df[df$group == "treatment", ]  # 条件筛选
# 列表(可包含不同类型)
my_list <- list(
    name = "sample1",
    counts = c(100, 200, 300),
    metadata = data.frame(key = c("A", "B"), val = c(1, 2))
)
my_list$name
my_list[["counts"]]

控制流:

# 条件语句
x <- 15
if (x > 10) {
    print("x is greater than 10")
} else if (x > 5) {
    print("x is between 5 and 10")
} else {
    print("x is 5 or less")
}
# ifelse向量化条件
scores <- c(85, 92, 78, 65, 88)
grades <- ifelse(scores >= 90, "A",
                 ifelse(scores >= 80, "B",
                        ifelse(scores >= 70, "C", "D")))
# for循环
for (gene in genes) {
    print(paste("Processing:", gene))
}
# apply族函数(向量化操作,避免显式循环)
# apply用于矩阵/数组
# lapply用于列表,返回列表
# sapply用于列表,返回向量/矩阵
# tapply用于分组计算
# 示例:对数据框的数值列计算均值
numeric_cols <- sapply(df, is.numeric)
lapply(df[, numeric_cols], mean)

函数:

# 定义函数
calculate_fold_change <- function(treatment, control) {
    """计算差异倍数(log2 fold change)"""
    fc <- treatment - control  # 假设已经是log2转换的值
    return(fc)
}
# 使用
fc <- calculate_fold_change(10.5, 8.2)
print(paste("Fold change:", round(fc, 2)))
# 默认参数
normalize <- function(values, method = "zscore") {
    if (method == "zscore") {
        return((values - mean(values)) / sd(values))
    } else if (method == "minmax") {
        return((values - min(values)) / (max(values) - min(values)))
    } else {
        stop("Unknown normalization method")
    }
}
查看详情 →
💡

ggplot2可视化

concept

```r library(ggplot2) # 创建示例数据 data <- data.frame( gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10), expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)), group = rep(c("...

library(ggplot2)
# 创建示例数据
data <- data.frame(
    gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10),
    expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)),
    group = rep(c("Control", "Treatment"), each = 5, times = 3)
)
# 散点图
p1 <- ggplot(data, aes(x = group, y = expression, color = group)) +
    geom_point(position = position_jitter(width = 0.2), size = 3) +
    geom_boxplot(alpha = 0.3, outlier.shape = NA) +
    facet_wrap(~gene) +
    labs(title = "Gene Expression Comparison",
         x = "Condition",
         y = "Expression Level") +
    theme_minimal()
print(p1)
# 热图(使用pheatmap包)
library(pheatmap)
expr_matrix <- matrix(rnorm(100), nrow = 10)
rownames(expr_matrix) <- paste0("Gene", 1:10)
colnames(expr_matrix) <- paste0("Sample", 1:10)
pheatmap(expr_matrix, 
         scale = "row",
         clustering_method = "ward.D2",
         color = colorRampPalette(c("navy", "white", "firebrick"))(50))
# 火山图(差异表达结果)
de_results <- data.frame(
    gene = paste0("Gene", 1:1000),
    log2FC = rnorm(1000, 0, 2),
    pvalue = runif(1000)
)
de_results$padj <- p.adjust(de_results$pvalue, method = "BH")
ggplot(de_results, aes(x = log2FC, y = -log10(padj))) +
    geom_point(aes(color = abs(log2FC) > 1 & padj < 0.05), alpha = 0.5) +
    scale_color_manual(values = c("grey", "red")) +
    geom_vline(xintercept = c(-1, 1), linetype = "dashed") +
    geom_hline(yintercept = -log10(0.05), linetype = "dashed") +
    labs(x = "log2 Fold Change", y = "-log10 adjusted p-value") +
    theme_bw()
查看详情 →
💡

Bioconductor核心包

tool

```r # 安装Bioconductor if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") # 安装Bioconductor包 BiocManager::install("DESeq2") BiocManager::install("edgeR") BiocManager::insta...

# 安装Bioconductor
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
# 安装Bioconductor包
BiocManager::install("DESeq2")
BiocManager::install("edgeR")
BiocManager::install("Biostrings")
# Biostrings:序列处理
library(Biostrings)
dna <- DNAString("ATGCGCTAGCTA")
complement(dna)
reverseComplement(dna)
translate(dna)
# 计算GC含量
letterFrequency(dna, "GC") / length(dna)
# 读取FASTA文件
fasta_file <- readDNAStringSet("sequences.fasta")
width(fasta_file)  # 序列长度
alphabetFrequency(fasta_file)  # 碱基频率
# DESeq2:差异表达分析(简要示例)
library(DESeq2)
# countData: 基因计数矩阵(行是基因,列是样本)
# colData: 样本信息
# dds <- DESeqDataSetFromMatrix(countData = counts, 
#                               colData = sample_info,
#                               design = ~ condition)
# dds <- DESeq(dds)
# results <- results(dds)
查看详情 →
💡

13.5 生物信息学分析流程搭建

section
查看详情 →
💡

Conda环境管理

tool

**核心概念:** - **环境(Environment)**:独立的软件安装空间,不同环境之间互不干扰 - **通道(Channel)**:软件包的来源仓库。Bioconda是生物信息学专用通道 - **环境文件(environment.yml)**:记录环境中所有软件及其版本的配置文件 **基本操作:** ```bash # 查看现有环境 conda env list # 创建新环境 cond...

核心概念:
- 环境(Environment):独立的软件安装空间,不同环境之间互不干扰
- 通道(Channel):软件包的来源仓库。Bioconda是生物信息学专用通道
- 环境文件(environment.yml):记录环境中所有软件及其版本的配置文件
基本操作:

# 查看现有环境
conda env list
# 创建新环境
conda create -n rnaseq python=3.10
# 激活环境
conda activate rnaseq
# 安装软件
conda install -c bioconda star
conda install -c bioconda samtools
conda install -c bioconda featurecounts
conda install -c bioconda fastqc
conda install -c bioconda multiqc
# 一次性安装多个包
conda install -c bioconda star samtools featurecounts fastqc multiqc
# 查看已安装的包
conda list
# 导出环境配置
conda env export > environment.yml
# 从配置文件创建环境
conda env create -f environment.yml
# 删除环境
conda remove -n rnaseq --all
# 退出当前环境
conda deactivate

示例environment.yml文件:

name: rnaseq
channels:
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - star=2.7.10b
  - samtools=1.16
  - featurecounts=2.0
  - fastqc=0.11.9
  - multiqc=1.14
  - trimmomatic=0.39
  - picard=2.27
  - r-base=4.2
  - bioconductor-deseq2=1.38
  - pip
  - pip:
    - salmon==1.9.0
查看详情 →
💡

Snakemake工作流

tool

**基本语法:** Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。 ```python # Snakefile # 定义样本列表 SAMPLES = ["sample1", "sample2", "sample3"] # 目标规则:定义最终需要生成的文件 rule all: input:...

基本语法:
Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。

# Snakefile
# 定义样本列表
SAMPLES = ["sample1", "sample2", "sample3"]
# 目标规则:定义最终需要生成的文件
rule all:
    input:
        "results/counts_matrix.txt",
        "results/multiqc_report.html"
# 质量控制规则
rule fastqc:
    input:
        "data/{sample}_R1.fastq.gz",
        "data/{sample}_R2.fastq.gz"
    output:
        html_r1="qc/{sample}_R1_fastqc.html",
        zip_r1="qc/{sample}_R1_fastqc.zip",
        html_r2="qc/{sample}_R2_fastqc.html",
        zip_r2="qc/{sample}_R2_fastqc.zip"
    params:
        outdir="qc"
    threads: 2
    shell:
        "fastqc -t {threads} -o {params.outdir} {input}"
# 序列比对规则
rule star_align:
    input:
        r1="data/{sample}_R1.fastq.gz",
        r2="data/{sample}_R2.fastq.gz",
        index="reference/STAR_index/Genome"
    output:
        bam="aligned/{sample}.sorted.bam",
        bai="aligned/{sample}.sorted.bam.bai"
    params:
        prefix="aligned/{sample}_",
        index_dir="reference/STAR_index"
    threads: 8
    shell:
        """
        STAR --runThreadN {threads} \
             --genomeDir {params.index_dir} \
             --readFilesIn {input.r1} {input.r2} \
             --readFilesCommand zcat \
             --outFileNamePrefix {params.prefix} \
             --outSAMtype BAM SortedByCoordinate
        mv {params.prefix}Aligned.sortedByCoord.out.bam {output.bam}
        samtools index {output.bam}
        """
# 表达量定量
rule featurecounts:
    input:
        bams=expand("aligned/{sample}.sorted.bam", sample=SAMPLES),
        gtf="reference/genes.gtf"
    output:
        counts="results/counts_matrix.txt"
    threads: 4
    shell:
        "featureCounts -T {threads} -a {input.gtf} -o {output.counts} {input.bams}"
# MultiQC汇总
rule multiqc:
    input:
        expand("qc/{sample}_{read}_fastqc.zip", sample=SAMPLES, read=["R1", "R2"])
    output:
        "results/multiqc_report.html"
    shell:
        "multiqc qc/ -o results/"

运行Snakemake:

# 预览(dry-run)
snakemake -n
# 本地运行(使用4个核)
snakemake --cores 4
# 强制重新运行
snakemake --cores 4 --forceall
# 只运行特定规则
snakemake --cores 4 featurecounts
# 使用Conda环境(自动为每个规则创建环境)
snakemake --cores 4 --use-conda
# 集群提交(SLURM)
snakemake --cluster "sbatch --time={resources.time} --mem={resources.mem} --cpus-per-task={threads}" \
          --jobs 10
查看详情 →
💡

Nextflow简介

tool

Nextflow采用数据流编程模型,更适合复杂的并行计算: ```groovy // main.nf params.reads = "data/*_{R1,R2}.fastq.gz" params.genome = "reference/genome.fa" params.gtf = "reference/genes.gtf" // 定义进程 process FASTQC { tag "$...

Nextflow采用数据流编程模型,更适合复杂的并行计算:

// main.nf
params.reads = "data/*_{R1,R2}.fastq.gz"
params.genome = "reference/genome.fa"
params.gtf = "reference/genes.gtf"
// 定义进程
process FASTQC {
    tag "$sample_id"
    input:
    tuple val(sample_id), path(reads)
    output:
    path "fastqc_*"
    script:
    """
    fastqc -t 2 -o . ${reads}
    """
}
process STAR_ALIGN {
    tag "$sample_id"
    cpus 8
    input:
    tuple val(sample_id), path(reads)
    path index
    output:
    tuple val(sample_id), path("*.sorted.bam")
    script:
    """
    STAR --runThreadN 8 \
         --genomeDir $index \
         --readFilesIn ${reads[0]} ${reads[1]} \
         --readFilesCommand zcat \
         --outSAMtype BAM SortedByCoordinate \
         --outFileNamePrefix ${sample_id}_
    mv ${sample_id}_Aligned.sortedByCoord.out.bam ${sample_id}.sorted.bam
    """
}
// 工作流
workflow {
    Channel
        .fromFilePairs(params.reads, checkIfExists: true)
        .set { read_pairs }
    FASTQC(read_pairs)
    STAR_ALIGN(read_pairs, params.genome)
}
查看详情 →
💡

13.6 常用软件工具实操

section
查看详情 →
💡

FastQC原理

algorithm

FastQC从多个维度评估测序数据质量: - **基本统计**:总reads数、序列长度、GC含量 - **每个碱基的质量**:箱线图展示read各位置的质量分布 - **每个序列的质量**:所有reads平均质量的分布 - **每个碱基的序列含量**:各位置A/T/G/C的比例(应接近一致) - **GC含量**:样本GC分布与理论正态分布的比较 - **接头序列**:检测已知接头序列的污染 -...

FastQC从多个维度评估测序数据质量:
- 基本统计:总reads数、序列长度、GC含量
- 每个碱基的质量:箱线图展示read各位置的质量分布
- 每个序列的质量:所有reads平均质量的分布
- 每个碱基的序列含量:各位置A/T/G/C的比例(应接近一致)
- GC含量:样本GC分布与理论正态分布的比较
- 接头序列:检测已知接头序列的污染
- 序列重复:评估PCR重复和过度表达的序列

查看详情 →
💡

BWA-MEM比对原理

algorithm

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法: 1. **索引构建**:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。 2. **种子搜索**:在参考基因组中查找read的精确匹配子串(maximal exact matches)。 3. **链...

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法:
1. 索引构建:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。
2. 种子搜索:在参考基因组中查找read的精确匹配子串(maximal exact matches)。
3. 链式扩展:将种子连接起来,构建可能的比对位置。
4. 局部比对:使用Smith-Waterman算法对候选位置进行精细比对,处理gap(插入缺失)。
5. 比对质量计算:根据最佳和次佳比对的得分差异,计算MAPQ(mapping quality)。

查看详情 →
💡

SAM/BAM格式详解

concept

SAM文件包含11个必需字段: | 列 | 字段名 | 说明 | |----|--------|------| | 1 | QNAME | Read名称 | | 2 | FLAG | 比对标志(位掩码) | | 3 | RNAME | 参考序列名称 | | 4 | POS | 比对起始位置(1-based) | | 5 | MAPQ | 比对质量(Phred标度) | | 6 | CIGAR |...

SAM文件包含11个必需字段:
| 列 | 字段名 | 说明 |
|----|--------|------|
| 1 | QNAME | Read名称 |
| 2 | FLAG | 比对标志(位掩码) |
| 3 | RNAME | 参考序列名称 |
| 4 | POS | 比对起始位置(1-based) |
| 5 | MAPQ | 比对质量(Phred标度) |
| 6 | CIGAR | 比对运算字符串 |
| 7 | RNEXT | 配对read的参考序列 |
| 8 | PNEXT | 配对read的位置 |
| 9 | TLEN | 模板长度 |
| 10 | SEQ | 序列 |
| 11 | QUAL | 质量值 |
FLAG字段解读(关键值):
| FLAG | 含义 |
|------|------|
| 1 | Read有配对 |
| 2 | Read在配对中正确比对 |
| 4 | Read未比对 |
| 8 | 配对read未比对 |
| 16 | Read比对到反向互补链 |
| 64 | 是第一个read |
| 128 | 是第二个read |
| 256 | 非主要比对 |
| 512 | 未通过QC |
| 1024 | PCR重复或光学重复 |

查看详情 →
💡

GATK变异检测流程

algorithm

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括: 1. **标记重复(MarkDuplicates)**:识别PCR重复reads,只保留一个拷贝用于变异检测。 2. **碱基质量校正(Base Quality Score Recalibration, BQSR)**:系统性的测序误差会导致碱基质量值不准确。B...

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括:
1. 标记重复(MarkDuplicates):识别PCR重复reads,只保留一个拷贝用于变异检测。
2. 碱基质量校正(Base Quality Score Recalibration, BQSR):系统性的测序误差会导致碱基质量值不准确。BQSR通过比较观察到的错配率和期望的错配率,构建校正模型,输出更准确的碱基质量值。
3. 变异检测(HaplotypeCaller):GATK的核心变异检测引擎:
- 在感兴趣区域进行局部de novo组装
- 识别潜在的单倍型
- 使用PairHMM算法将reads与单倍型比对
- 输出基因型似然值和变异质量
4. 变异质量校正(Variant Quality Score Recalibration, VQSR):利用已知变异位点(如dbSNP、HapMap)训练高斯混合模型,区分真实的变异和假阳性。

查看详情 →
💡

FastQC + Trimmomatic质控示例

algorithm

```bash # === 第一步:FastQC质控 === mkdir -p qc_results # 对单个样本运行FastQC fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz # 批量处理 for r1 in raw/*_R1.fastq.gz; do r2="${r1/_R1/_R2}" fas...

# === 第一步:FastQC质控 ===
mkdir -p qc_results
# 对单个样本运行FastQC
fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz
# 批量处理
for r1 in raw/*_R1.fastq.gz; do
    r2="${r1/_R1/_R2}"
    fastqc -t 4 -o qc_results "$r1" "$r2"
done
# MultiQC汇总所有质控报告
multiqc qc_results/ -o qc_results/summary/
# === 第二步:Trimmomatic质量修剪 ===
# 假设FastQC显示:
# 1. 3'端质量下降(需要SLIDINGWINDOW修剪)
# 2. 存在adapter污染(需要ILLUMINACLIP)
mkdir -p trimmed
# PE模式(双端)
trimmomatic PE -threads 8 \
    raw/sample_R1.fastq.gz raw/sample_R2.fastq.gz \
    trimmed/sample_R1_paired.fq.gz trimmed/sample_R1_unpaired.fq.gz \
    trimmed/sample_R2_paired.fq.gz trimmed/sample_R2_unpaired.fq.gz \
    ILLUMINACLIP:adapters.fa:2:30:10 \
    LEADING:3 TRAILING:3 \
    SLIDINGWINDOW:4:15 \
    MINLEN:36
# 参数说明:
# ILLUMINACLIP:adapters.fa:2:30:10
#   adapters.fa = adapter序列文件
#   2 = seed匹配时允许的最大错配数
#   30 = palindrome模式下的阈值
#   10 = simple模式下的阈值
# LEADING:3 - 从read起始切除质量值<3的碱基
# TRAILING:3 - 从read末尾切除质量值<3的碱基
# SLIDINGWINDOW:4:15 - 4bp窗口平均质量<15时切除
# MINLEN:36 - 丢弃长度<36bp的read
查看详情 →
💡

BWA + SAMtools比对示例

algorithm

```bash # === 第一步:建立BWA索引 === bwa index reference.fa # 或使用samtools建立FASTA索引(用于IGV等工具) samtools faidx reference.fa # === 第二步:序列比对 === # BWA-MEM适合70bp-1Mbp的reads bwa mem -t 16 \ -R "@RG\tID:sample1\...

# === 第一步:建立BWA索引 ===
bwa index reference.fa
# 或使用samtools建立FASTA索引(用于IGV等工具)
samtools faidx reference.fa
# === 第二步:序列比对 ===
# BWA-MEM适合70bp-1Mbp的reads
bwa mem -t 16 \
    -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa \
    sample_R1_paired.fq.gz sample_R2_paired.fq.gz \
    > sample.sam
# -t 16: 使用16个线程
# -R: 添加read group信息(GATK必需)
# === 第三步:SAM转BAM、排序、索引 ===
# 方法1:管道一步完成
bwa mem -t 16 -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa sample_R1.fq.gz sample_R2.fq.gz | \
    samtools sort -@ 4 -o sample.sorted.bam -
samtools index sample.sorted.bam
# 方法2:分步处理
samtools view -bS sample.sam > sample.bam          # SAM转BAM
samtools sort sample.bam -o sample.sorted.bam      # 排序
samtools index sample.sorted.bam                    # 建立索引
rm sample.sam sample.bam                           # 删除中间文件
# === 第四步:比对质量统计 ===
samtools flagstat sample.sorted.bam > sample.flagstat
samtools idxstats sample.sorted.bam > sample.idxstats
# === 常用SAMtools命令 ===
# 查看BAM头部
samtools view -H sample.sorted.bam
# 查看特定区域的比对
samtools view sample.sorted.bam chr1:1000000-2000000 | head
# 提取特定FLAG的reads(例如:只提取properly paired reads)
samtools view -f 2 -b sample.sorted.bam > sample.proper_pair.bam
# 过滤掉未比对reads(FLAG 4)
samtools view -F 4 -b sample.sorted.bam > sample.mapped_only.bam
# BAM转FASTQ(用于重新比对)
samtools bam2fq sample.sorted.bam > sample.fastq
# 合并多个BAM
samtools merge merged.bam sample1.sorted.bam sample2.sorted.bam
查看详情 →
💡

GATK变异检测示例

algorithm

```bash # === GATK最佳实践流程 === # 1. 标记重复(MarkDuplicates) gatk MarkDuplicates \ -I sample.sorted.bam \ -O sample.dedup.bam \ -M sample.metrics.txt \ --REMOVE_DUPLICATES false # 标记但不删除,GA...

# === GATK最佳实践流程 ===
# 1. 标记重复(MarkDuplicates)
gatk MarkDuplicates \
    -I sample.sorted.bam \
    -O sample.dedup.bam \
    -M sample.metrics.txt \
    --REMOVE_DUPLICATES false  # 标记但不删除,GATK推荐
samtools index sample.dedup.bam
# 2. 碱基质量校正(BQSR)
# 需要已知变异位点(如dbSNP)作为训练集
gatk BaseRecalibrator \
    -I sample.dedup.bam \
    -R reference.fa \
    --known-sites dbsnp.vcf.gz \
    -O sample.recal.table
gatk ApplyBQSR \
    -R reference.fa \
    -I sample.dedup.bam \
    --bqsr-recal-file sample.recal.table \
    -O sample.recal.bam
# 3. 变异检测(HaplotypeCaller)
gatk HaplotypeCaller \
    -R reference.fa \
    -I sample.recal.bam \
    -O sample.g.vcf.gz \
    -ERC GVCF  # 输出gVCF格式(适合多样本联合分析)
# 4. 多样本联合基因型(如果有多个样本)
# GenomicsDBImport导入gVCF
gatk GenomicsDBImport \
    -V sample1.g.vcf.gz \
    -V sample2.g.vcf.gz \
    -V sample3.g.vcf.gz \
    --genomicsdb-workspace-path cohort_db \
    -L intervals.list
# GenotypeGVCFs输出最终VCF
gatk GenotypeGVCFs \
    -R reference.fa \
    -V gendb://cohort_db \
    -O cohort.vcf.gz
# 5. 变异质控(VQSR,可选)
gatk VariantRecalibrator \
    -R reference.fa \
    -V cohort.vcf.gz \
    --resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap.vcf.gz \
    --resource:omni,known=false,training=true,truth=false,prior=12.0 omni.vcf.gz \
    -an QD -an MQ -an MQRankSum -an ReadPosRankSum \
    -mode SNP \
    -O cohort.recal \
    --tranches-file cohort.tranches
gatk ApplyVQSR \
    -R reference.fa \
    -V cohort.vcf.gz \
    --recal-file cohort.recal \
    --tranches-file cohort.tranches \
    --truth-sensitivity-filter-level 99.5 \
    -mode SNP \
    -O cohort.vqsr.vcf.gz
# 6. 硬过滤(如果VQSR不适用,如小样本)
gatk VariantFiltration \
    -R reference.fa \
    -V cohort.vcf.gz \
    -O cohort.filtered.vcf.gz \
    --filter-expression "QD < 2.0 || MQ < 40.0 || FS > 60.0 || SOR > 3.0" \
    --filter-name "basic_filters"
查看详情 →
💡

IGV可视化示例

tool

```bash # IGV是一个Java桌面应用程序,无需命令行操作 # 但它可以配合命令行工具准备输入文件 # 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览) igvtools count sample.sorted.bam sample.tdf reference.fa # 2. 生成BEDGRAPH覆盖度文件 bedtools genomecov -ibam sample.s...

# IGV是一个Java桌面应用程序,无需命令行操作
# 但它可以配合命令行工具准备输入文件
# 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览)
igvtools count sample.sorted.bam sample.tdf reference.fa
# 2. 生成BEDGRAPH覆盖度文件
bedtools genomecov -ibam sample.sorted.bam -bg > sample.coverage.bedgraph
# 3. 生成VCF索引(tabix)
bgzip cohort.vcf.gz
tabix -p vcf cohort.vcf.gz

IGV使用步骤:
1. 启动IGV(需要Java环境)
2. 加载参考基因组:Genomes → Load Genome from File → 选择reference.fa
3. 加载比对文件:File → Load from File → 选择sample.sorted.bam
4. 加载变异文件:File → Load from File → 选择cohort.vcf.gz
5. 导航到感兴趣的基因区域(如输入 TP53 或坐标 chr17:7,661,778-7,687,538
6. 观察reads的比对情况、覆盖深度和变异位点

查看详情 →

生物信息学的研究领域

💡

第1章 生物信息学概述 (第1章)

chapter
查看详情 →
💡

1.1 生物信息学的基本概念

section

1953 年,詹姆斯·沃森(James Watson)和弗朗西斯·克里克(Francis Crick)提出了 DNA 的双螺旋结构,随着对 DNA 结构的理解深入,科学家开始思考如何解读 DNA 序列中的遗传信息。20 世纪 70 年代,科学家们开展了一些初步的 DNA 序列测定工作。1990 年,正式启动了国际人类基因组计划项目,旨在解码人类基因组中的所有基因。经过长达 13 年的合作,人类基因组图谱于 2001 年分别在 Nature 和 Science 上发表,2003 年完成了人类基因组几乎全部基因序列的测定。这个里程碑性的成就对于理解人类遗传学、疾病机制以及生命的基本过程产生了深远的影响,也为生物信息学提供了兴盛的契机。
随着基因组计划的不断进展, DNA 测序技术得到了极大的改进, 从传统的 Sanger 测序发展到高通量测序技术。这些技术的发展不仅极大地加速了人类基因组计划的进展, 还使得大规模的基因组和转录组数据可以更加经济高效地获得。随着生物技术的不断完善, 现代生物学研究范围扩展到了更多维度, 涉及蛋白质、代谢物、表观遗传组等多个层面。单细胞组学和空间组学的研究更是丰富了我们对生物系统的理解。海量生物组学数据的产生速度呈指数级增长, 需要强大的计算机技术和算法进行处理。随着计算机硬件和软件技术的不断进步, 人们也能够更有效地处理复杂的生物数据。这样跨学科的合作加速了生物信息学的发展, 为解决生物学研究中的复杂问题提供了新的视角和方法。

1.1.1 生物信息学的基本含义

生物信息学(bioinformatics)一词的最初定义是由保利恩·霍赫韦格(Paulien Hogeweg)和本·赫斯珀(Ben Hesper)于20世纪70年代提出,指的是对生物系统中信息过程的研究。该定义将生物信息学视为与生物化学(生物系统中化学过程的研究)平行的领域。在此之前,玛格丽特·戴霍夫(Margaret Dayhoff)在20世纪60年代便率先认识到计算机在处理生物数据方面的巨大潜力,通过创建首个蛋白质序列数据库、构建蛋白质进化树以及提出点突变模型等开创性工作,为这一新兴学科的萌芽与发展奠定了重要基础。生物信息分析生物数据以产生有意义的信息这一概念涉及许多方面,如编写和运行使用图论、人工智能、软计算、数据挖掘、图像处理和计算机模拟算法的软件程序等,而这些算法又依赖于离散数学、控制论、系统论、信息论和统计学等理论基础。由此可见,生物信息学是一门跨学科的科学领域,将生物学、计算机科学、应用数学、信息学和统计学等多个学科知识融会贯通在一起。生物信息学一开始简单地被理解为“生物学+信息学”,但作为一门学科,它有自己的学科体系,而不是简单的叠加,更应该理解为“生物学+信息学+学科体系”。生物信息学旨在开发和应用计算机技术和算法来处理、分析、解释和存储生物学数据,从中获取生物学上的洞见和知识。
生物信息学的研究材料是各类生物学数据,研究工具是计算机,研究方法和技术包括对生物学数据的搜索、收集和筛选、处理(编辑、整理、管理和显示)及利用(计算、模拟)等。生物信息学涵盖了多方面的内容。首先,序列分析是生物信息学的一个核心领域,如对 DNA、RNA 和蛋白质序列的处理和分析。这包括了基因识别、蛋白质功能预测、序列比对等方面的内容。其次,生物信息学关注蛋白质、核酸等分子的结构。这对于理解它们的功能和相互作用至关重要,包括蛋白质结构预测、分子对接等方面。再次,生物信息学包含了对各类组学数据的分析。基因组学研究整个基因组的组成和功能,包括基因组测序、基因组注释、基因功能预测等;转录组学关注在不同条件下基因的表达情况,研究了解细胞的功能、调控机制以及疾病的发生机制;蛋白质组学研究细胞或生物体内所有蛋白质的组成和功能,并揭示细胞内各种蛋白质相互作用的网络。再者,生物信息学还关注生物系统的整体性质和相互作用,可以通过建立数据模型来模拟和预测生物过程。最后,生物信息学还包括数据库的构建和算法工具的开发。生物信息学数据库存储了大量的生物学数据,如基因序列、蛋白质结构、表达调控数据等,为科学家提供检索和分析的工具。生物信息学领域也开发了许多算法和工具,用于数据处理、模拟、预测等。这些工具对于生物学研究具有重要意义。总之,生物信息学通过整合多学科的知识,致力于通过处理和分析生物学数据、建立数据库与各类算法模型等方式,深入了解生命的分子机制、进化、疾病等,在现代生物学研究中扮演着重要的角色。

1.1.2 生物信息学的学科特点与发展

作为交叉学科,生物信息学既是一门自然科学(理学),也是一门工程技术(工学)。作为自然科学方面,生物信息学深入探索生命的分子机制、遗传信息的传递和表达等生物学基本问题。它使用计算机科学和数学工具来分析、解释和预测生物学数据,从而帮助科学家更好地理解生物系统的运作方式。生物信息学在基因组学、蛋白质组学、转录组学等领域的研究中,探索生物分子的结构、功能和相互作用等方面具有重要作用。作为工程技术方面,它开发了许多计算工具、算法和软件来处理和管理大规模的生物学数据。这些工具可以用于基因序列分析、蛋白质结构预测、基因表达模式分析等。这些技术的开发和应用在药物研发、医学诊断、农业改良等实际应用领域产生了重要的影响。总的来说,生物信息学在理论研究和实际应用中都起到了关键作用,同时也是生物学与计算机科学交叉的典范。这种综合性的性质使得生物信息学在推动科学研究进程、创新技术发展以及解决实际问题方面发挥了重要作用。
由于生物信息学的重要性,国内外一直非常重视生物信息学的发展。在国际上,美国、欧洲和日本共同组成了 GenBank/ENA/DDBJ 国际核酸序列数据库。其他一些西方国家在分享网络共享资源的同时,也分别建有自己的生物信息学机构、二级或更高级的具有各自特色的专业数据库以及自己的分析技术。我国高度重视生物信息学领域的创新发展,早在 1999 年,郝柏林等老一辈科学家倡议成立了国家级生物医学信息中心,致力于生物信息学研究、数据资源的构建和管理,以及相关技术的开发与应用。2019 年,国家生物信息中心正式批准成立,它的主要职责和任务包括:生物信息资源建设与管理、生物信息学研究、数据分析和挖掘、生物信息学培训与推广、国际合作与交流。国家生物信息中心在促进中国生物信息学领域的发展、推动科研成果转化以及提供生物信息学技术支持等方面发挥着重要作用。目前,在国内外具有广泛影响力和声誉。
生物信息学的发展极为迅速,迄今已取得诸多成果。就网络资源而言,国内外的生物信息学网络资源极为丰富,从代表国家级研究机构的大型网点到代表专业实验室的小型站点,都建立了众多生物信息学网站。大型机构的网站通常提供相关新闻、数据库服务以及软件在线服务;小型科研机构大多展示自己的研究成果,部分还提供自行设计算法的在线服务。各种专业研究机构和公司如雨后春笋般不断涌现,生物科技公司和制药工业内部的生物信息学部门的数量也日益增加。
如今,随着生物信息学的蓬勃发展,生命科学的基础研究与技术开发对生物信息学的科研与人才需求也迅猛增加,传统欧美发达国家也面临着供不应求、人才匮乏的局面。因此,对生物信息学人才的培养至关重要。我国越来越多的高等院校、科研单位开展了生物信息学教育和科研工作,许多大学已经建设生物信息学相关的专业与课程,推动我国生物信息学的快速发展。

查看详情 →
💡

1.2 生物信息学的发展历史与趋势

section
查看详情 →
💡

第一阶段:分子生物学发展时期(1953—1975年)

concept

这一时期是生物信息学的萌芽阶段,核心特征是**理论奠基**和**初步尝试**。 **关键里程碑:** - **1953年**:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。 - **1955年**:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子...

这一时期是生物信息学的萌芽阶段,核心特征是理论奠基初步尝试
关键里程碑:
- 1953年:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。
- 1955年:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子的序列可以被"读取"。
- 1965年:中国科学家成功人工合成牛胰岛素结晶,这是人类首次人工合成蛋白质。
- 1968年:玛格丽特·戴霍夫(Margaret Dayhoff)创建了首个蛋白质序列数据库(Atlas of Protein Sequence and Structure),并提出了PAM矩阵(点突变矩阵),为序列比较奠定了数学基础。她被誉为"生物信息学之母"。
- 1973年:伯格(Berg)发现第一个重组DNA,基因工程时代来临。
- 1975年:DNA测序工作正式开启,为后续大规模数据产生铺平道路。
这一时期的生物信息学活动主要是零星的、手工的。科学家们用纸质卡片记录序列,用简单的统计学方法分析数据。但正是这些早期工作,确立了"生物序列可以被计算分析"的核心理念。

查看详情 →
💡

第二阶段:基因组学时期(1976—2001年)

concept

这一时期是生物信息学的**成型阶段**,核心特征是**数据库建立**、**算法开发**和**基因组计划启动**。 **关键里程碑:** - **1977年**:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。 - **1981年**:中国实现酵母丙氨酸转移核糖核酸的人工合成。 - **1985年**:穆利斯(Mullis)创立PCR...

这一时期是生物信息学的成型阶段,核心特征是数据库建立算法开发基因组计划启动
关键里程碑:
- 1977年:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。
- 1981年:中国实现酵母丙氨酸转移核糖核酸的人工合成。
- 1985年:穆利斯(Mullis)创立PCR技术;生物信息学专业期刊CABIOS创刊。
- 1986年:日本核酸序列数据库DDBJ诞生;蛋白质数据库SWISS-PROT建立。
- 1988年:美国国家生物技术信息中心(NCBI)成立,成为生物信息学最重要的基础设施之一。
- 1990年:国际人类基因组计划(HGP)正式启动,预算30亿美元,计划15年完成。这是生物学领域的"登月计划"。
- 1991年:BLAST算法发表,成为生物信息学领域最广泛使用的序列比对工具。
- 1995年:流感嗜血杆菌全基因组序列发布,这是第一个被完全测序的自由生活生物。
- 1996年:酵母基因组完成测序,这是第一个真核生物基因组。
- 1997年:北京大学生物信息学中心(CBI)成立;大肠杆菌基因组完成测序。
- 1998年:克雷格·文特尔(Craig Venter)创立塞莱拉基因组公司,采用鸟枪法测序策略,与公共基因组计划形成竞争。
这一时期,生物信息学从一个边缘领域逐渐走向中心。人类基因组计划产生的海量数据,迫使科学家们开发自动化工具来处理和分析。BLAST、FASTA等序列搜索算法,Clustal多序列比对工具,Phylip进化分析软件等都在这一时期诞生。

查看详情 →
💡

第三阶段:后基因组时期(2002—2012年)

concept

这一时期是生物信息学的**快速发展阶段**,核心特征是**高通量数据**、**多组学整合**和**系统生物学兴起**。 **关键里程碑:** - **2001年**:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。 - **2002年**:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。 - **2003年**:人类基因组计划正式宣布完成;ENCODE计划启...

这一时期是生物信息学的快速发展阶段,核心特征是高通量数据多组学整合系统生物学兴起
关键里程碑:
- 2001年:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。
- 2002年:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。
- 2003年:人类基因组计划正式宣布完成;ENCODE计划启动,旨在识别人类基因组中的所有功能元件。
- 2005年:二代测序技术(NGS)出现,测序成本开始断崖式下降。
- 2006年:癌症基因组图谱计划(TCGA)启动,系统性地对多种癌症进行基因组分析。
- 2007年:世界首份"个人版"基因图谱完成,个体化基因组时代来临;人体微生物组计划(HMP)启动。
- 2009年:汤富酬发表单细胞转录组测序技术,开启了单细胞组学时代。
- 2010年:外显子测序技术成熟,三代测序技术出现。
- 2012年:CRISPR/Cas基因编辑系统的应用发表;英国启动十万人基因组计划。
这一时期,二代测序技术(Illumina平台为代表)的普及使得数据产量呈指数级增长。一个实验室一天就能产生相当于整个人类基因组计划的数据量。生物信息学从"辅助基因组计划"变成了所有生命科学研究都离不开的核心工具。

查看详情 →
💡

第四阶段:大数据与人工智能时期(2013年至今)

concept

这一时期是生物信息学的**智能化阶段**,核心特征是**深度学习应用**、**多模态数据整合**和**精准医学实践**。 **关键里程碑:** - **2013年**:人类脑计划启动。 - **2015年**:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。 - **2016年**:深圳国家基因库CNGB正式运营;空间转录组学技术发展。 - **2017年**:"中国十万人基因组计划"启动...

这一时期是生物信息学的智能化阶段,核心特征是深度学习应用多模态数据整合精准医学实践
关键里程碑:
- 2013年:人类脑计划启动。
- 2015年:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。
- 2016年:深圳国家基因库CNGB正式运营;空间转录组学技术发展。
- 2017年:"中国十万人基因组计划"启动;人类细胞图谱计划启动。
- 2018年:单细胞水平细胞谱系追踪技术出现;小麦基因组图谱历经13年绘制完成。
- 2019年:国家基因组科学数据中心(NGDC)成立。
- 2020年:AlphaFold2在蛋白质结构预测大赛CASP14中获得历史性突破,解决了困扰生物学界50年的蛋白质折叠问题。
- 2021年:AlphaFold2成功预测98.5%的人类蛋白质结构。
- 2022年:ChatGPT发布,大语言模型开始影响科学研究方式;人类基因组计划最后8%的空缺(端粒等复杂区域)被填补。
- 2024年:AlphaFold2获得诺贝尔化学奖,这是生物信息学领域首次获得诺贝尔奖,标志着该学科得到国际最高学术认可;AlphaFold3发布,能够预测蛋白质-DNA、蛋白质-RNA复合物结构。
这一时期,人工智能特别是深度学习与生物信息学的融合成为最显著的特征。AlphaFold系列的成功证明,AI不仅可以加速数据分析,还能解决传统计算方法难以攻克的生物学难题。


查看详情 →
💡

1.3 生物信息学的研究领域

section
查看详情 →
💡

1.3.1 生物学研究领域

concept

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

查看详情 →
💡

生物化学与分子生物学

concept

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。 **核心应用包括:** - **基因识别与注释**:通过计算算法从基因组序列中识别基因的位置、结构和功能 - **蛋白质功能预测**:基于序列相似性推断未知蛋白质的功能 - **序列 motif 发现**:识别DNA...

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。
核心应用包括:
- 基因识别与注释:通过计算算法从基因组序列中识别基因的位置、结构和功能
- 蛋白质功能预测:基于序列相似性推断未知蛋白质的功能
- 序列 motif 发现:识别DNA或蛋白质序列中的保守模式(如转录因子结合位点)
- 分子进化分析:重建基因和蛋白质家族的进化历史
由于生物功能的主要体现者是蛋白质和其他各类生物分子,研究它们的生成过程、修饰加工、转运定位、结构变化、相互作用等活动,将推动对生物分子的功能、表达和调控的理解。生物信息学通过计算模拟,可以预测蛋白质的三维结构、分子间的相互作用界面,为实验设计提供指导。

查看详情 →
💡

细胞生物学

concept

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。 **生物信息学在细胞生物学中的应用:** - **单细胞组学分析**:利用单细胞测序技术,解析细胞异质性和发育轨迹 - **信号通路重构**:整合多组学数据,构建细胞内的信号传导网络 - **细胞间通信分析**:通过配体-受体分析推断细胞间的相互作用 - **空间转录组分析**:将基因表达信息映射到组织的...

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。
生物信息学在细胞生物学中的应用:
- 单细胞组学分析:利用单细胞测序技术,解析细胞异质性和发育轨迹
- 信号通路重构:整合多组学数据,构建细胞内的信号传导网络
- 细胞间通信分析:通过配体-受体分析推断细胞间的相互作用
- 空间转录组分析:将基因表达信息映射到组织的物理位置
生物信息学可以利用单细胞组学数据并整合基因组、表观组、转录组、蛋白质组等多组学数据,解析细胞内的信号通路传导与基因/蛋白质相互作用以及细胞间的信号通信,探索细胞、组织、器官、系统、生物体等不同尺度下生命活动的原理和调控方式。

查看详情 →
💡

遗传与发育生物学

concept

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。 **关键应用方向:** - **GWAS分析**:全基因组关联研究,识别人类复杂疾病的易感位点 - **表观遗传学分析**:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读 - **发育轨迹推断**:通过单细胞测序重建胚胎发育过程中的细胞分化路径 - **基因调控网络**:识别关键调控元件,理解基因组、表观基因组和环境...

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。
关键应用方向:
- GWAS分析:全基因组关联研究,识别人类复杂疾病的易感位点
- 表观遗传学分析:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读
- 发育轨迹推断:通过单细胞测序重建胚胎发育过程中的细胞分化路径
- 基因调控网络:识别关键调控元件,理解基因组、表观基因组和环境之间的动态相互作用
一个受精卵是如何从单细胞发育、分化为大量不同类型的细胞、组织和器官,最终构成一个完整的生命体,这一直是生物学领域中一个很大的谜团。通过结合多组学分析,我们得以揭开胚胎按照精确的时间顺序发展的秘密,预测和模拟胚胎发育的潜在模式。此外,我们还能分析环境因素如何影响胚胎发展,并探讨这些影响如何在遗传水平上被传递及其对后代可能产生的效应。

查看详情 →
💡

生理学

concept

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。 **生物信息学在生理学中的新兴应用:** - **3D器官重构**:基于成像数据构建器官的三维结构模型 - **动态功能模拟**:利用数学模型模拟生理过程(如心脏跳动、血流动力学) - **影像组学分析**:结合高分辨率影像测量技术,提取生物标志物 - **系统生理学建模**:整合多尺度数据,构...

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。
生物信息学在生理学中的新兴应用:
- 3D器官重构:基于成像数据构建器官的三维结构模型
- 动态功能模拟:利用数学模型模拟生理过程(如心脏跳动、血流动力学)
- 影像组学分析:结合高分辨率影像测量技术,提取生物标志物
- 系统生理学建模:整合多尺度数据,构建从分子到器官的系统模型
如今,单细胞测序、空间转录组等生物技术的发展,为生理学研究带来了细胞和分子层面的丰富信息。同时,高分辨率影像测量技术和控制与计算技术结合生物信息学、人工智能,能够对生物体进行计算机数学建模,帮助理解复杂的生理过程。

查看详情 →
💡

微生物学

concept

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。 **生物信息学在微生物学中的核心应用:** - **宏基因组分析**:直接从环境样品中提取全部DNA,分析微生物群落组成 - **16S/18S rRNA分析**:通过保守的核糖体RNA基因识别和分类微生物 - **微生物代谢网络**:重构微生物的代谢途径,预测代谢能力 - **病原...

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。
生物信息学在微生物学中的核心应用:
- 宏基因组分析:直接从环境样品中提取全部DNA,分析微生物群落组成
- 16S/18S rRNA分析:通过保守的核糖体RNA基因识别和分类微生物
- 微生物代谢网络:重构微生物的代谢途径,预测代谢能力
- 病原微生物基因组学:追踪病原体的变异和进化,预测耐药性和毒力
- 微生物组学(Microbiome):研究微生物群落与宿主健康的相互作用
现代微生物学中,生物信息学已经成为不可或缺的工具。测序、序列比对、系统发育分析、机器学习等技术以及宏基因组、微生物代谢组、16S/18S rRNA分析等生物信息分析方法,在环境微生物学、微生物生态学、病原生物学、微生物工程等不同分支中发挥着重要作用。

查看详情 →
💡

神经生物学

concept

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。 **生物信息学在神经生物学中的应用:** - **脑基因表达图谱**:利用先进计算工具分析数百万神经元及其群体的基因表达数据 - **神经影像分析**:处理和分析fMRI、EEG等神经影像数据 - **神经网络建模**:构建神经元和神经环路的计算模型 - **认知科学计算模型**:利用深度学习理解大脑信息处理机制 长期以来,借...

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。
生物信息学在神经生物学中的应用:
- 脑基因表达图谱:利用先进计算工具分析数百万神经元及其群体的基因表达数据
- 神经影像分析:处理和分析fMRI、EEG等神经影像数据
- 神经网络建模:构建神经元和神经环路的计算模型
- 认知科学计算模型:利用深度学习理解大脑信息处理机制
长期以来,借助神经解剖、神经生理、神经病理以及临床医学研究,已获取了海量有关脑结构与功能的数据。神经影像技术与生物信息学的融合,为研究大脑结构和功能提供了新途径。深度学习技术与生物信息学的结合,也为理解大脑信息处理机制以及认知科学和人工智能领域提供了崭新的理论框架。

查看详情 →
💡

其他重要领域

concept

**生态学(Ecology)**:利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。 **植物学(Phytology)**:植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。 **动物学(Zoology)**:动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。 **免疫学(Immunology)**:免疫组库测序(TCR/BCR-...

生态学(Ecology):利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。
植物学(Phytology):植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。
动物学(Zoology):动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。
免疫学(Immunology):免疫组库测序(TCR/BCR-seq);MHC-肽段结合预测;疫苗设计。
进化生物学(Evolutionary Biology):系统发育树构建;分子进化速率计算;适应性进化检测。

查看详情 →
💡

1.3.2 生物信息学研究内容

concept

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

查看详情 →
💡

序列分析

concept

序列分析是生物信息学最经典、最核心的内容。 **主要研究内容包括:** - **序列比对**:比较两条或多条序列的相似性,识别保守区域和变异位点 - **基因预测**:从基因组DNA序列中识别基因的位置和结构 - **序列搜索**:在大型数据库中搜索与查询序列相似的序列(如BLAST) - **Motif发现**:识别序列中的保守模式(如转录因子结合位点) - **序列拼接**:将短序列片段组装成...

序列分析是生物信息学最经典、最核心的内容。
主要研究内容包括:
- 序列比对:比较两条或多条序列的相似性,识别保守区域和变异位点
- 基因预测:从基因组DNA序列中识别基因的位置和结构
- 序列搜索:在大型数据库中搜索与查询序列相似的序列(如BLAST)
- Motif发现:识别序列中的保守模式(如转录因子结合位点)
- 序列拼接:将短序列片段组装成连续的基因组序列
序列分析的基础假设是"序列决定结构,结构决定功能"——相似的序列往往具有相似的功能。这一假设构成了生物信息学中"通过同源性推断功能"(homology-based function prediction)的基石。

查看详情 →
💡

结构分析

concept

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括: - **蛋白质结构预测**:从氨基酸序列预测三维结构(如AlphaFold) - **RNA结构预测**:预测RNA的二级和三级结构 - **分子对接**:预测小分子药物与蛋白质靶点的结合模式 - **分子动力学模拟**:模拟生物大分子的动态行为 - **结构比对**:比较不同蛋白质的结构相似性,识别结构域 蛋白质结构预测被生物信息...

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括:
- 蛋白质结构预测:从氨基酸序列预测三维结构(如AlphaFold)
- RNA结构预测:预测RNA的二级和三级结构
- 分子对接:预测小分子药物与蛋白质靶点的结合模式
- 分子动力学模拟:模拟生物大分子的动态行为
- 结构比对:比较不同蛋白质的结构相似性,识别结构域
蛋白质结构预测被生物信息学先驱Michael Levitt称为"生物信息学的圣杯",而2024年AlphaFold2的诺贝尔奖正是对这一领域里程碑式成就的肯定。

查看详情 →
💡

功能分析

concept

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。 **主要内容包括:** - **功能注释**:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等) - **表达分析**:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等) - **通路分析**:将基因列表映射到生物学通路,理解系统性功能变化 - **相互作用网络**:构建蛋白质-蛋白质相互作用(PPI)网...

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。
主要内容包括:
- 功能注释:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等)
- 表达分析:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等)
- 通路分析:将基因列表映射到生物学通路,理解系统性功能变化
- 相互作用网络:构建蛋白质-蛋白质相互作用(PPI)网络、基因调控网络
- 表型关联分析:将基因型与表型关联,理解遗传基础

查看详情 →
💡

数据资源与算法工具

concept

生物信息学的发展离不开数据资源和算法工具的积累。 **主要数据库:** - **核酸序列数据库**:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟 - **蛋白质数据库**:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构) - **基因组数据库**:Ensembl、UCSC Genome Browser、NCBI Genome - **通路数据...

生物信息学的发展离不开数据资源和算法工具的积累。
主要数据库:
- 核酸序列数据库:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟
- 蛋白质数据库:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构)
- 基因组数据库:Ensembl、UCSC Genome Browser、NCBI Genome
- 通路数据库:KEGG、Reactome、WikiPathways
- 疾病数据库:OMIM、ClinVar、GWAS Catalog
- 单细胞数据库:Cell Atlas、Single Cell Portal
算法工具开发:
- 生物信息学领域已发展了数以万计的软件工具
- 工具开发遵循"开源、共享"的文化传统
- 生物信息学社区通过BioConductor(R)、Biopython(Python)、Galaxy(Web平台)等项目推动工具的标准化和可重复性


查看详情 →
💡

1.4 生物信息学的算法基础

section
查看详情 →
💡

1.4.1 降维算法

concept

**为什么需要降维?** 生物数据通常具有"高维"特征。例如: - 一个RNA-Seq实验可能测量2万多个基因的表达 - 一个基因组变异研究可能检测数百万个SNP位点 - 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达 维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。 **主成分分析(PCA)**: - **原理**:寻找数据...

为什么需要降维?
生物数据通常具有"高维"特征。例如:
- 一个RNA-Seq实验可能测量2万多个基因的表达
- 一个基因组变异研究可能检测数百万个SNP位点
- 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达
维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。
主成分分析(PCA)
- 原理:寻找数据中方差最大的方向,将数据投影到这些方向上
- 类比:想象一个三维的云朵,PCA找到云朵"最长"和"次长"的两个方向,将其投影到二维平面上
- 生物应用:基因表达数据可视化、群体遗传结构分析(如PCA用于推断人群祖先成分)、批次效应校正
- 优点:无监督、计算高效、结果可解释
- 局限:只能捕获线性关系
t-SNE(t-分布随机邻域嵌入)
- 原理:在高维空间中"相近"的样本,在低维空间中也应该"相近";优化低维表示使得这种"邻近关系"尽可能保持
- 类比:把一张揉皱的地图展平,尽量保持邻近城市的相对位置
- 生物应用:单细胞RNA-Seq数据可视化(如Seurat包中的标准流程)、细胞类型识别、发育轨迹推断
- 优点:擅长揭示非线性结构、可视化效果好
- 局限:计算成本高、结果随机性强、全局结构保持不佳
UMAP(统一流形近似与投影)
- 原理:基于流形学习(manifold learning)和拓扑数据分析,保持数据的局部和全局结构
- 生物应用:单细胞数据降维、空间转录组数据可视化
- 优点:比t-SNE更快、能更好地保持全局结构、更稳定
- 局限:参数调优较复杂
选择建议:PCA适合初步探索和线性结构;t-SNE适合精细可视化;UMAP是二者的折中,是目前单细胞分析的首选。

查看详情 →
💡

1.4.2 聚类算法

concept

**为什么需要聚类?** 聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。 **K-Means聚类**: - **原理**:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点 - **类比**:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直...

为什么需要聚类?
聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。
K-Means聚类
- 原理:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点
- 类比:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直到稳定
- 生物应用:基因表达模式聚类、患者分型、微生物群落分类
- 优点:简单、高效
- 局限:需要预先指定K值、对初始值敏感、假设簇是球形
层次聚类(Hierarchical Clustering)
- 原理:自底向上(凝聚)或自顶向下(分裂)地构建树状结构
- 类比:从每片叶子(单个样本)开始,不断合并"最相似"的两组,直到形成一棵树
- 生物应用:基因表达热图(heatmap)的标准聚类方法、进化树构建、样本关系分析
- 优点:不需要预先指定类别数、输出树状图(dendrogram)直观展示关系
- 局限:计算复杂度高、对噪声敏感
DBSCAN(基于密度的聚类)
- 原理:将"高密度区域"识别为簇,可以自动发现任意形状的簇
- 生物应用:发现细胞亚群、识别异常样本
- 优点:能发现任意形状的簇、自动识别噪声
- 局限:对密度不均匀的数据效果不佳
聚类在生物信息学中的经典应用
- 基因共表达网络:聚类表达模式相似的基因,推断功能模块
- 癌症分子分型:基于基因表达谱将癌症患者分为不同亚型,指导治疗
- 细胞类型鉴定:聚类单细胞数据,发现新的细胞类型

查看详情 →
💡

1.4.3 分类算法

concept

**为什么需要分类?** 分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。 **决策树(Decision Tree)**: - **原理**:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别 - **类比**:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可...

为什么需要分类?
分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。
决策树(Decision Tree)
- 原理:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别
- 类比:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可能是..."
- 生物应用:疾病诊断决策、基因功能分类、突变有害性预测(如SIFT、PolyPhen)
- 优点:可解释性强、不需要数据标准化
- 局限:容易过拟合、对数据变化敏感
支持向量机(SVM)
- 原理:在高维空间中寻找一个超平面,使不同类别的样本间隔最大化
- 类比:想象两类水果(苹果和橙子),SVM找到一条"最宽"的分界线,把两类水果分开
- 生物应用:蛋白质分类、疾病亚型识别、基因选择
- 优点:在高维空间表现好、泛化能力强
- 局限:大数据集训练慢、核函数选择困难
随机森林(Random Forest)
- 原理:构建多棵决策树,每棵树用随机抽样的样本和特征训练,最后投票决定分类
- 类比:让一个"专家委员会"(多棵树)投票决定,每个专家看问题的角度不同(随机特征),综合结果更稳健
- 生物应用:特征选择(识别重要基因)、疾病风险预测、蛋白质-蛋白质相互作用预测
- 优点:准确率高、能评估特征重要性、不易过拟合
- 局限:模型复杂、训练时间长
深度学习(Deep Learning)
- 原理:多层神经网络自动学习特征表示
- 生物应用:蛋白质结构预测(AlphaFold)、基因表达调控预测、药物分子生成、病理图像诊断
- 优点:表示能力强、自动特征提取
- 局限:需要大量训练数据、计算成本高、可解释性差("黑箱"问题)
分类算法选择建议
- 小样本、需要可解释性:决策树、SVM
- 大数据、追求准确率:随机森林、深度学习
- 生物信息学实际问题:往往需要尝试多种方法,交叉验证选择最优

查看详情 →
💡

1.4.4 回归算法

concept

**为什么需要回归?** 回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。 **线性回归(Linear Regression)**: - **原理**:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面) - **公式**:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ - **类比**:根据房屋面积、地段等特征,预测房价 - **生物应...

为什么需要回归?
回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。
线性回归(Linear Regression)
- 原理:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面)
- 公式:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ
- 类比:根据房屋面积、地段等特征,预测房价
- 生物应用:基因表达量预测、表型-基因型关联分析、药物剂量-效应关系
- 优点:简单、可解释、理论基础扎实
- 局限:只能捕获线性关系、对异常值敏感
逻辑回归(Logistic Regression)
- 原理:虽然名字里有"回归",但它用于分类——通过sigmoid函数将线性输出映射到0-1概率
- 公式:P(y=1|x) = 1 / (1 + e^-(β₀ + β₁x₁ + ...))
- 生物应用:疾病风险预测(如根据SNP预测患病概率)、临床诊断模型
- 优点:输出概率、可解释性强、计算高效
- 局限:只能处理线性可分问题
LASSO回归(Least Absolute Shrinkage and Selection Operator)
- 原理:在普通回归的基础上加入L1正则化,使部分系数变为0,实现特征选择
- 类比:像一位严格的编辑,不仅要文章写得准(拟合数据),还要尽量简洁(减少用词),把不重要的词直接删掉(系数变为0)
- 生物应用:高维基因数据的特征选择(从数万个基因中筛选出与疾病相关的关键基因)、构建稀疏预测模型
- 优点:自动特征选择、防止过拟合、模型可解释
- 局限:高度相关特征中只选一个
岭回归(Ridge Regression)
- 原理:L2正则化,使系数尽量小但不为0
- 与LASSO的区别:LASSO做"选择"(删去不重要特征),岭回归做"收缩"(让所有特征都参与但权重更小)
- 生物应用:共线性严重的基因数据(如通路中的基因)
弹性网络(Elastic Net)
- 原理:LASSO和岭回归的结合,同时具有L1和L2正则化
- 生物应用:高维基因数据,特别是特征数远大于样本数时(p >> n问题)

查看详情 →
💡

1.4.5 统计分析

concept

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。 **假设检验**: - **核心问题**:观察到的差异是"真实存在"还是"随机波动"? - **p值**:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著" - **生物应用**:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较 - **注意事项**:p值不是...

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。
假设检验
- 核心问题:观察到的差异是"真实存在"还是"随机波动"?
- p值:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著"
- 生物应用:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较
- 注意事项:p值不是"差异有多大",而是"证据有多强";需要结合效应量(effect size)解释结果
多重检验校正
- 问题:当同时进行数千次检验(如检测2万个基因的差异表达)时,即使零假设成立,也有约5%的检验会"偶然"显著(假阳性)
- Bonferroni校正:将阈值除以检验次数,非常严格但损失统计功效
- FDR(False Discovery Rate)校正:控制假阳性比例,如Benjamini-Hochberg方法
- 生物应用:全基因组关联研究(GWAS)、RNA-Seq差异表达分析
- 重要性:不进行多重检验校正,差异表达分析几乎总会"发现"大量假阳性基因
方差分析(ANOVA)
- 原理:比较三组或更多组之间的均值差异,分解变异来源
- 生物应用:多组实验比较(如三种药物处理下的基因表达差异)、批次效应评估
- 类型:单因素ANOVA(一个分组变量)、双因素ANOVA(两个分组变量,如处理+时间)
非参数检验
- 何时使用:数据不满足正态分布、样本量小、存在异常值
- 常用方法:Mann-Whitney U检验(两组比较)、Kruskal-Wallis检验(多组比较)、Wilcoxon符号秩检验(配对样本)
- 生物应用:基因表达数据(通常不服从正态分布)、微生物组数据(计数数据,偏态分布)
- 优点:不假设数据分布、稳健
- 局限:统计功效通常低于参数检验
生存分析(Survival Analysis)
- 核心:分析"事件发生时间"(如死亡、复发、转移)
- Kaplan-Meier曲线:直观展示不同组别的生存概率
- Cox比例风险模型:评估协变量对风险率的影响
- 生物应用:临床预后分析(根据基因表达预测患者生存时间)、药物临床试验
统计学习在生物信息学中的趋势
- 从"统计显著"到"生物学意义":不仅看p值,还关注效应量、临床意义
- 贝叶斯方法:结合先验知识(如通路信息、蛋白质相互作用)进行推断,在生物信息学中越来越重要
- 可重复性危机:生物信息学领域正加强统计方法的规范使用,提高结果可重复性


查看详情 →
💡

1.5 生物信息学的机遇与挑战

section
查看详情 →
💡

1.5.1 生物信息学的机遇

concept
查看详情 →
💡

人工智能与深度学习的深度融合

concept

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长: **蛋白质科学与结构生物学**: - AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱 - AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物 - 基于深度学习的蛋白质设计(如RFdiffusio...

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长:
蛋白质科学与结构生物学
- AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱
- AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物
- 基于深度学习的蛋白质设计(如RFdiffusion、ProteinMPNN)可以从头设计具有特定功能的蛋白质
- 蛋白质语言模型(如ESM-2、ProGen)学习蛋白质序列的"语法",预测突变效应和蛋白质功能
基因组学与变异解读
- 深度学习模型(如DeepVariant、Clair3)在变异检测精度上已超越传统方法
- 大规模语言模型(如Enformer、Basenji2)预测基因调控和染色质可及性
- 利用AI从DNA序列直接预测基因表达和表型
药物研发与分子设计
- 生成式AI(如扩散模型)可以设计全新的药物分子
- AI预测分子与靶点的结合亲和力,加速药物筛选
- 临床试验患者招募和结果预测
多组学整合
- 深度学习能够同时处理基因组、转录组、蛋白质组等多模态数据
- 图神经网络(GNN)用于建模生物分子网络(如蛋白质相互作用网络、代谢网络)
- 自监督学习利用未标注的海量生物数据预训练模型
AI for Science的范式转变
- 从"人工设计特征+传统机器学习"到"端到端深度学习"
- 从"单个任务优化"到"基础模型+微调"(如生物信息学基础模型)
- 大语言模型(LLM)辅助生物学知识发现(如GPT-4在文献挖掘和假设生成中的应用)

查看详情 →
💡

数据资源的指数级增长与开放共享

concept

**数据规模**: - 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍 - 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱 - 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据 **数据开放**: - FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化 - 数据...

数据规模
- 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍
- 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱
- 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据
数据开放
- FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化
- 数据共享平台(如GEO、ArrayExpress、Zenodo)使科学数据可重复利用
- 国际合作项目(如人类基因组计划、人类细胞图谱、地球微生物组计划)产生开放参考数据集
数据价值
- 数据驱动的发现(如从海量GWAS数据中发现新的疾病基因)
- 数据整合产生新知识(如整合多队列数据验证发现的可靠性)
- 历史数据再利用(如对20年前的微阵列数据重新分析,发现新的生物学见解)

查看详情 →
💡

精准医学与临床转化需求

concept

**精准医学**: - 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选) - 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型) - 罕见病诊断:全外显子/全基因组测序快速锁定致病基因 **临床生物信息学**: - 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测 - 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向...

精准医学
- 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选)
- 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型)
- 罕见病诊断:全外显子/全基因组测序快速锁定致病基因
临床生物信息学
- 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测
- 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向治疗)
- 感染病原快速鉴定:宏基因组测序(mNGS)从患者样本中直接检测病原体
公共卫生
- 病原体基因组监测(如COVID-19变异株追踪)
- 流行病学建模与预测
- 耐药性监测与预警

查看详情 →
💡

新兴技术的发展

concept

**单细胞与空间组学**: - 单细胞测序从"看见细胞群体"到"看见单个细胞" - 空间组学从"知道表达了什么"到"知道在哪里表达" - 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平 **三代测序**: - 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题 - 直接检测DNA/RNA修饰(如甲基化)无需化学转化 - 实时测序、便携设备...

单细胞与空间组学
- 单细胞测序从"看见细胞群体"到"看见单个细胞"
- 空间组学从"知道表达了什么"到"知道在哪里表达"
- 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平
三代测序
- 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题
- 直接检测DNA/RNA修饰(如甲基化)无需化学转化
- 实时测序、便携设备(如MinION)实现现场测序
基因编辑与合成生物学
- CRISPR-Cas9的广泛应用产生大量编辑数据,需要生物信息学分析编辑效率和脱靶效应
- 合成生物学设计新生物系统,需要生物信息学工具进行设计-构建-测试-学习(DBTL)循环
- 基因线路设计与优化

查看详情 →
💡

1.5.2 生物信息学的挑战

concept
查看详情 →
💡

数据挑战

concept

**数据质量与标准化**: - 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应) - 数据格式多样,缺乏统一标准,数据整合困难 - 元数据(metadata)记录不完整,影响数据的可理解性和可重复性 - 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果 **数据规模与计算资源**: - 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据 - 存储、...

数据质量与标准化
- 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应)
- 数据格式多样,缺乏统一标准,数据整合困难
- 元数据(metadata)记录不完整,影响数据的可理解性和可重复性
- 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果
数据规模与计算资源
- 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据
- 存储、传输、计算成本高昂,对基础设施提出巨大挑战
- 实时分析需求(如临床诊断)与计算复杂度的矛盾
数据隐私与伦理
- 基因组数据包含个人身份信息,隐私保护至关重要
- 跨国数据共享面临法律和政策障碍(如GDPR、数据主权)
- 基因歧视风险:保险公司、雇主可能利用基因信息歧视个体
- 数据安全:生物数据库成为网络攻击的潜在目标
数据复杂性
- 生物数据的高维性(特征数远超样本数)导致统计分析的困难
- 数据的异质性:不同来源、不同技术平台的数据难以直接比较
- 生物系统的复杂性:基因-环境相互作用、表观遗传修饰、微生物组影响等增加了数据解读的难度

查看详情 →
💡

算法挑战

concept

**可解释性(Interpretability)**: - 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难 - 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求) - 如何平衡模型性能与可解释性是一个核心挑战 **泛化能力(Generalization)**: - 生物数据存在严重的批次效应和技术平台差异 - 在一个数据集上训练的模型,往往无法直接应用于...

可解释性(Interpretability)
- 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难
- 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求)
- 如何平衡模型性能与可解释性是一个核心挑战
泛化能力(Generalization)
- 生物数据存在严重的批次效应和技术平台差异
- 在一个数据集上训练的模型,往往无法直接应用于另一个数据集
- 领域适应(Domain Adaptation)和迁移学习在生物信息学中至关重要
小样本问题
- 生物医学实验成本高,样本量通常有限(几十到几百)
- 特征维度高(数万到数百万),样本量小,导致"维度灾难"
- 如何在小样本条件下训练可靠的模型?
因果推断(Causality)
- 大多数生物信息学分析只能发现相关性,而非因果关系
- 从"基因X与疾病Y相关"到"基因X导致疾病Y"需要严格的因果推断
- 孟德尔随机化(Mendelian Randomization)等方法正在被广泛采用,但仍有局限
多组学整合
- 如何有效整合基因组、转录组、蛋白质组、代谢组等不同层次的数据?
- 不同组学数据具有不同的尺度、分布和噪声特征
- 缺乏统一的多组学整合理论框架

查看详情 →
💡

人才与教育挑战

concept

**跨学科人才培养困难**: - 生物信息学需要生物学、计算机科学、统计学的交叉知识 - 传统教育体系培养的学生往往只精通一个领域 - 既懂生物学问题又懂计算方法的复合型人才严重短缺 **技术迭代快速**: - 生物信息学工具和技术更新极快,学习者需要持续学习 - 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂 - 教育体系难以跟上技术发展的步伐 **计算与实验的脱节**: - 计算生物学家...

跨学科人才培养困难
- 生物信息学需要生物学、计算机科学、统计学的交叉知识
- 传统教育体系培养的学生往往只精通一个领域
- 既懂生物学问题又懂计算方法的复合型人才严重短缺
技术迭代快速
- 生物信息学工具和技术更新极快,学习者需要持续学习
- 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂
- 教育体系难以跟上技术发展的步伐
计算与实验的脱节
- 计算生物学家和实验生物学家之间往往存在沟通障碍
- 计算人员缺乏生物学直觉,实验人员缺乏计算思维
- 需要培养"双语人才"——既能与生物学家讨论科学问题,又能与计算机科学家讨论算法设计

查看详情 →
💡

应用转化挑战

concept

**从基础研究到临床应用的鸿沟**: - 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证 - 临床试验成本高、周期长,许多计算预测难以进入临床 - 监管政策滞后于技术发展(如AI医疗设备的审批流程) **结果可重复性**: - 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择 - 许多已发表的研究结果难以重复 - 需要建立标准化的分析流程(如Best Practices)和...

从基础研究到临床应用的鸿沟
- 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证
- 临床试验成本高、周期长,许多计算预测难以进入临床
- 监管政策滞后于技术发展(如AI医疗设备的审批流程)
结果可重复性
- 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择
- 许多已发表的研究结果难以重复
- 需要建立标准化的分析流程(如Best Practices)和可重复性研究环境(如Docker、Conda)
成本与效益的平衡
- 基因组测序成本虽已大幅下降,但全基因组分析、存储和解读的综合成本仍然较高
- 精准医学的效益需要长期验证,短期内难以体现
- 资源分配:在有限的医疗预算中,生物信息学驱动的精准医疗能否带来足够的健康收益?

查看详情 →
💡

1.5.3 结语

concept

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。 然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括: 1. **自动化与智能化**:从"手动编写...

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。
然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括:
1. 自动化与智能化:从"手动编写分析脚本"到"自动化分析流程"(如Snakemake、Nextflow),再到"智能分析助手"(LLM辅助分析)
2. 可解释AI:发展既能保持高性能又具有生物学可解释性的AI方法,让黑箱变透明
3. 标准化与可重复性:建立分析流程、数据格式、软件环境的行业标准,提高研究可重复性
4. 教育与培训:改革教育体系,培养更多跨学科人才;发展在线教育资源和虚拟实践平台
5. 临床整合:推动生物信息学从基础研究走向临床实践,建立从样本采集到报告解读的标准化流程
6. 伦理与法规:制定数据共享、隐私保护、AI应用的伦理准则和法规框架
7. 全球合作:加强国际合作,建立全球生物数据共享和标准化体系
生物信息学的未来,不仅是技术的未来,更是科学的未来。在这个数据驱动的时代,生物信息学将继续扮演连接生物学、计算机科学和医学的桥梁角色,推动人类对生命本质的理解,最终造福人类健康和社会福祉。


查看详情 →
💡

第10章 表型组学

chapter
查看详情 →
💡

10.1 表型组学概述

section
查看详情 →
💡

10.2 表型组学数据

section
查看详情 →
💡

10.3 表型组学的数据分析

section
查看详情 →
💡

10.4 表型组学的应用

section
查看详情 →
💡

10.5 总结与展望

section
查看详情 →
💡

第11章 系统生物学

chapter
查看详情 →
💡

11.1 系统生物学概述

section
查看详情 →
💡

11.2 生物网络类型及数据资源

section
查看详情 →
💡

11.3 生物分子网络及特征

section
查看详情 →
💡

第12章 生物信息学应用

chapter
查看详情 →
💡

12.1 精准医学

section
查看详情 →
💡

基因组医学的原理

concept

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析: 1. **变异检测**:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。 2. *...

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析:
1. 变异检测:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。
2. 变异注释:使用ANNOVAR、VEP(Variant Effect Predictor)等工具对检测到的变异进行功能注释,判断变异位于基因组的什么位置(编码区、非编码区、调控区)、是否改变氨基酸序列(同义突变、错义突变、无义突变、移码突变)等。
3. 致病性评估:结合人群频率数据库(如gnomAD)、致病性预测工具(如SIFT、PolyPhen-2、CADD)和临床数据库(如ClinVar、OMIM),评估变异的致病可能性。
4. 多组学整合:将基因组数据与转录组(RNA-seq)、蛋白质组、代谢组等数据整合,构建全面的分子图谱。

查看详情 →
💡

肿瘤基因组学的原理

concept

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括: 1. **肿瘤-正常配对分析**:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。 2. **突变特征分析**:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺...

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括:
1. 肿瘤-正常配对分析:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。
2. 突变特征分析:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺陷)会产生特定的突变模式,称为突变特征(mutational signatures)。通过分解突变谱,可以推断肿瘤的致突变因素。
3. 驱动突变识别:并非所有突变都对肿瘤发展有贡献。乘客突变(passenger mutations)是随机累积的,而驱动突变(driver mutations)则赋予细胞生长优势。生物信息学工具如OncodriveCLUST、MutSigCV通过统计方法识别显著的驱动突变。
4. 肿瘤异质性分析:肿瘤内部存在多个亚克隆,每个亚克隆具有不同的突变谱。通过PyClone、SciClone等工具可以重建肿瘤进化树,理解治疗耐药性的产生机制。

查看详情 →
💡

药物基因组学的原理

concept

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控: 1. **药物代谢酶**:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。 2. **药物转运体**:ABCB1(MDR1)、SLC...

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控:
1. 药物代谢酶:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。
2. 药物转运体:ABCB1(MDR1)、SLCO1B1等转运体基因的多态性影响药物的吸收和分布。
3. 药物靶点:VKORC1基因变异影响华法林的靶点敏感性,决定抗凝治疗剂量。
4. 剂量预测模型:基于患者的基因型和临床特征(年龄、体重、合并用药等),建立剂量预测算法,如华法林剂量预测模型整合VKORC1和CYP2C9基因型信息。

查看详情 →
💡

案例一:新生儿罕见病基因组诊断

concept

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。 分析流程: 1. WES测序(约2×10^7 reads...

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。
分析流程:
1. WES测序(约2×10^7 reads,150bp paired-end)
2. BWA-MEM比对到GRCh38参考基因组
3. GATK HaplotypeCaller检测变异
4. VEP注释变异效应
5. 过滤:保留罕见变异(gnomAD AF<0.01)、蛋白截断或错义变异
6. 候选基因筛选:聚焦代谢疾病相关基因 panel
7. Sanger测序验证突变

查看详情 →
💡

案例二:非小细胞肺癌的精准治疗

concept

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。 融合基因检测流程: 1. RNA-seq数据质控...

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。
融合基因检测流程:
1. RNA-seq数据质控(FastQC)
2. STAR比对(使用chimeric alignment模式)
3. STAR-Fusion或Arriba检测融合基因
4. 可视化验证(IGV查看融合断点)
5. 临床解读(OncoKB数据库查询靶向药物)

查看详情 →
💡

案例三:华法林个体化给药

concept

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C9*1/*3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C91/3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

查看详情 →
💡

12.2 智能药学

section
查看详情 →
💡

药物靶点发现的生物信息学策略

concept

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略: **1. 基因组学方法** - **全基因组关联分析(GWAS)**:通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。 - **表达数量性状位点(eQTL)分析**:将GWAS发现的疾病关联位点与...

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略:
1. 基因组学方法
- 全基因组关联分析(GWAS):通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。
- 表达数量性状位点(eQTL)分析:将GWAS发现的疾病关联位点与基因表达数据整合,推断因果基因。
2. 网络药理学方法
- 疾病模块识别:利用蛋白质相互作用网络(PPI),识别与疾病相关的功能模块。一个理想的药物靶点应位于疾病模块的中心位置(高介数中心性),干扰它可以最大程度地影响疾病进程。
- 网络邻近性分析:计算药物靶点与疾病基因在网络中的距离,预测药物重定位(drug repurposing)的可能性。
3. 多组学整合方法
- 整合基因组、转录组、蛋白质组和代谢组数据,构建多层次的疾病分子图谱,系统性地识别关键节点作为潜在靶点。
- 差异表达分析(如DESeq2、edgeR)识别疾病状态下显著上调或下调的基因。
4. 靶点可药性评估
- 并非所有与疾病相关的蛋白都是好的药物靶点。可药性(druggability)评估考虑:是否有适合小分子结合的口袋、靶点的组织特异性表达、靶向该靶点是否会产生严重毒副作用等。
- 工具如DrugMAP、canSAR数据库提供蛋白质可药性预测。

查看详情 →
💡

计算机辅助药物设计的原理

concept

**基于结构的药物设计(SBDD)** SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为: 1. **靶点结构准备**:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。 2. **活性位点识别**:使用Fpocket、SiteMap等工具预测结合口袋。 3. **虚拟筛选**:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口...

基于结构的药物设计(SBDD)
SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为:
1. 靶点结构准备:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。
2. 活性位点识别:使用Fpocket、SiteMap等工具预测结合口袋。
3. 虚拟筛选:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口袋,根据对接打分排序。
4. 先导化合物优化:基于对接结果和相互作用分析,进行结构修饰以提高活性、选择性和成药性。
基于配体的药物设计(LBDD)
当靶点结构未知时,可以利用已知活性配体的信息:
1. 药效团建模:提取活性分子共同的化学特征(氢键供体/受体、疏水中心、芳环中心)及其空间排布,建立药效团模型,用于数据库搜索。
2. 定量构效关系(QSAR):建立分子描述符与生物活性之间的统计模型,预测新化合物的活性。
3. 分子相似性搜索:基于"相似结构的分子具有相似活性"的原则,在化学空间中搜索与已知活性分子相似的化合物。

查看详情 →
💡

分子对接的原理

concept

分子对接模拟配体与受体的结合过程,包括两个核心问题: **1. 构象搜索(Pose Prediction)** - 在构象空间中搜索配体的最优结合姿态。 - 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。 - 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。 **2. 结合亲和力预测(Scoring...

分子对接模拟配体与受体的结合过程,包括两个核心问题:
1. 构象搜索(Pose Prediction)
- 在构象空间中搜索配体的最优结合姿态。
- 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。
- 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。
2. 结合亲和力预测(Scoring)
- 打分函数评估每个结合姿态的亲和力,用于排序。
- 打分函数类型:
- 力场打分:基于分子力学能量项(范德华力、静电相互作用)
- 经验打分:拟合实验数据得到的加权能量项
- 知识-based打分:基于蛋白质-配体复合物结构数据库的统计势能
- 机器学习打分:使用RF、SVM、CNN等算法学习结构-亲和力关系
常用分子对接软件包括AutoDock Vina、Glide、GOLD、rDock等。

查看详情 →
💡

AI药物设计的原理

concept

**1. 生成式分子设计** - **变分自编码器(VAE)**:学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。 - **生成对抗网络(GAN)**:生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。 - **强化学习(RL)**:将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。 - **扩散模型(Diff...

1. 生成式分子设计
- 变分自编码器(VAE):学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。
- 生成对抗网络(GAN):生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。
- 强化学习(RL):将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。
- 扩散模型(Diffusion Model):目前最先进的生成模型,通过逐步去噪生成高质量分子,在3D分子生成方面表现优异。
2. 分子性质预测
- 图神经网络(GNN):将分子表示为图(原子为节点,键为边),利用消息传递机制学习分子表征,预测生物活性、毒性、药代动力学性质(ADMET)。
- Transformer架构:如ChemBERTa、MolBERT,将SMILES字符串作为输入序列,利用自注意力机制学习化学语言模型。
3. 蛋白质结构预测
- AlphaFold2:利用注意力机制和多序列比对(MSA)实现接近实验精度的蛋白质结构预测,为SBDD提供了前所未有的结构基础。
- RoseTTAFold:另一种高精度蛋白质结构预测方法。

查看详情 →
💡

案例一:COVID-19靶点发现与药物重定位

concept

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点: 1. **基因组注释**:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。 2. **人类-病毒蛋白质相互作用**:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式...

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点:
1. 基因组注释:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。
2. 人类-病毒蛋白质相互作用:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式,预测关键宿主因子(如ACE2受体、TMPRSS2)。
3. 药物重定位:通过网络邻近性分析,筛选已上市药物中可能有效对抗SARS-CoV-2的候选药物。例如,基于病毒-宿主相互作用网络,预测氯喹和瑞德西韦(Remdesivir)可能有效(后续临床试验验证了瑞德西韦的疗效)。
4. 虚拟筛选:以Mpro为靶点,对ZINC数据库进行虚拟筛选,识别潜在抑制剂。德国研究团队通过高通量X射线晶体学筛选,发现了Mpro抑制剂的前导化合物。

# 使用RDKit进行分子对接准备示例
from rdkit import Chem
from rdkit.Chem import AllChem
# 读取配体分子
ligand = Chem.MolFromSmiles("CC(C)Cc1ccc(cc1)C(C)C(=O)O")  # 布洛芬
ligand = Chem.AddHs(ligand)
AllChem.EmbedMolecule(ligand, AllChem.ETKDG())
# 保存为PDB格式用于对接
Chem.MolToPDBFile(ligand, "ligand.pdb")
查看详情 →
💡

案例二:AlphaFold驱动的药物设计——靶向KRAS G12C

algorithm

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。 1. **结构解析**:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。 2. **共价抑制剂设计**:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sot...

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。
1. 结构解析:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。
2. 共价抑制剂设计:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sotorasib(AMG 510)和Adagrasib(MRTX849)通过共价结合Cys12,将KRAS锁定在非活性状态。
3. AI优化:利用机器学习模型预测化合物的选择性、代谢稳定性和口服生物利用度,优化先导化合物。
这一案例展示了从"不可成药"到"可成药"的转变如何依赖于精准的结构信息和计算设计。

查看详情 →
💡

案例三:AI生成全新抗生素——Halicin的发现

concept

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin: 1. **训练数据**:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。 2. **虚拟筛选**:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。 3. **实验验证**:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝...

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin:
1. 训练数据:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。
2. 虚拟筛选:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。
3. 实验验证:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝杆菌)表现出强效杀菌活性,且与现有抗生素无交叉耐药性。
4. 作用机制:后续研究表明Halicin通过干扰细菌的质子动力势发挥作用,这是一种全新的作用机制。

# 使用DeepChem进行分子性质预测示例
import deepchem as dc
from deepchem.models import GraphConvModel
# 加载Tox21毒性数据集
tasks, datasets, transformers = dc.molnet.load_tox21()
train_dataset, valid_dataset, test_dataset = datasets
# 构建图卷积网络模型
model = GraphConvModel(
    n_tasks=len(tasks),
    mode='classification',
    batch_size=64,
    learning_rate=0.001
)
# 训练模型
model.fit(train_dataset, nb_epoch=20)
查看详情 →
💡

12.3 智能育种

section
查看详情 →
💡

基因组选择(GS)的原理

concept

**1. 基本概念** 基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。 假设个体的表型值P可以分解为: P = μ + g + e 其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。 GS的目标是利用标记基因型X来预测遗传效应...

1. 基本概念
基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。
假设个体的表型值P可以分解为:
P = μ + g + e
其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。
GS的目标是利用标记基因型X来预测遗传效应g:
g = Xβ + ε
其中,β为标记效应向量。
2. 统计模型
基因组选择的核心是估计每个标记的效应。由于标记数(p,通常为数千至数百万)远大于个体数(n,数百至数千),传统的最小二乘法无法直接使用,需要借助特殊统计方法:
- 岭回归最佳线性无偏预测(RR-BLUP):假设所有标记效应服从正态分布,通过L2正则化(岭回归)解决过拟合问题。计算速度快,是GS的基准方法。
- 贝叶斯方法(BayesA、BayesB、Bayesian LASSO等):假设标记效应服从不同的先验分布。BayesB假设只有少数标记具有大效应(大部分标记效应为0),更符合真实遗传架构。
- GBLUP(Genomic BLUP):利用标记信息构建基因组关系矩阵G,替代传统的系谱关系矩阵A,进行最佳线性无偏预测。
- 机器学习算法:随机森林(RF)、支持向量机(SVM)、神经网络等也被用于GS,在处理非加性遗传效应时可能优于线性模型。
3. 实施流程
(1) 训练群体构建:选择具有代表性的群体,测定高密度SNP基因型和目标性状表型。
(2) 统计模型训练:利用训练数据估计标记效应。
(3) 育种值预测:对候选个体(仅有基因型)计算GEBV。
(4) 选择决策:根据GEBV排名,选择最优个体进入下一代。
(5) 模型更新:定期用新收集的表型数据更新预测模型,保持预测准确性。
4. 影响预测准确性的因素
- 训练群体大小:一般而言,训练群体越大,预测准确性越高。
- 训练群体与候选群体的亲缘关系:关系越近,预测越准确。
- 性状遗传力:遗传力越高,GS效果越好。
- 标记密度:需要足够密度的标记覆盖全基因组,捕获LD信息。
- 性状遗传架构:由大量微效基因控制的性状更适合GS。

查看详情 →
💡

分子标记辅助育种的原理

concept

**1. QTL定位** 数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。 常用方法: - **单标记分析(SMA)**:检验单个标记与性状的关联 - **区间作图(IM)**:利用两侧标记信息,检测标记区间内的QTL - **复合区间作图(...

1. QTL定位
数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。
常用方法:
- 单标记分析(SMA):检验单个标记与性状的关联
- 区间作图(IM):利用两侧标记信息,检测标记区间内的QTL
- 复合区间作图(CIM):在区间作图基础上,加入背景标记控制多QTL效应
- 全基因组关联分析(GWAS):利用自然群体中的连锁不平衡(LD),不需要构建专门的家系
2. MAS(Marker-Assisted Selection)策略
- 前景选择:利用与目标QTL紧密连锁的标记,选择携带有利等位基因的个体。
- 背景选择:利用全基因组标记,监测轮回亲本的基因组恢复程度,加速回交育种进程。
- 基因聚合(Gene Pyramiding):将多个有利基因/QTL聚合到同一个品种中。
3. 标记类型
从RFLP、AFLP、SSR发展到目前的SNP(单核苷酸多态性)。SNP标记具有密度高、分布广、自动化检测等优点,已成为MAB和GS的主流标记。

查看详情 →
💡

种质资源鉴定的原理

concept

**1. 遗传多样性分析** - **群体结构分析**:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。 - **主成分分析(PCA)**:降维可视化种质间的遗传关系。 - **进化树构建**:基于遗传距离构建系统发育树,揭示种质的亲缘关系。 **2. 核心种质构建** - 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。 - 常用策略:基于遗传...

1. 遗传多样性分析
- 群体结构分析:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。
- 主成分分析(PCA):降维可视化种质间的遗传关系。
- 进化树构建:基于遗传距离构建系统发育树,揭示种质的亲缘关系。
2. 核心种质构建
- 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。
- 常用策略:基于遗传距离的逐步聚类采样、基于等位基因覆盖率的优化算法。
3. 指纹图谱构建
- 利用一组高度多态性的SSR或SNP标记,为每个品种建立独特的DNA指纹。
- 用于品种真实性鉴定、纯度检测和知识产权保护。
4. 优异等位基因发掘
- 通过GWAS或候选基因关联分析,在种质资源中挖掘与重要农艺性状相关的优异等位基因。
- 这些优异等位基因可作为分子标记辅助育种或转基因育种的靶点。

查看详情 →
💡

案例一:玉米基因组选择育种

concept

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测: 1. **训练群体**:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。 2. **模型建立**:使用rrBLUP或BayesB模型训练。 3. **预测应用**:对新合成的杂交组合(仅有基因型)预测配合力。 4. **效果**:GS可将育种周期从传统的5-6年缩短至2-3年,预...

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测:
1. 训练群体:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。
2. 模型建立:使用rrBLUP或BayesB模型训练。
3. 预测应用:对新合成的杂交组合(仅有基因型)预测配合力。
4. 效果:GS可将育种周期从传统的5-6年缩短至2-3年,预测准确性达到0.5-0.8(取决于性状和群体)。

# 使用rrBLUP包进行基因组选择
library(rrBLUP)
# 读取基因型矩阵(n×m,n个体,m标记)和表型
marker_data <- read.table("snps.txt", header=TRUE)
phenotype <- read.table("yield.txt", header=TRUE)
# 训练模型
model <- mixed.solve(y=phenotype$yield, Z=marker_data)
# 预测育种值
gebv <- marker_data %*% model$u
查看详情 →
💡

案例二:水稻分子标记辅助抗病育种

concept

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。 1. **标记开发**:开发与Xa21紧密连锁的PCR标记(如PTA248)。 2. **前景选择**:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。 3. **背景选择**:利用全基因组SNP标记,选择轮回亲本基因...

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。
1. 标记开发:开发与Xa21紧密连锁的PCR标记(如PTA248)。
2. 前景选择:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。
3. 背景选择:利用全基因组SNP标记,选择轮回亲本基因组恢复率最高的个体。
4. 结果:仅需2-3个回交世代即可获得基因组恢复率>95%的抗性近等基因系,而传统回交需要6-7代。

# Xa21前景选择PCR标记检测
# 引物序列:正向 5'-GCTCGATCGATAATGGAAGG-3'
#          反向 5'-TTGGTGATGGTTCGACGAGC-3'
PCR反应体系(20 μL):
- 2× PCR Mix: 10 μL
- 正向引物 (10 μM): 0.5 μL
- 反向引物 (10 μM): 0.5 μL
- DNA模板 (50 ng/μL): 1 μL
- ddH2O: 8 μL
PCR程序:
94°C 5min
[94°C 30s → 55°C 30s → 72°C 1min] × 35 cycles
72°C 7min
预期结果:携带Xa21的个体扩增出约500 bp的条带
查看详情 →
💡

案例三:小麦种质资源的遗传多样性分析

concept

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布: 1. **SNP基因型**:使用35K SNP芯片对约8,000份核心种质进行基因分型。 2. **群体结构**:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。 3. **多样性评估**:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基...

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布:
1. SNP基因型:使用35K SNP芯片对约8,000份核心种质进行基因分型。
2. 群体结构:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。
3. 多样性评估:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基因数(Ne)降低,表明育种过程中存在遗传瓶颈。
4. 核心种质构建:基于等位基因丰富度,从8,000份种质中选择约1,000份核心种质,保留了>95%的等位基因。
5. 优异等位基因发掘:GWAS分析在核心种质中鉴定了与产量、抗病性、品质相关的多个显著位点。

# 使用scikit-allel进行群体遗传分析
import allel
import numpy as np
# 读取VCF文件
callset = allel.read_vcf('wheat_samples.vcf.gz', 
                          fields=['calldata/GT', 'variants/POS', 'samples'])
gt = allel.GenotypeArray(callset['calldata/GT'])
# 计算等位基因频率
ac = gt.count_alleles()
# 计算多态性信息含量(PIC)
n = ac.sum(axis=1)
p = ac[:, 0] / n
q = ac[:, 1] / n
pic = 1 - (p**2 + q**2) - 2 * p**2 * q**2
查看详情 →
💡

12.4 其他应用

section
查看详情 →
💡

合成生物学中的生物信息学原理

concept

**1. 生物元件标准化与表征** 合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元: - **启动子(Promoter)**:控制基因表达的"开关" - **核糖体结合位点(RBS)**:调控翻译起始效率 - **编码序列(CDS)**:编码蛋白质的功能基因 - **终止子(Terminator)**:终止转录的信号 生物信息学通过建立元件库(如iGE...

1. 生物元件标准化与表征
合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元:
- 启动子(Promoter):控制基因表达的"开关"
- 核糖体结合位点(RBS):调控翻译起始效率
- 编码序列(CDS):编码蛋白质的功能基因
- 终止子(Terminator):终止转录的信号
生物信息学通过建立元件库(如iGEM Registry、SynBioHub)和标准化表征数据,使元件可以像电子元件一样被组合使用。
2. 基因线路设计
基因线路是由多个生物元件组成的遗传回路,实现逻辑运算(如AND门、OR门、NOT门):
- 布尔逻辑门:例如,双输入AND门需要两个诱导物同时存在才能激活报告基因表达。
- 振荡器:如repressilator,由三个抑制子基因组成的负反馈环,产生周期性基因表达振荡。
- 双稳态开关:两个相互抑制的基因,使系统可以稳定处于两种状态之一。
生物信息学工具(如Cello、Genetic Constructor)提供图形化界面设计基因线路,并自动转换为DNA序列。
3. 代谢工程与通路设计
代谢工程旨在改造细胞代谢网络,使其高效生产目标化合物:
- 通路搜索:利用KEGG、MetaCyc等数据库,搜索从天然底物到目标产物的已知或潜在代谢路径。
- 通量平衡分析(FBA):利用代谢网络的化学计量矩阵,在稳态假设下(Sv=0),通过线性规划优化目标产物产量。
- 酶选择与优化:在已知反应步骤中,从不同物种中筛选催化效率最高的酶,并通过蛋白质工程(定向进化、理性设计)优化酶性质。
4. DNA序列优化
- 密码子优化:根据宿主细胞的密码子使用偏好,调整外源基因的密码子组成,提高翻译效率。
- mRNA二级结构优化:避免在RBS区域形成发夹结构,保证翻译起始效率。
- 避免重复序列和限制性酶切位点:防止DNA重组和克隆困难。

查看详情 →
💡

生物多样性保护的生物信息学原理

concept

**1. DNA条形码鉴定** -DNA条形码的原理是:物种内遗传距离应远小于物种间距离。 - 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。 - 对于未知物种,构建系统发育树,推断其分类地位。 **2. eDNA Metabarcoding** -eDNA metabarcoding结合了环境采样和高通量测序: (1) 环境DNA提取:从水样、...

1. DNA条形码鉴定
-DNA条形码的原理是:物种内遗传距离应远小于物种间距离。
- 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。
- 对于未知物种,构建系统发育树,推断其分类地位。
2. eDNA Metabarcoding
-eDNA metabarcoding结合了环境采样和高通量测序:
(1) 环境DNA提取:从水样、土壤等环境基质中提取总DNA。
(2) 通用引物PCR:使用覆盖多个物种的通用引物扩增目标区域(如16S rRNA、COI、ITS)。
(3) 高通量测序:Illumina或Nanopore平台测序。
(4) 生物信息学分析:序列质控、去嵌合体、OTU/ASV聚类、物种注释(与参考数据库比对)、多样性分析。
3. 群体遗传学在保护中的应用
- 有效种群大小(Ne)估计:反映种群的遗传健康状况,Ne越小,遗传多样性丧失越快。
- 近亲繁殖评估:利用杂合度降低、ROH(连续纯合子片段)分析评估近亲繁殖程度。
- 迁徙与基因流分析:利用STRUCTURE、MIGRATE等工具分析种群间的基因交流。
- 适应性遗传变异检测:利用选择信号扫描(如FST离群值、环境关联分析)识别与环境适应相关的基因。
4. 保护基因组学(Conservation Genomics)
- 利用全基因组数据指导保护决策:
- 识别具有独特遗传适应性的种群,优先保护
- 评估近交衰退风险
- 指导遗传 rescue(引入外来基因恢复遗传多样性)
- 追踪非法野生动物贸易(通过DNA溯源)

查看详情 →
💡

案例一:酵母青蒿酸合成通路的设计

concept

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路: 1. **通路设计**:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。 2. **基因来源选择**:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。 3. **密码子优化**:将所有外源基因按照酵母密...

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路:
1. 通路设计:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。
2. 基因来源选择:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。
3. 密码子优化:将所有外源基因按照酵母密码子偏好进行优化。
4. 代谢流调控:通过FBA分析,鉴定限制产量的代谢瓶颈。过表达tHMG1增加FPP供应,下调ERG9减少FPP向麦角固醇分流。
5. 启动子强度平衡:利用不同强度的启动子组合,平衡通路中各酶的表达量,避免中间产物积累。
6. 结果:工程酵母的青蒿酸产量从初始的约100 mg/L提升到超过25 g/L,实现了工业化生产。

# 使用cobra进行通量平衡分析
import cobra
from cobra.io import read_sbml_model
# 读取酵母代谢模型
model = read_sbml_model('yeast-GEM.xml')
# 设置目标函数:最大化青蒿酸产量
model.objective = model.reactions.DM_artemisinic_acid
# 优化
solution = model.optimize()
print(f"最大理论产量: {solution.objective_value} mmol/gDW/h")
print(f"生长速率: {solution.fluxes['BIOMASS_Ec_iML1515_core_75p37M']}")
# 查找关键通量
for rxn in model.reactions:
    if abs(solution.fluxes[rxn.id]) > 1:
        print(f"{rxn.id}: {solution.fluxes[rxn.id]:.2f}")
查看详情 →
💡

案例二:eDNA监测入侵物种——亚洲鲤鱼

concept

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。 1. **eDNA采样**:在河流和湖泊的关键位置采集水样。 2. **引物设计**:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。 3. **qPCR检测**:检测水样中是否存在亚洲鲤鱼的DNA。 4. **结果**:eDNA检测可以在亚...

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。
1. eDNA采样:在河流和湖泊的关键位置采集水样。
2. 引物设计:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。
3. qPCR检测:检测水样中是否存在亚洲鲤鱼的DNA。
4. 结果:eDNA检测可以在亚洲鲤鱼实际到达前数月预警其入侵路径,比传统方法更灵敏。
5. ** metabarcoding扩展**:进一步利用12S rRNA通用引物进行eDNA metabarcoding,同时监测所有鱼类群落组成,评估入侵对本地群落的影响。

# eDNA metabarcoding分析流程(示例)
# 1. 原始数据质控
fastp -i sample_R1.fastq.gz -I sample_R2.fastq.gz \
      -o clean_R1.fastq.gz -O clean_R2.fastq.gz \
      -q 20 -u 30 -l 50
# 2. DADA2去重(R中运行)
# library(dada2)
# seqtab <- dada2::mergePairs(dadaF, derepF, dadaR, derepR)
# 3. OTU聚类和物种注释(使用VSEARCH)
vsearch --cluster_size clean.fasta --id 0.97 \
        --centroids otus.fasta --relabel OTU_
vsearch --usearch_global clean.fasta --db reference_db.fasta \
        --id 0.97 --otutabout otu_table.txt
# 4. 多样性分析(使用QIIME 2或R的vegan包)
查看详情 →
💡

案例三:大熊猫保护基因组学

concept

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据: 1. **全基因组测序**:对多个野生和圈养大熊猫种群进行全基因组重测序。 2. **遗传多样性评估**:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。 3. **近交分析**:检测到长片段ROH,证实近亲繁殖的存在。 4. **有害突变负荷**:发现大熊猫携带大量有害突变,但...

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据:
1. 全基因组测序:对多个野生和圈养大熊猫种群进行全基因组重测序。
2. 遗传多样性评估:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。
3. 近交分析:检测到长片段ROH,证实近亲繁殖的存在。
4. 有害突变负荷:发现大熊猫携带大量有害突变,但由于近亲繁殖,这些突变以纯合状态暴露,可能影响种群适应性和繁殖成功率。
5. 保护建议
- 优先保护遗传独特性高的种群(如秦岭亚种)
- 圈养繁殖计划应避免近亲交配
- 考虑栖息地连通性,促进野生种群间的基因交流

查看详情 →
💡

第13章 生物信息学实验基础

chapter
查看详情 →
💡

13.1 生物信息学实验概述

section
查看详情 →
💡

生物信息学分析的基本流程

concept

一个典型的生物信息学分析项目通常遵循以下流程: **第一阶段:项目规划** 1. 明确科学问题 2. 确定所需数据类型和来源 3. 选择合适的分析方法和工具 4. 评估计算资源需求 5. 制定数据管理计划 **第二阶段:数据获取与预处理** 1. **数据采集**:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据 2. **质量控制(QC)**:评估数据质量,识别并处理低质量...

一个典型的生物信息学分析项目通常遵循以下流程:
第一阶段:项目规划
1. 明确科学问题
2. 确定所需数据类型和来源
3. 选择合适的分析方法和工具
4. 评估计算资源需求
5. 制定数据管理计划
第二阶段:数据获取与预处理
1. 数据采集:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据
2. 质量控制(QC):评估数据质量,识别并处理低质量数据。对于测序数据,使用FastQC等工具检查碱基质量分布、GC含量、接头污染、重复序列等
3. 数据清洗:去除低质量序列、接头序列、PCR重复等
4. 格式转换:将数据转换为分析所需的标准格式
第三阶段:核心分析
根据研究问题选择相应的分析方法,例如:
- 序列比对:将测序reads定位到参考基因组
- 变异检测:识别SNP、Indel等遗传变异
- 表达量计算:定量基因或转录本的表达水平
- 功能注释:将分析结果与生物学功能关联
第四阶段:结果整合与解释
1. 多来源结果整合
2. 统计显著性评估和多重检验校正
3. 功能富集分析(GO、KEGG等)
4. 可视化展示
第五阶段:报告与共享
1. 撰写分析报告
2. 整理代码和文档
3. 数据和代码归档
4. 论文发表和结果共享

查看详情 →
💡

生物信息学中的数据格式

concept

掌握标准数据格式是进行生物信息学分析的基础: | 格式 | 用途 | 说明 | |------|------|------| | FASTA | 序列存储 | `>header`开头的文本格式,用于存储DNA、RNA、蛋白质序列 | | FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) | | SAM/BAM | 比对结果 | SAM为文本格式,...

掌握标准数据格式是进行生物信息学分析的基础:
| 格式 | 用途 | 说明 |
|------|------|------|
| FASTA | 序列存储 | >header开头的文本格式,用于存储DNA、RNA、蛋白质序列 |
| FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) |
| SAM/BAM | 比对结果 | SAM为文本格式,BAM为二进制压缩格式,存储reads比对信息 |
| VCF | 变异信息 | 存储SNP、Indel等变异的位置、基因型和质量信息 |
| GFF/GTF | 基因组注释 | 存储基因、外显子、CDS等特征的位置和属性信息 |
| BED | 基因组区间 | 简单的三列格式(chr, start, end),用于表示基因组区域 |
| GCT/TPM | 表达矩阵 | 存储基因表达量矩阵,行是基因,列是样本 |

查看详情 →
💡

可重复性研究的原则

concept

**FAIR原则**:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。 **可重复性的层次**: 1. **结果可重复(Repeatability)**:同一研究者使用相同数据和方法重复实验,获得相同结果 2. **可复现(Reproducibility)**:不同研究者使用相同数据和...

FAIR原则:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。
可重复性的层次
1. 结果可重复(Repeatability):同一研究者使用相同数据和方法重复实验,获得相同结果
2. 可复现(Reproducibility):不同研究者使用相同数据和方法,获得相同结果
3. 可再实现(Replicability):在不同数据集上应用相同方法,获得一致结论
实现可重复性的最佳实践
- 使用版本控制系统(Git)管理代码
- 记录软件名称和版本号
- 保存完整的分析参数
- 使用虚拟环境或容器隔离运行环境
- 编写清晰的文档和README文件
- 使用工作流管理系统自动化分析流程

查看详情 →
💡

示例:一个完整的RNA-seq分析项目

tool

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。 **项目结构**: ``` rnaseq_project/ ├── data/ │ ├── raw/ # 原始测序数据(FASTQ) │ ├── reference/ # 参考基因组和注释文件 │ └── processed/...

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。
项目结构

rnaseq_project/
├── data/
│   ├── raw/              # 原始测序数据(FASTQ)
│   ├── reference/        # 参考基因组和注释文件
│   └── processed/        # 处理后的数据
├── scripts/              # 分析脚本
│   ├── 01_qc.sh
│   ├── 02_alignment.sh
│   ├── 03_quantification.sh
│   └── 04_de_analysis.R
├── results/              # 分析结果
│   ├── qc_reports/
│   ├── bam_files/
│   ├── counts/
│   └── de_results/
├── envs/                 # 环境配置文件
│   └── rnaseq_env.yml
├── README.md             # 项目说明文档
└── Snakefile             # Snakemake工作流文件

分析流程概览

# 第一步:质量控制
fastqc data/raw/*.fastq.gz -o results/qc_reports/
multiqc results/qc_reports/ -o results/qc_reports/summary/
# 第二步:序列比对
hisat2 -p 8 -x reference/genome -1 sample_R1.fq.gz -2 sample_R2.fq.gz | \
    samtools sort -@ 4 -o results/bam_files/sample.bam
# 第三步:表达量定量
featureCounts -T 8 -a reference/genes.gtf -o results/counts/counts.txt \
    results/bam_files/*.bam
# 第四步:差异表达分析(在R中完成)
# DESeq2分析
查看详情 →
💡

13.2 Linux系统及常用编程语言

section

13.2.1 Linux操作系统

查看详情 →
💡

13.3 Python编程基础

section
查看详情 →
💡

Python基本语法

tool

**变量和数据类型:** ```python # 数字 integer = 42 floating = 3.14159 # 字符串 dna = "ATGCGCTAGCTA" protein = 'MPLK' # 字符串操作 print(len(dna)) # 长度 print(dna[0:3]) # 切片(前3个碱基) print(dna.cou...

变量和数据类型:

# 数字
integer = 42
floating = 3.14159
# 字符串
dna = "ATGCGCTAGCTA"
protein = 'MPLK'
# 字符串操作
print(len(dna))              # 长度
print(dna[0:3])              # 切片(前3个碱基)
print(dna.count("GC"))       # 计数
print(dna.replace("T", "U"))  # 替换(DNA转RNA)
print(dna.find("ATG"))       # 查找子串位置
# 列表(有序可变)
sequences = ["ATCG", "GCTA", "TAGC"]
sequences.append("CGAT")     # 添加元素
print(sequences[0])          # 访问
print(len(sequences))        # 长度
# 字典(键值对)
gene_expr = {
    "GAPDH": 25.3,
    "ACTB": 18.7,
    "TP53": 3.2
}
print(gene_expr["GAPDH"])    # 访问
gene_expr["BRCA1"] = 7.5     # 添加
# 元组(有序不可变)
coordinates = (100, 200)

控制流:

# 条件语句
gc_content = 0.55
if gc_content > 0.6:
    print("High GC")
elif gc_content > 0.4:
    print("Moderate GC")
else:
    print("Low GC")
# for循环
for seq in sequences:
    gc = (seq.count("G") + seq.count("C")) / len(seq)
    print(f"{seq}: GC={gc:.2%}")
# while循环
i = 0
while i < len(sequences):
    print(sequences[i])
    i += 1
# 列表推导式(Pythonic写法)
gc_values = [(s.count("G") + s.count("C")) / len(s) for s in sequences]

函数:

def calculate_gc_content(sequence):
    """计算DNA序列的GC含量"""
    sequence = sequence.upper()
    gc_count = sequence.count("G") + sequence.count("C")
    return gc_count / len(sequence)
# 调用
gc = calculate_gc_content("ATGCGCTAGCTA")
print(f"GC content: {gc:.2%}")
# 默认参数
def reverse_complement(seq, rna=False):
    """计算反向互补序列"""
    complement = {"A": "T", "T": "A", "G": "C", "C": "G",
                  "a": "t", "t": "a", "g": "c", "c": "g"}
    if rna:
        complement["A"] = "U"
        complement["a"] = "u"
    rc = "".join(complement.get(base, base) for base in reversed(seq))
    return rc
print(reverse_complement("ATGC"))       # GCAT
print(reverse_complement("ATGC", rna=True))  # GCAU

文件操作:

# 读取文件
with open("sequences.fasta", "r") as f:
    content = f.read()           # 读取全部
    lines = f.readlines()        # 读取为列表
# 写入文件
with open("output.txt", "w") as f:
    f.write("Hello\n")
# 逐行读取(推荐大文件使用)
with open("data.txt", "r") as f:
    for line in f:
        line = line.strip()      # 去除末尾换行符
        if line.startswith(">"):
            print(f"Header: {line}")
查看详情 →
💡

Biopython详解

tool

**安装:** ```bash pip install biopython # 或 conda install -c conda-forge biopython ``` **序列处理(Seq对象):** ```python from Bio.Seq import Seq from Bio.SeqUtils import GC, molecular_weight # 创建序列对象 dna_seq =...

安装:

pip install biopython
# 或
conda install -c conda-forge biopython

序列处理(Seq对象):

from Bio.Seq import Seq
from Bio.SeqUtils import GC, molecular_weight
# 创建序列对象
dna_seq = Seq("ATGCGCTAGCTA")
# 序列属性
print(f"长度: {len(dna_seq)}")
print(f"GC含量: {GC(dna_seq):.1f}%")
print(f"分子量: {molecular_weight(dna_seq):.1f}")
# 序列操作
print(dna_seq.complement())        # 互补序列
print(dna_seq.reverse_complement()) # 反向互补
print(dna_seq.transcribe())        # DNA转RNA
print(dna_seq.translate())         # 翻译为蛋白质
# 转录和翻译
mrna = dna_seq.transcribe()
protein = mrna.translate()
print(f"Protein: {protein}")

解析FASTA/FASTQ文件:

from Bio import SeqIO
# 解析FASTA文件
for record in SeqIO.parse("sequences.fasta", "fasta"):
    print(f"ID: {record.id}")
    print(f"Description: {record.description}")
    print(f"Length: {len(record.seq)}")
    print(f"Sequence: {record.seq[:50]}...")
    print()
# 解析FASTQ文件(测序数据)
for record in SeqIO.parse("reads.fastq", "fastq"):
    print(f"ID: {record.id}")
    print(f"Sequence: {record.seq}")
    print(f"Quality: {record.letter_annotations['phred_quality'][:10]}")
# 将记录写入文件
records = []
for record in SeqIO.parse("input.fasta", "fasta"):
    if len(record.seq) > 100:  # 只保留长序列
        records.append(record)
SeqIO.write(records, "filtered.fasta", "fasta")
# 转换格式(FASTQ to FASTA)
SeqIO.convert("reads.fastq", "fastq", "reads.fasta", "fasta")

访问NCBI数据库:

from Bio import Entrez, SeqIO
# 设置邮箱(NCBI要求)
Entrez.email = "your.email@example.com"
# 搜索PubMed
handle = Entrez.esearch(db="pubmed", term="CRISPR[Title] AND 2023[PDAT]", retmax=10)
record = Entrez.read(handle)
print(f"Found {record['Count']} articles")
print(f"IDs: {record['IdList']}")
# 获取序列
handle = Entrez.efetch(db="nucleotide", id="NM_001301717", rettype="fasta", retmode="text")
record = SeqIO.read(handle, "fasta")
print(f"Sequence: {record.seq[:100]}...")

序列比对:

from Bio import pairwise2
from Bio.pairwise2 import format_alignment
# 全局比对(Needleman-Wunsch)
alignments = pairwise2.align.globalxx("ATCG", "ATG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 局部比对(Smith-Waterman)
alignments = pairwise2.align.localxx("ATCGGCTA", "CGG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 带参数的比对(匹配+1,错配-1,空位开启-2,空位延伸-1)
alignments = pairwise2.align.globalms("ATCG", "ATG", 1, -1, -2, -1)

BLAST解析:

from Bio.Blast import NCBIXML
# 解析BLAST XML结果
with open("blast_result.xml") as result_handle:
    blast_record = NCBIXML.read(result_handle)
    for alignment in blast_record.alignments:
        print(f"Hit: {alignment.title}")
        for hsp in alignment.hsps:
            print(f"  E-value: {hsp.expect}")
            print(f"  Identity: {hsp.identities}/{hsp.align_length}")
            print(f"  Query: {hsp.query[:50]}...")
            print(f"  Match: {hsp.match[:50]}...")
            print(f"  Sbjct: {hsp.sbjct[:50]}...")
查看详情 →
💡

13.4 R语言基础

section
查看详情 →
💡

R语言基本语法

tool

**变量和数据类型:** ```r # 赋值(推荐使用 <-) x <- 42 y <- 3.14 name <- "GeneA" is_active <- TRUE # 向量(最基本的数据结构) expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1) genes <- c("BRCA1", "TP53", "EGFR", "MYC") # 向量操作 lengt...

变量和数据类型:

# 赋值(推荐使用 <-)
x <- 42
y <- 3.14
name <- "GeneA"
is_active <- TRUE
# 向量(最基本的数据结构)
expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1)
genes <- c("BRCA1", "TP53", "EGFR", "MYC")
# 向量操作
length(expr_values)
mean(expr_values)
sd(expr_values)
summary(expr_values)
# 数据框(类似Excel表格)
df <- data.frame(
    gene = c("BRCA1", "TP53", "EGFR", "MYC"),
    expression = c(25.3, 18.7, 12.4, 8.9),
    group = c("treatment", "treatment", "control", "control")
)
# 访问数据
df$gene                    # 提取列
df$expression
df[1, ]                    # 第一行
df[, "expression"]         # 按名列
df[df$group == "treatment", ]  # 条件筛选
# 列表(可包含不同类型)
my_list <- list(
    name = "sample1",
    counts = c(100, 200, 300),
    metadata = data.frame(key = c("A", "B"), val = c(1, 2))
)
my_list$name
my_list[["counts"]]

控制流:

# 条件语句
x <- 15
if (x > 10) {
    print("x is greater than 10")
} else if (x > 5) {
    print("x is between 5 and 10")
} else {
    print("x is 5 or less")
}
# ifelse向量化条件
scores <- c(85, 92, 78, 65, 88)
grades <- ifelse(scores >= 90, "A",
                 ifelse(scores >= 80, "B",
                        ifelse(scores >= 70, "C", "D")))
# for循环
for (gene in genes) {
    print(paste("Processing:", gene))
}
# apply族函数(向量化操作,避免显式循环)
# apply用于矩阵/数组
# lapply用于列表,返回列表
# sapply用于列表,返回向量/矩阵
# tapply用于分组计算
# 示例:对数据框的数值列计算均值
numeric_cols <- sapply(df, is.numeric)
lapply(df[, numeric_cols], mean)

函数:

# 定义函数
calculate_fold_change <- function(treatment, control) {
    """计算差异倍数(log2 fold change)"""
    fc <- treatment - control  # 假设已经是log2转换的值
    return(fc)
}
# 使用
fc <- calculate_fold_change(10.5, 8.2)
print(paste("Fold change:", round(fc, 2)))
# 默认参数
normalize <- function(values, method = "zscore") {
    if (method == "zscore") {
        return((values - mean(values)) / sd(values))
    } else if (method == "minmax") {
        return((values - min(values)) / (max(values) - min(values)))
    } else {
        stop("Unknown normalization method")
    }
}
查看详情 →
💡

ggplot2可视化

concept

```r library(ggplot2) # 创建示例数据 data <- data.frame( gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10), expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)), group = rep(c("...

library(ggplot2)
# 创建示例数据
data <- data.frame(
    gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10),
    expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)),
    group = rep(c("Control", "Treatment"), each = 5, times = 3)
)
# 散点图
p1 <- ggplot(data, aes(x = group, y = expression, color = group)) +
    geom_point(position = position_jitter(width = 0.2), size = 3) +
    geom_boxplot(alpha = 0.3, outlier.shape = NA) +
    facet_wrap(~gene) +
    labs(title = "Gene Expression Comparison",
         x = "Condition",
         y = "Expression Level") +
    theme_minimal()
print(p1)
# 热图(使用pheatmap包)
library(pheatmap)
expr_matrix <- matrix(rnorm(100), nrow = 10)
rownames(expr_matrix) <- paste0("Gene", 1:10)
colnames(expr_matrix) <- paste0("Sample", 1:10)
pheatmap(expr_matrix, 
         scale = "row",
         clustering_method = "ward.D2",
         color = colorRampPalette(c("navy", "white", "firebrick"))(50))
# 火山图(差异表达结果)
de_results <- data.frame(
    gene = paste0("Gene", 1:1000),
    log2FC = rnorm(1000, 0, 2),
    pvalue = runif(1000)
)
de_results$padj <- p.adjust(de_results$pvalue, method = "BH")
ggplot(de_results, aes(x = log2FC, y = -log10(padj))) +
    geom_point(aes(color = abs(log2FC) > 1 & padj < 0.05), alpha = 0.5) +
    scale_color_manual(values = c("grey", "red")) +
    geom_vline(xintercept = c(-1, 1), linetype = "dashed") +
    geom_hline(yintercept = -log10(0.05), linetype = "dashed") +
    labs(x = "log2 Fold Change", y = "-log10 adjusted p-value") +
    theme_bw()
查看详情 →
💡

Bioconductor核心包

tool

```r # 安装Bioconductor if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") # 安装Bioconductor包 BiocManager::install("DESeq2") BiocManager::install("edgeR") BiocManager::insta...

# 安装Bioconductor
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
# 安装Bioconductor包
BiocManager::install("DESeq2")
BiocManager::install("edgeR")
BiocManager::install("Biostrings")
# Biostrings:序列处理
library(Biostrings)
dna <- DNAString("ATGCGCTAGCTA")
complement(dna)
reverseComplement(dna)
translate(dna)
# 计算GC含量
letterFrequency(dna, "GC") / length(dna)
# 读取FASTA文件
fasta_file <- readDNAStringSet("sequences.fasta")
width(fasta_file)  # 序列长度
alphabetFrequency(fasta_file)  # 碱基频率
# DESeq2:差异表达分析(简要示例)
library(DESeq2)
# countData: 基因计数矩阵(行是基因,列是样本)
# colData: 样本信息
# dds <- DESeqDataSetFromMatrix(countData = counts, 
#                               colData = sample_info,
#                               design = ~ condition)
# dds <- DESeq(dds)
# results <- results(dds)
查看详情 →
💡

13.5 生物信息学分析流程搭建

section
查看详情 →
💡

Conda环境管理

tool

**核心概念:** - **环境(Environment)**:独立的软件安装空间,不同环境之间互不干扰 - **通道(Channel)**:软件包的来源仓库。Bioconda是生物信息学专用通道 - **环境文件(environment.yml)**:记录环境中所有软件及其版本的配置文件 **基本操作:** ```bash # 查看现有环境 conda env list # 创建新环境 cond...

核心概念:
- 环境(Environment):独立的软件安装空间,不同环境之间互不干扰
- 通道(Channel):软件包的来源仓库。Bioconda是生物信息学专用通道
- 环境文件(environment.yml):记录环境中所有软件及其版本的配置文件
基本操作:

# 查看现有环境
conda env list
# 创建新环境
conda create -n rnaseq python=3.10
# 激活环境
conda activate rnaseq
# 安装软件
conda install -c bioconda star
conda install -c bioconda samtools
conda install -c bioconda featurecounts
conda install -c bioconda fastqc
conda install -c bioconda multiqc
# 一次性安装多个包
conda install -c bioconda star samtools featurecounts fastqc multiqc
# 查看已安装的包
conda list
# 导出环境配置
conda env export > environment.yml
# 从配置文件创建环境
conda env create -f environment.yml
# 删除环境
conda remove -n rnaseq --all
# 退出当前环境
conda deactivate

示例environment.yml文件:

name: rnaseq
channels:
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - star=2.7.10b
  - samtools=1.16
  - featurecounts=2.0
  - fastqc=0.11.9
  - multiqc=1.14
  - trimmomatic=0.39
  - picard=2.27
  - r-base=4.2
  - bioconductor-deseq2=1.38
  - pip
  - pip:
    - salmon==1.9.0
查看详情 →
💡

Snakemake工作流

tool

**基本语法:** Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。 ```python # Snakefile # 定义样本列表 SAMPLES = ["sample1", "sample2", "sample3"] # 目标规则:定义最终需要生成的文件 rule all: input:...

基本语法:
Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。

# Snakefile
# 定义样本列表
SAMPLES = ["sample1", "sample2", "sample3"]
# 目标规则:定义最终需要生成的文件
rule all:
    input:
        "results/counts_matrix.txt",
        "results/multiqc_report.html"
# 质量控制规则
rule fastqc:
    input:
        "data/{sample}_R1.fastq.gz",
        "data/{sample}_R2.fastq.gz"
    output:
        html_r1="qc/{sample}_R1_fastqc.html",
        zip_r1="qc/{sample}_R1_fastqc.zip",
        html_r2="qc/{sample}_R2_fastqc.html",
        zip_r2="qc/{sample}_R2_fastqc.zip"
    params:
        outdir="qc"
    threads: 2
    shell:
        "fastqc -t {threads} -o {params.outdir} {input}"
# 序列比对规则
rule star_align:
    input:
        r1="data/{sample}_R1.fastq.gz",
        r2="data/{sample}_R2.fastq.gz",
        index="reference/STAR_index/Genome"
    output:
        bam="aligned/{sample}.sorted.bam",
        bai="aligned/{sample}.sorted.bam.bai"
    params:
        prefix="aligned/{sample}_",
        index_dir="reference/STAR_index"
    threads: 8
    shell:
        """
        STAR --runThreadN {threads} \
             --genomeDir {params.index_dir} \
             --readFilesIn {input.r1} {input.r2} \
             --readFilesCommand zcat \
             --outFileNamePrefix {params.prefix} \
             --outSAMtype BAM SortedByCoordinate
        mv {params.prefix}Aligned.sortedByCoord.out.bam {output.bam}
        samtools index {output.bam}
        """
# 表达量定量
rule featurecounts:
    input:
        bams=expand("aligned/{sample}.sorted.bam", sample=SAMPLES),
        gtf="reference/genes.gtf"
    output:
        counts="results/counts_matrix.txt"
    threads: 4
    shell:
        "featureCounts -T {threads} -a {input.gtf} -o {output.counts} {input.bams}"
# MultiQC汇总
rule multiqc:
    input:
        expand("qc/{sample}_{read}_fastqc.zip", sample=SAMPLES, read=["R1", "R2"])
    output:
        "results/multiqc_report.html"
    shell:
        "multiqc qc/ -o results/"

运行Snakemake:

# 预览(dry-run)
snakemake -n
# 本地运行(使用4个核)
snakemake --cores 4
# 强制重新运行
snakemake --cores 4 --forceall
# 只运行特定规则
snakemake --cores 4 featurecounts
# 使用Conda环境(自动为每个规则创建环境)
snakemake --cores 4 --use-conda
# 集群提交(SLURM)
snakemake --cluster "sbatch --time={resources.time} --mem={resources.mem} --cpus-per-task={threads}" \
          --jobs 10
查看详情 →
💡

Nextflow简介

tool

Nextflow采用数据流编程模型,更适合复杂的并行计算: ```groovy // main.nf params.reads = "data/*_{R1,R2}.fastq.gz" params.genome = "reference/genome.fa" params.gtf = "reference/genes.gtf" // 定义进程 process FASTQC { tag "$...

Nextflow采用数据流编程模型,更适合复杂的并行计算:

// main.nf
params.reads = "data/*_{R1,R2}.fastq.gz"
params.genome = "reference/genome.fa"
params.gtf = "reference/genes.gtf"
// 定义进程
process FASTQC {
    tag "$sample_id"
    input:
    tuple val(sample_id), path(reads)
    output:
    path "fastqc_*"
    script:
    """
    fastqc -t 2 -o . ${reads}
    """
}
process STAR_ALIGN {
    tag "$sample_id"
    cpus 8
    input:
    tuple val(sample_id), path(reads)
    path index
    output:
    tuple val(sample_id), path("*.sorted.bam")
    script:
    """
    STAR --runThreadN 8 \
         --genomeDir $index \
         --readFilesIn ${reads[0]} ${reads[1]} \
         --readFilesCommand zcat \
         --outSAMtype BAM SortedByCoordinate \
         --outFileNamePrefix ${sample_id}_
    mv ${sample_id}_Aligned.sortedByCoord.out.bam ${sample_id}.sorted.bam
    """
}
// 工作流
workflow {
    Channel
        .fromFilePairs(params.reads, checkIfExists: true)
        .set { read_pairs }
    FASTQC(read_pairs)
    STAR_ALIGN(read_pairs, params.genome)
}
查看详情 →
💡

13.6 常用软件工具实操

section
查看详情 →
💡

FastQC原理

algorithm

FastQC从多个维度评估测序数据质量: - **基本统计**:总reads数、序列长度、GC含量 - **每个碱基的质量**:箱线图展示read各位置的质量分布 - **每个序列的质量**:所有reads平均质量的分布 - **每个碱基的序列含量**:各位置A/T/G/C的比例(应接近一致) - **GC含量**:样本GC分布与理论正态分布的比较 - **接头序列**:检测已知接头序列的污染 -...

FastQC从多个维度评估测序数据质量:
- 基本统计:总reads数、序列长度、GC含量
- 每个碱基的质量:箱线图展示read各位置的质量分布
- 每个序列的质量:所有reads平均质量的分布
- 每个碱基的序列含量:各位置A/T/G/C的比例(应接近一致)
- GC含量:样本GC分布与理论正态分布的比较
- 接头序列:检测已知接头序列的污染
- 序列重复:评估PCR重复和过度表达的序列

查看详情 →
💡

BWA-MEM比对原理

algorithm

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法: 1. **索引构建**:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。 2. **种子搜索**:在参考基因组中查找read的精确匹配子串(maximal exact matches)。 3. **链...

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法:
1. 索引构建:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。
2. 种子搜索:在参考基因组中查找read的精确匹配子串(maximal exact matches)。
3. 链式扩展:将种子连接起来,构建可能的比对位置。
4. 局部比对:使用Smith-Waterman算法对候选位置进行精细比对,处理gap(插入缺失)。
5. 比对质量计算:根据最佳和次佳比对的得分差异,计算MAPQ(mapping quality)。

查看详情 →
💡

SAM/BAM格式详解

concept

SAM文件包含11个必需字段: | 列 | 字段名 | 说明 | |----|--------|------| | 1 | QNAME | Read名称 | | 2 | FLAG | 比对标志(位掩码) | | 3 | RNAME | 参考序列名称 | | 4 | POS | 比对起始位置(1-based) | | 5 | MAPQ | 比对质量(Phred标度) | | 6 | CIGAR |...

SAM文件包含11个必需字段:
| 列 | 字段名 | 说明 |
|----|--------|------|
| 1 | QNAME | Read名称 |
| 2 | FLAG | 比对标志(位掩码) |
| 3 | RNAME | 参考序列名称 |
| 4 | POS | 比对起始位置(1-based) |
| 5 | MAPQ | 比对质量(Phred标度) |
| 6 | CIGAR | 比对运算字符串 |
| 7 | RNEXT | 配对read的参考序列 |
| 8 | PNEXT | 配对read的位置 |
| 9 | TLEN | 模板长度 |
| 10 | SEQ | 序列 |
| 11 | QUAL | 质量值 |
FLAG字段解读(关键值):
| FLAG | 含义 |
|------|------|
| 1 | Read有配对 |
| 2 | Read在配对中正确比对 |
| 4 | Read未比对 |
| 8 | 配对read未比对 |
| 16 | Read比对到反向互补链 |
| 64 | 是第一个read |
| 128 | 是第二个read |
| 256 | 非主要比对 |
| 512 | 未通过QC |
| 1024 | PCR重复或光学重复 |

查看详情 →
💡

GATK变异检测流程

algorithm

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括: 1. **标记重复(MarkDuplicates)**:识别PCR重复reads,只保留一个拷贝用于变异检测。 2. **碱基质量校正(Base Quality Score Recalibration, BQSR)**:系统性的测序误差会导致碱基质量值不准确。B...

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括:
1. 标记重复(MarkDuplicates):识别PCR重复reads,只保留一个拷贝用于变异检测。
2. 碱基质量校正(Base Quality Score Recalibration, BQSR):系统性的测序误差会导致碱基质量值不准确。BQSR通过比较观察到的错配率和期望的错配率,构建校正模型,输出更准确的碱基质量值。
3. 变异检测(HaplotypeCaller):GATK的核心变异检测引擎:
- 在感兴趣区域进行局部de novo组装
- 识别潜在的单倍型
- 使用PairHMM算法将reads与单倍型比对
- 输出基因型似然值和变异质量
4. 变异质量校正(Variant Quality Score Recalibration, VQSR):利用已知变异位点(如dbSNP、HapMap)训练高斯混合模型,区分真实的变异和假阳性。

查看详情 →
💡

FastQC + Trimmomatic质控示例

algorithm

```bash # === 第一步:FastQC质控 === mkdir -p qc_results # 对单个样本运行FastQC fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz # 批量处理 for r1 in raw/*_R1.fastq.gz; do r2="${r1/_R1/_R2}" fas...

# === 第一步:FastQC质控 ===
mkdir -p qc_results
# 对单个样本运行FastQC
fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz
# 批量处理
for r1 in raw/*_R1.fastq.gz; do
    r2="${r1/_R1/_R2}"
    fastqc -t 4 -o qc_results "$r1" "$r2"
done
# MultiQC汇总所有质控报告
multiqc qc_results/ -o qc_results/summary/
# === 第二步:Trimmomatic质量修剪 ===
# 假设FastQC显示:
# 1. 3'端质量下降(需要SLIDINGWINDOW修剪)
# 2. 存在adapter污染(需要ILLUMINACLIP)
mkdir -p trimmed
# PE模式(双端)
trimmomatic PE -threads 8 \
    raw/sample_R1.fastq.gz raw/sample_R2.fastq.gz \
    trimmed/sample_R1_paired.fq.gz trimmed/sample_R1_unpaired.fq.gz \
    trimmed/sample_R2_paired.fq.gz trimmed/sample_R2_unpaired.fq.gz \
    ILLUMINACLIP:adapters.fa:2:30:10 \
    LEADING:3 TRAILING:3 \
    SLIDINGWINDOW:4:15 \
    MINLEN:36
# 参数说明:
# ILLUMINACLIP:adapters.fa:2:30:10
#   adapters.fa = adapter序列文件
#   2 = seed匹配时允许的最大错配数
#   30 = palindrome模式下的阈值
#   10 = simple模式下的阈值
# LEADING:3 - 从read起始切除质量值<3的碱基
# TRAILING:3 - 从read末尾切除质量值<3的碱基
# SLIDINGWINDOW:4:15 - 4bp窗口平均质量<15时切除
# MINLEN:36 - 丢弃长度<36bp的read
查看详情 →
💡

BWA + SAMtools比对示例

algorithm

```bash # === 第一步:建立BWA索引 === bwa index reference.fa # 或使用samtools建立FASTA索引(用于IGV等工具) samtools faidx reference.fa # === 第二步:序列比对 === # BWA-MEM适合70bp-1Mbp的reads bwa mem -t 16 \ -R "@RG\tID:sample1\...

# === 第一步:建立BWA索引 ===
bwa index reference.fa
# 或使用samtools建立FASTA索引(用于IGV等工具)
samtools faidx reference.fa
# === 第二步:序列比对 ===
# BWA-MEM适合70bp-1Mbp的reads
bwa mem -t 16 \
    -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa \
    sample_R1_paired.fq.gz sample_R2_paired.fq.gz \
    > sample.sam
# -t 16: 使用16个线程
# -R: 添加read group信息(GATK必需)
# === 第三步:SAM转BAM、排序、索引 ===
# 方法1:管道一步完成
bwa mem -t 16 -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa sample_R1.fq.gz sample_R2.fq.gz | \
    samtools sort -@ 4 -o sample.sorted.bam -
samtools index sample.sorted.bam
# 方法2:分步处理
samtools view -bS sample.sam > sample.bam          # SAM转BAM
samtools sort sample.bam -o sample.sorted.bam      # 排序
samtools index sample.sorted.bam                    # 建立索引
rm sample.sam sample.bam                           # 删除中间文件
# === 第四步:比对质量统计 ===
samtools flagstat sample.sorted.bam > sample.flagstat
samtools idxstats sample.sorted.bam > sample.idxstats
# === 常用SAMtools命令 ===
# 查看BAM头部
samtools view -H sample.sorted.bam
# 查看特定区域的比对
samtools view sample.sorted.bam chr1:1000000-2000000 | head
# 提取特定FLAG的reads(例如:只提取properly paired reads)
samtools view -f 2 -b sample.sorted.bam > sample.proper_pair.bam
# 过滤掉未比对reads(FLAG 4)
samtools view -F 4 -b sample.sorted.bam > sample.mapped_only.bam
# BAM转FASTQ(用于重新比对)
samtools bam2fq sample.sorted.bam > sample.fastq
# 合并多个BAM
samtools merge merged.bam sample1.sorted.bam sample2.sorted.bam
查看详情 →
💡

GATK变异检测示例

algorithm

```bash # === GATK最佳实践流程 === # 1. 标记重复(MarkDuplicates) gatk MarkDuplicates \ -I sample.sorted.bam \ -O sample.dedup.bam \ -M sample.metrics.txt \ --REMOVE_DUPLICATES false # 标记但不删除,GA...

# === GATK最佳实践流程 ===
# 1. 标记重复(MarkDuplicates)
gatk MarkDuplicates \
    -I sample.sorted.bam \
    -O sample.dedup.bam \
    -M sample.metrics.txt \
    --REMOVE_DUPLICATES false  # 标记但不删除,GATK推荐
samtools index sample.dedup.bam
# 2. 碱基质量校正(BQSR)
# 需要已知变异位点(如dbSNP)作为训练集
gatk BaseRecalibrator \
    -I sample.dedup.bam \
    -R reference.fa \
    --known-sites dbsnp.vcf.gz \
    -O sample.recal.table
gatk ApplyBQSR \
    -R reference.fa \
    -I sample.dedup.bam \
    --bqsr-recal-file sample.recal.table \
    -O sample.recal.bam
# 3. 变异检测(HaplotypeCaller)
gatk HaplotypeCaller \
    -R reference.fa \
    -I sample.recal.bam \
    -O sample.g.vcf.gz \
    -ERC GVCF  # 输出gVCF格式(适合多样本联合分析)
# 4. 多样本联合基因型(如果有多个样本)
# GenomicsDBImport导入gVCF
gatk GenomicsDBImport \
    -V sample1.g.vcf.gz \
    -V sample2.g.vcf.gz \
    -V sample3.g.vcf.gz \
    --genomicsdb-workspace-path cohort_db \
    -L intervals.list
# GenotypeGVCFs输出最终VCF
gatk GenotypeGVCFs \
    -R reference.fa \
    -V gendb://cohort_db \
    -O cohort.vcf.gz
# 5. 变异质控(VQSR,可选)
gatk VariantRecalibrator \
    -R reference.fa \
    -V cohort.vcf.gz \
    --resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap.vcf.gz \
    --resource:omni,known=false,training=true,truth=false,prior=12.0 omni.vcf.gz \
    -an QD -an MQ -an MQRankSum -an ReadPosRankSum \
    -mode SNP \
    -O cohort.recal \
    --tranches-file cohort.tranches
gatk ApplyVQSR \
    -R reference.fa \
    -V cohort.vcf.gz \
    --recal-file cohort.recal \
    --tranches-file cohort.tranches \
    --truth-sensitivity-filter-level 99.5 \
    -mode SNP \
    -O cohort.vqsr.vcf.gz
# 6. 硬过滤(如果VQSR不适用,如小样本)
gatk VariantFiltration \
    -R reference.fa \
    -V cohort.vcf.gz \
    -O cohort.filtered.vcf.gz \
    --filter-expression "QD < 2.0 || MQ < 40.0 || FS > 60.0 || SOR > 3.0" \
    --filter-name "basic_filters"
查看详情 →
💡

IGV可视化示例

tool

```bash # IGV是一个Java桌面应用程序,无需命令行操作 # 但它可以配合命令行工具准备输入文件 # 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览) igvtools count sample.sorted.bam sample.tdf reference.fa # 2. 生成BEDGRAPH覆盖度文件 bedtools genomecov -ibam sample.s...

# IGV是一个Java桌面应用程序,无需命令行操作
# 但它可以配合命令行工具准备输入文件
# 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览)
igvtools count sample.sorted.bam sample.tdf reference.fa
# 2. 生成BEDGRAPH覆盖度文件
bedtools genomecov -ibam sample.sorted.bam -bg > sample.coverage.bedgraph
# 3. 生成VCF索引(tabix)
bgzip cohort.vcf.gz
tabix -p vcf cohort.vcf.gz

IGV使用步骤:
1. 启动IGV(需要Java环境)
2. 加载参考基因组:Genomes → Load Genome from File → 选择reference.fa
3. 加载比对文件:File → Load from File → 选择sample.sorted.bam
4. 加载变异文件:File → Load from File → 选择cohort.vcf.gz
5. 导航到感兴趣的基因区域(如输入 TP53 或坐标 chr17:7,661,778-7,687,538
6. 观察reads的比对情况、覆盖深度和变异位点

查看详情 →

生物信息学的算法基础

💡

第1章 生物信息学概述 (第1章)

chapter
查看详情 →
💡

1.1 生物信息学的基本概念

section

1953 年,詹姆斯·沃森(James Watson)和弗朗西斯·克里克(Francis Crick)提出了 DNA 的双螺旋结构,随着对 DNA 结构的理解深入,科学家开始思考如何解读 DNA 序列中的遗传信息。20 世纪 70 年代,科学家们开展了一些初步的 DNA 序列测定工作。1990 年,正式启动了国际人类基因组计划项目,旨在解码人类基因组中的所有基因。经过长达 13 年的合作,人类基因组图谱于 2001 年分别在 Nature 和 Science 上发表,2003 年完成了人类基因组几乎全部基因序列的测定。这个里程碑性的成就对于理解人类遗传学、疾病机制以及生命的基本过程产生了深远的影响,也为生物信息学提供了兴盛的契机。
随着基因组计划的不断进展, DNA 测序技术得到了极大的改进, 从传统的 Sanger 测序发展到高通量测序技术。这些技术的发展不仅极大地加速了人类基因组计划的进展, 还使得大规模的基因组和转录组数据可以更加经济高效地获得。随着生物技术的不断完善, 现代生物学研究范围扩展到了更多维度, 涉及蛋白质、代谢物、表观遗传组等多个层面。单细胞组学和空间组学的研究更是丰富了我们对生物系统的理解。海量生物组学数据的产生速度呈指数级增长, 需要强大的计算机技术和算法进行处理。随着计算机硬件和软件技术的不断进步, 人们也能够更有效地处理复杂的生物数据。这样跨学科的合作加速了生物信息学的发展, 为解决生物学研究中的复杂问题提供了新的视角和方法。

1.1.1 生物信息学的基本含义

生物信息学(bioinformatics)一词的最初定义是由保利恩·霍赫韦格(Paulien Hogeweg)和本·赫斯珀(Ben Hesper)于20世纪70年代提出,指的是对生物系统中信息过程的研究。该定义将生物信息学视为与生物化学(生物系统中化学过程的研究)平行的领域。在此之前,玛格丽特·戴霍夫(Margaret Dayhoff)在20世纪60年代便率先认识到计算机在处理生物数据方面的巨大潜力,通过创建首个蛋白质序列数据库、构建蛋白质进化树以及提出点突变模型等开创性工作,为这一新兴学科的萌芽与发展奠定了重要基础。生物信息分析生物数据以产生有意义的信息这一概念涉及许多方面,如编写和运行使用图论、人工智能、软计算、数据挖掘、图像处理和计算机模拟算法的软件程序等,而这些算法又依赖于离散数学、控制论、系统论、信息论和统计学等理论基础。由此可见,生物信息学是一门跨学科的科学领域,将生物学、计算机科学、应用数学、信息学和统计学等多个学科知识融会贯通在一起。生物信息学一开始简单地被理解为“生物学+信息学”,但作为一门学科,它有自己的学科体系,而不是简单的叠加,更应该理解为“生物学+信息学+学科体系”。生物信息学旨在开发和应用计算机技术和算法来处理、分析、解释和存储生物学数据,从中获取生物学上的洞见和知识。
生物信息学的研究材料是各类生物学数据,研究工具是计算机,研究方法和技术包括对生物学数据的搜索、收集和筛选、处理(编辑、整理、管理和显示)及利用(计算、模拟)等。生物信息学涵盖了多方面的内容。首先,序列分析是生物信息学的一个核心领域,如对 DNA、RNA 和蛋白质序列的处理和分析。这包括了基因识别、蛋白质功能预测、序列比对等方面的内容。其次,生物信息学关注蛋白质、核酸等分子的结构。这对于理解它们的功能和相互作用至关重要,包括蛋白质结构预测、分子对接等方面。再次,生物信息学包含了对各类组学数据的分析。基因组学研究整个基因组的组成和功能,包括基因组测序、基因组注释、基因功能预测等;转录组学关注在不同条件下基因的表达情况,研究了解细胞的功能、调控机制以及疾病的发生机制;蛋白质组学研究细胞或生物体内所有蛋白质的组成和功能,并揭示细胞内各种蛋白质相互作用的网络。再者,生物信息学还关注生物系统的整体性质和相互作用,可以通过建立数据模型来模拟和预测生物过程。最后,生物信息学还包括数据库的构建和算法工具的开发。生物信息学数据库存储了大量的生物学数据,如基因序列、蛋白质结构、表达调控数据等,为科学家提供检索和分析的工具。生物信息学领域也开发了许多算法和工具,用于数据处理、模拟、预测等。这些工具对于生物学研究具有重要意义。总之,生物信息学通过整合多学科的知识,致力于通过处理和分析生物学数据、建立数据库与各类算法模型等方式,深入了解生命的分子机制、进化、疾病等,在现代生物学研究中扮演着重要的角色。

1.1.2 生物信息学的学科特点与发展

作为交叉学科,生物信息学既是一门自然科学(理学),也是一门工程技术(工学)。作为自然科学方面,生物信息学深入探索生命的分子机制、遗传信息的传递和表达等生物学基本问题。它使用计算机科学和数学工具来分析、解释和预测生物学数据,从而帮助科学家更好地理解生物系统的运作方式。生物信息学在基因组学、蛋白质组学、转录组学等领域的研究中,探索生物分子的结构、功能和相互作用等方面具有重要作用。作为工程技术方面,它开发了许多计算工具、算法和软件来处理和管理大规模的生物学数据。这些工具可以用于基因序列分析、蛋白质结构预测、基因表达模式分析等。这些技术的开发和应用在药物研发、医学诊断、农业改良等实际应用领域产生了重要的影响。总的来说,生物信息学在理论研究和实际应用中都起到了关键作用,同时也是生物学与计算机科学交叉的典范。这种综合性的性质使得生物信息学在推动科学研究进程、创新技术发展以及解决实际问题方面发挥了重要作用。
由于生物信息学的重要性,国内外一直非常重视生物信息学的发展。在国际上,美国、欧洲和日本共同组成了 GenBank/ENA/DDBJ 国际核酸序列数据库。其他一些西方国家在分享网络共享资源的同时,也分别建有自己的生物信息学机构、二级或更高级的具有各自特色的专业数据库以及自己的分析技术。我国高度重视生物信息学领域的创新发展,早在 1999 年,郝柏林等老一辈科学家倡议成立了国家级生物医学信息中心,致力于生物信息学研究、数据资源的构建和管理,以及相关技术的开发与应用。2019 年,国家生物信息中心正式批准成立,它的主要职责和任务包括:生物信息资源建设与管理、生物信息学研究、数据分析和挖掘、生物信息学培训与推广、国际合作与交流。国家生物信息中心在促进中国生物信息学领域的发展、推动科研成果转化以及提供生物信息学技术支持等方面发挥着重要作用。目前,在国内外具有广泛影响力和声誉。
生物信息学的发展极为迅速,迄今已取得诸多成果。就网络资源而言,国内外的生物信息学网络资源极为丰富,从代表国家级研究机构的大型网点到代表专业实验室的小型站点,都建立了众多生物信息学网站。大型机构的网站通常提供相关新闻、数据库服务以及软件在线服务;小型科研机构大多展示自己的研究成果,部分还提供自行设计算法的在线服务。各种专业研究机构和公司如雨后春笋般不断涌现,生物科技公司和制药工业内部的生物信息学部门的数量也日益增加。
如今,随着生物信息学的蓬勃发展,生命科学的基础研究与技术开发对生物信息学的科研与人才需求也迅猛增加,传统欧美发达国家也面临着供不应求、人才匮乏的局面。因此,对生物信息学人才的培养至关重要。我国越来越多的高等院校、科研单位开展了生物信息学教育和科研工作,许多大学已经建设生物信息学相关的专业与课程,推动我国生物信息学的快速发展。

查看详情 →
💡

1.2 生物信息学的发展历史与趋势

section
查看详情 →
💡

第一阶段:分子生物学发展时期(1953—1975年)

concept

这一时期是生物信息学的萌芽阶段,核心特征是**理论奠基**和**初步尝试**。 **关键里程碑:** - **1953年**:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。 - **1955年**:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子...

这一时期是生物信息学的萌芽阶段,核心特征是理论奠基初步尝试
关键里程碑:
- 1953年:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。
- 1955年:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子的序列可以被"读取"。
- 1965年:中国科学家成功人工合成牛胰岛素结晶,这是人类首次人工合成蛋白质。
- 1968年:玛格丽特·戴霍夫(Margaret Dayhoff)创建了首个蛋白质序列数据库(Atlas of Protein Sequence and Structure),并提出了PAM矩阵(点突变矩阵),为序列比较奠定了数学基础。她被誉为"生物信息学之母"。
- 1973年:伯格(Berg)发现第一个重组DNA,基因工程时代来临。
- 1975年:DNA测序工作正式开启,为后续大规模数据产生铺平道路。
这一时期的生物信息学活动主要是零星的、手工的。科学家们用纸质卡片记录序列,用简单的统计学方法分析数据。但正是这些早期工作,确立了"生物序列可以被计算分析"的核心理念。

查看详情 →
💡

第二阶段:基因组学时期(1976—2001年)

concept

这一时期是生物信息学的**成型阶段**,核心特征是**数据库建立**、**算法开发**和**基因组计划启动**。 **关键里程碑:** - **1977年**:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。 - **1981年**:中国实现酵母丙氨酸转移核糖核酸的人工合成。 - **1985年**:穆利斯(Mullis)创立PCR...

这一时期是生物信息学的成型阶段,核心特征是数据库建立算法开发基因组计划启动
关键里程碑:
- 1977年:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。
- 1981年:中国实现酵母丙氨酸转移核糖核酸的人工合成。
- 1985年:穆利斯(Mullis)创立PCR技术;生物信息学专业期刊CABIOS创刊。
- 1986年:日本核酸序列数据库DDBJ诞生;蛋白质数据库SWISS-PROT建立。
- 1988年:美国国家生物技术信息中心(NCBI)成立,成为生物信息学最重要的基础设施之一。
- 1990年:国际人类基因组计划(HGP)正式启动,预算30亿美元,计划15年完成。这是生物学领域的"登月计划"。
- 1991年:BLAST算法发表,成为生物信息学领域最广泛使用的序列比对工具。
- 1995年:流感嗜血杆菌全基因组序列发布,这是第一个被完全测序的自由生活生物。
- 1996年:酵母基因组完成测序,这是第一个真核生物基因组。
- 1997年:北京大学生物信息学中心(CBI)成立;大肠杆菌基因组完成测序。
- 1998年:克雷格·文特尔(Craig Venter)创立塞莱拉基因组公司,采用鸟枪法测序策略,与公共基因组计划形成竞争。
这一时期,生物信息学从一个边缘领域逐渐走向中心。人类基因组计划产生的海量数据,迫使科学家们开发自动化工具来处理和分析。BLAST、FASTA等序列搜索算法,Clustal多序列比对工具,Phylip进化分析软件等都在这一时期诞生。

查看详情 →
💡

第三阶段:后基因组时期(2002—2012年)

concept

这一时期是生物信息学的**快速发展阶段**,核心特征是**高通量数据**、**多组学整合**和**系统生物学兴起**。 **关键里程碑:** - **2001年**:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。 - **2002年**:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。 - **2003年**:人类基因组计划正式宣布完成;ENCODE计划启...

这一时期是生物信息学的快速发展阶段,核心特征是高通量数据多组学整合系统生物学兴起
关键里程碑:
- 2001年:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。
- 2002年:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。
- 2003年:人类基因组计划正式宣布完成;ENCODE计划启动,旨在识别人类基因组中的所有功能元件。
- 2005年:二代测序技术(NGS)出现,测序成本开始断崖式下降。
- 2006年:癌症基因组图谱计划(TCGA)启动,系统性地对多种癌症进行基因组分析。
- 2007年:世界首份"个人版"基因图谱完成,个体化基因组时代来临;人体微生物组计划(HMP)启动。
- 2009年:汤富酬发表单细胞转录组测序技术,开启了单细胞组学时代。
- 2010年:外显子测序技术成熟,三代测序技术出现。
- 2012年:CRISPR/Cas基因编辑系统的应用发表;英国启动十万人基因组计划。
这一时期,二代测序技术(Illumina平台为代表)的普及使得数据产量呈指数级增长。一个实验室一天就能产生相当于整个人类基因组计划的数据量。生物信息学从"辅助基因组计划"变成了所有生命科学研究都离不开的核心工具。

查看详情 →
💡

第四阶段:大数据与人工智能时期(2013年至今)

concept

这一时期是生物信息学的**智能化阶段**,核心特征是**深度学习应用**、**多模态数据整合**和**精准医学实践**。 **关键里程碑:** - **2013年**:人类脑计划启动。 - **2015年**:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。 - **2016年**:深圳国家基因库CNGB正式运营;空间转录组学技术发展。 - **2017年**:"中国十万人基因组计划"启动...

这一时期是生物信息学的智能化阶段,核心特征是深度学习应用多模态数据整合精准医学实践
关键里程碑:
- 2013年:人类脑计划启动。
- 2015年:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。
- 2016年:深圳国家基因库CNGB正式运营;空间转录组学技术发展。
- 2017年:"中国十万人基因组计划"启动;人类细胞图谱计划启动。
- 2018年:单细胞水平细胞谱系追踪技术出现;小麦基因组图谱历经13年绘制完成。
- 2019年:国家基因组科学数据中心(NGDC)成立。
- 2020年:AlphaFold2在蛋白质结构预测大赛CASP14中获得历史性突破,解决了困扰生物学界50年的蛋白质折叠问题。
- 2021年:AlphaFold2成功预测98.5%的人类蛋白质结构。
- 2022年:ChatGPT发布,大语言模型开始影响科学研究方式;人类基因组计划最后8%的空缺(端粒等复杂区域)被填补。
- 2024年:AlphaFold2获得诺贝尔化学奖,这是生物信息学领域首次获得诺贝尔奖,标志着该学科得到国际最高学术认可;AlphaFold3发布,能够预测蛋白质-DNA、蛋白质-RNA复合物结构。
这一时期,人工智能特别是深度学习与生物信息学的融合成为最显著的特征。AlphaFold系列的成功证明,AI不仅可以加速数据分析,还能解决传统计算方法难以攻克的生物学难题。


查看详情 →
💡

1.3 生物信息学的研究领域

section
查看详情 →
💡

1.3.1 生物学研究领域

concept

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

查看详情 →
💡

生物化学与分子生物学

concept

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。 **核心应用包括:** - **基因识别与注释**:通过计算算法从基因组序列中识别基因的位置、结构和功能 - **蛋白质功能预测**:基于序列相似性推断未知蛋白质的功能 - **序列 motif 发现**:识别DNA...

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。
核心应用包括:
- 基因识别与注释:通过计算算法从基因组序列中识别基因的位置、结构和功能
- 蛋白质功能预测:基于序列相似性推断未知蛋白质的功能
- 序列 motif 发现:识别DNA或蛋白质序列中的保守模式(如转录因子结合位点)
- 分子进化分析:重建基因和蛋白质家族的进化历史
由于生物功能的主要体现者是蛋白质和其他各类生物分子,研究它们的生成过程、修饰加工、转运定位、结构变化、相互作用等活动,将推动对生物分子的功能、表达和调控的理解。生物信息学通过计算模拟,可以预测蛋白质的三维结构、分子间的相互作用界面,为实验设计提供指导。

查看详情 →
💡

细胞生物学

concept

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。 **生物信息学在细胞生物学中的应用:** - **单细胞组学分析**:利用单细胞测序技术,解析细胞异质性和发育轨迹 - **信号通路重构**:整合多组学数据,构建细胞内的信号传导网络 - **细胞间通信分析**:通过配体-受体分析推断细胞间的相互作用 - **空间转录组分析**:将基因表达信息映射到组织的...

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。
生物信息学在细胞生物学中的应用:
- 单细胞组学分析:利用单细胞测序技术,解析细胞异质性和发育轨迹
- 信号通路重构:整合多组学数据,构建细胞内的信号传导网络
- 细胞间通信分析:通过配体-受体分析推断细胞间的相互作用
- 空间转录组分析:将基因表达信息映射到组织的物理位置
生物信息学可以利用单细胞组学数据并整合基因组、表观组、转录组、蛋白质组等多组学数据,解析细胞内的信号通路传导与基因/蛋白质相互作用以及细胞间的信号通信,探索细胞、组织、器官、系统、生物体等不同尺度下生命活动的原理和调控方式。

查看详情 →
💡

遗传与发育生物学

concept

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。 **关键应用方向:** - **GWAS分析**:全基因组关联研究,识别人类复杂疾病的易感位点 - **表观遗传学分析**:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读 - **发育轨迹推断**:通过单细胞测序重建胚胎发育过程中的细胞分化路径 - **基因调控网络**:识别关键调控元件,理解基因组、表观基因组和环境...

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。
关键应用方向:
- GWAS分析:全基因组关联研究,识别人类复杂疾病的易感位点
- 表观遗传学分析:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读
- 发育轨迹推断:通过单细胞测序重建胚胎发育过程中的细胞分化路径
- 基因调控网络:识别关键调控元件,理解基因组、表观基因组和环境之间的动态相互作用
一个受精卵是如何从单细胞发育、分化为大量不同类型的细胞、组织和器官,最终构成一个完整的生命体,这一直是生物学领域中一个很大的谜团。通过结合多组学分析,我们得以揭开胚胎按照精确的时间顺序发展的秘密,预测和模拟胚胎发育的潜在模式。此外,我们还能分析环境因素如何影响胚胎发展,并探讨这些影响如何在遗传水平上被传递及其对后代可能产生的效应。

查看详情 →
💡

生理学

concept

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。 **生物信息学在生理学中的新兴应用:** - **3D器官重构**:基于成像数据构建器官的三维结构模型 - **动态功能模拟**:利用数学模型模拟生理过程(如心脏跳动、血流动力学) - **影像组学分析**:结合高分辨率影像测量技术,提取生物标志物 - **系统生理学建模**:整合多尺度数据,构...

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。
生物信息学在生理学中的新兴应用:
- 3D器官重构:基于成像数据构建器官的三维结构模型
- 动态功能模拟:利用数学模型模拟生理过程(如心脏跳动、血流动力学)
- 影像组学分析:结合高分辨率影像测量技术,提取生物标志物
- 系统生理学建模:整合多尺度数据,构建从分子到器官的系统模型
如今,单细胞测序、空间转录组等生物技术的发展,为生理学研究带来了细胞和分子层面的丰富信息。同时,高分辨率影像测量技术和控制与计算技术结合生物信息学、人工智能,能够对生物体进行计算机数学建模,帮助理解复杂的生理过程。

查看详情 →
💡

微生物学

concept

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。 **生物信息学在微生物学中的核心应用:** - **宏基因组分析**:直接从环境样品中提取全部DNA,分析微生物群落组成 - **16S/18S rRNA分析**:通过保守的核糖体RNA基因识别和分类微生物 - **微生物代谢网络**:重构微生物的代谢途径,预测代谢能力 - **病原...

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。
生物信息学在微生物学中的核心应用:
- 宏基因组分析:直接从环境样品中提取全部DNA,分析微生物群落组成
- 16S/18S rRNA分析:通过保守的核糖体RNA基因识别和分类微生物
- 微生物代谢网络:重构微生物的代谢途径,预测代谢能力
- 病原微生物基因组学:追踪病原体的变异和进化,预测耐药性和毒力
- 微生物组学(Microbiome):研究微生物群落与宿主健康的相互作用
现代微生物学中,生物信息学已经成为不可或缺的工具。测序、序列比对、系统发育分析、机器学习等技术以及宏基因组、微生物代谢组、16S/18S rRNA分析等生物信息分析方法,在环境微生物学、微生物生态学、病原生物学、微生物工程等不同分支中发挥着重要作用。

查看详情 →
💡

神经生物学

concept

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。 **生物信息学在神经生物学中的应用:** - **脑基因表达图谱**:利用先进计算工具分析数百万神经元及其群体的基因表达数据 - **神经影像分析**:处理和分析fMRI、EEG等神经影像数据 - **神经网络建模**:构建神经元和神经环路的计算模型 - **认知科学计算模型**:利用深度学习理解大脑信息处理机制 长期以来,借...

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。
生物信息学在神经生物学中的应用:
- 脑基因表达图谱:利用先进计算工具分析数百万神经元及其群体的基因表达数据
- 神经影像分析:处理和分析fMRI、EEG等神经影像数据
- 神经网络建模:构建神经元和神经环路的计算模型
- 认知科学计算模型:利用深度学习理解大脑信息处理机制
长期以来,借助神经解剖、神经生理、神经病理以及临床医学研究,已获取了海量有关脑结构与功能的数据。神经影像技术与生物信息学的融合,为研究大脑结构和功能提供了新途径。深度学习技术与生物信息学的结合,也为理解大脑信息处理机制以及认知科学和人工智能领域提供了崭新的理论框架。

查看详情 →
💡

其他重要领域

concept

**生态学(Ecology)**:利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。 **植物学(Phytology)**:植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。 **动物学(Zoology)**:动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。 **免疫学(Immunology)**:免疫组库测序(TCR/BCR-...

生态学(Ecology):利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。
植物学(Phytology):植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。
动物学(Zoology):动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。
免疫学(Immunology):免疫组库测序(TCR/BCR-seq);MHC-肽段结合预测;疫苗设计。
进化生物学(Evolutionary Biology):系统发育树构建;分子进化速率计算;适应性进化检测。

查看详情 →
💡

1.3.2 生物信息学研究内容

concept

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

查看详情 →
💡

序列分析

concept

序列分析是生物信息学最经典、最核心的内容。 **主要研究内容包括:** - **序列比对**:比较两条或多条序列的相似性,识别保守区域和变异位点 - **基因预测**:从基因组DNA序列中识别基因的位置和结构 - **序列搜索**:在大型数据库中搜索与查询序列相似的序列(如BLAST) - **Motif发现**:识别序列中的保守模式(如转录因子结合位点) - **序列拼接**:将短序列片段组装成...

序列分析是生物信息学最经典、最核心的内容。
主要研究内容包括:
- 序列比对:比较两条或多条序列的相似性,识别保守区域和变异位点
- 基因预测:从基因组DNA序列中识别基因的位置和结构
- 序列搜索:在大型数据库中搜索与查询序列相似的序列(如BLAST)
- Motif发现:识别序列中的保守模式(如转录因子结合位点)
- 序列拼接:将短序列片段组装成连续的基因组序列
序列分析的基础假设是"序列决定结构,结构决定功能"——相似的序列往往具有相似的功能。这一假设构成了生物信息学中"通过同源性推断功能"(homology-based function prediction)的基石。

查看详情 →
💡

结构分析

concept

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括: - **蛋白质结构预测**:从氨基酸序列预测三维结构(如AlphaFold) - **RNA结构预测**:预测RNA的二级和三级结构 - **分子对接**:预测小分子药物与蛋白质靶点的结合模式 - **分子动力学模拟**:模拟生物大分子的动态行为 - **结构比对**:比较不同蛋白质的结构相似性,识别结构域 蛋白质结构预测被生物信息...

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括:
- 蛋白质结构预测:从氨基酸序列预测三维结构(如AlphaFold)
- RNA结构预测:预测RNA的二级和三级结构
- 分子对接:预测小分子药物与蛋白质靶点的结合模式
- 分子动力学模拟:模拟生物大分子的动态行为
- 结构比对:比较不同蛋白质的结构相似性,识别结构域
蛋白质结构预测被生物信息学先驱Michael Levitt称为"生物信息学的圣杯",而2024年AlphaFold2的诺贝尔奖正是对这一领域里程碑式成就的肯定。

查看详情 →
💡

功能分析

concept

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。 **主要内容包括:** - **功能注释**:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等) - **表达分析**:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等) - **通路分析**:将基因列表映射到生物学通路,理解系统性功能变化 - **相互作用网络**:构建蛋白质-蛋白质相互作用(PPI)网...

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。
主要内容包括:
- 功能注释:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等)
- 表达分析:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等)
- 通路分析:将基因列表映射到生物学通路,理解系统性功能变化
- 相互作用网络:构建蛋白质-蛋白质相互作用(PPI)网络、基因调控网络
- 表型关联分析:将基因型与表型关联,理解遗传基础

查看详情 →
💡

数据资源与算法工具

concept

生物信息学的发展离不开数据资源和算法工具的积累。 **主要数据库:** - **核酸序列数据库**:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟 - **蛋白质数据库**:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构) - **基因组数据库**:Ensembl、UCSC Genome Browser、NCBI Genome - **通路数据...

生物信息学的发展离不开数据资源和算法工具的积累。
主要数据库:
- 核酸序列数据库:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟
- 蛋白质数据库:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构)
- 基因组数据库:Ensembl、UCSC Genome Browser、NCBI Genome
- 通路数据库:KEGG、Reactome、WikiPathways
- 疾病数据库:OMIM、ClinVar、GWAS Catalog
- 单细胞数据库:Cell Atlas、Single Cell Portal
算法工具开发:
- 生物信息学领域已发展了数以万计的软件工具
- 工具开发遵循"开源、共享"的文化传统
- 生物信息学社区通过BioConductor(R)、Biopython(Python)、Galaxy(Web平台)等项目推动工具的标准化和可重复性


查看详情 →
💡

1.4 生物信息学的算法基础

section
查看详情 →
💡

1.4.1 降维算法

concept

**为什么需要降维?** 生物数据通常具有"高维"特征。例如: - 一个RNA-Seq实验可能测量2万多个基因的表达 - 一个基因组变异研究可能检测数百万个SNP位点 - 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达 维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。 **主成分分析(PCA)**: - **原理**:寻找数据...

为什么需要降维?
生物数据通常具有"高维"特征。例如:
- 一个RNA-Seq实验可能测量2万多个基因的表达
- 一个基因组变异研究可能检测数百万个SNP位点
- 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达
维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。
主成分分析(PCA)
- 原理:寻找数据中方差最大的方向,将数据投影到这些方向上
- 类比:想象一个三维的云朵,PCA找到云朵"最长"和"次长"的两个方向,将其投影到二维平面上
- 生物应用:基因表达数据可视化、群体遗传结构分析(如PCA用于推断人群祖先成分)、批次效应校正
- 优点:无监督、计算高效、结果可解释
- 局限:只能捕获线性关系
t-SNE(t-分布随机邻域嵌入)
- 原理:在高维空间中"相近"的样本,在低维空间中也应该"相近";优化低维表示使得这种"邻近关系"尽可能保持
- 类比:把一张揉皱的地图展平,尽量保持邻近城市的相对位置
- 生物应用:单细胞RNA-Seq数据可视化(如Seurat包中的标准流程)、细胞类型识别、发育轨迹推断
- 优点:擅长揭示非线性结构、可视化效果好
- 局限:计算成本高、结果随机性强、全局结构保持不佳
UMAP(统一流形近似与投影)
- 原理:基于流形学习(manifold learning)和拓扑数据分析,保持数据的局部和全局结构
- 生物应用:单细胞数据降维、空间转录组数据可视化
- 优点:比t-SNE更快、能更好地保持全局结构、更稳定
- 局限:参数调优较复杂
选择建议:PCA适合初步探索和线性结构;t-SNE适合精细可视化;UMAP是二者的折中,是目前单细胞分析的首选。

查看详情 →
💡

1.4.2 聚类算法

concept

**为什么需要聚类?** 聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。 **K-Means聚类**: - **原理**:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点 - **类比**:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直...

为什么需要聚类?
聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。
K-Means聚类
- 原理:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点
- 类比:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直到稳定
- 生物应用:基因表达模式聚类、患者分型、微生物群落分类
- 优点:简单、高效
- 局限:需要预先指定K值、对初始值敏感、假设簇是球形
层次聚类(Hierarchical Clustering)
- 原理:自底向上(凝聚)或自顶向下(分裂)地构建树状结构
- 类比:从每片叶子(单个样本)开始,不断合并"最相似"的两组,直到形成一棵树
- 生物应用:基因表达热图(heatmap)的标准聚类方法、进化树构建、样本关系分析
- 优点:不需要预先指定类别数、输出树状图(dendrogram)直观展示关系
- 局限:计算复杂度高、对噪声敏感
DBSCAN(基于密度的聚类)
- 原理:将"高密度区域"识别为簇,可以自动发现任意形状的簇
- 生物应用:发现细胞亚群、识别异常样本
- 优点:能发现任意形状的簇、自动识别噪声
- 局限:对密度不均匀的数据效果不佳
聚类在生物信息学中的经典应用
- 基因共表达网络:聚类表达模式相似的基因,推断功能模块
- 癌症分子分型:基于基因表达谱将癌症患者分为不同亚型,指导治疗
- 细胞类型鉴定:聚类单细胞数据,发现新的细胞类型

查看详情 →
💡

1.4.3 分类算法

concept

**为什么需要分类?** 分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。 **决策树(Decision Tree)**: - **原理**:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别 - **类比**:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可...

为什么需要分类?
分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。
决策树(Decision Tree)
- 原理:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别
- 类比:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可能是..."
- 生物应用:疾病诊断决策、基因功能分类、突变有害性预测(如SIFT、PolyPhen)
- 优点:可解释性强、不需要数据标准化
- 局限:容易过拟合、对数据变化敏感
支持向量机(SVM)
- 原理:在高维空间中寻找一个超平面,使不同类别的样本间隔最大化
- 类比:想象两类水果(苹果和橙子),SVM找到一条"最宽"的分界线,把两类水果分开
- 生物应用:蛋白质分类、疾病亚型识别、基因选择
- 优点:在高维空间表现好、泛化能力强
- 局限:大数据集训练慢、核函数选择困难
随机森林(Random Forest)
- 原理:构建多棵决策树,每棵树用随机抽样的样本和特征训练,最后投票决定分类
- 类比:让一个"专家委员会"(多棵树)投票决定,每个专家看问题的角度不同(随机特征),综合结果更稳健
- 生物应用:特征选择(识别重要基因)、疾病风险预测、蛋白质-蛋白质相互作用预测
- 优点:准确率高、能评估特征重要性、不易过拟合
- 局限:模型复杂、训练时间长
深度学习(Deep Learning)
- 原理:多层神经网络自动学习特征表示
- 生物应用:蛋白质结构预测(AlphaFold)、基因表达调控预测、药物分子生成、病理图像诊断
- 优点:表示能力强、自动特征提取
- 局限:需要大量训练数据、计算成本高、可解释性差("黑箱"问题)
分类算法选择建议
- 小样本、需要可解释性:决策树、SVM
- 大数据、追求准确率:随机森林、深度学习
- 生物信息学实际问题:往往需要尝试多种方法,交叉验证选择最优

查看详情 →
💡

1.4.4 回归算法

concept

**为什么需要回归?** 回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。 **线性回归(Linear Regression)**: - **原理**:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面) - **公式**:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ - **类比**:根据房屋面积、地段等特征,预测房价 - **生物应...

为什么需要回归?
回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。
线性回归(Linear Regression)
- 原理:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面)
- 公式:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ
- 类比:根据房屋面积、地段等特征,预测房价
- 生物应用:基因表达量预测、表型-基因型关联分析、药物剂量-效应关系
- 优点:简单、可解释、理论基础扎实
- 局限:只能捕获线性关系、对异常值敏感
逻辑回归(Logistic Regression)
- 原理:虽然名字里有"回归",但它用于分类——通过sigmoid函数将线性输出映射到0-1概率
- 公式:P(y=1|x) = 1 / (1 + e^-(β₀ + β₁x₁ + ...))
- 生物应用:疾病风险预测(如根据SNP预测患病概率)、临床诊断模型
- 优点:输出概率、可解释性强、计算高效
- 局限:只能处理线性可分问题
LASSO回归(Least Absolute Shrinkage and Selection Operator)
- 原理:在普通回归的基础上加入L1正则化,使部分系数变为0,实现特征选择
- 类比:像一位严格的编辑,不仅要文章写得准(拟合数据),还要尽量简洁(减少用词),把不重要的词直接删掉(系数变为0)
- 生物应用:高维基因数据的特征选择(从数万个基因中筛选出与疾病相关的关键基因)、构建稀疏预测模型
- 优点:自动特征选择、防止过拟合、模型可解释
- 局限:高度相关特征中只选一个
岭回归(Ridge Regression)
- 原理:L2正则化,使系数尽量小但不为0
- 与LASSO的区别:LASSO做"选择"(删去不重要特征),岭回归做"收缩"(让所有特征都参与但权重更小)
- 生物应用:共线性严重的基因数据(如通路中的基因)
弹性网络(Elastic Net)
- 原理:LASSO和岭回归的结合,同时具有L1和L2正则化
- 生物应用:高维基因数据,特别是特征数远大于样本数时(p >> n问题)

查看详情 →
💡

1.4.5 统计分析

concept

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。 **假设检验**: - **核心问题**:观察到的差异是"真实存在"还是"随机波动"? - **p值**:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著" - **生物应用**:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较 - **注意事项**:p值不是...

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。
假设检验
- 核心问题:观察到的差异是"真实存在"还是"随机波动"?
- p值:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著"
- 生物应用:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较
- 注意事项:p值不是"差异有多大",而是"证据有多强";需要结合效应量(effect size)解释结果
多重检验校正
- 问题:当同时进行数千次检验(如检测2万个基因的差异表达)时,即使零假设成立,也有约5%的检验会"偶然"显著(假阳性)
- Bonferroni校正:将阈值除以检验次数,非常严格但损失统计功效
- FDR(False Discovery Rate)校正:控制假阳性比例,如Benjamini-Hochberg方法
- 生物应用:全基因组关联研究(GWAS)、RNA-Seq差异表达分析
- 重要性:不进行多重检验校正,差异表达分析几乎总会"发现"大量假阳性基因
方差分析(ANOVA)
- 原理:比较三组或更多组之间的均值差异,分解变异来源
- 生物应用:多组实验比较(如三种药物处理下的基因表达差异)、批次效应评估
- 类型:单因素ANOVA(一个分组变量)、双因素ANOVA(两个分组变量,如处理+时间)
非参数检验
- 何时使用:数据不满足正态分布、样本量小、存在异常值
- 常用方法:Mann-Whitney U检验(两组比较)、Kruskal-Wallis检验(多组比较)、Wilcoxon符号秩检验(配对样本)
- 生物应用:基因表达数据(通常不服从正态分布)、微生物组数据(计数数据,偏态分布)
- 优点:不假设数据分布、稳健
- 局限:统计功效通常低于参数检验
生存分析(Survival Analysis)
- 核心:分析"事件发生时间"(如死亡、复发、转移)
- Kaplan-Meier曲线:直观展示不同组别的生存概率
- Cox比例风险模型:评估协变量对风险率的影响
- 生物应用:临床预后分析(根据基因表达预测患者生存时间)、药物临床试验
统计学习在生物信息学中的趋势
- 从"统计显著"到"生物学意义":不仅看p值,还关注效应量、临床意义
- 贝叶斯方法:结合先验知识(如通路信息、蛋白质相互作用)进行推断,在生物信息学中越来越重要
- 可重复性危机:生物信息学领域正加强统计方法的规范使用,提高结果可重复性


查看详情 →
💡

1.5 生物信息学的机遇与挑战

section
查看详情 →
💡

1.5.1 生物信息学的机遇

concept
查看详情 →
💡

人工智能与深度学习的深度融合

concept

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长: **蛋白质科学与结构生物学**: - AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱 - AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物 - 基于深度学习的蛋白质设计(如RFdiffusio...

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长:
蛋白质科学与结构生物学
- AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱
- AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物
- 基于深度学习的蛋白质设计(如RFdiffusion、ProteinMPNN)可以从头设计具有特定功能的蛋白质
- 蛋白质语言模型(如ESM-2、ProGen)学习蛋白质序列的"语法",预测突变效应和蛋白质功能
基因组学与变异解读
- 深度学习模型(如DeepVariant、Clair3)在变异检测精度上已超越传统方法
- 大规模语言模型(如Enformer、Basenji2)预测基因调控和染色质可及性
- 利用AI从DNA序列直接预测基因表达和表型
药物研发与分子设计
- 生成式AI(如扩散模型)可以设计全新的药物分子
- AI预测分子与靶点的结合亲和力,加速药物筛选
- 临床试验患者招募和结果预测
多组学整合
- 深度学习能够同时处理基因组、转录组、蛋白质组等多模态数据
- 图神经网络(GNN)用于建模生物分子网络(如蛋白质相互作用网络、代谢网络)
- 自监督学习利用未标注的海量生物数据预训练模型
AI for Science的范式转变
- 从"人工设计特征+传统机器学习"到"端到端深度学习"
- 从"单个任务优化"到"基础模型+微调"(如生物信息学基础模型)
- 大语言模型(LLM)辅助生物学知识发现(如GPT-4在文献挖掘和假设生成中的应用)

查看详情 →
💡

数据资源的指数级增长与开放共享

concept

**数据规模**: - 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍 - 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱 - 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据 **数据开放**: - FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化 - 数据...

数据规模
- 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍
- 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱
- 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据
数据开放
- FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化
- 数据共享平台(如GEO、ArrayExpress、Zenodo)使科学数据可重复利用
- 国际合作项目(如人类基因组计划、人类细胞图谱、地球微生物组计划)产生开放参考数据集
数据价值
- 数据驱动的发现(如从海量GWAS数据中发现新的疾病基因)
- 数据整合产生新知识(如整合多队列数据验证发现的可靠性)
- 历史数据再利用(如对20年前的微阵列数据重新分析,发现新的生物学见解)

查看详情 →
💡

精准医学与临床转化需求

concept

**精准医学**: - 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选) - 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型) - 罕见病诊断:全外显子/全基因组测序快速锁定致病基因 **临床生物信息学**: - 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测 - 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向...

精准医学
- 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选)
- 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型)
- 罕见病诊断:全外显子/全基因组测序快速锁定致病基因
临床生物信息学
- 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测
- 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向治疗)
- 感染病原快速鉴定:宏基因组测序(mNGS)从患者样本中直接检测病原体
公共卫生
- 病原体基因组监测(如COVID-19变异株追踪)
- 流行病学建模与预测
- 耐药性监测与预警

查看详情 →
💡

新兴技术的发展

concept

**单细胞与空间组学**: - 单细胞测序从"看见细胞群体"到"看见单个细胞" - 空间组学从"知道表达了什么"到"知道在哪里表达" - 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平 **三代测序**: - 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题 - 直接检测DNA/RNA修饰(如甲基化)无需化学转化 - 实时测序、便携设备...

单细胞与空间组学
- 单细胞测序从"看见细胞群体"到"看见单个细胞"
- 空间组学从"知道表达了什么"到"知道在哪里表达"
- 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平
三代测序
- 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题
- 直接检测DNA/RNA修饰(如甲基化)无需化学转化
- 实时测序、便携设备(如MinION)实现现场测序
基因编辑与合成生物学
- CRISPR-Cas9的广泛应用产生大量编辑数据,需要生物信息学分析编辑效率和脱靶效应
- 合成生物学设计新生物系统,需要生物信息学工具进行设计-构建-测试-学习(DBTL)循环
- 基因线路设计与优化

查看详情 →
💡

1.5.2 生物信息学的挑战

concept
查看详情 →
💡

数据挑战

concept

**数据质量与标准化**: - 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应) - 数据格式多样,缺乏统一标准,数据整合困难 - 元数据(metadata)记录不完整,影响数据的可理解性和可重复性 - 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果 **数据规模与计算资源**: - 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据 - 存储、...

数据质量与标准化
- 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应)
- 数据格式多样,缺乏统一标准,数据整合困难
- 元数据(metadata)记录不完整,影响数据的可理解性和可重复性
- 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果
数据规模与计算资源
- 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据
- 存储、传输、计算成本高昂,对基础设施提出巨大挑战
- 实时分析需求(如临床诊断)与计算复杂度的矛盾
数据隐私与伦理
- 基因组数据包含个人身份信息,隐私保护至关重要
- 跨国数据共享面临法律和政策障碍(如GDPR、数据主权)
- 基因歧视风险:保险公司、雇主可能利用基因信息歧视个体
- 数据安全:生物数据库成为网络攻击的潜在目标
数据复杂性
- 生物数据的高维性(特征数远超样本数)导致统计分析的困难
- 数据的异质性:不同来源、不同技术平台的数据难以直接比较
- 生物系统的复杂性:基因-环境相互作用、表观遗传修饰、微生物组影响等增加了数据解读的难度

查看详情 →
💡

算法挑战

concept

**可解释性(Interpretability)**: - 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难 - 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求) - 如何平衡模型性能与可解释性是一个核心挑战 **泛化能力(Generalization)**: - 生物数据存在严重的批次效应和技术平台差异 - 在一个数据集上训练的模型,往往无法直接应用于...

可解释性(Interpretability)
- 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难
- 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求)
- 如何平衡模型性能与可解释性是一个核心挑战
泛化能力(Generalization)
- 生物数据存在严重的批次效应和技术平台差异
- 在一个数据集上训练的模型,往往无法直接应用于另一个数据集
- 领域适应(Domain Adaptation)和迁移学习在生物信息学中至关重要
小样本问题
- 生物医学实验成本高,样本量通常有限(几十到几百)
- 特征维度高(数万到数百万),样本量小,导致"维度灾难"
- 如何在小样本条件下训练可靠的模型?
因果推断(Causality)
- 大多数生物信息学分析只能发现相关性,而非因果关系
- 从"基因X与疾病Y相关"到"基因X导致疾病Y"需要严格的因果推断
- 孟德尔随机化(Mendelian Randomization)等方法正在被广泛采用,但仍有局限
多组学整合
- 如何有效整合基因组、转录组、蛋白质组、代谢组等不同层次的数据?
- 不同组学数据具有不同的尺度、分布和噪声特征
- 缺乏统一的多组学整合理论框架

查看详情 →
💡

人才与教育挑战

concept

**跨学科人才培养困难**: - 生物信息学需要生物学、计算机科学、统计学的交叉知识 - 传统教育体系培养的学生往往只精通一个领域 - 既懂生物学问题又懂计算方法的复合型人才严重短缺 **技术迭代快速**: - 生物信息学工具和技术更新极快,学习者需要持续学习 - 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂 - 教育体系难以跟上技术发展的步伐 **计算与实验的脱节**: - 计算生物学家...

跨学科人才培养困难
- 生物信息学需要生物学、计算机科学、统计学的交叉知识
- 传统教育体系培养的学生往往只精通一个领域
- 既懂生物学问题又懂计算方法的复合型人才严重短缺
技术迭代快速
- 生物信息学工具和技术更新极快,学习者需要持续学习
- 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂
- 教育体系难以跟上技术发展的步伐
计算与实验的脱节
- 计算生物学家和实验生物学家之间往往存在沟通障碍
- 计算人员缺乏生物学直觉,实验人员缺乏计算思维
- 需要培养"双语人才"——既能与生物学家讨论科学问题,又能与计算机科学家讨论算法设计

查看详情 →
💡

应用转化挑战

concept

**从基础研究到临床应用的鸿沟**: - 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证 - 临床试验成本高、周期长,许多计算预测难以进入临床 - 监管政策滞后于技术发展(如AI医疗设备的审批流程) **结果可重复性**: - 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择 - 许多已发表的研究结果难以重复 - 需要建立标准化的分析流程(如Best Practices)和...

从基础研究到临床应用的鸿沟
- 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证
- 临床试验成本高、周期长,许多计算预测难以进入临床
- 监管政策滞后于技术发展(如AI医疗设备的审批流程)
结果可重复性
- 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择
- 许多已发表的研究结果难以重复
- 需要建立标准化的分析流程(如Best Practices)和可重复性研究环境(如Docker、Conda)
成本与效益的平衡
- 基因组测序成本虽已大幅下降,但全基因组分析、存储和解读的综合成本仍然较高
- 精准医学的效益需要长期验证,短期内难以体现
- 资源分配:在有限的医疗预算中,生物信息学驱动的精准医疗能否带来足够的健康收益?

查看详情 →
💡

1.5.3 结语

concept

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。 然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括: 1. **自动化与智能化**:从"手动编写...

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。
然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括:
1. 自动化与智能化:从"手动编写分析脚本"到"自动化分析流程"(如Snakemake、Nextflow),再到"智能分析助手"(LLM辅助分析)
2. 可解释AI:发展既能保持高性能又具有生物学可解释性的AI方法,让黑箱变透明
3. 标准化与可重复性:建立分析流程、数据格式、软件环境的行业标准,提高研究可重复性
4. 教育与培训:改革教育体系,培养更多跨学科人才;发展在线教育资源和虚拟实践平台
5. 临床整合:推动生物信息学从基础研究走向临床实践,建立从样本采集到报告解读的标准化流程
6. 伦理与法规:制定数据共享、隐私保护、AI应用的伦理准则和法规框架
7. 全球合作:加强国际合作,建立全球生物数据共享和标准化体系
生物信息学的未来,不仅是技术的未来,更是科学的未来。在这个数据驱动的时代,生物信息学将继续扮演连接生物学、计算机科学和医学的桥梁角色,推动人类对生命本质的理解,最终造福人类健康和社会福祉。


查看详情 →
💡

第10章 表型组学

chapter
查看详情 →
💡

10.1 表型组学概述

section
查看详情 →
💡

10.2 表型组学数据

section
查看详情 →
💡

10.3 表型组学的数据分析

section
查看详情 →
💡

10.4 表型组学的应用

section
查看详情 →
💡

10.5 总结与展望

section
查看详情 →
💡

第11章 系统生物学

chapter
查看详情 →
💡

11.1 系统生物学概述

section
查看详情 →
💡

11.2 生物网络类型及数据资源

section
查看详情 →
💡

11.3 生物分子网络及特征

section
查看详情 →
💡

第12章 生物信息学应用

chapter
查看详情 →
💡

12.1 精准医学

section
查看详情 →
💡

基因组医学的原理

concept

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析: 1. **变异检测**:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。 2. *...

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析:
1. 变异检测:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。
2. 变异注释:使用ANNOVAR、VEP(Variant Effect Predictor)等工具对检测到的变异进行功能注释,判断变异位于基因组的什么位置(编码区、非编码区、调控区)、是否改变氨基酸序列(同义突变、错义突变、无义突变、移码突变)等。
3. 致病性评估:结合人群频率数据库(如gnomAD)、致病性预测工具(如SIFT、PolyPhen-2、CADD)和临床数据库(如ClinVar、OMIM),评估变异的致病可能性。
4. 多组学整合:将基因组数据与转录组(RNA-seq)、蛋白质组、代谢组等数据整合,构建全面的分子图谱。

查看详情 →
💡

肿瘤基因组学的原理

concept

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括: 1. **肿瘤-正常配对分析**:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。 2. **突变特征分析**:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺...

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括:
1. 肿瘤-正常配对分析:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。
2. 突变特征分析:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺陷)会产生特定的突变模式,称为突变特征(mutational signatures)。通过分解突变谱,可以推断肿瘤的致突变因素。
3. 驱动突变识别:并非所有突变都对肿瘤发展有贡献。乘客突变(passenger mutations)是随机累积的,而驱动突变(driver mutations)则赋予细胞生长优势。生物信息学工具如OncodriveCLUST、MutSigCV通过统计方法识别显著的驱动突变。
4. 肿瘤异质性分析:肿瘤内部存在多个亚克隆,每个亚克隆具有不同的突变谱。通过PyClone、SciClone等工具可以重建肿瘤进化树,理解治疗耐药性的产生机制。

查看详情 →
💡

药物基因组学的原理

concept

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控: 1. **药物代谢酶**:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。 2. **药物转运体**:ABCB1(MDR1)、SLC...

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控:
1. 药物代谢酶:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。
2. 药物转运体:ABCB1(MDR1)、SLCO1B1等转运体基因的多态性影响药物的吸收和分布。
3. 药物靶点:VKORC1基因变异影响华法林的靶点敏感性,决定抗凝治疗剂量。
4. 剂量预测模型:基于患者的基因型和临床特征(年龄、体重、合并用药等),建立剂量预测算法,如华法林剂量预测模型整合VKORC1和CYP2C9基因型信息。

查看详情 →
💡

案例一:新生儿罕见病基因组诊断

concept

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。 分析流程: 1. WES测序(约2×10^7 reads...

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。
分析流程:
1. WES测序(约2×10^7 reads,150bp paired-end)
2. BWA-MEM比对到GRCh38参考基因组
3. GATK HaplotypeCaller检测变异
4. VEP注释变异效应
5. 过滤:保留罕见变异(gnomAD AF<0.01)、蛋白截断或错义变异
6. 候选基因筛选:聚焦代谢疾病相关基因 panel
7. Sanger测序验证突变

查看详情 →
💡

案例二:非小细胞肺癌的精准治疗

concept

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。 融合基因检测流程: 1. RNA-seq数据质控...

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。
融合基因检测流程:
1. RNA-seq数据质控(FastQC)
2. STAR比对(使用chimeric alignment模式)
3. STAR-Fusion或Arriba检测融合基因
4. 可视化验证(IGV查看融合断点)
5. 临床解读(OncoKB数据库查询靶向药物)

查看详情 →
💡

案例三:华法林个体化给药

concept

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C9*1/*3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C91/3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

查看详情 →
💡

12.2 智能药学

section
查看详情 →
💡

药物靶点发现的生物信息学策略

concept

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略: **1. 基因组学方法** - **全基因组关联分析(GWAS)**:通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。 - **表达数量性状位点(eQTL)分析**:将GWAS发现的疾病关联位点与...

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略:
1. 基因组学方法
- 全基因组关联分析(GWAS):通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。
- 表达数量性状位点(eQTL)分析:将GWAS发现的疾病关联位点与基因表达数据整合,推断因果基因。
2. 网络药理学方法
- 疾病模块识别:利用蛋白质相互作用网络(PPI),识别与疾病相关的功能模块。一个理想的药物靶点应位于疾病模块的中心位置(高介数中心性),干扰它可以最大程度地影响疾病进程。
- 网络邻近性分析:计算药物靶点与疾病基因在网络中的距离,预测药物重定位(drug repurposing)的可能性。
3. 多组学整合方法
- 整合基因组、转录组、蛋白质组和代谢组数据,构建多层次的疾病分子图谱,系统性地识别关键节点作为潜在靶点。
- 差异表达分析(如DESeq2、edgeR)识别疾病状态下显著上调或下调的基因。
4. 靶点可药性评估
- 并非所有与疾病相关的蛋白都是好的药物靶点。可药性(druggability)评估考虑:是否有适合小分子结合的口袋、靶点的组织特异性表达、靶向该靶点是否会产生严重毒副作用等。
- 工具如DrugMAP、canSAR数据库提供蛋白质可药性预测。

查看详情 →
💡

计算机辅助药物设计的原理

concept

**基于结构的药物设计(SBDD)** SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为: 1. **靶点结构准备**:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。 2. **活性位点识别**:使用Fpocket、SiteMap等工具预测结合口袋。 3. **虚拟筛选**:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口...

基于结构的药物设计(SBDD)
SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为:
1. 靶点结构准备:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。
2. 活性位点识别:使用Fpocket、SiteMap等工具预测结合口袋。
3. 虚拟筛选:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口袋,根据对接打分排序。
4. 先导化合物优化:基于对接结果和相互作用分析,进行结构修饰以提高活性、选择性和成药性。
基于配体的药物设计(LBDD)
当靶点结构未知时,可以利用已知活性配体的信息:
1. 药效团建模:提取活性分子共同的化学特征(氢键供体/受体、疏水中心、芳环中心)及其空间排布,建立药效团模型,用于数据库搜索。
2. 定量构效关系(QSAR):建立分子描述符与生物活性之间的统计模型,预测新化合物的活性。
3. 分子相似性搜索:基于"相似结构的分子具有相似活性"的原则,在化学空间中搜索与已知活性分子相似的化合物。

查看详情 →
💡

分子对接的原理

concept

分子对接模拟配体与受体的结合过程,包括两个核心问题: **1. 构象搜索(Pose Prediction)** - 在构象空间中搜索配体的最优结合姿态。 - 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。 - 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。 **2. 结合亲和力预测(Scoring...

分子对接模拟配体与受体的结合过程,包括两个核心问题:
1. 构象搜索(Pose Prediction)
- 在构象空间中搜索配体的最优结合姿态。
- 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。
- 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。
2. 结合亲和力预测(Scoring)
- 打分函数评估每个结合姿态的亲和力,用于排序。
- 打分函数类型:
- 力场打分:基于分子力学能量项(范德华力、静电相互作用)
- 经验打分:拟合实验数据得到的加权能量项
- 知识-based打分:基于蛋白质-配体复合物结构数据库的统计势能
- 机器学习打分:使用RF、SVM、CNN等算法学习结构-亲和力关系
常用分子对接软件包括AutoDock Vina、Glide、GOLD、rDock等。

查看详情 →
💡

AI药物设计的原理

concept

**1. 生成式分子设计** - **变分自编码器(VAE)**:学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。 - **生成对抗网络(GAN)**:生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。 - **强化学习(RL)**:将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。 - **扩散模型(Diff...

1. 生成式分子设计
- 变分自编码器(VAE):学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。
- 生成对抗网络(GAN):生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。
- 强化学习(RL):将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。
- 扩散模型(Diffusion Model):目前最先进的生成模型,通过逐步去噪生成高质量分子,在3D分子生成方面表现优异。
2. 分子性质预测
- 图神经网络(GNN):将分子表示为图(原子为节点,键为边),利用消息传递机制学习分子表征,预测生物活性、毒性、药代动力学性质(ADMET)。
- Transformer架构:如ChemBERTa、MolBERT,将SMILES字符串作为输入序列,利用自注意力机制学习化学语言模型。
3. 蛋白质结构预测
- AlphaFold2:利用注意力机制和多序列比对(MSA)实现接近实验精度的蛋白质结构预测,为SBDD提供了前所未有的结构基础。
- RoseTTAFold:另一种高精度蛋白质结构预测方法。

查看详情 →
💡

案例一:COVID-19靶点发现与药物重定位

concept

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点: 1. **基因组注释**:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。 2. **人类-病毒蛋白质相互作用**:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式...

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点:
1. 基因组注释:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。
2. 人类-病毒蛋白质相互作用:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式,预测关键宿主因子(如ACE2受体、TMPRSS2)。
3. 药物重定位:通过网络邻近性分析,筛选已上市药物中可能有效对抗SARS-CoV-2的候选药物。例如,基于病毒-宿主相互作用网络,预测氯喹和瑞德西韦(Remdesivir)可能有效(后续临床试验验证了瑞德西韦的疗效)。
4. 虚拟筛选:以Mpro为靶点,对ZINC数据库进行虚拟筛选,识别潜在抑制剂。德国研究团队通过高通量X射线晶体学筛选,发现了Mpro抑制剂的前导化合物。

# 使用RDKit进行分子对接准备示例
from rdkit import Chem
from rdkit.Chem import AllChem
# 读取配体分子
ligand = Chem.MolFromSmiles("CC(C)Cc1ccc(cc1)C(C)C(=O)O")  # 布洛芬
ligand = Chem.AddHs(ligand)
AllChem.EmbedMolecule(ligand, AllChem.ETKDG())
# 保存为PDB格式用于对接
Chem.MolToPDBFile(ligand, "ligand.pdb")
查看详情 →
💡

案例二:AlphaFold驱动的药物设计——靶向KRAS G12C

algorithm

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。 1. **结构解析**:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。 2. **共价抑制剂设计**:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sot...

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。
1. 结构解析:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。
2. 共价抑制剂设计:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sotorasib(AMG 510)和Adagrasib(MRTX849)通过共价结合Cys12,将KRAS锁定在非活性状态。
3. AI优化:利用机器学习模型预测化合物的选择性、代谢稳定性和口服生物利用度,优化先导化合物。
这一案例展示了从"不可成药"到"可成药"的转变如何依赖于精准的结构信息和计算设计。

查看详情 →
💡

案例三:AI生成全新抗生素——Halicin的发现

concept

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin: 1. **训练数据**:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。 2. **虚拟筛选**:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。 3. **实验验证**:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝...

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin:
1. 训练数据:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。
2. 虚拟筛选:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。
3. 实验验证:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝杆菌)表现出强效杀菌活性,且与现有抗生素无交叉耐药性。
4. 作用机制:后续研究表明Halicin通过干扰细菌的质子动力势发挥作用,这是一种全新的作用机制。

# 使用DeepChem进行分子性质预测示例
import deepchem as dc
from deepchem.models import GraphConvModel
# 加载Tox21毒性数据集
tasks, datasets, transformers = dc.molnet.load_tox21()
train_dataset, valid_dataset, test_dataset = datasets
# 构建图卷积网络模型
model = GraphConvModel(
    n_tasks=len(tasks),
    mode='classification',
    batch_size=64,
    learning_rate=0.001
)
# 训练模型
model.fit(train_dataset, nb_epoch=20)
查看详情 →
💡

12.3 智能育种

section
查看详情 →
💡

基因组选择(GS)的原理

concept

**1. 基本概念** 基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。 假设个体的表型值P可以分解为: P = μ + g + e 其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。 GS的目标是利用标记基因型X来预测遗传效应...

1. 基本概念
基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。
假设个体的表型值P可以分解为:
P = μ + g + e
其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。
GS的目标是利用标记基因型X来预测遗传效应g:
g = Xβ + ε
其中,β为标记效应向量。
2. 统计模型
基因组选择的核心是估计每个标记的效应。由于标记数(p,通常为数千至数百万)远大于个体数(n,数百至数千),传统的最小二乘法无法直接使用,需要借助特殊统计方法:
- 岭回归最佳线性无偏预测(RR-BLUP):假设所有标记效应服从正态分布,通过L2正则化(岭回归)解决过拟合问题。计算速度快,是GS的基准方法。
- 贝叶斯方法(BayesA、BayesB、Bayesian LASSO等):假设标记效应服从不同的先验分布。BayesB假设只有少数标记具有大效应(大部分标记效应为0),更符合真实遗传架构。
- GBLUP(Genomic BLUP):利用标记信息构建基因组关系矩阵G,替代传统的系谱关系矩阵A,进行最佳线性无偏预测。
- 机器学习算法:随机森林(RF)、支持向量机(SVM)、神经网络等也被用于GS,在处理非加性遗传效应时可能优于线性模型。
3. 实施流程
(1) 训练群体构建:选择具有代表性的群体,测定高密度SNP基因型和目标性状表型。
(2) 统计模型训练:利用训练数据估计标记效应。
(3) 育种值预测:对候选个体(仅有基因型)计算GEBV。
(4) 选择决策:根据GEBV排名,选择最优个体进入下一代。
(5) 模型更新:定期用新收集的表型数据更新预测模型,保持预测准确性。
4. 影响预测准确性的因素
- 训练群体大小:一般而言,训练群体越大,预测准确性越高。
- 训练群体与候选群体的亲缘关系:关系越近,预测越准确。
- 性状遗传力:遗传力越高,GS效果越好。
- 标记密度:需要足够密度的标记覆盖全基因组,捕获LD信息。
- 性状遗传架构:由大量微效基因控制的性状更适合GS。

查看详情 →
💡

分子标记辅助育种的原理

concept

**1. QTL定位** 数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。 常用方法: - **单标记分析(SMA)**:检验单个标记与性状的关联 - **区间作图(IM)**:利用两侧标记信息,检测标记区间内的QTL - **复合区间作图(...

1. QTL定位
数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。
常用方法:
- 单标记分析(SMA):检验单个标记与性状的关联
- 区间作图(IM):利用两侧标记信息,检测标记区间内的QTL
- 复合区间作图(CIM):在区间作图基础上,加入背景标记控制多QTL效应
- 全基因组关联分析(GWAS):利用自然群体中的连锁不平衡(LD),不需要构建专门的家系
2. MAS(Marker-Assisted Selection)策略
- 前景选择:利用与目标QTL紧密连锁的标记,选择携带有利等位基因的个体。
- 背景选择:利用全基因组标记,监测轮回亲本的基因组恢复程度,加速回交育种进程。
- 基因聚合(Gene Pyramiding):将多个有利基因/QTL聚合到同一个品种中。
3. 标记类型
从RFLP、AFLP、SSR发展到目前的SNP(单核苷酸多态性)。SNP标记具有密度高、分布广、自动化检测等优点,已成为MAB和GS的主流标记。

查看详情 →
💡

种质资源鉴定的原理

concept

**1. 遗传多样性分析** - **群体结构分析**:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。 - **主成分分析(PCA)**:降维可视化种质间的遗传关系。 - **进化树构建**:基于遗传距离构建系统发育树,揭示种质的亲缘关系。 **2. 核心种质构建** - 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。 - 常用策略:基于遗传...

1. 遗传多样性分析
- 群体结构分析:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。
- 主成分分析(PCA):降维可视化种质间的遗传关系。
- 进化树构建:基于遗传距离构建系统发育树,揭示种质的亲缘关系。
2. 核心种质构建
- 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。
- 常用策略:基于遗传距离的逐步聚类采样、基于等位基因覆盖率的优化算法。
3. 指纹图谱构建
- 利用一组高度多态性的SSR或SNP标记,为每个品种建立独特的DNA指纹。
- 用于品种真实性鉴定、纯度检测和知识产权保护。
4. 优异等位基因发掘
- 通过GWAS或候选基因关联分析,在种质资源中挖掘与重要农艺性状相关的优异等位基因。
- 这些优异等位基因可作为分子标记辅助育种或转基因育种的靶点。

查看详情 →
💡

案例一:玉米基因组选择育种

concept

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测: 1. **训练群体**:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。 2. **模型建立**:使用rrBLUP或BayesB模型训练。 3. **预测应用**:对新合成的杂交组合(仅有基因型)预测配合力。 4. **效果**:GS可将育种周期从传统的5-6年缩短至2-3年,预...

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测:
1. 训练群体:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。
2. 模型建立:使用rrBLUP或BayesB模型训练。
3. 预测应用:对新合成的杂交组合(仅有基因型)预测配合力。
4. 效果:GS可将育种周期从传统的5-6年缩短至2-3年,预测准确性达到0.5-0.8(取决于性状和群体)。

# 使用rrBLUP包进行基因组选择
library(rrBLUP)
# 读取基因型矩阵(n×m,n个体,m标记)和表型
marker_data <- read.table("snps.txt", header=TRUE)
phenotype <- read.table("yield.txt", header=TRUE)
# 训练模型
model <- mixed.solve(y=phenotype$yield, Z=marker_data)
# 预测育种值
gebv <- marker_data %*% model$u
查看详情 →
💡

案例二:水稻分子标记辅助抗病育种

concept

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。 1. **标记开发**:开发与Xa21紧密连锁的PCR标记(如PTA248)。 2. **前景选择**:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。 3. **背景选择**:利用全基因组SNP标记,选择轮回亲本基因...

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。
1. 标记开发:开发与Xa21紧密连锁的PCR标记(如PTA248)。
2. 前景选择:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。
3. 背景选择:利用全基因组SNP标记,选择轮回亲本基因组恢复率最高的个体。
4. 结果:仅需2-3个回交世代即可获得基因组恢复率>95%的抗性近等基因系,而传统回交需要6-7代。

# Xa21前景选择PCR标记检测
# 引物序列:正向 5'-GCTCGATCGATAATGGAAGG-3'
#          反向 5'-TTGGTGATGGTTCGACGAGC-3'
PCR反应体系(20 μL):
- 2× PCR Mix: 10 μL
- 正向引物 (10 μM): 0.5 μL
- 反向引物 (10 μM): 0.5 μL
- DNA模板 (50 ng/μL): 1 μL
- ddH2O: 8 μL
PCR程序:
94°C 5min
[94°C 30s → 55°C 30s → 72°C 1min] × 35 cycles
72°C 7min
预期结果:携带Xa21的个体扩增出约500 bp的条带
查看详情 →
💡

案例三:小麦种质资源的遗传多样性分析

concept

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布: 1. **SNP基因型**:使用35K SNP芯片对约8,000份核心种质进行基因分型。 2. **群体结构**:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。 3. **多样性评估**:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基...

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布:
1. SNP基因型:使用35K SNP芯片对约8,000份核心种质进行基因分型。
2. 群体结构:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。
3. 多样性评估:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基因数(Ne)降低,表明育种过程中存在遗传瓶颈。
4. 核心种质构建:基于等位基因丰富度,从8,000份种质中选择约1,000份核心种质,保留了>95%的等位基因。
5. 优异等位基因发掘:GWAS分析在核心种质中鉴定了与产量、抗病性、品质相关的多个显著位点。

# 使用scikit-allel进行群体遗传分析
import allel
import numpy as np
# 读取VCF文件
callset = allel.read_vcf('wheat_samples.vcf.gz', 
                          fields=['calldata/GT', 'variants/POS', 'samples'])
gt = allel.GenotypeArray(callset['calldata/GT'])
# 计算等位基因频率
ac = gt.count_alleles()
# 计算多态性信息含量(PIC)
n = ac.sum(axis=1)
p = ac[:, 0] / n
q = ac[:, 1] / n
pic = 1 - (p**2 + q**2) - 2 * p**2 * q**2
查看详情 →
💡

12.4 其他应用

section
查看详情 →
💡

合成生物学中的生物信息学原理

concept

**1. 生物元件标准化与表征** 合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元: - **启动子(Promoter)**:控制基因表达的"开关" - **核糖体结合位点(RBS)**:调控翻译起始效率 - **编码序列(CDS)**:编码蛋白质的功能基因 - **终止子(Terminator)**:终止转录的信号 生物信息学通过建立元件库(如iGE...

1. 生物元件标准化与表征
合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元:
- 启动子(Promoter):控制基因表达的"开关"
- 核糖体结合位点(RBS):调控翻译起始效率
- 编码序列(CDS):编码蛋白质的功能基因
- 终止子(Terminator):终止转录的信号
生物信息学通过建立元件库(如iGEM Registry、SynBioHub)和标准化表征数据,使元件可以像电子元件一样被组合使用。
2. 基因线路设计
基因线路是由多个生物元件组成的遗传回路,实现逻辑运算(如AND门、OR门、NOT门):
- 布尔逻辑门:例如,双输入AND门需要两个诱导物同时存在才能激活报告基因表达。
- 振荡器:如repressilator,由三个抑制子基因组成的负反馈环,产生周期性基因表达振荡。
- 双稳态开关:两个相互抑制的基因,使系统可以稳定处于两种状态之一。
生物信息学工具(如Cello、Genetic Constructor)提供图形化界面设计基因线路,并自动转换为DNA序列。
3. 代谢工程与通路设计
代谢工程旨在改造细胞代谢网络,使其高效生产目标化合物:
- 通路搜索:利用KEGG、MetaCyc等数据库,搜索从天然底物到目标产物的已知或潜在代谢路径。
- 通量平衡分析(FBA):利用代谢网络的化学计量矩阵,在稳态假设下(Sv=0),通过线性规划优化目标产物产量。
- 酶选择与优化:在已知反应步骤中,从不同物种中筛选催化效率最高的酶,并通过蛋白质工程(定向进化、理性设计)优化酶性质。
4. DNA序列优化
- 密码子优化:根据宿主细胞的密码子使用偏好,调整外源基因的密码子组成,提高翻译效率。
- mRNA二级结构优化:避免在RBS区域形成发夹结构,保证翻译起始效率。
- 避免重复序列和限制性酶切位点:防止DNA重组和克隆困难。

查看详情 →
💡

生物多样性保护的生物信息学原理

concept

**1. DNA条形码鉴定** -DNA条形码的原理是:物种内遗传距离应远小于物种间距离。 - 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。 - 对于未知物种,构建系统发育树,推断其分类地位。 **2. eDNA Metabarcoding** -eDNA metabarcoding结合了环境采样和高通量测序: (1) 环境DNA提取:从水样、...

1. DNA条形码鉴定
-DNA条形码的原理是:物种内遗传距离应远小于物种间距离。
- 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。
- 对于未知物种,构建系统发育树,推断其分类地位。
2. eDNA Metabarcoding
-eDNA metabarcoding结合了环境采样和高通量测序:
(1) 环境DNA提取:从水样、土壤等环境基质中提取总DNA。
(2) 通用引物PCR:使用覆盖多个物种的通用引物扩增目标区域(如16S rRNA、COI、ITS)。
(3) 高通量测序:Illumina或Nanopore平台测序。
(4) 生物信息学分析:序列质控、去嵌合体、OTU/ASV聚类、物种注释(与参考数据库比对)、多样性分析。
3. 群体遗传学在保护中的应用
- 有效种群大小(Ne)估计:反映种群的遗传健康状况,Ne越小,遗传多样性丧失越快。
- 近亲繁殖评估:利用杂合度降低、ROH(连续纯合子片段)分析评估近亲繁殖程度。
- 迁徙与基因流分析:利用STRUCTURE、MIGRATE等工具分析种群间的基因交流。
- 适应性遗传变异检测:利用选择信号扫描(如FST离群值、环境关联分析)识别与环境适应相关的基因。
4. 保护基因组学(Conservation Genomics)
- 利用全基因组数据指导保护决策:
- 识别具有独特遗传适应性的种群,优先保护
- 评估近交衰退风险
- 指导遗传 rescue(引入外来基因恢复遗传多样性)
- 追踪非法野生动物贸易(通过DNA溯源)

查看详情 →
💡

案例一:酵母青蒿酸合成通路的设计

concept

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路: 1. **通路设计**:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。 2. **基因来源选择**:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。 3. **密码子优化**:将所有外源基因按照酵母密...

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路:
1. 通路设计:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。
2. 基因来源选择:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。
3. 密码子优化:将所有外源基因按照酵母密码子偏好进行优化。
4. 代谢流调控:通过FBA分析,鉴定限制产量的代谢瓶颈。过表达tHMG1增加FPP供应,下调ERG9减少FPP向麦角固醇分流。
5. 启动子强度平衡:利用不同强度的启动子组合,平衡通路中各酶的表达量,避免中间产物积累。
6. 结果:工程酵母的青蒿酸产量从初始的约100 mg/L提升到超过25 g/L,实现了工业化生产。

# 使用cobra进行通量平衡分析
import cobra
from cobra.io import read_sbml_model
# 读取酵母代谢模型
model = read_sbml_model('yeast-GEM.xml')
# 设置目标函数:最大化青蒿酸产量
model.objective = model.reactions.DM_artemisinic_acid
# 优化
solution = model.optimize()
print(f"最大理论产量: {solution.objective_value} mmol/gDW/h")
print(f"生长速率: {solution.fluxes['BIOMASS_Ec_iML1515_core_75p37M']}")
# 查找关键通量
for rxn in model.reactions:
    if abs(solution.fluxes[rxn.id]) > 1:
        print(f"{rxn.id}: {solution.fluxes[rxn.id]:.2f}")
查看详情 →
💡

案例二:eDNA监测入侵物种——亚洲鲤鱼

concept

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。 1. **eDNA采样**:在河流和湖泊的关键位置采集水样。 2. **引物设计**:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。 3. **qPCR检测**:检测水样中是否存在亚洲鲤鱼的DNA。 4. **结果**:eDNA检测可以在亚...

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。
1. eDNA采样:在河流和湖泊的关键位置采集水样。
2. 引物设计:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。
3. qPCR检测:检测水样中是否存在亚洲鲤鱼的DNA。
4. 结果:eDNA检测可以在亚洲鲤鱼实际到达前数月预警其入侵路径,比传统方法更灵敏。
5. ** metabarcoding扩展**:进一步利用12S rRNA通用引物进行eDNA metabarcoding,同时监测所有鱼类群落组成,评估入侵对本地群落的影响。

# eDNA metabarcoding分析流程(示例)
# 1. 原始数据质控
fastp -i sample_R1.fastq.gz -I sample_R2.fastq.gz \
      -o clean_R1.fastq.gz -O clean_R2.fastq.gz \
      -q 20 -u 30 -l 50
# 2. DADA2去重(R中运行)
# library(dada2)
# seqtab <- dada2::mergePairs(dadaF, derepF, dadaR, derepR)
# 3. OTU聚类和物种注释(使用VSEARCH)
vsearch --cluster_size clean.fasta --id 0.97 \
        --centroids otus.fasta --relabel OTU_
vsearch --usearch_global clean.fasta --db reference_db.fasta \
        --id 0.97 --otutabout otu_table.txt
# 4. 多样性分析(使用QIIME 2或R的vegan包)
查看详情 →
💡

案例三:大熊猫保护基因组学

concept

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据: 1. **全基因组测序**:对多个野生和圈养大熊猫种群进行全基因组重测序。 2. **遗传多样性评估**:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。 3. **近交分析**:检测到长片段ROH,证实近亲繁殖的存在。 4. **有害突变负荷**:发现大熊猫携带大量有害突变,但...

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据:
1. 全基因组测序:对多个野生和圈养大熊猫种群进行全基因组重测序。
2. 遗传多样性评估:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。
3. 近交分析:检测到长片段ROH,证实近亲繁殖的存在。
4. 有害突变负荷:发现大熊猫携带大量有害突变,但由于近亲繁殖,这些突变以纯合状态暴露,可能影响种群适应性和繁殖成功率。
5. 保护建议
- 优先保护遗传独特性高的种群(如秦岭亚种)
- 圈养繁殖计划应避免近亲交配
- 考虑栖息地连通性,促进野生种群间的基因交流

查看详情 →
💡

第13章 生物信息学实验基础

chapter
查看详情 →
💡

13.1 生物信息学实验概述

section
查看详情 →
💡

生物信息学分析的基本流程

concept

一个典型的生物信息学分析项目通常遵循以下流程: **第一阶段:项目规划** 1. 明确科学问题 2. 确定所需数据类型和来源 3. 选择合适的分析方法和工具 4. 评估计算资源需求 5. 制定数据管理计划 **第二阶段:数据获取与预处理** 1. **数据采集**:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据 2. **质量控制(QC)**:评估数据质量,识别并处理低质量...

一个典型的生物信息学分析项目通常遵循以下流程:
第一阶段:项目规划
1. 明确科学问题
2. 确定所需数据类型和来源
3. 选择合适的分析方法和工具
4. 评估计算资源需求
5. 制定数据管理计划
第二阶段:数据获取与预处理
1. 数据采集:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据
2. 质量控制(QC):评估数据质量,识别并处理低质量数据。对于测序数据,使用FastQC等工具检查碱基质量分布、GC含量、接头污染、重复序列等
3. 数据清洗:去除低质量序列、接头序列、PCR重复等
4. 格式转换:将数据转换为分析所需的标准格式
第三阶段:核心分析
根据研究问题选择相应的分析方法,例如:
- 序列比对:将测序reads定位到参考基因组
- 变异检测:识别SNP、Indel等遗传变异
- 表达量计算:定量基因或转录本的表达水平
- 功能注释:将分析结果与生物学功能关联
第四阶段:结果整合与解释
1. 多来源结果整合
2. 统计显著性评估和多重检验校正
3. 功能富集分析(GO、KEGG等)
4. 可视化展示
第五阶段:报告与共享
1. 撰写分析报告
2. 整理代码和文档
3. 数据和代码归档
4. 论文发表和结果共享

查看详情 →
💡

生物信息学中的数据格式

concept

掌握标准数据格式是进行生物信息学分析的基础: | 格式 | 用途 | 说明 | |------|------|------| | FASTA | 序列存储 | `>header`开头的文本格式,用于存储DNA、RNA、蛋白质序列 | | FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) | | SAM/BAM | 比对结果 | SAM为文本格式,...

掌握标准数据格式是进行生物信息学分析的基础:
| 格式 | 用途 | 说明 |
|------|------|------|
| FASTA | 序列存储 | >header开头的文本格式,用于存储DNA、RNA、蛋白质序列 |
| FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) |
| SAM/BAM | 比对结果 | SAM为文本格式,BAM为二进制压缩格式,存储reads比对信息 |
| VCF | 变异信息 | 存储SNP、Indel等变异的位置、基因型和质量信息 |
| GFF/GTF | 基因组注释 | 存储基因、外显子、CDS等特征的位置和属性信息 |
| BED | 基因组区间 | 简单的三列格式(chr, start, end),用于表示基因组区域 |
| GCT/TPM | 表达矩阵 | 存储基因表达量矩阵,行是基因,列是样本 |

查看详情 →
💡

可重复性研究的原则

concept

**FAIR原则**:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。 **可重复性的层次**: 1. **结果可重复(Repeatability)**:同一研究者使用相同数据和方法重复实验,获得相同结果 2. **可复现(Reproducibility)**:不同研究者使用相同数据和...

FAIR原则:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。
可重复性的层次
1. 结果可重复(Repeatability):同一研究者使用相同数据和方法重复实验,获得相同结果
2. 可复现(Reproducibility):不同研究者使用相同数据和方法,获得相同结果
3. 可再实现(Replicability):在不同数据集上应用相同方法,获得一致结论
实现可重复性的最佳实践
- 使用版本控制系统(Git)管理代码
- 记录软件名称和版本号
- 保存完整的分析参数
- 使用虚拟环境或容器隔离运行环境
- 编写清晰的文档和README文件
- 使用工作流管理系统自动化分析流程

查看详情 →
💡

示例:一个完整的RNA-seq分析项目

tool

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。 **项目结构**: ``` rnaseq_project/ ├── data/ │ ├── raw/ # 原始测序数据(FASTQ) │ ├── reference/ # 参考基因组和注释文件 │ └── processed/...

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。
项目结构

rnaseq_project/
├── data/
│   ├── raw/              # 原始测序数据(FASTQ)
│   ├── reference/        # 参考基因组和注释文件
│   └── processed/        # 处理后的数据
├── scripts/              # 分析脚本
│   ├── 01_qc.sh
│   ├── 02_alignment.sh
│   ├── 03_quantification.sh
│   └── 04_de_analysis.R
├── results/              # 分析结果
│   ├── qc_reports/
│   ├── bam_files/
│   ├── counts/
│   └── de_results/
├── envs/                 # 环境配置文件
│   └── rnaseq_env.yml
├── README.md             # 项目说明文档
└── Snakefile             # Snakemake工作流文件

分析流程概览

# 第一步:质量控制
fastqc data/raw/*.fastq.gz -o results/qc_reports/
multiqc results/qc_reports/ -o results/qc_reports/summary/
# 第二步:序列比对
hisat2 -p 8 -x reference/genome -1 sample_R1.fq.gz -2 sample_R2.fq.gz | \
    samtools sort -@ 4 -o results/bam_files/sample.bam
# 第三步:表达量定量
featureCounts -T 8 -a reference/genes.gtf -o results/counts/counts.txt \
    results/bam_files/*.bam
# 第四步:差异表达分析(在R中完成)
# DESeq2分析
查看详情 →
💡

13.2 Linux系统及常用编程语言

section

13.2.1 Linux操作系统

查看详情 →
💡

13.3 Python编程基础

section
查看详情 →
💡

Python基本语法

tool

**变量和数据类型:** ```python # 数字 integer = 42 floating = 3.14159 # 字符串 dna = "ATGCGCTAGCTA" protein = 'MPLK' # 字符串操作 print(len(dna)) # 长度 print(dna[0:3]) # 切片(前3个碱基) print(dna.cou...

变量和数据类型:

# 数字
integer = 42
floating = 3.14159
# 字符串
dna = "ATGCGCTAGCTA"
protein = 'MPLK'
# 字符串操作
print(len(dna))              # 长度
print(dna[0:3])              # 切片(前3个碱基)
print(dna.count("GC"))       # 计数
print(dna.replace("T", "U"))  # 替换(DNA转RNA)
print(dna.find("ATG"))       # 查找子串位置
# 列表(有序可变)
sequences = ["ATCG", "GCTA", "TAGC"]
sequences.append("CGAT")     # 添加元素
print(sequences[0])          # 访问
print(len(sequences))        # 长度
# 字典(键值对)
gene_expr = {
    "GAPDH": 25.3,
    "ACTB": 18.7,
    "TP53": 3.2
}
print(gene_expr["GAPDH"])    # 访问
gene_expr["BRCA1"] = 7.5     # 添加
# 元组(有序不可变)
coordinates = (100, 200)

控制流:

# 条件语句
gc_content = 0.55
if gc_content > 0.6:
    print("High GC")
elif gc_content > 0.4:
    print("Moderate GC")
else:
    print("Low GC")
# for循环
for seq in sequences:
    gc = (seq.count("G") + seq.count("C")) / len(seq)
    print(f"{seq}: GC={gc:.2%}")
# while循环
i = 0
while i < len(sequences):
    print(sequences[i])
    i += 1
# 列表推导式(Pythonic写法)
gc_values = [(s.count("G") + s.count("C")) / len(s) for s in sequences]

函数:

def calculate_gc_content(sequence):
    """计算DNA序列的GC含量"""
    sequence = sequence.upper()
    gc_count = sequence.count("G") + sequence.count("C")
    return gc_count / len(sequence)
# 调用
gc = calculate_gc_content("ATGCGCTAGCTA")
print(f"GC content: {gc:.2%}")
# 默认参数
def reverse_complement(seq, rna=False):
    """计算反向互补序列"""
    complement = {"A": "T", "T": "A", "G": "C", "C": "G",
                  "a": "t", "t": "a", "g": "c", "c": "g"}
    if rna:
        complement["A"] = "U"
        complement["a"] = "u"
    rc = "".join(complement.get(base, base) for base in reversed(seq))
    return rc
print(reverse_complement("ATGC"))       # GCAT
print(reverse_complement("ATGC", rna=True))  # GCAU

文件操作:

# 读取文件
with open("sequences.fasta", "r") as f:
    content = f.read()           # 读取全部
    lines = f.readlines()        # 读取为列表
# 写入文件
with open("output.txt", "w") as f:
    f.write("Hello\n")
# 逐行读取(推荐大文件使用)
with open("data.txt", "r") as f:
    for line in f:
        line = line.strip()      # 去除末尾换行符
        if line.startswith(">"):
            print(f"Header: {line}")
查看详情 →
💡

Biopython详解

tool

**安装:** ```bash pip install biopython # 或 conda install -c conda-forge biopython ``` **序列处理(Seq对象):** ```python from Bio.Seq import Seq from Bio.SeqUtils import GC, molecular_weight # 创建序列对象 dna_seq =...

安装:

pip install biopython
# 或
conda install -c conda-forge biopython

序列处理(Seq对象):

from Bio.Seq import Seq
from Bio.SeqUtils import GC, molecular_weight
# 创建序列对象
dna_seq = Seq("ATGCGCTAGCTA")
# 序列属性
print(f"长度: {len(dna_seq)}")
print(f"GC含量: {GC(dna_seq):.1f}%")
print(f"分子量: {molecular_weight(dna_seq):.1f}")
# 序列操作
print(dna_seq.complement())        # 互补序列
print(dna_seq.reverse_complement()) # 反向互补
print(dna_seq.transcribe())        # DNA转RNA
print(dna_seq.translate())         # 翻译为蛋白质
# 转录和翻译
mrna = dna_seq.transcribe()
protein = mrna.translate()
print(f"Protein: {protein}")

解析FASTA/FASTQ文件:

from Bio import SeqIO
# 解析FASTA文件
for record in SeqIO.parse("sequences.fasta", "fasta"):
    print(f"ID: {record.id}")
    print(f"Description: {record.description}")
    print(f"Length: {len(record.seq)}")
    print(f"Sequence: {record.seq[:50]}...")
    print()
# 解析FASTQ文件(测序数据)
for record in SeqIO.parse("reads.fastq", "fastq"):
    print(f"ID: {record.id}")
    print(f"Sequence: {record.seq}")
    print(f"Quality: {record.letter_annotations['phred_quality'][:10]}")
# 将记录写入文件
records = []
for record in SeqIO.parse("input.fasta", "fasta"):
    if len(record.seq) > 100:  # 只保留长序列
        records.append(record)
SeqIO.write(records, "filtered.fasta", "fasta")
# 转换格式(FASTQ to FASTA)
SeqIO.convert("reads.fastq", "fastq", "reads.fasta", "fasta")

访问NCBI数据库:

from Bio import Entrez, SeqIO
# 设置邮箱(NCBI要求)
Entrez.email = "your.email@example.com"
# 搜索PubMed
handle = Entrez.esearch(db="pubmed", term="CRISPR[Title] AND 2023[PDAT]", retmax=10)
record = Entrez.read(handle)
print(f"Found {record['Count']} articles")
print(f"IDs: {record['IdList']}")
# 获取序列
handle = Entrez.efetch(db="nucleotide", id="NM_001301717", rettype="fasta", retmode="text")
record = SeqIO.read(handle, "fasta")
print(f"Sequence: {record.seq[:100]}...")

序列比对:

from Bio import pairwise2
from Bio.pairwise2 import format_alignment
# 全局比对(Needleman-Wunsch)
alignments = pairwise2.align.globalxx("ATCG", "ATG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 局部比对(Smith-Waterman)
alignments = pairwise2.align.localxx("ATCGGCTA", "CGG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 带参数的比对(匹配+1,错配-1,空位开启-2,空位延伸-1)
alignments = pairwise2.align.globalms("ATCG", "ATG", 1, -1, -2, -1)

BLAST解析:

from Bio.Blast import NCBIXML
# 解析BLAST XML结果
with open("blast_result.xml") as result_handle:
    blast_record = NCBIXML.read(result_handle)
    for alignment in blast_record.alignments:
        print(f"Hit: {alignment.title}")
        for hsp in alignment.hsps:
            print(f"  E-value: {hsp.expect}")
            print(f"  Identity: {hsp.identities}/{hsp.align_length}")
            print(f"  Query: {hsp.query[:50]}...")
            print(f"  Match: {hsp.match[:50]}...")
            print(f"  Sbjct: {hsp.sbjct[:50]}...")
查看详情 →
💡

13.4 R语言基础

section
查看详情 →
💡

R语言基本语法

tool

**变量和数据类型:** ```r # 赋值(推荐使用 <-) x <- 42 y <- 3.14 name <- "GeneA" is_active <- TRUE # 向量(最基本的数据结构) expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1) genes <- c("BRCA1", "TP53", "EGFR", "MYC") # 向量操作 lengt...

变量和数据类型:

# 赋值(推荐使用 <-)
x <- 42
y <- 3.14
name <- "GeneA"
is_active <- TRUE
# 向量(最基本的数据结构)
expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1)
genes <- c("BRCA1", "TP53", "EGFR", "MYC")
# 向量操作
length(expr_values)
mean(expr_values)
sd(expr_values)
summary(expr_values)
# 数据框(类似Excel表格)
df <- data.frame(
    gene = c("BRCA1", "TP53", "EGFR", "MYC"),
    expression = c(25.3, 18.7, 12.4, 8.9),
    group = c("treatment", "treatment", "control", "control")
)
# 访问数据
df$gene                    # 提取列
df$expression
df[1, ]                    # 第一行
df[, "expression"]         # 按名列
df[df$group == "treatment", ]  # 条件筛选
# 列表(可包含不同类型)
my_list <- list(
    name = "sample1",
    counts = c(100, 200, 300),
    metadata = data.frame(key = c("A", "B"), val = c(1, 2))
)
my_list$name
my_list[["counts"]]

控制流:

# 条件语句
x <- 15
if (x > 10) {
    print("x is greater than 10")
} else if (x > 5) {
    print("x is between 5 and 10")
} else {
    print("x is 5 or less")
}
# ifelse向量化条件
scores <- c(85, 92, 78, 65, 88)
grades <- ifelse(scores >= 90, "A",
                 ifelse(scores >= 80, "B",
                        ifelse(scores >= 70, "C", "D")))
# for循环
for (gene in genes) {
    print(paste("Processing:", gene))
}
# apply族函数(向量化操作,避免显式循环)
# apply用于矩阵/数组
# lapply用于列表,返回列表
# sapply用于列表,返回向量/矩阵
# tapply用于分组计算
# 示例:对数据框的数值列计算均值
numeric_cols <- sapply(df, is.numeric)
lapply(df[, numeric_cols], mean)

函数:

# 定义函数
calculate_fold_change <- function(treatment, control) {
    """计算差异倍数(log2 fold change)"""
    fc <- treatment - control  # 假设已经是log2转换的值
    return(fc)
}
# 使用
fc <- calculate_fold_change(10.5, 8.2)
print(paste("Fold change:", round(fc, 2)))
# 默认参数
normalize <- function(values, method = "zscore") {
    if (method == "zscore") {
        return((values - mean(values)) / sd(values))
    } else if (method == "minmax") {
        return((values - min(values)) / (max(values) - min(values)))
    } else {
        stop("Unknown normalization method")
    }
}
查看详情 →
💡

ggplot2可视化

concept

```r library(ggplot2) # 创建示例数据 data <- data.frame( gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10), expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)), group = rep(c("...

library(ggplot2)
# 创建示例数据
data <- data.frame(
    gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10),
    expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)),
    group = rep(c("Control", "Treatment"), each = 5, times = 3)
)
# 散点图
p1 <- ggplot(data, aes(x = group, y = expression, color = group)) +
    geom_point(position = position_jitter(width = 0.2), size = 3) +
    geom_boxplot(alpha = 0.3, outlier.shape = NA) +
    facet_wrap(~gene) +
    labs(title = "Gene Expression Comparison",
         x = "Condition",
         y = "Expression Level") +
    theme_minimal()
print(p1)
# 热图(使用pheatmap包)
library(pheatmap)
expr_matrix <- matrix(rnorm(100), nrow = 10)
rownames(expr_matrix) <- paste0("Gene", 1:10)
colnames(expr_matrix) <- paste0("Sample", 1:10)
pheatmap(expr_matrix, 
         scale = "row",
         clustering_method = "ward.D2",
         color = colorRampPalette(c("navy", "white", "firebrick"))(50))
# 火山图(差异表达结果)
de_results <- data.frame(
    gene = paste0("Gene", 1:1000),
    log2FC = rnorm(1000, 0, 2),
    pvalue = runif(1000)
)
de_results$padj <- p.adjust(de_results$pvalue, method = "BH")
ggplot(de_results, aes(x = log2FC, y = -log10(padj))) +
    geom_point(aes(color = abs(log2FC) > 1 & padj < 0.05), alpha = 0.5) +
    scale_color_manual(values = c("grey", "red")) +
    geom_vline(xintercept = c(-1, 1), linetype = "dashed") +
    geom_hline(yintercept = -log10(0.05), linetype = "dashed") +
    labs(x = "log2 Fold Change", y = "-log10 adjusted p-value") +
    theme_bw()
查看详情 →
💡

Bioconductor核心包

tool

```r # 安装Bioconductor if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") # 安装Bioconductor包 BiocManager::install("DESeq2") BiocManager::install("edgeR") BiocManager::insta...

# 安装Bioconductor
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
# 安装Bioconductor包
BiocManager::install("DESeq2")
BiocManager::install("edgeR")
BiocManager::install("Biostrings")
# Biostrings:序列处理
library(Biostrings)
dna <- DNAString("ATGCGCTAGCTA")
complement(dna)
reverseComplement(dna)
translate(dna)
# 计算GC含量
letterFrequency(dna, "GC") / length(dna)
# 读取FASTA文件
fasta_file <- readDNAStringSet("sequences.fasta")
width(fasta_file)  # 序列长度
alphabetFrequency(fasta_file)  # 碱基频率
# DESeq2:差异表达分析(简要示例)
library(DESeq2)
# countData: 基因计数矩阵(行是基因,列是样本)
# colData: 样本信息
# dds <- DESeqDataSetFromMatrix(countData = counts, 
#                               colData = sample_info,
#                               design = ~ condition)
# dds <- DESeq(dds)
# results <- results(dds)
查看详情 →
💡

13.5 生物信息学分析流程搭建

section
查看详情 →
💡

Conda环境管理

tool

**核心概念:** - **环境(Environment)**:独立的软件安装空间,不同环境之间互不干扰 - **通道(Channel)**:软件包的来源仓库。Bioconda是生物信息学专用通道 - **环境文件(environment.yml)**:记录环境中所有软件及其版本的配置文件 **基本操作:** ```bash # 查看现有环境 conda env list # 创建新环境 cond...

核心概念:
- 环境(Environment):独立的软件安装空间,不同环境之间互不干扰
- 通道(Channel):软件包的来源仓库。Bioconda是生物信息学专用通道
- 环境文件(environment.yml):记录环境中所有软件及其版本的配置文件
基本操作:

# 查看现有环境
conda env list
# 创建新环境
conda create -n rnaseq python=3.10
# 激活环境
conda activate rnaseq
# 安装软件
conda install -c bioconda star
conda install -c bioconda samtools
conda install -c bioconda featurecounts
conda install -c bioconda fastqc
conda install -c bioconda multiqc
# 一次性安装多个包
conda install -c bioconda star samtools featurecounts fastqc multiqc
# 查看已安装的包
conda list
# 导出环境配置
conda env export > environment.yml
# 从配置文件创建环境
conda env create -f environment.yml
# 删除环境
conda remove -n rnaseq --all
# 退出当前环境
conda deactivate

示例environment.yml文件:

name: rnaseq
channels:
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - star=2.7.10b
  - samtools=1.16
  - featurecounts=2.0
  - fastqc=0.11.9
  - multiqc=1.14
  - trimmomatic=0.39
  - picard=2.27
  - r-base=4.2
  - bioconductor-deseq2=1.38
  - pip
  - pip:
    - salmon==1.9.0
查看详情 →
💡

Snakemake工作流

tool

**基本语法:** Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。 ```python # Snakefile # 定义样本列表 SAMPLES = ["sample1", "sample2", "sample3"] # 目标规则:定义最终需要生成的文件 rule all: input:...

基本语法:
Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。

# Snakefile
# 定义样本列表
SAMPLES = ["sample1", "sample2", "sample3"]
# 目标规则:定义最终需要生成的文件
rule all:
    input:
        "results/counts_matrix.txt",
        "results/multiqc_report.html"
# 质量控制规则
rule fastqc:
    input:
        "data/{sample}_R1.fastq.gz",
        "data/{sample}_R2.fastq.gz"
    output:
        html_r1="qc/{sample}_R1_fastqc.html",
        zip_r1="qc/{sample}_R1_fastqc.zip",
        html_r2="qc/{sample}_R2_fastqc.html",
        zip_r2="qc/{sample}_R2_fastqc.zip"
    params:
        outdir="qc"
    threads: 2
    shell:
        "fastqc -t {threads} -o {params.outdir} {input}"
# 序列比对规则
rule star_align:
    input:
        r1="data/{sample}_R1.fastq.gz",
        r2="data/{sample}_R2.fastq.gz",
        index="reference/STAR_index/Genome"
    output:
        bam="aligned/{sample}.sorted.bam",
        bai="aligned/{sample}.sorted.bam.bai"
    params:
        prefix="aligned/{sample}_",
        index_dir="reference/STAR_index"
    threads: 8
    shell:
        """
        STAR --runThreadN {threads} \
             --genomeDir {params.index_dir} \
             --readFilesIn {input.r1} {input.r2} \
             --readFilesCommand zcat \
             --outFileNamePrefix {params.prefix} \
             --outSAMtype BAM SortedByCoordinate
        mv {params.prefix}Aligned.sortedByCoord.out.bam {output.bam}
        samtools index {output.bam}
        """
# 表达量定量
rule featurecounts:
    input:
        bams=expand("aligned/{sample}.sorted.bam", sample=SAMPLES),
        gtf="reference/genes.gtf"
    output:
        counts="results/counts_matrix.txt"
    threads: 4
    shell:
        "featureCounts -T {threads} -a {input.gtf} -o {output.counts} {input.bams}"
# MultiQC汇总
rule multiqc:
    input:
        expand("qc/{sample}_{read}_fastqc.zip", sample=SAMPLES, read=["R1", "R2"])
    output:
        "results/multiqc_report.html"
    shell:
        "multiqc qc/ -o results/"

运行Snakemake:

# 预览(dry-run)
snakemake -n
# 本地运行(使用4个核)
snakemake --cores 4
# 强制重新运行
snakemake --cores 4 --forceall
# 只运行特定规则
snakemake --cores 4 featurecounts
# 使用Conda环境(自动为每个规则创建环境)
snakemake --cores 4 --use-conda
# 集群提交(SLURM)
snakemake --cluster "sbatch --time={resources.time} --mem={resources.mem} --cpus-per-task={threads}" \
          --jobs 10
查看详情 →
💡

Nextflow简介

tool

Nextflow采用数据流编程模型,更适合复杂的并行计算: ```groovy // main.nf params.reads = "data/*_{R1,R2}.fastq.gz" params.genome = "reference/genome.fa" params.gtf = "reference/genes.gtf" // 定义进程 process FASTQC { tag "$...

Nextflow采用数据流编程模型,更适合复杂的并行计算:

// main.nf
params.reads = "data/*_{R1,R2}.fastq.gz"
params.genome = "reference/genome.fa"
params.gtf = "reference/genes.gtf"
// 定义进程
process FASTQC {
    tag "$sample_id"
    input:
    tuple val(sample_id), path(reads)
    output:
    path "fastqc_*"
    script:
    """
    fastqc -t 2 -o . ${reads}
    """
}
process STAR_ALIGN {
    tag "$sample_id"
    cpus 8
    input:
    tuple val(sample_id), path(reads)
    path index
    output:
    tuple val(sample_id), path("*.sorted.bam")
    script:
    """
    STAR --runThreadN 8 \
         --genomeDir $index \
         --readFilesIn ${reads[0]} ${reads[1]} \
         --readFilesCommand zcat \
         --outSAMtype BAM SortedByCoordinate \
         --outFileNamePrefix ${sample_id}_
    mv ${sample_id}_Aligned.sortedByCoord.out.bam ${sample_id}.sorted.bam
    """
}
// 工作流
workflow {
    Channel
        .fromFilePairs(params.reads, checkIfExists: true)
        .set { read_pairs }
    FASTQC(read_pairs)
    STAR_ALIGN(read_pairs, params.genome)
}
查看详情 →
💡

13.6 常用软件工具实操

section
查看详情 →
💡

FastQC原理

algorithm

FastQC从多个维度评估测序数据质量: - **基本统计**:总reads数、序列长度、GC含量 - **每个碱基的质量**:箱线图展示read各位置的质量分布 - **每个序列的质量**:所有reads平均质量的分布 - **每个碱基的序列含量**:各位置A/T/G/C的比例(应接近一致) - **GC含量**:样本GC分布与理论正态分布的比较 - **接头序列**:检测已知接头序列的污染 -...

FastQC从多个维度评估测序数据质量:
- 基本统计:总reads数、序列长度、GC含量
- 每个碱基的质量:箱线图展示read各位置的质量分布
- 每个序列的质量:所有reads平均质量的分布
- 每个碱基的序列含量:各位置A/T/G/C的比例(应接近一致)
- GC含量:样本GC分布与理论正态分布的比较
- 接头序列:检测已知接头序列的污染
- 序列重复:评估PCR重复和过度表达的序列

查看详情 →
💡

BWA-MEM比对原理

algorithm

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法: 1. **索引构建**:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。 2. **种子搜索**:在参考基因组中查找read的精确匹配子串(maximal exact matches)。 3. **链...

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法:
1. 索引构建:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。
2. 种子搜索:在参考基因组中查找read的精确匹配子串(maximal exact matches)。
3. 链式扩展:将种子连接起来,构建可能的比对位置。
4. 局部比对:使用Smith-Waterman算法对候选位置进行精细比对,处理gap(插入缺失)。
5. 比对质量计算:根据最佳和次佳比对的得分差异,计算MAPQ(mapping quality)。

查看详情 →
💡

SAM/BAM格式详解

concept

SAM文件包含11个必需字段: | 列 | 字段名 | 说明 | |----|--------|------| | 1 | QNAME | Read名称 | | 2 | FLAG | 比对标志(位掩码) | | 3 | RNAME | 参考序列名称 | | 4 | POS | 比对起始位置(1-based) | | 5 | MAPQ | 比对质量(Phred标度) | | 6 | CIGAR |...

SAM文件包含11个必需字段:
| 列 | 字段名 | 说明 |
|----|--------|------|
| 1 | QNAME | Read名称 |
| 2 | FLAG | 比对标志(位掩码) |
| 3 | RNAME | 参考序列名称 |
| 4 | POS | 比对起始位置(1-based) |
| 5 | MAPQ | 比对质量(Phred标度) |
| 6 | CIGAR | 比对运算字符串 |
| 7 | RNEXT | 配对read的参考序列 |
| 8 | PNEXT | 配对read的位置 |
| 9 | TLEN | 模板长度 |
| 10 | SEQ | 序列 |
| 11 | QUAL | 质量值 |
FLAG字段解读(关键值):
| FLAG | 含义 |
|------|------|
| 1 | Read有配对 |
| 2 | Read在配对中正确比对 |
| 4 | Read未比对 |
| 8 | 配对read未比对 |
| 16 | Read比对到反向互补链 |
| 64 | 是第一个read |
| 128 | 是第二个read |
| 256 | 非主要比对 |
| 512 | 未通过QC |
| 1024 | PCR重复或光学重复 |

查看详情 →
💡

GATK变异检测流程

algorithm

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括: 1. **标记重复(MarkDuplicates)**:识别PCR重复reads,只保留一个拷贝用于变异检测。 2. **碱基质量校正(Base Quality Score Recalibration, BQSR)**:系统性的测序误差会导致碱基质量值不准确。B...

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括:
1. 标记重复(MarkDuplicates):识别PCR重复reads,只保留一个拷贝用于变异检测。
2. 碱基质量校正(Base Quality Score Recalibration, BQSR):系统性的测序误差会导致碱基质量值不准确。BQSR通过比较观察到的错配率和期望的错配率,构建校正模型,输出更准确的碱基质量值。
3. 变异检测(HaplotypeCaller):GATK的核心变异检测引擎:
- 在感兴趣区域进行局部de novo组装
- 识别潜在的单倍型
- 使用PairHMM算法将reads与单倍型比对
- 输出基因型似然值和变异质量
4. 变异质量校正(Variant Quality Score Recalibration, VQSR):利用已知变异位点(如dbSNP、HapMap)训练高斯混合模型,区分真实的变异和假阳性。

查看详情 →
💡

FastQC + Trimmomatic质控示例

algorithm

```bash # === 第一步:FastQC质控 === mkdir -p qc_results # 对单个样本运行FastQC fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz # 批量处理 for r1 in raw/*_R1.fastq.gz; do r2="${r1/_R1/_R2}" fas...

# === 第一步:FastQC质控 ===
mkdir -p qc_results
# 对单个样本运行FastQC
fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz
# 批量处理
for r1 in raw/*_R1.fastq.gz; do
    r2="${r1/_R1/_R2}"
    fastqc -t 4 -o qc_results "$r1" "$r2"
done
# MultiQC汇总所有质控报告
multiqc qc_results/ -o qc_results/summary/
# === 第二步:Trimmomatic质量修剪 ===
# 假设FastQC显示:
# 1. 3'端质量下降(需要SLIDINGWINDOW修剪)
# 2. 存在adapter污染(需要ILLUMINACLIP)
mkdir -p trimmed
# PE模式(双端)
trimmomatic PE -threads 8 \
    raw/sample_R1.fastq.gz raw/sample_R2.fastq.gz \
    trimmed/sample_R1_paired.fq.gz trimmed/sample_R1_unpaired.fq.gz \
    trimmed/sample_R2_paired.fq.gz trimmed/sample_R2_unpaired.fq.gz \
    ILLUMINACLIP:adapters.fa:2:30:10 \
    LEADING:3 TRAILING:3 \
    SLIDINGWINDOW:4:15 \
    MINLEN:36
# 参数说明:
# ILLUMINACLIP:adapters.fa:2:30:10
#   adapters.fa = adapter序列文件
#   2 = seed匹配时允许的最大错配数
#   30 = palindrome模式下的阈值
#   10 = simple模式下的阈值
# LEADING:3 - 从read起始切除质量值<3的碱基
# TRAILING:3 - 从read末尾切除质量值<3的碱基
# SLIDINGWINDOW:4:15 - 4bp窗口平均质量<15时切除
# MINLEN:36 - 丢弃长度<36bp的read
查看详情 →
💡

BWA + SAMtools比对示例

algorithm

```bash # === 第一步:建立BWA索引 === bwa index reference.fa # 或使用samtools建立FASTA索引(用于IGV等工具) samtools faidx reference.fa # === 第二步:序列比对 === # BWA-MEM适合70bp-1Mbp的reads bwa mem -t 16 \ -R "@RG\tID:sample1\...

# === 第一步:建立BWA索引 ===
bwa index reference.fa
# 或使用samtools建立FASTA索引(用于IGV等工具)
samtools faidx reference.fa
# === 第二步:序列比对 ===
# BWA-MEM适合70bp-1Mbp的reads
bwa mem -t 16 \
    -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa \
    sample_R1_paired.fq.gz sample_R2_paired.fq.gz \
    > sample.sam
# -t 16: 使用16个线程
# -R: 添加read group信息(GATK必需)
# === 第三步:SAM转BAM、排序、索引 ===
# 方法1:管道一步完成
bwa mem -t 16 -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa sample_R1.fq.gz sample_R2.fq.gz | \
    samtools sort -@ 4 -o sample.sorted.bam -
samtools index sample.sorted.bam
# 方法2:分步处理
samtools view -bS sample.sam > sample.bam          # SAM转BAM
samtools sort sample.bam -o sample.sorted.bam      # 排序
samtools index sample.sorted.bam                    # 建立索引
rm sample.sam sample.bam                           # 删除中间文件
# === 第四步:比对质量统计 ===
samtools flagstat sample.sorted.bam > sample.flagstat
samtools idxstats sample.sorted.bam > sample.idxstats
# === 常用SAMtools命令 ===
# 查看BAM头部
samtools view -H sample.sorted.bam
# 查看特定区域的比对
samtools view sample.sorted.bam chr1:1000000-2000000 | head
# 提取特定FLAG的reads(例如:只提取properly paired reads)
samtools view -f 2 -b sample.sorted.bam > sample.proper_pair.bam
# 过滤掉未比对reads(FLAG 4)
samtools view -F 4 -b sample.sorted.bam > sample.mapped_only.bam
# BAM转FASTQ(用于重新比对)
samtools bam2fq sample.sorted.bam > sample.fastq
# 合并多个BAM
samtools merge merged.bam sample1.sorted.bam sample2.sorted.bam
查看详情 →
💡

GATK变异检测示例

algorithm

```bash # === GATK最佳实践流程 === # 1. 标记重复(MarkDuplicates) gatk MarkDuplicates \ -I sample.sorted.bam \ -O sample.dedup.bam \ -M sample.metrics.txt \ --REMOVE_DUPLICATES false # 标记但不删除,GA...

# === GATK最佳实践流程 ===
# 1. 标记重复(MarkDuplicates)
gatk MarkDuplicates \
    -I sample.sorted.bam \
    -O sample.dedup.bam \
    -M sample.metrics.txt \
    --REMOVE_DUPLICATES false  # 标记但不删除,GATK推荐
samtools index sample.dedup.bam
# 2. 碱基质量校正(BQSR)
# 需要已知变异位点(如dbSNP)作为训练集
gatk BaseRecalibrator \
    -I sample.dedup.bam \
    -R reference.fa \
    --known-sites dbsnp.vcf.gz \
    -O sample.recal.table
gatk ApplyBQSR \
    -R reference.fa \
    -I sample.dedup.bam \
    --bqsr-recal-file sample.recal.table \
    -O sample.recal.bam
# 3. 变异检测(HaplotypeCaller)
gatk HaplotypeCaller \
    -R reference.fa \
    -I sample.recal.bam \
    -O sample.g.vcf.gz \
    -ERC GVCF  # 输出gVCF格式(适合多样本联合分析)
# 4. 多样本联合基因型(如果有多个样本)
# GenomicsDBImport导入gVCF
gatk GenomicsDBImport \
    -V sample1.g.vcf.gz \
    -V sample2.g.vcf.gz \
    -V sample3.g.vcf.gz \
    --genomicsdb-workspace-path cohort_db \
    -L intervals.list
# GenotypeGVCFs输出最终VCF
gatk GenotypeGVCFs \
    -R reference.fa \
    -V gendb://cohort_db \
    -O cohort.vcf.gz
# 5. 变异质控(VQSR,可选)
gatk VariantRecalibrator \
    -R reference.fa \
    -V cohort.vcf.gz \
    --resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap.vcf.gz \
    --resource:omni,known=false,training=true,truth=false,prior=12.0 omni.vcf.gz \
    -an QD -an MQ -an MQRankSum -an ReadPosRankSum \
    -mode SNP \
    -O cohort.recal \
    --tranches-file cohort.tranches
gatk ApplyVQSR \
    -R reference.fa \
    -V cohort.vcf.gz \
    --recal-file cohort.recal \
    --tranches-file cohort.tranches \
    --truth-sensitivity-filter-level 99.5 \
    -mode SNP \
    -O cohort.vqsr.vcf.gz
# 6. 硬过滤(如果VQSR不适用,如小样本)
gatk VariantFiltration \
    -R reference.fa \
    -V cohort.vcf.gz \
    -O cohort.filtered.vcf.gz \
    --filter-expression "QD < 2.0 || MQ < 40.0 || FS > 60.0 || SOR > 3.0" \
    --filter-name "basic_filters"
查看详情 →
💡

IGV可视化示例

tool

```bash # IGV是一个Java桌面应用程序,无需命令行操作 # 但它可以配合命令行工具准备输入文件 # 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览) igvtools count sample.sorted.bam sample.tdf reference.fa # 2. 生成BEDGRAPH覆盖度文件 bedtools genomecov -ibam sample.s...

# IGV是一个Java桌面应用程序,无需命令行操作
# 但它可以配合命令行工具准备输入文件
# 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览)
igvtools count sample.sorted.bam sample.tdf reference.fa
# 2. 生成BEDGRAPH覆盖度文件
bedtools genomecov -ibam sample.sorted.bam -bg > sample.coverage.bedgraph
# 3. 生成VCF索引(tabix)
bgzip cohort.vcf.gz
tabix -p vcf cohort.vcf.gz

IGV使用步骤:
1. 启动IGV(需要Java环境)
2. 加载参考基因组:Genomes → Load Genome from File → 选择reference.fa
3. 加载比对文件:File → Load from File → 选择sample.sorted.bam
4. 加载变异文件:File → Load from File → 选择cohort.vcf.gz
5. 导航到感兴趣的基因区域(如输入 TP53 或坐标 chr17:7,661,778-7,687,538
6. 观察reads的比对情况、覆盖深度和变异位点

查看详情 →

生物信息学的机遇与挑战

💡

第1章 生物信息学概述 (第1章)

chapter
查看详情 →
💡

1.1 生物信息学的基本概念

section

1953 年,詹姆斯·沃森(James Watson)和弗朗西斯·克里克(Francis Crick)提出了 DNA 的双螺旋结构,随着对 DNA 结构的理解深入,科学家开始思考如何解读 DNA 序列中的遗传信息。20 世纪 70 年代,科学家们开展了一些初步的 DNA 序列测定工作。1990 年,正式启动了国际人类基因组计划项目,旨在解码人类基因组中的所有基因。经过长达 13 年的合作,人类基因组图谱于 2001 年分别在 Nature 和 Science 上发表,2003 年完成了人类基因组几乎全部基因序列的测定。这个里程碑性的成就对于理解人类遗传学、疾病机制以及生命的基本过程产生了深远的影响,也为生物信息学提供了兴盛的契机。
随着基因组计划的不断进展, DNA 测序技术得到了极大的改进, 从传统的 Sanger 测序发展到高通量测序技术。这些技术的发展不仅极大地加速了人类基因组计划的进展, 还使得大规模的基因组和转录组数据可以更加经济高效地获得。随着生物技术的不断完善, 现代生物学研究范围扩展到了更多维度, 涉及蛋白质、代谢物、表观遗传组等多个层面。单细胞组学和空间组学的研究更是丰富了我们对生物系统的理解。海量生物组学数据的产生速度呈指数级增长, 需要强大的计算机技术和算法进行处理。随着计算机硬件和软件技术的不断进步, 人们也能够更有效地处理复杂的生物数据。这样跨学科的合作加速了生物信息学的发展, 为解决生物学研究中的复杂问题提供了新的视角和方法。

1.1.1 生物信息学的基本含义

生物信息学(bioinformatics)一词的最初定义是由保利恩·霍赫韦格(Paulien Hogeweg)和本·赫斯珀(Ben Hesper)于20世纪70年代提出,指的是对生物系统中信息过程的研究。该定义将生物信息学视为与生物化学(生物系统中化学过程的研究)平行的领域。在此之前,玛格丽特·戴霍夫(Margaret Dayhoff)在20世纪60年代便率先认识到计算机在处理生物数据方面的巨大潜力,通过创建首个蛋白质序列数据库、构建蛋白质进化树以及提出点突变模型等开创性工作,为这一新兴学科的萌芽与发展奠定了重要基础。生物信息分析生物数据以产生有意义的信息这一概念涉及许多方面,如编写和运行使用图论、人工智能、软计算、数据挖掘、图像处理和计算机模拟算法的软件程序等,而这些算法又依赖于离散数学、控制论、系统论、信息论和统计学等理论基础。由此可见,生物信息学是一门跨学科的科学领域,将生物学、计算机科学、应用数学、信息学和统计学等多个学科知识融会贯通在一起。生物信息学一开始简单地被理解为“生物学+信息学”,但作为一门学科,它有自己的学科体系,而不是简单的叠加,更应该理解为“生物学+信息学+学科体系”。生物信息学旨在开发和应用计算机技术和算法来处理、分析、解释和存储生物学数据,从中获取生物学上的洞见和知识。
生物信息学的研究材料是各类生物学数据,研究工具是计算机,研究方法和技术包括对生物学数据的搜索、收集和筛选、处理(编辑、整理、管理和显示)及利用(计算、模拟)等。生物信息学涵盖了多方面的内容。首先,序列分析是生物信息学的一个核心领域,如对 DNA、RNA 和蛋白质序列的处理和分析。这包括了基因识别、蛋白质功能预测、序列比对等方面的内容。其次,生物信息学关注蛋白质、核酸等分子的结构。这对于理解它们的功能和相互作用至关重要,包括蛋白质结构预测、分子对接等方面。再次,生物信息学包含了对各类组学数据的分析。基因组学研究整个基因组的组成和功能,包括基因组测序、基因组注释、基因功能预测等;转录组学关注在不同条件下基因的表达情况,研究了解细胞的功能、调控机制以及疾病的发生机制;蛋白质组学研究细胞或生物体内所有蛋白质的组成和功能,并揭示细胞内各种蛋白质相互作用的网络。再者,生物信息学还关注生物系统的整体性质和相互作用,可以通过建立数据模型来模拟和预测生物过程。最后,生物信息学还包括数据库的构建和算法工具的开发。生物信息学数据库存储了大量的生物学数据,如基因序列、蛋白质结构、表达调控数据等,为科学家提供检索和分析的工具。生物信息学领域也开发了许多算法和工具,用于数据处理、模拟、预测等。这些工具对于生物学研究具有重要意义。总之,生物信息学通过整合多学科的知识,致力于通过处理和分析生物学数据、建立数据库与各类算法模型等方式,深入了解生命的分子机制、进化、疾病等,在现代生物学研究中扮演着重要的角色。

1.1.2 生物信息学的学科特点与发展

作为交叉学科,生物信息学既是一门自然科学(理学),也是一门工程技术(工学)。作为自然科学方面,生物信息学深入探索生命的分子机制、遗传信息的传递和表达等生物学基本问题。它使用计算机科学和数学工具来分析、解释和预测生物学数据,从而帮助科学家更好地理解生物系统的运作方式。生物信息学在基因组学、蛋白质组学、转录组学等领域的研究中,探索生物分子的结构、功能和相互作用等方面具有重要作用。作为工程技术方面,它开发了许多计算工具、算法和软件来处理和管理大规模的生物学数据。这些工具可以用于基因序列分析、蛋白质结构预测、基因表达模式分析等。这些技术的开发和应用在药物研发、医学诊断、农业改良等实际应用领域产生了重要的影响。总的来说,生物信息学在理论研究和实际应用中都起到了关键作用,同时也是生物学与计算机科学交叉的典范。这种综合性的性质使得生物信息学在推动科学研究进程、创新技术发展以及解决实际问题方面发挥了重要作用。
由于生物信息学的重要性,国内外一直非常重视生物信息学的发展。在国际上,美国、欧洲和日本共同组成了 GenBank/ENA/DDBJ 国际核酸序列数据库。其他一些西方国家在分享网络共享资源的同时,也分别建有自己的生物信息学机构、二级或更高级的具有各自特色的专业数据库以及自己的分析技术。我国高度重视生物信息学领域的创新发展,早在 1999 年,郝柏林等老一辈科学家倡议成立了国家级生物医学信息中心,致力于生物信息学研究、数据资源的构建和管理,以及相关技术的开发与应用。2019 年,国家生物信息中心正式批准成立,它的主要职责和任务包括:生物信息资源建设与管理、生物信息学研究、数据分析和挖掘、生物信息学培训与推广、国际合作与交流。国家生物信息中心在促进中国生物信息学领域的发展、推动科研成果转化以及提供生物信息学技术支持等方面发挥着重要作用。目前,在国内外具有广泛影响力和声誉。
生物信息学的发展极为迅速,迄今已取得诸多成果。就网络资源而言,国内外的生物信息学网络资源极为丰富,从代表国家级研究机构的大型网点到代表专业实验室的小型站点,都建立了众多生物信息学网站。大型机构的网站通常提供相关新闻、数据库服务以及软件在线服务;小型科研机构大多展示自己的研究成果,部分还提供自行设计算法的在线服务。各种专业研究机构和公司如雨后春笋般不断涌现,生物科技公司和制药工业内部的生物信息学部门的数量也日益增加。
如今,随着生物信息学的蓬勃发展,生命科学的基础研究与技术开发对生物信息学的科研与人才需求也迅猛增加,传统欧美发达国家也面临着供不应求、人才匮乏的局面。因此,对生物信息学人才的培养至关重要。我国越来越多的高等院校、科研单位开展了生物信息学教育和科研工作,许多大学已经建设生物信息学相关的专业与课程,推动我国生物信息学的快速发展。

查看详情 →
💡

1.2 生物信息学的发展历史与趋势

section
查看详情 →
💡

第一阶段:分子生物学发展时期(1953—1975年)

concept

这一时期是生物信息学的萌芽阶段,核心特征是**理论奠基**和**初步尝试**。 **关键里程碑:** - **1953年**:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。 - **1955年**:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子...

这一时期是生物信息学的萌芽阶段,核心特征是理论奠基初步尝试
关键里程碑:
- 1953年:沃森(Watson)和克里克(Crick)发现DNA双螺旋结构,开启了分子生物学时代。这一发现让人们意识到,生命的遗传信息可能以数字化形式(A、T、G、C四种碱基)存储。
- 1955年:桑格(Sanger)完成了第一个蛋白质序列(牛胰岛素)的测定,证明了生物大分子的序列可以被"读取"。
- 1965年:中国科学家成功人工合成牛胰岛素结晶,这是人类首次人工合成蛋白质。
- 1968年:玛格丽特·戴霍夫(Margaret Dayhoff)创建了首个蛋白质序列数据库(Atlas of Protein Sequence and Structure),并提出了PAM矩阵(点突变矩阵),为序列比较奠定了数学基础。她被誉为"生物信息学之母"。
- 1973年:伯格(Berg)发现第一个重组DNA,基因工程时代来临。
- 1975年:DNA测序工作正式开启,为后续大规模数据产生铺平道路。
这一时期的生物信息学活动主要是零星的、手工的。科学家们用纸质卡片记录序列,用简单的统计学方法分析数据。但正是这些早期工作,确立了"生物序列可以被计算分析"的核心理念。

查看详情 →
💡

第二阶段:基因组学时期(1976—2001年)

concept

这一时期是生物信息学的**成型阶段**,核心特征是**数据库建立**、**算法开发**和**基因组计划启动**。 **关键里程碑:** - **1977年**:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。 - **1981年**:中国实现酵母丙氨酸转移核糖核酸的人工合成。 - **1985年**:穆利斯(Mullis)创立PCR...

这一时期是生物信息学的成型阶段,核心特征是数据库建立算法开发基因组计划启动
关键里程碑:
- 1977年:桑格研究小组完成了第一个全基因组(噬菌体ΦX174,5386个碱基)的测序。同年,DNA测序的"桑格法"正式确立。
- 1981年:中国实现酵母丙氨酸转移核糖核酸的人工合成。
- 1985年:穆利斯(Mullis)创立PCR技术;生物信息学专业期刊CABIOS创刊。
- 1986年:日本核酸序列数据库DDBJ诞生;蛋白质数据库SWISS-PROT建立。
- 1988年:美国国家生物技术信息中心(NCBI)成立,成为生物信息学最重要的基础设施之一。
- 1990年:国际人类基因组计划(HGP)正式启动,预算30亿美元,计划15年完成。这是生物学领域的"登月计划"。
- 1991年:BLAST算法发表,成为生物信息学领域最广泛使用的序列比对工具。
- 1995年:流感嗜血杆菌全基因组序列发布,这是第一个被完全测序的自由生活生物。
- 1996年:酵母基因组完成测序,这是第一个真核生物基因组。
- 1997年:北京大学生物信息学中心(CBI)成立;大肠杆菌基因组完成测序。
- 1998年:克雷格·文特尔(Craig Venter)创立塞莱拉基因组公司,采用鸟枪法测序策略,与公共基因组计划形成竞争。
这一时期,生物信息学从一个边缘领域逐渐走向中心。人类基因组计划产生的海量数据,迫使科学家们开发自动化工具来处理和分析。BLAST、FASTA等序列搜索算法,Clustal多序列比对工具,Phylip进化分析软件等都在这一时期诞生。

查看详情 →
💡

第三阶段:后基因组时期(2002—2012年)

concept

这一时期是生物信息学的**快速发展阶段**,核心特征是**高通量数据**、**多组学整合**和**系统生物学兴起**。 **关键里程碑:** - **2001年**:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。 - **2002年**:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。 - **2003年**:人类基因组计划正式宣布完成;ENCODE计划启...

这一时期是生物信息学的快速发展阶段,核心特征是高通量数据多组学整合系统生物学兴起
关键里程碑:
- 2001年:人类基因组草图在Nature和Science上发表,人类基因组计划提前完成。
- 2002年:小鼠基因组完成,人类基因组单体型图(HapMap)计划启动。
- 2003年:人类基因组计划正式宣布完成;ENCODE计划启动,旨在识别人类基因组中的所有功能元件。
- 2005年:二代测序技术(NGS)出现,测序成本开始断崖式下降。
- 2006年:癌症基因组图谱计划(TCGA)启动,系统性地对多种癌症进行基因组分析。
- 2007年:世界首份"个人版"基因图谱完成,个体化基因组时代来临;人体微生物组计划(HMP)启动。
- 2009年:汤富酬发表单细胞转录组测序技术,开启了单细胞组学时代。
- 2010年:外显子测序技术成熟,三代测序技术出现。
- 2012年:CRISPR/Cas基因编辑系统的应用发表;英国启动十万人基因组计划。
这一时期,二代测序技术(Illumina平台为代表)的普及使得数据产量呈指数级增长。一个实验室一天就能产生相当于整个人类基因组计划的数据量。生物信息学从"辅助基因组计划"变成了所有生命科学研究都离不开的核心工具。

查看详情 →
💡

第四阶段:大数据与人工智能时期(2013年至今)

concept

这一时期是生物信息学的**智能化阶段**,核心特征是**深度学习应用**、**多模态数据整合**和**精准医学实践**。 **关键里程碑:** - **2013年**:人类脑计划启动。 - **2015年**:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。 - **2016年**:深圳国家基因库CNGB正式运营;空间转录组学技术发展。 - **2017年**:"中国十万人基因组计划"启动...

这一时期是生物信息学的智能化阶段,核心特征是深度学习应用多模态数据整合精准医学实践
关键里程碑:
- 2013年:人类脑计划启动。
- 2015年:精准医疗概念正式提出,生物信息学从基础研究走向临床应用。
- 2016年:深圳国家基因库CNGB正式运营;空间转录组学技术发展。
- 2017年:"中国十万人基因组计划"启动;人类细胞图谱计划启动。
- 2018年:单细胞水平细胞谱系追踪技术出现;小麦基因组图谱历经13年绘制完成。
- 2019年:国家基因组科学数据中心(NGDC)成立。
- 2020年:AlphaFold2在蛋白质结构预测大赛CASP14中获得历史性突破,解决了困扰生物学界50年的蛋白质折叠问题。
- 2021年:AlphaFold2成功预测98.5%的人类蛋白质结构。
- 2022年:ChatGPT发布,大语言模型开始影响科学研究方式;人类基因组计划最后8%的空缺(端粒等复杂区域)被填补。
- 2024年:AlphaFold2获得诺贝尔化学奖,这是生物信息学领域首次获得诺贝尔奖,标志着该学科得到国际最高学术认可;AlphaFold3发布,能够预测蛋白质-DNA、蛋白质-RNA复合物结构。
这一时期,人工智能特别是深度学习与生物信息学的融合成为最显著的特征。AlphaFold系列的成功证明,AI不仅可以加速数据分析,还能解决传统计算方法难以攻克的生物学难题。


查看详情 →
💡

1.3 生物信息学的研究领域

section
查看详情 →
💡

1.3.1 生物学研究领域

concept

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

生物信息学作为一门交叉学科,其研究工具和方法广泛应用于生物科学的各个领域。图1-2展示了生物信息学与生物科学各研究领域的关系概览。

查看详情 →
💡

生物化学与分子生物学

concept

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。 **核心应用包括:** - **基因识别与注释**:通过计算算法从基因组序列中识别基因的位置、结构和功能 - **蛋白质功能预测**:基于序列相似性推断未知蛋白质的功能 - **序列 motif 发现**:识别DNA...

生物信息学在生物化学与分子生物学领域中发挥着关键作用。以"DNA—RNA—蛋白质"为主要对象,分析编码区和非编码区中信息结构和编码特征,挖掘其中的规律,探究理解信息调节与表达规律等。
核心应用包括:
- 基因识别与注释:通过计算算法从基因组序列中识别基因的位置、结构和功能
- 蛋白质功能预测:基于序列相似性推断未知蛋白质的功能
- 序列 motif 发现:识别DNA或蛋白质序列中的保守模式(如转录因子结合位点)
- 分子进化分析:重建基因和蛋白质家族的进化历史
由于生物功能的主要体现者是蛋白质和其他各类生物分子,研究它们的生成过程、修饰加工、转运定位、结构变化、相互作用等活动,将推动对生物分子的功能、表达和调控的理解。生物信息学通过计算模拟,可以预测蛋白质的三维结构、分子间的相互作用界面,为实验设计提供指导。

查看详情 →
💡

细胞生物学

concept

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。 **生物信息学在细胞生物学中的应用:** - **单细胞组学分析**:利用单细胞测序技术,解析细胞异质性和发育轨迹 - **信号通路重构**:整合多组学数据,构建细胞内的信号传导网络 - **细胞间通信分析**:通过配体-受体分析推断细胞间的相互作用 - **空间转录组分析**:将基因表达信息映射到组织的...

细胞是生物体基本的结构和功能单位,细胞的结构、功能、调控方式和相互作用蕴含着大量的生物信息。
生物信息学在细胞生物学中的应用:
- 单细胞组学分析:利用单细胞测序技术,解析细胞异质性和发育轨迹
- 信号通路重构:整合多组学数据,构建细胞内的信号传导网络
- 细胞间通信分析:通过配体-受体分析推断细胞间的相互作用
- 空间转录组分析:将基因表达信息映射到组织的物理位置
生物信息学可以利用单细胞组学数据并整合基因组、表观组、转录组、蛋白质组等多组学数据,解析细胞内的信号通路传导与基因/蛋白质相互作用以及细胞间的信号通信,探索细胞、组织、器官、系统、生物体等不同尺度下生命活动的原理和调控方式。

查看详情 →
💡

遗传与发育生物学

concept

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。 **关键应用方向:** - **GWAS分析**:全基因组关联研究,识别人类复杂疾病的易感位点 - **表观遗传学分析**:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读 - **发育轨迹推断**:通过单细胞测序重建胚胎发育过程中的细胞分化路径 - **基因调控网络**:识别关键调控元件,理解基因组、表观基因组和环境...

遗传学与生物信息学的协同发展已极大提高了我们对生命潜在的分子机制的理解。
关键应用方向:
- GWAS分析:全基因组关联研究,识别人类复杂疾病的易感位点
- 表观遗传学分析:DNA甲基化、组蛋白修饰等表观遗传标记的检测与功能解读
- 发育轨迹推断:通过单细胞测序重建胚胎发育过程中的细胞分化路径
- 基因调控网络:识别关键调控元件,理解基因组、表观基因组和环境之间的动态相互作用
一个受精卵是如何从单细胞发育、分化为大量不同类型的细胞、组织和器官,最终构成一个完整的生命体,这一直是生物学领域中一个很大的谜团。通过结合多组学分析,我们得以揭开胚胎按照精确的时间顺序发展的秘密,预测和模拟胚胎发育的潜在模式。此外,我们还能分析环境因素如何影响胚胎发展,并探讨这些影响如何在遗传水平上被传递及其对后代可能产生的效应。

查看详情 →
💡

生理学

concept

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。 **生物信息学在生理学中的新兴应用:** - **3D器官重构**:基于成像数据构建器官的三维结构模型 - **动态功能模拟**:利用数学模型模拟生理过程(如心脏跳动、血流动力学) - **影像组学分析**:结合高分辨率影像测量技术,提取生物标志物 - **系统生理学建模**:整合多尺度数据,构...

在生命科学范畴中,生理学是一门起步较早的学科,研究者主要通过解剖实验探索生物体的生命活动及其内在机制。
生物信息学在生理学中的新兴应用:
- 3D器官重构:基于成像数据构建器官的三维结构模型
- 动态功能模拟:利用数学模型模拟生理过程(如心脏跳动、血流动力学)
- 影像组学分析:结合高分辨率影像测量技术,提取生物标志物
- 系统生理学建模:整合多尺度数据,构建从分子到器官的系统模型
如今,单细胞测序、空间转录组等生物技术的发展,为生理学研究带来了细胞和分子层面的丰富信息。同时,高分辨率影像测量技术和控制与计算技术结合生物信息学、人工智能,能够对生物体进行计算机数学建模,帮助理解复杂的生理过程。

查看详情 →
💡

微生物学

concept

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。 **生物信息学在微生物学中的核心应用:** - **宏基因组分析**:直接从环境样品中提取全部DNA,分析微生物群落组成 - **16S/18S rRNA分析**:通过保守的核糖体RNA基因识别和分类微生物 - **微生物代谢网络**:重构微生物的代谢途径,预测代谢能力 - **病原...

微生物是生物圈中活跃繁盛而极其重要的组分,与人类有着密切的联系,广泛参与人类的生产生活(如食品工程),也可能致病。
生物信息学在微生物学中的核心应用:
- 宏基因组分析:直接从环境样品中提取全部DNA,分析微生物群落组成
- 16S/18S rRNA分析:通过保守的核糖体RNA基因识别和分类微生物
- 微生物代谢网络:重构微生物的代谢途径,预测代谢能力
- 病原微生物基因组学:追踪病原体的变异和进化,预测耐药性和毒力
- 微生物组学(Microbiome):研究微生物群落与宿主健康的相互作用
现代微生物学中,生物信息学已经成为不可或缺的工具。测序、序列比对、系统发育分析、机器学习等技术以及宏基因组、微生物代谢组、16S/18S rRNA分析等生物信息分析方法,在环境微生物学、微生物生态学、病原生物学、微生物工程等不同分支中发挥着重要作用。

查看详情 →
💡

神经生物学

concept

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。 **生物信息学在神经生物学中的应用:** - **脑基因表达图谱**:利用先进计算工具分析数百万神经元及其群体的基因表达数据 - **神经影像分析**:处理和分析fMRI、EEG等神经影像数据 - **神经网络建模**:构建神经元和神经环路的计算模型 - **认知科学计算模型**:利用深度学习理解大脑信息处理机制 长期以来,借...

脑是自然界中最为复杂的物质,其功能亦呈现出自然界中最为复杂的运动形式。
生物信息学在神经生物学中的应用:
- 脑基因表达图谱:利用先进计算工具分析数百万神经元及其群体的基因表达数据
- 神经影像分析:处理和分析fMRI、EEG等神经影像数据
- 神经网络建模:构建神经元和神经环路的计算模型
- 认知科学计算模型:利用深度学习理解大脑信息处理机制
长期以来,借助神经解剖、神经生理、神经病理以及临床医学研究,已获取了海量有关脑结构与功能的数据。神经影像技术与生物信息学的融合,为研究大脑结构和功能提供了新途径。深度学习技术与生物信息学的结合,也为理解大脑信息处理机制以及认知科学和人工智能领域提供了崭新的理论框架。

查看详情 →
💡

其他重要领域

concept

**生态学(Ecology)**:利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。 **植物学(Phytology)**:植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。 **动物学(Zoology)**:动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。 **免疫学(Immunology)**:免疫组库测序(TCR/BCR-...

生态学(Ecology):利用宏基因组和宏转录组分析生态系统中的生物多样性;通过环境DNA(eDNA)监测物种分布。
植物学(Phytology):植物基因组注释;作物遗传改良;植物代谢通路分析;抗逆性相关基因挖掘。
动物学(Zoology):动物行为基因组学;濒危物种遗传多样性评估;动物驯化历史重构。
免疫学(Immunology):免疫组库测序(TCR/BCR-seq);MHC-肽段结合预测;疫苗设计。
进化生物学(Evolutionary Biology):系统发育树构建;分子进化速率计算;适应性进化检测。

查看详情 →
💡

1.3.2 生物信息学研究内容

concept

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

生物信息学自身的发展也形成了丰富的研究内容和方法体系。这些内容可以概括为"序列—结构—功能"三个层次,以及支撑这些研究的数据资源和算法工具。

查看详情 →
💡

序列分析

concept

序列分析是生物信息学最经典、最核心的内容。 **主要研究内容包括:** - **序列比对**:比较两条或多条序列的相似性,识别保守区域和变异位点 - **基因预测**:从基因组DNA序列中识别基因的位置和结构 - **序列搜索**:在大型数据库中搜索与查询序列相似的序列(如BLAST) - **Motif发现**:识别序列中的保守模式(如转录因子结合位点) - **序列拼接**:将短序列片段组装成...

序列分析是生物信息学最经典、最核心的内容。
主要研究内容包括:
- 序列比对:比较两条或多条序列的相似性,识别保守区域和变异位点
- 基因预测:从基因组DNA序列中识别基因的位置和结构
- 序列搜索:在大型数据库中搜索与查询序列相似的序列(如BLAST)
- Motif发现:识别序列中的保守模式(如转录因子结合位点)
- 序列拼接:将短序列片段组装成连续的基因组序列
序列分析的基础假设是"序列决定结构,结构决定功能"——相似的序列往往具有相似的功能。这一假设构成了生物信息学中"通过同源性推断功能"(homology-based function prediction)的基石。

查看详情 →
💡

结构分析

concept

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括: - **蛋白质结构预测**:从氨基酸序列预测三维结构(如AlphaFold) - **RNA结构预测**:预测RNA的二级和三级结构 - **分子对接**:预测小分子药物与蛋白质靶点的结合模式 - **分子动力学模拟**:模拟生物大分子的动态行为 - **结构比对**:比较不同蛋白质的结构相似性,识别结构域 蛋白质结构预测被生物信息...

生物大分子的结构决定了其功能。生物信息学在结构研究中的贡献包括:
- 蛋白质结构预测:从氨基酸序列预测三维结构(如AlphaFold)
- RNA结构预测:预测RNA的二级和三级结构
- 分子对接:预测小分子药物与蛋白质靶点的结合模式
- 分子动力学模拟:模拟生物大分子的动态行为
- 结构比对:比较不同蛋白质的结构相似性,识别结构域
蛋白质结构预测被生物信息学先驱Michael Levitt称为"生物信息学的圣杯",而2024年AlphaFold2的诺贝尔奖正是对这一领域里程碑式成就的肯定。

查看详情 →
💡

功能分析

concept

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。 **主要内容包括:** - **功能注释**:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等) - **表达分析**:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等) - **通路分析**:将基因列表映射到生物学通路,理解系统性功能变化 - **相互作用网络**:构建蛋白质-蛋白质相互作用(PPI)网...

功能分析连接序列/结构信息与生物学功能,是生物信息学最具应用价值的部分。
主要内容包括:
- 功能注释:为新基因或蛋白质赋予功能描述(GO注释、KEGG通路注释等)
- 表达分析:分析基因在不同条件下的表达模式(差异表达分析、共表达网络等)
- 通路分析:将基因列表映射到生物学通路,理解系统性功能变化
- 相互作用网络:构建蛋白质-蛋白质相互作用(PPI)网络、基因调控网络
- 表型关联分析:将基因型与表型关联,理解遗传基础

查看详情 →
💡

数据资源与算法工具

concept

生物信息学的发展离不开数据资源和算法工具的积累。 **主要数据库:** - **核酸序列数据库**:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟 - **蛋白质数据库**:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构) - **基因组数据库**:Ensembl、UCSC Genome Browser、NCBI Genome - **通路数据...

生物信息学的发展离不开数据资源和算法工具的积累。
主要数据库:
- 核酸序列数据库:GenBank(NCBI)、ENA(欧洲)、DDBJ(日本)——国际三大核苷酸数据库联盟
- 蛋白质数据库:UniProt(蛋白质序列和功能)、PDB(蛋白质三维结构)
- 基因组数据库:Ensembl、UCSC Genome Browser、NCBI Genome
- 通路数据库:KEGG、Reactome、WikiPathways
- 疾病数据库:OMIM、ClinVar、GWAS Catalog
- 单细胞数据库:Cell Atlas、Single Cell Portal
算法工具开发:
- 生物信息学领域已发展了数以万计的软件工具
- 工具开发遵循"开源、共享"的文化传统
- 生物信息学社区通过BioConductor(R)、Biopython(Python)、Galaxy(Web平台)等项目推动工具的标准化和可重复性


查看详情 →
💡

1.4 生物信息学的算法基础

section
查看详情 →
💡

1.4.1 降维算法

concept

**为什么需要降维?** 生物数据通常具有"高维"特征。例如: - 一个RNA-Seq实验可能测量2万多个基因的表达 - 一个基因组变异研究可能检测数百万个SNP位点 - 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达 维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。 **主成分分析(PCA)**: - **原理**:寻找数据...

为什么需要降维?
生物数据通常具有"高维"特征。例如:
- 一个RNA-Seq实验可能测量2万多个基因的表达
- 一个基因组变异研究可能检测数百万个SNP位点
- 一个单细胞测序实验可能同时测量数万个基因在数千个细胞中的表达
维度如此之高,人类无法直观理解,计算也会遇到"维度灾难"。降维算法将数据投影到低维空间,保留最重要的信息。
主成分分析(PCA)
- 原理:寻找数据中方差最大的方向,将数据投影到这些方向上
- 类比:想象一个三维的云朵,PCA找到云朵"最长"和"次长"的两个方向,将其投影到二维平面上
- 生物应用:基因表达数据可视化、群体遗传结构分析(如PCA用于推断人群祖先成分)、批次效应校正
- 优点:无监督、计算高效、结果可解释
- 局限:只能捕获线性关系
t-SNE(t-分布随机邻域嵌入)
- 原理:在高维空间中"相近"的样本,在低维空间中也应该"相近";优化低维表示使得这种"邻近关系"尽可能保持
- 类比:把一张揉皱的地图展平,尽量保持邻近城市的相对位置
- 生物应用:单细胞RNA-Seq数据可视化(如Seurat包中的标准流程)、细胞类型识别、发育轨迹推断
- 优点:擅长揭示非线性结构、可视化效果好
- 局限:计算成本高、结果随机性强、全局结构保持不佳
UMAP(统一流形近似与投影)
- 原理:基于流形学习(manifold learning)和拓扑数据分析,保持数据的局部和全局结构
- 生物应用:单细胞数据降维、空间转录组数据可视化
- 优点:比t-SNE更快、能更好地保持全局结构、更稳定
- 局限:参数调优较复杂
选择建议:PCA适合初步探索和线性结构;t-SNE适合精细可视化;UMAP是二者的折中,是目前单细胞分析的首选。

查看详情 →
💡

1.4.2 聚类算法

concept

**为什么需要聚类?** 聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。 **K-Means聚类**: - **原理**:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点 - **类比**:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直...

为什么需要聚类?
聚类是"无监督学习"——不需要预先知道类别标签,让数据"自己分组"。在生物信息学中,聚类用于发现数据中自然存在的群体结构。
K-Means聚类
- 原理:预先指定K个类别,迭代地将每个样本分配到最近的中心点,然后更新中心点
- 类比:老师让学生们按"身高相似"分组,先随机指定K个组长,然后每个人找身高最接近的组长,组长再更新为组内平均身高,反复直到稳定
- 生物应用:基因表达模式聚类、患者分型、微生物群落分类
- 优点:简单、高效
- 局限:需要预先指定K值、对初始值敏感、假设簇是球形
层次聚类(Hierarchical Clustering)
- 原理:自底向上(凝聚)或自顶向下(分裂)地构建树状结构
- 类比:从每片叶子(单个样本)开始,不断合并"最相似"的两组,直到形成一棵树
- 生物应用:基因表达热图(heatmap)的标准聚类方法、进化树构建、样本关系分析
- 优点:不需要预先指定类别数、输出树状图(dendrogram)直观展示关系
- 局限:计算复杂度高、对噪声敏感
DBSCAN(基于密度的聚类)
- 原理:将"高密度区域"识别为簇,可以自动发现任意形状的簇
- 生物应用:发现细胞亚群、识别异常样本
- 优点:能发现任意形状的簇、自动识别噪声
- 局限:对密度不均匀的数据效果不佳
聚类在生物信息学中的经典应用
- 基因共表达网络:聚类表达模式相似的基因,推断功能模块
- 癌症分子分型:基于基因表达谱将癌症患者分为不同亚型,指导治疗
- 细胞类型鉴定:聚类单细胞数据,发现新的细胞类型

查看详情 →
💡

1.4.3 分类算法

concept

**为什么需要分类?** 分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。 **决策树(Decision Tree)**: - **原理**:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别 - **类比**:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可...

为什么需要分类?
分类是"监督学习"——需要预先标注的训练数据,然后训练模型预测新样本的类别。在生物信息学中,分类用于预测疾病的诊断、药物的效果、蛋白质的功能等。
决策树(Decision Tree)
- 原理:通过一系列"如果...那么..."的判断规则,将样本分配到不同类别
- 类比:医生诊断流程图——"如果发烧且咳嗽,那么可能是流感;如果发烧且无咳嗽,那么可能是..."
- 生物应用:疾病诊断决策、基因功能分类、突变有害性预测(如SIFT、PolyPhen)
- 优点:可解释性强、不需要数据标准化
- 局限:容易过拟合、对数据变化敏感
支持向量机(SVM)
- 原理:在高维空间中寻找一个超平面,使不同类别的样本间隔最大化
- 类比:想象两类水果(苹果和橙子),SVM找到一条"最宽"的分界线,把两类水果分开
- 生物应用:蛋白质分类、疾病亚型识别、基因选择
- 优点:在高维空间表现好、泛化能力强
- 局限:大数据集训练慢、核函数选择困难
随机森林(Random Forest)
- 原理:构建多棵决策树,每棵树用随机抽样的样本和特征训练,最后投票决定分类
- 类比:让一个"专家委员会"(多棵树)投票决定,每个专家看问题的角度不同(随机特征),综合结果更稳健
- 生物应用:特征选择(识别重要基因)、疾病风险预测、蛋白质-蛋白质相互作用预测
- 优点:准确率高、能评估特征重要性、不易过拟合
- 局限:模型复杂、训练时间长
深度学习(Deep Learning)
- 原理:多层神经网络自动学习特征表示
- 生物应用:蛋白质结构预测(AlphaFold)、基因表达调控预测、药物分子生成、病理图像诊断
- 优点:表示能力强、自动特征提取
- 局限:需要大量训练数据、计算成本高、可解释性差("黑箱"问题)
分类算法选择建议
- 小样本、需要可解释性:决策树、SVM
- 大数据、追求准确率:随机森林、深度学习
- 生物信息学实际问题:往往需要尝试多种方法,交叉验证选择最优

查看详情 →
💡

1.4.4 回归算法

concept

**为什么需要回归?** 回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。 **线性回归(Linear Regression)**: - **原理**:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面) - **公式**:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ - **类比**:根据房屋面积、地段等特征,预测房价 - **生物应...

为什么需要回归?
回归用于预测连续数值(如疾病风险评分、药物IC50值、基因表达量),而不是类别。
线性回归(Linear Regression)
- 原理:假设因变量与自变量之间存在线性关系,拟合一条直线(或超平面)
- 公式:y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ
- 类比:根据房屋面积、地段等特征,预测房价
- 生物应用:基因表达量预测、表型-基因型关联分析、药物剂量-效应关系
- 优点:简单、可解释、理论基础扎实
- 局限:只能捕获线性关系、对异常值敏感
逻辑回归(Logistic Regression)
- 原理:虽然名字里有"回归",但它用于分类——通过sigmoid函数将线性输出映射到0-1概率
- 公式:P(y=1|x) = 1 / (1 + e^-(β₀ + β₁x₁ + ...))
- 生物应用:疾病风险预测(如根据SNP预测患病概率)、临床诊断模型
- 优点:输出概率、可解释性强、计算高效
- 局限:只能处理线性可分问题
LASSO回归(Least Absolute Shrinkage and Selection Operator)
- 原理:在普通回归的基础上加入L1正则化,使部分系数变为0,实现特征选择
- 类比:像一位严格的编辑,不仅要文章写得准(拟合数据),还要尽量简洁(减少用词),把不重要的词直接删掉(系数变为0)
- 生物应用:高维基因数据的特征选择(从数万个基因中筛选出与疾病相关的关键基因)、构建稀疏预测模型
- 优点:自动特征选择、防止过拟合、模型可解释
- 局限:高度相关特征中只选一个
岭回归(Ridge Regression)
- 原理:L2正则化,使系数尽量小但不为0
- 与LASSO的区别:LASSO做"选择"(删去不重要特征),岭回归做"收缩"(让所有特征都参与但权重更小)
- 生物应用:共线性严重的基因数据(如通路中的基因)
弹性网络(Elastic Net)
- 原理:LASSO和岭回归的结合,同时具有L1和L2正则化
- 生物应用:高维基因数据,特别是特征数远大于样本数时(p >> n问题)

查看详情 →
💡

1.4.5 统计分析

concept

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。 **假设检验**: - **核心问题**:观察到的差异是"真实存在"还是"随机波动"? - **p值**:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著" - **生物应用**:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较 - **注意事项**:p值不是...

统计分析是生物信息学的基石,贯穿于所有分析流程。本节介绍最常用的统计方法。
假设检验
- 核心问题:观察到的差异是"真实存在"还是"随机波动"?
- p值:在零假设(无差异)成立的条件下,观察到当前或更极端结果的概率。p < 0.05通常被视为"统计显著"
- 生物应用:差异表达分析(比较两组样本中基因表达是否有差异)、突变频率比较
- 注意事项:p值不是"差异有多大",而是"证据有多强";需要结合效应量(effect size)解释结果
多重检验校正
- 问题:当同时进行数千次检验(如检测2万个基因的差异表达)时,即使零假设成立,也有约5%的检验会"偶然"显著(假阳性)
- Bonferroni校正:将阈值除以检验次数,非常严格但损失统计功效
- FDR(False Discovery Rate)校正:控制假阳性比例,如Benjamini-Hochberg方法
- 生物应用:全基因组关联研究(GWAS)、RNA-Seq差异表达分析
- 重要性:不进行多重检验校正,差异表达分析几乎总会"发现"大量假阳性基因
方差分析(ANOVA)
- 原理:比较三组或更多组之间的均值差异,分解变异来源
- 生物应用:多组实验比较(如三种药物处理下的基因表达差异)、批次效应评估
- 类型:单因素ANOVA(一个分组变量)、双因素ANOVA(两个分组变量,如处理+时间)
非参数检验
- 何时使用:数据不满足正态分布、样本量小、存在异常值
- 常用方法:Mann-Whitney U检验(两组比较)、Kruskal-Wallis检验(多组比较)、Wilcoxon符号秩检验(配对样本)
- 生物应用:基因表达数据(通常不服从正态分布)、微生物组数据(计数数据,偏态分布)
- 优点:不假设数据分布、稳健
- 局限:统计功效通常低于参数检验
生存分析(Survival Analysis)
- 核心:分析"事件发生时间"(如死亡、复发、转移)
- Kaplan-Meier曲线:直观展示不同组别的生存概率
- Cox比例风险模型:评估协变量对风险率的影响
- 生物应用:临床预后分析(根据基因表达预测患者生存时间)、药物临床试验
统计学习在生物信息学中的趋势
- 从"统计显著"到"生物学意义":不仅看p值,还关注效应量、临床意义
- 贝叶斯方法:结合先验知识(如通路信息、蛋白质相互作用)进行推断,在生物信息学中越来越重要
- 可重复性危机:生物信息学领域正加强统计方法的规范使用,提高结果可重复性


查看详情 →
💡

1.5 生物信息学的机遇与挑战

section
查看详情 →
💡

1.5.1 生物信息学的机遇

concept
查看详情 →
💡

人工智能与深度学习的深度融合

concept

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长: **蛋白质科学与结构生物学**: - AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱 - AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物 - 基于深度学习的蛋白质设计(如RFdiffusio...

2020年AlphaFold2的成功仅仅是AI与生物信息学融合的开始。当前,AI在生物信息学中的应用正呈现爆发式增长:
蛋白质科学与结构生物学
- AlphaFold2已预测超过2亿种蛋白质结构,构建了蛋白质结构宇宙图谱
- AlphaFold3(2024年)扩展了预测范围,能够建模蛋白质-DNA、蛋白质-RNA、蛋白质-小分子复合物
- 基于深度学习的蛋白质设计(如RFdiffusion、ProteinMPNN)可以从头设计具有特定功能的蛋白质
- 蛋白质语言模型(如ESM-2、ProGen)学习蛋白质序列的"语法",预测突变效应和蛋白质功能
基因组学与变异解读
- 深度学习模型(如DeepVariant、Clair3)在变异检测精度上已超越传统方法
- 大规模语言模型(如Enformer、Basenji2)预测基因调控和染色质可及性
- 利用AI从DNA序列直接预测基因表达和表型
药物研发与分子设计
- 生成式AI(如扩散模型)可以设计全新的药物分子
- AI预测分子与靶点的结合亲和力,加速药物筛选
- 临床试验患者招募和结果预测
多组学整合
- 深度学习能够同时处理基因组、转录组、蛋白质组等多模态数据
- 图神经网络(GNN)用于建模生物分子网络(如蛋白质相互作用网络、代谢网络)
- 自监督学习利用未标注的海量生物数据预训练模型
AI for Science的范式转变
- 从"人工设计特征+传统机器学习"到"端到端深度学习"
- 从"单个任务优化"到"基础模型+微调"(如生物信息学基础模型)
- 大语言模型(LLM)辅助生物学知识发现(如GPT-4在文献挖掘和假设生成中的应用)

查看详情 →
💡

数据资源的指数级增长与开放共享

concept

**数据规模**: - 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍 - 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱 - 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据 **数据开放**: - FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化 - 数据...

数据规模
- 国际核苷酸序列数据库(GenBank/ENA/DDBJ)每年数据量翻倍
- 单细胞测序数据呈爆炸式增长,人类细胞图谱计划预计将产生数十亿个细胞的图谱
- 空间组学技术(空间转录组、空间蛋白质组)产生带有空间坐标的高维数据
数据开放
- FAIR原则(Findable, Accessible, Interoperable, Reusable)推动数据标准化
- 数据共享平台(如GEO、ArrayExpress、Zenodo)使科学数据可重复利用
- 国际合作项目(如人类基因组计划、人类细胞图谱、地球微生物组计划)产生开放参考数据集
数据价值
- 数据驱动的发现(如从海量GWAS数据中发现新的疾病基因)
- 数据整合产生新知识(如整合多队列数据验证发现的可靠性)
- 历史数据再利用(如对20年前的微阵列数据重新分析,发现新的生物学见解)

查看详情 →
💡

精准医学与临床转化需求

concept

**精准医学**: - 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选) - 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型) - 罕见病诊断:全外显子/全基因组测序快速锁定致病基因 **临床生物信息学**: - 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测 - 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向...

精准医学
- 根据个体基因组信息定制治疗方案(如肿瘤免疫治疗的生物标志物筛选)
- 药物基因组学:预测患者对药物的反应和副作用(如华法林剂量与CYP2C9基因型)
- 罕见病诊断:全外显子/全基因组测序快速锁定致病基因
临床生物信息学
- 液体活检:从血液中检测循环肿瘤DNA(ctDNA),实现无创癌症监测
- 伴随诊断:与特定药物配套的基因检测(如EGFR突变检测指导肺癌靶向治疗)
- 感染病原快速鉴定:宏基因组测序(mNGS)从患者样本中直接检测病原体
公共卫生
- 病原体基因组监测(如COVID-19变异株追踪)
- 流行病学建模与预测
- 耐药性监测与预警

查看详情 →
💡

新兴技术的发展

concept

**单细胞与空间组学**: - 单细胞测序从"看见细胞群体"到"看见单个细胞" - 空间组学从"知道表达了什么"到"知道在哪里表达" - 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平 **三代测序**: - 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题 - 直接检测DNA/RNA修饰(如甲基化)无需化学转化 - 实时测序、便携设备...

单细胞与空间组学
- 单细胞测序从"看见细胞群体"到"看见单个细胞"
- 空间组学从"知道表达了什么"到"知道在哪里表达"
- 多组学单细胞技术同时测量同一细胞的基因表达、染色质开放、蛋白质水平
三代测序
- 长读长测序(如PacBio、Oxford Nanopore)解决基因组组装中的重复序列问题
- 直接检测DNA/RNA修饰(如甲基化)无需化学转化
- 实时测序、便携设备(如MinION)实现现场测序
基因编辑与合成生物学
- CRISPR-Cas9的广泛应用产生大量编辑数据,需要生物信息学分析编辑效率和脱靶效应
- 合成生物学设计新生物系统,需要生物信息学工具进行设计-构建-测试-学习(DBTL)循环
- 基因线路设计与优化

查看详情 →
💡

1.5.2 生物信息学的挑战

concept
查看详情 →
💡

数据挑战

concept

**数据质量与标准化**: - 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应) - 数据格式多样,缺乏统一标准,数据整合困难 - 元数据(metadata)记录不完整,影响数据的可理解性和可重复性 - 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果 **数据规模与计算资源**: - 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据 - 存储、...

数据质量与标准化
- 生物数据质量参差不齐,不同实验室、不同批次的数据存在系统性偏差(批次效应)
- 数据格式多样,缺乏统一标准,数据整合困难
- 元数据(metadata)记录不完整,影响数据的可理解性和可重复性
- 缺失值问题:生物数据普遍存在缺失,如何处理缺失影响分析结果
数据规模与计算资源
- 单个全基因组测序数据约100GB,一个大型项目可能产生PB级数据
- 存储、传输、计算成本高昂,对基础设施提出巨大挑战
- 实时分析需求(如临床诊断)与计算复杂度的矛盾
数据隐私与伦理
- 基因组数据包含个人身份信息,隐私保护至关重要
- 跨国数据共享面临法律和政策障碍(如GDPR、数据主权)
- 基因歧视风险:保险公司、雇主可能利用基因信息歧视个体
- 数据安全:生物数据库成为网络攻击的潜在目标
数据复杂性
- 生物数据的高维性(特征数远超样本数)导致统计分析的困难
- 数据的异质性:不同来源、不同技术平台的数据难以直接比较
- 生物系统的复杂性:基因-环境相互作用、表观遗传修饰、微生物组影响等增加了数据解读的难度

查看详情 →
💡

算法挑战

concept

**可解释性(Interpretability)**: - 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难 - 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求) - 如何平衡模型性能与可解释性是一个核心挑战 **泛化能力(Generalization)**: - 生物数据存在严重的批次效应和技术平台差异 - 在一个数据集上训练的模型,往往无法直接应用于...

可解释性(Interpretability)
- 深度学习模型(如AlphaFold)的"黑箱"特性使生物学解释困难
- 临床和监管领域需要可解释的决策依据(如FDA对AI医疗设备的可解释性要求)
- 如何平衡模型性能与可解释性是一个核心挑战
泛化能力(Generalization)
- 生物数据存在严重的批次效应和技术平台差异
- 在一个数据集上训练的模型,往往无法直接应用于另一个数据集
- 领域适应(Domain Adaptation)和迁移学习在生物信息学中至关重要
小样本问题
- 生物医学实验成本高,样本量通常有限(几十到几百)
- 特征维度高(数万到数百万),样本量小,导致"维度灾难"
- 如何在小样本条件下训练可靠的模型?
因果推断(Causality)
- 大多数生物信息学分析只能发现相关性,而非因果关系
- 从"基因X与疾病Y相关"到"基因X导致疾病Y"需要严格的因果推断
- 孟德尔随机化(Mendelian Randomization)等方法正在被广泛采用,但仍有局限
多组学整合
- 如何有效整合基因组、转录组、蛋白质组、代谢组等不同层次的数据?
- 不同组学数据具有不同的尺度、分布和噪声特征
- 缺乏统一的多组学整合理论框架

查看详情 →
💡

人才与教育挑战

concept

**跨学科人才培养困难**: - 生物信息学需要生物学、计算机科学、统计学的交叉知识 - 传统教育体系培养的学生往往只精通一个领域 - 既懂生物学问题又懂计算方法的复合型人才严重短缺 **技术迭代快速**: - 生物信息学工具和技术更新极快,学习者需要持续学习 - 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂 - 教育体系难以跟上技术发展的步伐 **计算与实验的脱节**: - 计算生物学家...

跨学科人才培养困难
- 生物信息学需要生物学、计算机科学、统计学的交叉知识
- 传统教育体系培养的学生往往只精通一个领域
- 既懂生物学问题又懂计算方法的复合型人才严重短缺
技术迭代快速
- 生物信息学工具和技术更新极快,学习者需要持续学习
- 新算法、新软件、新数据库层出不穷,筛选和使用成本高昂
- 教育体系难以跟上技术发展的步伐
计算与实验的脱节
- 计算生物学家和实验生物学家之间往往存在沟通障碍
- 计算人员缺乏生物学直觉,实验人员缺乏计算思维
- 需要培养"双语人才"——既能与生物学家讨论科学问题,又能与计算机科学家讨论算法设计

查看详情 →
💡

应用转化挑战

concept

**从基础研究到临床应用的鸿沟**: - 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证 - 临床试验成本高、周期长,许多计算预测难以进入临床 - 监管政策滞后于技术发展(如AI医疗设备的审批流程) **结果可重复性**: - 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择 - 许多已发表的研究结果难以重复 - 需要建立标准化的分析流程(如Best Practices)和...

从基础研究到临床应用的鸿沟
- 生物信息学研究产生的候选标志物或靶点,需要严格的实验验证
- 临床试验成本高、周期长,许多计算预测难以进入临床
- 监管政策滞后于技术发展(如AI医疗设备的审批流程)
结果可重复性
- 生物信息学分析流程复杂,参数众多,结果高度依赖于分析方法的选择
- 许多已发表的研究结果难以重复
- 需要建立标准化的分析流程(如Best Practices)和可重复性研究环境(如Docker、Conda)
成本与效益的平衡
- 基因组测序成本虽已大幅下降,但全基因组分析、存储和解读的综合成本仍然较高
- 精准医学的效益需要长期验证,短期内难以体现
- 资源分配:在有限的医疗预算中,生物信息学驱动的精准医疗能否带来足够的健康收益?

查看详情 →
💡

1.5.3 结语

concept

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。 然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括: 1. **自动化与智能化**:从"手动编写...

生物信息学正处于一个前所未有的黄金时代。AlphaFold2获诺贝尔奖标志着计算方法与实验方法在生物学研究中获得了同等重要的地位。人工智能的深度融合、海量数据的积累、临床需求的推动,为生物信息学提供了前所未有的发展机遇。
然而,机遇背后也有挑战。数据质量、算法可解释性、人才短缺、临床转化等问题,需要整个学科共同努力解决。未来的生物信息学发展方向可能包括:
1. 自动化与智能化:从"手动编写分析脚本"到"自动化分析流程"(如Snakemake、Nextflow),再到"智能分析助手"(LLM辅助分析)
2. 可解释AI:发展既能保持高性能又具有生物学可解释性的AI方法,让黑箱变透明
3. 标准化与可重复性:建立分析流程、数据格式、软件环境的行业标准,提高研究可重复性
4. 教育与培训:改革教育体系,培养更多跨学科人才;发展在线教育资源和虚拟实践平台
5. 临床整合:推动生物信息学从基础研究走向临床实践,建立从样本采集到报告解读的标准化流程
6. 伦理与法规:制定数据共享、隐私保护、AI应用的伦理准则和法规框架
7. 全球合作:加强国际合作,建立全球生物数据共享和标准化体系
生物信息学的未来,不仅是技术的未来,更是科学的未来。在这个数据驱动的时代,生物信息学将继续扮演连接生物学、计算机科学和医学的桥梁角色,推动人类对生命本质的理解,最终造福人类健康和社会福祉。


查看详情 →
💡

第10章 表型组学

chapter
查看详情 →
💡

10.1 表型组学概述

section
查看详情 →
💡

10.2 表型组学数据

section
查看详情 →
💡

10.3 表型组学的数据分析

section
查看详情 →
💡

10.4 表型组学的应用

section
查看详情 →
💡

10.5 总结与展望

section
查看详情 →
💡

第11章 系统生物学

chapter
查看详情 →
💡

11.1 系统生物学概述

section
查看详情 →
💡

11.2 生物网络类型及数据资源

section
查看详情 →
💡

11.3 生物分子网络及特征

section
查看详情 →
💡

第12章 生物信息学应用

chapter
查看详情 →
💡

12.1 精准医学

section
查看详情 →
💡

基因组医学的原理

concept

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析: 1. **变异检测**:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。 2. *...

人类基因组由约30亿个碱基对组成,其中包含着决定个体特征的遗传信息。基因组医学的核心是通过测序技术获取个体基因组信息,然后利用生物信息学方法进行分析:
1. 变异检测:将测序reads比对到参考基因组(如GRCh38),识别单核苷酸多态性(SNP)、插入缺失(Indel)、结构变异(SV)等。常用的比对工具包括BWA、Bowtie2,变异检测工具包括GATK、Samtools等。
2. 变异注释:使用ANNOVAR、VEP(Variant Effect Predictor)等工具对检测到的变异进行功能注释,判断变异位于基因组的什么位置(编码区、非编码区、调控区)、是否改变氨基酸序列(同义突变、错义突变、无义突变、移码突变)等。
3. 致病性评估:结合人群频率数据库(如gnomAD)、致病性预测工具(如SIFT、PolyPhen-2、CADD)和临床数据库(如ClinVar、OMIM),评估变异的致病可能性。
4. 多组学整合:将基因组数据与转录组(RNA-seq)、蛋白质组、代谢组等数据整合,构建全面的分子图谱。

查看详情 →
💡

肿瘤基因组学的原理

concept

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括: 1. **肿瘤-正常配对分析**:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。 2. **突变特征分析**:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺...

肿瘤是一种基因组疾病,其特征是体细胞突变的累积。肿瘤基因组学的分析流程包括:
1. 肿瘤-正常配对分析:同时测序肿瘤组织和患者的正常组织(如血液),通过比对识别肿瘤特异性体细胞突变。这可以排除胚系突变(germline variants),聚焦于驱动肿瘤发展的体细胞突变(somatic variants)。
2. 突变特征分析:不同类型的致突变因子(如紫外线、烟草烟雾、DNA修复缺陷)会产生特定的突变模式,称为突变特征(mutational signatures)。通过分解突变谱,可以推断肿瘤的致突变因素。
3. 驱动突变识别:并非所有突变都对肿瘤发展有贡献。乘客突变(passenger mutations)是随机累积的,而驱动突变(driver mutations)则赋予细胞生长优势。生物信息学工具如OncodriveCLUST、MutSigCV通过统计方法识别显著的驱动突变。
4. 肿瘤异质性分析:肿瘤内部存在多个亚克隆,每个亚克隆具有不同的突变谱。通过PyClone、SciClone等工具可以重建肿瘤进化树,理解治疗耐药性的产生机制。

查看详情 →
💡

药物基因组学的原理

concept

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控: 1. **药物代谢酶**:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。 2. **药物转运体**:ABCB1(MDR1)、SLC...

药物在体内的代谢和作用涉及多个阶段:吸收、分布、代谢、排泄(ADME)和靶点作用。这些过程由特定基因编码的酶和受体调控:
1. 药物代谢酶:细胞色素P450(CYP)酶家族负责代谢约75%的临床药物。CYP2D6、CYP2C19、CYP2C9等基因存在高度多态性,导致个体间代谢速率差异(快代谢型、正常代谢型、慢代谢型、超快代谢型)。
2. 药物转运体:ABCB1(MDR1)、SLCO1B1等转运体基因的多态性影响药物的吸收和分布。
3. 药物靶点:VKORC1基因变异影响华法林的靶点敏感性,决定抗凝治疗剂量。
4. 剂量预测模型:基于患者的基因型和临床特征(年龄、体重、合并用药等),建立剂量预测算法,如华法林剂量预测模型整合VKORC1和CYP2C9基因型信息。

查看详情 →
💡

案例一:新生儿罕见病基因组诊断

concept

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。 分析流程: 1. WES测序(约2×10^7 reads...

一名出生3天的婴儿出现不明原因的代谢性酸中毒和低血糖。传统检测未能明确诊断。全外显子组测序(WES)在48小时内完成,生物信息学分析发现MMACHC基因存在复合杂合突变(c.271dupA和c.609G>A),诊断为钴胺素代谢障碍型C(cobalamin C disease)。这一诊断指导了维生素B12补充治疗,避免了不可逆的神经系统损伤。
分析流程:
1. WES测序(约2×10^7 reads,150bp paired-end)
2. BWA-MEM比对到GRCh38参考基因组
3. GATK HaplotypeCaller检测变异
4. VEP注释变异效应
5. 过滤:保留罕见变异(gnomAD AF<0.01)、蛋白截断或错义变异
6. 候选基因筛选:聚焦代谢疾病相关基因 panel
7. Sanger测序验证突变

查看详情 →
💡

案例二:非小细胞肺癌的精准治疗

concept

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。 融合基因检测流程: 1. RNA-seq数据质控...

一名65岁女性患者诊断为晚期肺腺癌。肿瘤组织RNA-seq和DNA-seq分析显示EML4-ALK基因融合(variant 1)。生物信息学分析通过STAR-Fusion检测到EML4基因的第13号外显子与ALK基因的第20号外显子融合。基于这一结果,患者接受了ALK抑制剂克唑替尼(Crizotinib)治疗,而非传统的化疗,获得了显著的临床获益。
融合基因检测流程:
1. RNA-seq数据质控(FastQC)
2. STAR比对(使用chimeric alignment模式)
3. STAR-Fusion或Arriba检测融合基因
4. 可视化验证(IGV查看融合断点)
5. 临床解读(OncoKB数据库查询靶向药物)

查看详情 →
💡

案例三:华法林个体化给药

concept

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C9*1/*3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

一名70岁房颤患者需要抗凝治疗。药物基因组学检测显示CYP2C91/3和VKORC1 -1639A/A基因型。基于IWPC(国际华法林药物基因组学联盟)算法,预测该患者的华法林维持剂量为2.1 mg/天(标准剂量为5 mg/天)。医生据此调整了初始剂量,避免了过量使用导致的出血风险。

查看详情 →
💡

12.2 智能药学

section
查看详情 →
💡

药物靶点发现的生物信息学策略

concept

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略: **1. 基因组学方法** - **全基因组关联分析(GWAS)**:通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。 - **表达数量性状位点(eQTL)分析**:将GWAS发现的疾病关联位点与...

药物靶点发现的核心是识别与疾病发生发展密切相关的生物分子。生物信息学提供了系统性的靶点发现策略:
1. 基因组学方法
- 全基因组关联分析(GWAS):通过比较病例和对照群体的基因组变异,识别与疾病风险显著相关的基因位点。例如,PCSK9基因的功能获得性突变与高胆固醇血症相关,使其成为降脂药物的理想靶点。
- 表达数量性状位点(eQTL)分析:将GWAS发现的疾病关联位点与基因表达数据整合,推断因果基因。
2. 网络药理学方法
- 疾病模块识别:利用蛋白质相互作用网络(PPI),识别与疾病相关的功能模块。一个理想的药物靶点应位于疾病模块的中心位置(高介数中心性),干扰它可以最大程度地影响疾病进程。
- 网络邻近性分析:计算药物靶点与疾病基因在网络中的距离,预测药物重定位(drug repurposing)的可能性。
3. 多组学整合方法
- 整合基因组、转录组、蛋白质组和代谢组数据,构建多层次的疾病分子图谱,系统性地识别关键节点作为潜在靶点。
- 差异表达分析(如DESeq2、edgeR)识别疾病状态下显著上调或下调的基因。
4. 靶点可药性评估
- 并非所有与疾病相关的蛋白都是好的药物靶点。可药性(druggability)评估考虑:是否有适合小分子结合的口袋、靶点的组织特异性表达、靶向该靶点是否会产生严重毒副作用等。
- 工具如DrugMAP、canSAR数据库提供蛋白质可药性预测。

查看详情 →
💡

计算机辅助药物设计的原理

concept

**基于结构的药物设计(SBDD)** SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为: 1. **靶点结构准备**:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。 2. **活性位点识别**:使用Fpocket、SiteMap等工具预测结合口袋。 3. **虚拟筛选**:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口...

基于结构的药物设计(SBDD)
SBDD需要靶蛋白的三维结构信息(通常来自X射线晶体学、冷冻电镜或同源建模)。其工作流程为:
1. 靶点结构准备:获取蛋白质结构(PDB数据库),去除水分子、添加氢原子、优化侧链构象。
2. 活性位点识别:使用Fpocket、SiteMap等工具预测结合口袋。
3. 虚拟筛选:将大型化合物库(如ZINC数据库的数百万分子)对接到靶点口袋,根据对接打分排序。
4. 先导化合物优化:基于对接结果和相互作用分析,进行结构修饰以提高活性、选择性和成药性。
基于配体的药物设计(LBDD)
当靶点结构未知时,可以利用已知活性配体的信息:
1. 药效团建模:提取活性分子共同的化学特征(氢键供体/受体、疏水中心、芳环中心)及其空间排布,建立药效团模型,用于数据库搜索。
2. 定量构效关系(QSAR):建立分子描述符与生物活性之间的统计模型,预测新化合物的活性。
3. 分子相似性搜索:基于"相似结构的分子具有相似活性"的原则,在化学空间中搜索与已知活性分子相似的化合物。

查看详情 →
💡

分子对接的原理

concept

分子对接模拟配体与受体的结合过程,包括两个核心问题: **1. 构象搜索(Pose Prediction)** - 在构象空间中搜索配体的最优结合姿态。 - 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。 - 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。 **2. 结合亲和力预测(Scoring...

分子对接模拟配体与受体的结合过程,包括两个核心问题:
1. 构象搜索(Pose Prediction)
- 在构象空间中搜索配体的最优结合姿态。
- 常用算法包括:系统搜索(Systematic Search)、随机搜索(Monte Carlo、遗传算法)、基于物理的搜索(分子动力学模拟)。
- 搜索空间包括配体的平移、旋转和可旋转键的二面角变化。
2. 结合亲和力预测(Scoring)
- 打分函数评估每个结合姿态的亲和力,用于排序。
- 打分函数类型:
- 力场打分:基于分子力学能量项(范德华力、静电相互作用)
- 经验打分:拟合实验数据得到的加权能量项
- 知识-based打分:基于蛋白质-配体复合物结构数据库的统计势能
- 机器学习打分:使用RF、SVM、CNN等算法学习结构-亲和力关系
常用分子对接软件包括AutoDock Vina、Glide、GOLD、rDock等。

查看详情 →
💡

AI药物设计的原理

concept

**1. 生成式分子设计** - **变分自编码器(VAE)**:学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。 - **生成对抗网络(GAN)**:生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。 - **强化学习(RL)**:将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。 - **扩散模型(Diff...

1. 生成式分子设计
- 变分自编码器(VAE):学习化学空间的连续潜在表示,通过在潜在空间中采样和插值生成新分子。
- 生成对抗网络(GAN):生成器生成分子,判别器判断分子是否"真实",通过对抗训练提高生成分子的质量。
- 强化学习(RL):将分子生成视为序列决策过程,通过奖励函数(如预测活性、合成可行性)引导生成满足特定性质的分子。
- 扩散模型(Diffusion Model):目前最先进的生成模型,通过逐步去噪生成高质量分子,在3D分子生成方面表现优异。
2. 分子性质预测
- 图神经网络(GNN):将分子表示为图(原子为节点,键为边),利用消息传递机制学习分子表征,预测生物活性、毒性、药代动力学性质(ADMET)。
- Transformer架构:如ChemBERTa、MolBERT,将SMILES字符串作为输入序列,利用自注意力机制学习化学语言模型。
3. 蛋白质结构预测
- AlphaFold2:利用注意力机制和多序列比对(MSA)实现接近实验精度的蛋白质结构预测,为SBDD提供了前所未有的结构基础。
- RoseTTAFold:另一种高精度蛋白质结构预测方法。

查看详情 →
💡

案例一:COVID-19靶点发现与药物重定位

concept

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点: 1. **基因组注释**:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。 2. **人类-病毒蛋白质相互作用**:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式...

2020年初,SARS-CoV-2病毒基因组序列公布后不久,生物信息学分析迅速识别了关键药物靶点:
1. 基因组注释:分析病毒基因组(约30kb RNA),预测开放阅读框(ORF),识别出编码主要蛋白:刺突蛋白(S)、主蛋白酶(Mpro/3CLpro)、RNA依赖性RNA聚合酶(RdRp)等。
2. 人类-病毒蛋白质相互作用:利用PPI网络分析,发现病毒蛋白与人体蛋白的相互作用模式,预测关键宿主因子(如ACE2受体、TMPRSS2)。
3. 药物重定位:通过网络邻近性分析,筛选已上市药物中可能有效对抗SARS-CoV-2的候选药物。例如,基于病毒-宿主相互作用网络,预测氯喹和瑞德西韦(Remdesivir)可能有效(后续临床试验验证了瑞德西韦的疗效)。
4. 虚拟筛选:以Mpro为靶点,对ZINC数据库进行虚拟筛选,识别潜在抑制剂。德国研究团队通过高通量X射线晶体学筛选,发现了Mpro抑制剂的前导化合物。

# 使用RDKit进行分子对接准备示例
from rdkit import Chem
from rdkit.Chem import AllChem
# 读取配体分子
ligand = Chem.MolFromSmiles("CC(C)Cc1ccc(cc1)C(C)C(=O)O")  # 布洛芬
ligand = Chem.AddHs(ligand)
AllChem.EmbedMolecule(ligand, AllChem.ETKDG())
# 保存为PDB格式用于对接
Chem.MolToPDBFile(ligand, "ligand.pdb")
查看详情 →
💡

案例二:AlphaFold驱动的药物设计——靶向KRAS G12C

algorithm

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。 1. **结构解析**:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。 2. **共价抑制剂设计**:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sot...

KRAS基因是肿瘤中最常见的突变癌基因之一,但长期以来被认为是"不可成药"的靶点,因为其蛋白表面光滑,缺乏适合小分子结合的口袋。
1. 结构解析:AlphaFold2预测了KRAS蛋白的多种构象状态,揭示了Switch II口袋(仅在KRAS的GDP结合非活性状态下开放)。
2. 共价抑制剂设计:基于结构信息,设计了与KRAS G12C突变位点(半胱氨酸)形成共价键的抑制剂。Sotorasib(AMG 510)和Adagrasib(MRTX849)通过共价结合Cys12,将KRAS锁定在非活性状态。
3. AI优化:利用机器学习模型预测化合物的选择性、代谢稳定性和口服生物利用度,优化先导化合物。
这一案例展示了从"不可成药"到"可成药"的转变如何依赖于精准的结构信息和计算设计。

查看详情 →
💡

案例三:AI生成全新抗生素——Halicin的发现

concept

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin: 1. **训练数据**:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。 2. **虚拟筛选**:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。 3. **实验验证**:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝...

MIT的研究团队利用深度学习方法发现了一种新型抗生素Halicin:
1. 训练数据:使用2,335个已知具有抗菌活性的分子训练图神经网络模型。
2. 虚拟筛选:对Drug Repurposing Hub中的约6,000个分子进行活性预测,识别出Halicin(原本用于糖尿病的候选药物)具有强抗菌活性。
3. 实验验证:Halicin对多种耐药菌(包括鲍曼不动杆菌、结核分枝杆菌)表现出强效杀菌活性,且与现有抗生素无交叉耐药性。
4. 作用机制:后续研究表明Halicin通过干扰细菌的质子动力势发挥作用,这是一种全新的作用机制。

# 使用DeepChem进行分子性质预测示例
import deepchem as dc
from deepchem.models import GraphConvModel
# 加载Tox21毒性数据集
tasks, datasets, transformers = dc.molnet.load_tox21()
train_dataset, valid_dataset, test_dataset = datasets
# 构建图卷积网络模型
model = GraphConvModel(
    n_tasks=len(tasks),
    mode='classification',
    batch_size=64,
    learning_rate=0.001
)
# 训练模型
model.fit(train_dataset, nb_epoch=20)
查看详情 →
💡

12.3 智能育种

section
查看详情 →
💡

基因组选择(GS)的原理

concept

**1. 基本概念** 基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。 假设个体的表型值P可以分解为: P = μ + g + e 其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。 GS的目标是利用标记基因型X来预测遗传效应...

1. 基本概念
基因组选择的理论基础是:全基因组标记可以捕获个体间的大部分遗传变异,通过统计模型可以利用标记信息预测个体的基因组育种值(Genomic Estimated Breeding Value, GEBV)。
假设个体的表型值P可以分解为:
P = μ + g + e
其中,μ为群体均值,g为遗传效应(加性+显性+上位性),e为环境误差。
GS的目标是利用标记基因型X来预测遗传效应g:
g = Xβ + ε
其中,β为标记效应向量。
2. 统计模型
基因组选择的核心是估计每个标记的效应。由于标记数(p,通常为数千至数百万)远大于个体数(n,数百至数千),传统的最小二乘法无法直接使用,需要借助特殊统计方法:
- 岭回归最佳线性无偏预测(RR-BLUP):假设所有标记效应服从正态分布,通过L2正则化(岭回归)解决过拟合问题。计算速度快,是GS的基准方法。
- 贝叶斯方法(BayesA、BayesB、Bayesian LASSO等):假设标记效应服从不同的先验分布。BayesB假设只有少数标记具有大效应(大部分标记效应为0),更符合真实遗传架构。
- GBLUP(Genomic BLUP):利用标记信息构建基因组关系矩阵G,替代传统的系谱关系矩阵A,进行最佳线性无偏预测。
- 机器学习算法:随机森林(RF)、支持向量机(SVM)、神经网络等也被用于GS,在处理非加性遗传效应时可能优于线性模型。
3. 实施流程
(1) 训练群体构建:选择具有代表性的群体,测定高密度SNP基因型和目标性状表型。
(2) 统计模型训练:利用训练数据估计标记效应。
(3) 育种值预测:对候选个体(仅有基因型)计算GEBV。
(4) 选择决策:根据GEBV排名,选择最优个体进入下一代。
(5) 模型更新:定期用新收集的表型数据更新预测模型,保持预测准确性。
4. 影响预测准确性的因素
- 训练群体大小:一般而言,训练群体越大,预测准确性越高。
- 训练群体与候选群体的亲缘关系:关系越近,预测越准确。
- 性状遗传力:遗传力越高,GS效果越好。
- 标记密度:需要足够密度的标记覆盖全基因组,捕获LD信息。
- 性状遗传架构:由大量微效基因控制的性状更适合GS。

查看详情 →
💡

分子标记辅助育种的原理

concept

**1. QTL定位** 数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。 常用方法: - **单标记分析(SMA)**:检验单个标记与性状的关联 - **区间作图(IM)**:利用两侧标记信息,检测标记区间内的QTL - **复合区间作图(...

1. QTL定位
数量性状位点(Quantitative Trait Locus, QTL)定位是MAB的基础。通过构建分离群体(如F2、RIL、DH),获得标记基因型和表型数据,利用统计分析检测与性状显著关联的染色体区域。
常用方法:
- 单标记分析(SMA):检验单个标记与性状的关联
- 区间作图(IM):利用两侧标记信息,检测标记区间内的QTL
- 复合区间作图(CIM):在区间作图基础上,加入背景标记控制多QTL效应
- 全基因组关联分析(GWAS):利用自然群体中的连锁不平衡(LD),不需要构建专门的家系
2. MAS(Marker-Assisted Selection)策略
- 前景选择:利用与目标QTL紧密连锁的标记,选择携带有利等位基因的个体。
- 背景选择:利用全基因组标记,监测轮回亲本的基因组恢复程度,加速回交育种进程。
- 基因聚合(Gene Pyramiding):将多个有利基因/QTL聚合到同一个品种中。
3. 标记类型
从RFLP、AFLP、SSR发展到目前的SNP(单核苷酸多态性)。SNP标记具有密度高、分布广、自动化检测等优点,已成为MAB和GS的主流标记。

查看详情 →
💡

种质资源鉴定的原理

concept

**1. 遗传多样性分析** - **群体结构分析**:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。 - **主成分分析(PCA)**:降维可视化种质间的遗传关系。 - **进化树构建**:基于遗传距离构建系统发育树,揭示种质的亲缘关系。 **2. 核心种质构建** - 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。 - 常用策略:基于遗传...

1. 遗传多样性分析
- 群体结构分析:利用Structure、Admixture等软件推断群体的遗传结构和亚群划分。
- 主成分分析(PCA):降维可视化种质间的遗传关系。
- 进化树构建:基于遗传距离构建系统发育树,揭示种质的亲缘关系。
2. 核心种质构建
- 从大规模种质库中选择最少数量的样本,最大程度保留原始群体的遗传多样性。
- 常用策略:基于遗传距离的逐步聚类采样、基于等位基因覆盖率的优化算法。
3. 指纹图谱构建
- 利用一组高度多态性的SSR或SNP标记,为每个品种建立独特的DNA指纹。
- 用于品种真实性鉴定、纯度检测和知识产权保护。
4. 优异等位基因发掘
- 通过GWAS或候选基因关联分析,在种质资源中挖掘与重要农艺性状相关的优异等位基因。
- 这些优异等位基因可作为分子标记辅助育种或转基因育种的靶点。

查看详情 →
💡

案例一:玉米基因组选择育种

concept

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测: 1. **训练群体**:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。 2. **模型建立**:使用rrBLUP或BayesB模型训练。 3. **预测应用**:对新合成的杂交组合(仅有基因型)预测配合力。 4. **效果**:GS可将育种周期从传统的5-6年缩短至2-3年,预...

玉米是基因组选择应用最成功的作物之一。美国玉米育种中,GS已广泛应用于配合力预测:
1. 训练群体:500-2000个杂交组合,测定SNP基因型(约50K SNP芯片)和测交产量表型。
2. 模型建立:使用rrBLUP或BayesB模型训练。
3. 预测应用:对新合成的杂交组合(仅有基因型)预测配合力。
4. 效果:GS可将育种周期从传统的5-6年缩短至2-3年,预测准确性达到0.5-0.8(取决于性状和群体)。

# 使用rrBLUP包进行基因组选择
library(rrBLUP)
# 读取基因型矩阵(n×m,n个体,m标记)和表型
marker_data <- read.table("snps.txt", header=TRUE)
phenotype <- read.table("yield.txt", header=TRUE)
# 训练模型
model <- mixed.solve(y=phenotype$yield, Z=marker_data)
# 预测育种值
gebv <- marker_data %*% model$u
查看详情 →
💡

案例二:水稻分子标记辅助抗病育种

concept

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。 1. **标记开发**:开发与Xa21紧密连锁的PCR标记(如PTA248)。 2. **前景选择**:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。 3. **背景选择**:利用全基因组SNP标记,选择轮回亲本基因...

水稻白叶枯病是由Xanthomonas oryzae pv. oryzae引起的严重病害。通过QTL定位,科学家发现了多个抗性基因(如Xa21、Xa23、Xa27)。
1. 标记开发:开发与Xa21紧密连锁的PCR标记(如PTA248)。
2. 前景选择:在BC1F1回交后代中,利用PCR标记筛选携带Xa21的个体。
3. 背景选择:利用全基因组SNP标记,选择轮回亲本基因组恢复率最高的个体。
4. 结果:仅需2-3个回交世代即可获得基因组恢复率>95%的抗性近等基因系,而传统回交需要6-7代。

# Xa21前景选择PCR标记检测
# 引物序列:正向 5'-GCTCGATCGATAATGGAAGG-3'
#          反向 5'-TTGGTGATGGTTCGACGAGC-3'
PCR反应体系(20 μL):
- 2× PCR Mix: 10 μL
- 正向引物 (10 μM): 0.5 μL
- 反向引物 (10 μM): 0.5 μL
- DNA模板 (50 ng/μL): 1 μL
- ddH2O: 8 μL
PCR程序:
94°C 5min
[94°C 30s → 55°C 30s → 72°C 1min] × 35 cycles
72°C 7min
预期结果:携带Xa21的个体扩增出约500 bp的条带
查看详情 →
💡

案例三:小麦种质资源的遗传多样性分析

concept

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布: 1. **SNP基因型**:使用35K SNP芯片对约8,000份核心种质进行基因分型。 2. **群体结构**:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。 3. **多样性评估**:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基...

国际玉米小麦改良中心(CIMMYT)保存了超过15万份小麦种质资源。生物信息学分析揭示了这些资源的遗传结构和多样性分布:
1. SNP基因型:使用35K SNP芯片对约8,000份核心种质进行基因分型。
2. 群体结构:STRUCTURE分析识别出4个主要亚群,对应不同的地理来源和育种历史。
3. 多样性评估:比较地方品种和现代育成品种的遗传多样性,发现现代品种的有效等位基因数(Ne)降低,表明育种过程中存在遗传瓶颈。
4. 核心种质构建:基于等位基因丰富度,从8,000份种质中选择约1,000份核心种质,保留了>95%的等位基因。
5. 优异等位基因发掘:GWAS分析在核心种质中鉴定了与产量、抗病性、品质相关的多个显著位点。

# 使用scikit-allel进行群体遗传分析
import allel
import numpy as np
# 读取VCF文件
callset = allel.read_vcf('wheat_samples.vcf.gz', 
                          fields=['calldata/GT', 'variants/POS', 'samples'])
gt = allel.GenotypeArray(callset['calldata/GT'])
# 计算等位基因频率
ac = gt.count_alleles()
# 计算多态性信息含量(PIC)
n = ac.sum(axis=1)
p = ac[:, 0] / n
q = ac[:, 1] / n
pic = 1 - (p**2 + q**2) - 2 * p**2 * q**2
查看详情 →
💡

12.4 其他应用

section
查看详情 →
💡

合成生物学中的生物信息学原理

concept

**1. 生物元件标准化与表征** 合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元: - **启动子(Promoter)**:控制基因表达的"开关" - **核糖体结合位点(RBS)**:调控翻译起始效率 - **编码序列(CDS)**:编码蛋白质的功能基因 - **终止子(Terminator)**:终止转录的信号 生物信息学通过建立元件库(如iGE...

1. 生物元件标准化与表征
合成生物学的核心理念是"生物元件(BioBrick)"——将DNA序列定义为标准化的功能单元:
- 启动子(Promoter):控制基因表达的"开关"
- 核糖体结合位点(RBS):调控翻译起始效率
- 编码序列(CDS):编码蛋白质的功能基因
- 终止子(Terminator):终止转录的信号
生物信息学通过建立元件库(如iGEM Registry、SynBioHub)和标准化表征数据,使元件可以像电子元件一样被组合使用。
2. 基因线路设计
基因线路是由多个生物元件组成的遗传回路,实现逻辑运算(如AND门、OR门、NOT门):
- 布尔逻辑门:例如,双输入AND门需要两个诱导物同时存在才能激活报告基因表达。
- 振荡器:如repressilator,由三个抑制子基因组成的负反馈环,产生周期性基因表达振荡。
- 双稳态开关:两个相互抑制的基因,使系统可以稳定处于两种状态之一。
生物信息学工具(如Cello、Genetic Constructor)提供图形化界面设计基因线路,并自动转换为DNA序列。
3. 代谢工程与通路设计
代谢工程旨在改造细胞代谢网络,使其高效生产目标化合物:
- 通路搜索:利用KEGG、MetaCyc等数据库,搜索从天然底物到目标产物的已知或潜在代谢路径。
- 通量平衡分析(FBA):利用代谢网络的化学计量矩阵,在稳态假设下(Sv=0),通过线性规划优化目标产物产量。
- 酶选择与优化:在已知反应步骤中,从不同物种中筛选催化效率最高的酶,并通过蛋白质工程(定向进化、理性设计)优化酶性质。
4. DNA序列优化
- 密码子优化:根据宿主细胞的密码子使用偏好,调整外源基因的密码子组成,提高翻译效率。
- mRNA二级结构优化:避免在RBS区域形成发夹结构,保证翻译起始效率。
- 避免重复序列和限制性酶切位点:防止DNA重组和克隆困难。

查看详情 →
💡

生物多样性保护的生物信息学原理

concept

**1. DNA条形码鉴定** -DNA条形码的原理是:物种内遗传距离应远小于物种间距离。 - 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。 - 对于未知物种,构建系统发育树,推断其分类地位。 **2. eDNA Metabarcoding** -eDNA metabarcoding结合了环境采样和高通量测序: (1) 环境DNA提取:从水样、...

1. DNA条形码鉴定
-DNA条形码的原理是:物种内遗传距离应远小于物种间距离。
- 分析流程:DNA提取→PCR扩增标准片段→Sanger测序→序列比对(BLAST)→物种鉴定。
- 对于未知物种,构建系统发育树,推断其分类地位。
2. eDNA Metabarcoding
-eDNA metabarcoding结合了环境采样和高通量测序:
(1) 环境DNA提取:从水样、土壤等环境基质中提取总DNA。
(2) 通用引物PCR:使用覆盖多个物种的通用引物扩增目标区域(如16S rRNA、COI、ITS)。
(3) 高通量测序:Illumina或Nanopore平台测序。
(4) 生物信息学分析:序列质控、去嵌合体、OTU/ASV聚类、物种注释(与参考数据库比对)、多样性分析。
3. 群体遗传学在保护中的应用
- 有效种群大小(Ne)估计:反映种群的遗传健康状况,Ne越小,遗传多样性丧失越快。
- 近亲繁殖评估:利用杂合度降低、ROH(连续纯合子片段)分析评估近亲繁殖程度。
- 迁徙与基因流分析:利用STRUCTURE、MIGRATE等工具分析种群间的基因交流。
- 适应性遗传变异检测:利用选择信号扫描(如FST离群值、环境关联分析)识别与环境适应相关的基因。
4. 保护基因组学(Conservation Genomics)
- 利用全基因组数据指导保护决策:
- 识别具有独特遗传适应性的种群,优先保护
- 评估近交衰退风险
- 指导遗传 rescue(引入外来基因恢复遗传多样性)
- 追踪非法野生动物贸易(通过DNA溯源)

查看详情 →
💡

案例一:酵母青蒿酸合成通路的设计

concept

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路: 1. **通路设计**:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。 2. **基因来源选择**:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。 3. **密码子优化**:将所有外源基因按照酵母密...

青蒿素是治疗疟疾的关键药物,传统来源是从青蒿植物中提取。Keasling实验室通过合成生物学方法在酵母中重建了青蒿素合成通路:
1. 通路设计:利用KEGG和文献挖掘,确定从酵母天然代谢物法尼基焦磷酸(FPP)到青蒿酸的完整通路,涉及多个酶促步骤。
2. 基因来源选择:从不同物种筛选最优酶源(如青蒿的ADS、CYP71AV1等)。
3. 密码子优化:将所有外源基因按照酵母密码子偏好进行优化。
4. 代谢流调控:通过FBA分析,鉴定限制产量的代谢瓶颈。过表达tHMG1增加FPP供应,下调ERG9减少FPP向麦角固醇分流。
5. 启动子强度平衡:利用不同强度的启动子组合,平衡通路中各酶的表达量,避免中间产物积累。
6. 结果:工程酵母的青蒿酸产量从初始的约100 mg/L提升到超过25 g/L,实现了工业化生产。

# 使用cobra进行通量平衡分析
import cobra
from cobra.io import read_sbml_model
# 读取酵母代谢模型
model = read_sbml_model('yeast-GEM.xml')
# 设置目标函数:最大化青蒿酸产量
model.objective = model.reactions.DM_artemisinic_acid
# 优化
solution = model.optimize()
print(f"最大理论产量: {solution.objective_value} mmol/gDW/h")
print(f"生长速率: {solution.fluxes['BIOMASS_Ec_iML1515_core_75p37M']}")
# 查找关键通量
for rxn in model.reactions:
    if abs(solution.fluxes[rxn.id]) > 1:
        print(f"{rxn.id}: {solution.fluxes[rxn.id]:.2f}")
查看详情 →
💡

案例二:eDNA监测入侵物种——亚洲鲤鱼

concept

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。 1. **eDNA采样**:在河流和湖泊的关键位置采集水样。 2. **引物设计**:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。 3. **qPCR检测**:检测水样中是否存在亚洲鲤鱼的DNA。 4. **结果**:eDNA检测可以在亚...

亚洲鲤鱼(如鲢鱼、鳙鱼)是北美五大湖区的入侵物种,对当地生态系统构成严重威胁。传统监测方法(电击捕捞、刺网)效率低且对生态系统有干扰。
1. eDNA采样:在河流和湖泊的关键位置采集水样。
2. 引物设计:利用NCBI数据库中的亚洲鲤鱼COI基因序列,设计特异性qPCR引物。
3. qPCR检测:检测水样中是否存在亚洲鲤鱼的DNA。
4. 结果:eDNA检测可以在亚洲鲤鱼实际到达前数月预警其入侵路径,比传统方法更灵敏。
5. ** metabarcoding扩展**:进一步利用12S rRNA通用引物进行eDNA metabarcoding,同时监测所有鱼类群落组成,评估入侵对本地群落的影响。

# eDNA metabarcoding分析流程(示例)
# 1. 原始数据质控
fastp -i sample_R1.fastq.gz -I sample_R2.fastq.gz \
      -o clean_R1.fastq.gz -O clean_R2.fastq.gz \
      -q 20 -u 30 -l 50
# 2. DADA2去重(R中运行)
# library(dada2)
# seqtab <- dada2::mergePairs(dadaF, derepF, dadaR, derepR)
# 3. OTU聚类和物种注释(使用VSEARCH)
vsearch --cluster_size clean.fasta --id 0.97 \
        --centroids otus.fasta --relabel OTU_
vsearch --usearch_global clean.fasta --db reference_db.fasta \
        --id 0.97 --otutabout otu_table.txt
# 4. 多样性分析(使用QIIME 2或R的vegan包)
查看详情 →
💡

案例三:大熊猫保护基因组学

concept

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据: 1. **全基因组测序**:对多个野生和圈养大熊猫种群进行全基因组重测序。 2. **遗传多样性评估**:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。 3. **近交分析**:检测到长片段ROH,证实近亲繁殖的存在。 4. **有害突变负荷**:发现大熊猫携带大量有害突变,但...

大熊猫是濒危物种保护的旗舰物种,全基因组研究为保护策略提供了重要依据:
1. 全基因组测序:对多个野生和圈养大熊猫种群进行全基因组重测序。
2. 遗传多样性评估:发现野生大熊猫的遗传多样性极低(杂合度约0.0015,远低于人类),反映出历史上种群瓶颈的影响。
3. 近交分析:检测到长片段ROH,证实近亲繁殖的存在。
4. 有害突变负荷:发现大熊猫携带大量有害突变,但由于近亲繁殖,这些突变以纯合状态暴露,可能影响种群适应性和繁殖成功率。
5. 保护建议
- 优先保护遗传独特性高的种群(如秦岭亚种)
- 圈养繁殖计划应避免近亲交配
- 考虑栖息地连通性,促进野生种群间的基因交流

查看详情 →
💡

第13章 生物信息学实验基础

chapter
查看详情 →
💡

13.1 生物信息学实验概述

section
查看详情 →
💡

生物信息学分析的基本流程

concept

一个典型的生物信息学分析项目通常遵循以下流程: **第一阶段:项目规划** 1. 明确科学问题 2. 确定所需数据类型和来源 3. 选择合适的分析方法和工具 4. 评估计算资源需求 5. 制定数据管理计划 **第二阶段:数据获取与预处理** 1. **数据采集**:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据 2. **质量控制(QC)**:评估数据质量,识别并处理低质量...

一个典型的生物信息学分析项目通常遵循以下流程:
第一阶段:项目规划
1. 明确科学问题
2. 确定所需数据类型和来源
3. 选择合适的分析方法和工具
4. 评估计算资源需求
5. 制定数据管理计划
第二阶段:数据获取与预处理
1. 数据采集:从公共数据库下载(如NCBI SRA、ENA)或从合作者处获取原始数据
2. 质量控制(QC):评估数据质量,识别并处理低质量数据。对于测序数据,使用FastQC等工具检查碱基质量分布、GC含量、接头污染、重复序列等
3. 数据清洗:去除低质量序列、接头序列、PCR重复等
4. 格式转换:将数据转换为分析所需的标准格式
第三阶段:核心分析
根据研究问题选择相应的分析方法,例如:
- 序列比对:将测序reads定位到参考基因组
- 变异检测:识别SNP、Indel等遗传变异
- 表达量计算:定量基因或转录本的表达水平
- 功能注释:将分析结果与生物学功能关联
第四阶段:结果整合与解释
1. 多来源结果整合
2. 统计显著性评估和多重检验校正
3. 功能富集分析(GO、KEGG等)
4. 可视化展示
第五阶段:报告与共享
1. 撰写分析报告
2. 整理代码和文档
3. 数据和代码归档
4. 论文发表和结果共享

查看详情 →
💡

生物信息学中的数据格式

concept

掌握标准数据格式是进行生物信息学分析的基础: | 格式 | 用途 | 说明 | |------|------|------| | FASTA | 序列存储 | `>header`开头的文本格式,用于存储DNA、RNA、蛋白质序列 | | FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) | | SAM/BAM | 比对结果 | SAM为文本格式,...

掌握标准数据格式是进行生物信息学分析的基础:
| 格式 | 用途 | 说明 |
|------|------|------|
| FASTA | 序列存储 | >header开头的文本格式,用于存储DNA、RNA、蛋白质序列 |
| FASTQ | 测序数据 | FASTA+质量值,每4行一个read(header、序列、+、质量) |
| SAM/BAM | 比对结果 | SAM为文本格式,BAM为二进制压缩格式,存储reads比对信息 |
| VCF | 变异信息 | 存储SNP、Indel等变异的位置、基因型和质量信息 |
| GFF/GTF | 基因组注释 | 存储基因、外显子、CDS等特征的位置和属性信息 |
| BED | 基因组区间 | 简单的三列格式(chr, start, end),用于表示基因组区域 |
| GCT/TPM | 表达矩阵 | 存储基因表达量矩阵,行是基因,列是样本 |

查看详情 →
💡

可重复性研究的原则

concept

**FAIR原则**:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。 **可重复性的层次**: 1. **结果可重复(Repeatability)**:同一研究者使用相同数据和方法重复实验,获得相同结果 2. **可复现(Reproducibility)**:不同研究者使用相同数据和...

FAIR原则:科学数据管理应遵循FAIR原则——可发现(Findable)、可访问(Accessible)、可互操作(Interoperable)、可重用(Reusable)。
可重复性的层次
1. 结果可重复(Repeatability):同一研究者使用相同数据和方法重复实验,获得相同结果
2. 可复现(Reproducibility):不同研究者使用相同数据和方法,获得相同结果
3. 可再实现(Replicability):在不同数据集上应用相同方法,获得一致结论
实现可重复性的最佳实践
- 使用版本控制系统(Git)管理代码
- 记录软件名称和版本号
- 保存完整的分析参数
- 使用虚拟环境或容器隔离运行环境
- 编写清晰的文档和README文件
- 使用工作流管理系统自动化分析流程

查看详情 →
💡

示例:一个完整的RNA-seq分析项目

tool

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。 **项目结构**: ``` rnaseq_project/ ├── data/ │ ├── raw/ # 原始测序数据(FASTQ) │ ├── reference/ # 参考基因组和注释文件 │ └── processed/...

假设我们要比较某种处理条件下(Treatment)和对照(Control)的基因表达差异,每组3个生物学重复。
项目结构

rnaseq_project/
├── data/
│   ├── raw/              # 原始测序数据(FASTQ)
│   ├── reference/        # 参考基因组和注释文件
│   └── processed/        # 处理后的数据
├── scripts/              # 分析脚本
│   ├── 01_qc.sh
│   ├── 02_alignment.sh
│   ├── 03_quantification.sh
│   └── 04_de_analysis.R
├── results/              # 分析结果
│   ├── qc_reports/
│   ├── bam_files/
│   ├── counts/
│   └── de_results/
├── envs/                 # 环境配置文件
│   └── rnaseq_env.yml
├── README.md             # 项目说明文档
└── Snakefile             # Snakemake工作流文件

分析流程概览

# 第一步:质量控制
fastqc data/raw/*.fastq.gz -o results/qc_reports/
multiqc results/qc_reports/ -o results/qc_reports/summary/
# 第二步:序列比对
hisat2 -p 8 -x reference/genome -1 sample_R1.fq.gz -2 sample_R2.fq.gz | \
    samtools sort -@ 4 -o results/bam_files/sample.bam
# 第三步:表达量定量
featureCounts -T 8 -a reference/genes.gtf -o results/counts/counts.txt \
    results/bam_files/*.bam
# 第四步:差异表达分析(在R中完成)
# DESeq2分析
查看详情 →
💡

13.2 Linux系统及常用编程语言

section

13.2.1 Linux操作系统

查看详情 →
💡

13.3 Python编程基础

section
查看详情 →
💡

Python基本语法

tool

**变量和数据类型:** ```python # 数字 integer = 42 floating = 3.14159 # 字符串 dna = "ATGCGCTAGCTA" protein = 'MPLK' # 字符串操作 print(len(dna)) # 长度 print(dna[0:3]) # 切片(前3个碱基) print(dna.cou...

变量和数据类型:

# 数字
integer = 42
floating = 3.14159
# 字符串
dna = "ATGCGCTAGCTA"
protein = 'MPLK'
# 字符串操作
print(len(dna))              # 长度
print(dna[0:3])              # 切片(前3个碱基)
print(dna.count("GC"))       # 计数
print(dna.replace("T", "U"))  # 替换(DNA转RNA)
print(dna.find("ATG"))       # 查找子串位置
# 列表(有序可变)
sequences = ["ATCG", "GCTA", "TAGC"]
sequences.append("CGAT")     # 添加元素
print(sequences[0])          # 访问
print(len(sequences))        # 长度
# 字典(键值对)
gene_expr = {
    "GAPDH": 25.3,
    "ACTB": 18.7,
    "TP53": 3.2
}
print(gene_expr["GAPDH"])    # 访问
gene_expr["BRCA1"] = 7.5     # 添加
# 元组(有序不可变)
coordinates = (100, 200)

控制流:

# 条件语句
gc_content = 0.55
if gc_content > 0.6:
    print("High GC")
elif gc_content > 0.4:
    print("Moderate GC")
else:
    print("Low GC")
# for循环
for seq in sequences:
    gc = (seq.count("G") + seq.count("C")) / len(seq)
    print(f"{seq}: GC={gc:.2%}")
# while循环
i = 0
while i < len(sequences):
    print(sequences[i])
    i += 1
# 列表推导式(Pythonic写法)
gc_values = [(s.count("G") + s.count("C")) / len(s) for s in sequences]

函数:

def calculate_gc_content(sequence):
    """计算DNA序列的GC含量"""
    sequence = sequence.upper()
    gc_count = sequence.count("G") + sequence.count("C")
    return gc_count / len(sequence)
# 调用
gc = calculate_gc_content("ATGCGCTAGCTA")
print(f"GC content: {gc:.2%}")
# 默认参数
def reverse_complement(seq, rna=False):
    """计算反向互补序列"""
    complement = {"A": "T", "T": "A", "G": "C", "C": "G",
                  "a": "t", "t": "a", "g": "c", "c": "g"}
    if rna:
        complement["A"] = "U"
        complement["a"] = "u"
    rc = "".join(complement.get(base, base) for base in reversed(seq))
    return rc
print(reverse_complement("ATGC"))       # GCAT
print(reverse_complement("ATGC", rna=True))  # GCAU

文件操作:

# 读取文件
with open("sequences.fasta", "r") as f:
    content = f.read()           # 读取全部
    lines = f.readlines()        # 读取为列表
# 写入文件
with open("output.txt", "w") as f:
    f.write("Hello\n")
# 逐行读取(推荐大文件使用)
with open("data.txt", "r") as f:
    for line in f:
        line = line.strip()      # 去除末尾换行符
        if line.startswith(">"):
            print(f"Header: {line}")
查看详情 →
💡

Biopython详解

tool

**安装:** ```bash pip install biopython # 或 conda install -c conda-forge biopython ``` **序列处理(Seq对象):** ```python from Bio.Seq import Seq from Bio.SeqUtils import GC, molecular_weight # 创建序列对象 dna_seq =...

安装:

pip install biopython
# 或
conda install -c conda-forge biopython

序列处理(Seq对象):

from Bio.Seq import Seq
from Bio.SeqUtils import GC, molecular_weight
# 创建序列对象
dna_seq = Seq("ATGCGCTAGCTA")
# 序列属性
print(f"长度: {len(dna_seq)}")
print(f"GC含量: {GC(dna_seq):.1f}%")
print(f"分子量: {molecular_weight(dna_seq):.1f}")
# 序列操作
print(dna_seq.complement())        # 互补序列
print(dna_seq.reverse_complement()) # 反向互补
print(dna_seq.transcribe())        # DNA转RNA
print(dna_seq.translate())         # 翻译为蛋白质
# 转录和翻译
mrna = dna_seq.transcribe()
protein = mrna.translate()
print(f"Protein: {protein}")

解析FASTA/FASTQ文件:

from Bio import SeqIO
# 解析FASTA文件
for record in SeqIO.parse("sequences.fasta", "fasta"):
    print(f"ID: {record.id}")
    print(f"Description: {record.description}")
    print(f"Length: {len(record.seq)}")
    print(f"Sequence: {record.seq[:50]}...")
    print()
# 解析FASTQ文件(测序数据)
for record in SeqIO.parse("reads.fastq", "fastq"):
    print(f"ID: {record.id}")
    print(f"Sequence: {record.seq}")
    print(f"Quality: {record.letter_annotations['phred_quality'][:10]}")
# 将记录写入文件
records = []
for record in SeqIO.parse("input.fasta", "fasta"):
    if len(record.seq) > 100:  # 只保留长序列
        records.append(record)
SeqIO.write(records, "filtered.fasta", "fasta")
# 转换格式(FASTQ to FASTA)
SeqIO.convert("reads.fastq", "fastq", "reads.fasta", "fasta")

访问NCBI数据库:

from Bio import Entrez, SeqIO
# 设置邮箱(NCBI要求)
Entrez.email = "your.email@example.com"
# 搜索PubMed
handle = Entrez.esearch(db="pubmed", term="CRISPR[Title] AND 2023[PDAT]", retmax=10)
record = Entrez.read(handle)
print(f"Found {record['Count']} articles")
print(f"IDs: {record['IdList']}")
# 获取序列
handle = Entrez.efetch(db="nucleotide", id="NM_001301717", rettype="fasta", retmode="text")
record = SeqIO.read(handle, "fasta")
print(f"Sequence: {record.seq[:100]}...")

序列比对:

from Bio import pairwise2
from Bio.pairwise2 import format_alignment
# 全局比对(Needleman-Wunsch)
alignments = pairwise2.align.globalxx("ATCG", "ATG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 局部比对(Smith-Waterman)
alignments = pairwise2.align.localxx("ATCGGCTA", "CGG")
for alignment in alignments:
    print(format_alignment(*alignment))
# 带参数的比对(匹配+1,错配-1,空位开启-2,空位延伸-1)
alignments = pairwise2.align.globalms("ATCG", "ATG", 1, -1, -2, -1)

BLAST解析:

from Bio.Blast import NCBIXML
# 解析BLAST XML结果
with open("blast_result.xml") as result_handle:
    blast_record = NCBIXML.read(result_handle)
    for alignment in blast_record.alignments:
        print(f"Hit: {alignment.title}")
        for hsp in alignment.hsps:
            print(f"  E-value: {hsp.expect}")
            print(f"  Identity: {hsp.identities}/{hsp.align_length}")
            print(f"  Query: {hsp.query[:50]}...")
            print(f"  Match: {hsp.match[:50]}...")
            print(f"  Sbjct: {hsp.sbjct[:50]}...")
查看详情 →
💡

13.4 R语言基础

section
查看详情 →
💡

R语言基本语法

tool

**变量和数据类型:** ```r # 赋值(推荐使用 <-) x <- 42 y <- 3.14 name <- "GeneA" is_active <- TRUE # 向量(最基本的数据结构) expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1) genes <- c("BRCA1", "TP53", "EGFR", "MYC") # 向量操作 lengt...

变量和数据类型:

# 赋值(推荐使用 <-)
x <- 42
y <- 3.14
name <- "GeneA"
is_active <- TRUE
# 向量(最基本的数据结构)
expr_values <- c(10.5, 23.4, 5.2, 18.9, 12.1)
genes <- c("BRCA1", "TP53", "EGFR", "MYC")
# 向量操作
length(expr_values)
mean(expr_values)
sd(expr_values)
summary(expr_values)
# 数据框(类似Excel表格)
df <- data.frame(
    gene = c("BRCA1", "TP53", "EGFR", "MYC"),
    expression = c(25.3, 18.7, 12.4, 8.9),
    group = c("treatment", "treatment", "control", "control")
)
# 访问数据
df$gene                    # 提取列
df$expression
df[1, ]                    # 第一行
df[, "expression"]         # 按名列
df[df$group == "treatment", ]  # 条件筛选
# 列表(可包含不同类型)
my_list <- list(
    name = "sample1",
    counts = c(100, 200, 300),
    metadata = data.frame(key = c("A", "B"), val = c(1, 2))
)
my_list$name
my_list[["counts"]]

控制流:

# 条件语句
x <- 15
if (x > 10) {
    print("x is greater than 10")
} else if (x > 5) {
    print("x is between 5 and 10")
} else {
    print("x is 5 or less")
}
# ifelse向量化条件
scores <- c(85, 92, 78, 65, 88)
grades <- ifelse(scores >= 90, "A",
                 ifelse(scores >= 80, "B",
                        ifelse(scores >= 70, "C", "D")))
# for循环
for (gene in genes) {
    print(paste("Processing:", gene))
}
# apply族函数(向量化操作,避免显式循环)
# apply用于矩阵/数组
# lapply用于列表,返回列表
# sapply用于列表,返回向量/矩阵
# tapply用于分组计算
# 示例:对数据框的数值列计算均值
numeric_cols <- sapply(df, is.numeric)
lapply(df[, numeric_cols], mean)

函数:

# 定义函数
calculate_fold_change <- function(treatment, control) {
    """计算差异倍数(log2 fold change)"""
    fc <- treatment - control  # 假设已经是log2转换的值
    return(fc)
}
# 使用
fc <- calculate_fold_change(10.5, 8.2)
print(paste("Fold change:", round(fc, 2)))
# 默认参数
normalize <- function(values, method = "zscore") {
    if (method == "zscore") {
        return((values - mean(values)) / sd(values))
    } else if (method == "minmax") {
        return((values - min(values)) / (max(values) - min(values)))
    } else {
        stop("Unknown normalization method")
    }
}
查看详情 →
💡

ggplot2可视化

concept

```r library(ggplot2) # 创建示例数据 data <- data.frame( gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10), expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)), group = rep(c("...

library(ggplot2)
# 创建示例数据
data <- data.frame(
    gene = rep(c("GeneA", "GeneB", "GeneC"), each = 10),
    expression = c(rnorm(10, 10, 2), rnorm(10, 15, 3), rnorm(10, 8, 1)),
    group = rep(c("Control", "Treatment"), each = 5, times = 3)
)
# 散点图
p1 <- ggplot(data, aes(x = group, y = expression, color = group)) +
    geom_point(position = position_jitter(width = 0.2), size = 3) +
    geom_boxplot(alpha = 0.3, outlier.shape = NA) +
    facet_wrap(~gene) +
    labs(title = "Gene Expression Comparison",
         x = "Condition",
         y = "Expression Level") +
    theme_minimal()
print(p1)
# 热图(使用pheatmap包)
library(pheatmap)
expr_matrix <- matrix(rnorm(100), nrow = 10)
rownames(expr_matrix) <- paste0("Gene", 1:10)
colnames(expr_matrix) <- paste0("Sample", 1:10)
pheatmap(expr_matrix, 
         scale = "row",
         clustering_method = "ward.D2",
         color = colorRampPalette(c("navy", "white", "firebrick"))(50))
# 火山图(差异表达结果)
de_results <- data.frame(
    gene = paste0("Gene", 1:1000),
    log2FC = rnorm(1000, 0, 2),
    pvalue = runif(1000)
)
de_results$padj <- p.adjust(de_results$pvalue, method = "BH")
ggplot(de_results, aes(x = log2FC, y = -log10(padj))) +
    geom_point(aes(color = abs(log2FC) > 1 & padj < 0.05), alpha = 0.5) +
    scale_color_manual(values = c("grey", "red")) +
    geom_vline(xintercept = c(-1, 1), linetype = "dashed") +
    geom_hline(yintercept = -log10(0.05), linetype = "dashed") +
    labs(x = "log2 Fold Change", y = "-log10 adjusted p-value") +
    theme_bw()
查看详情 →
💡

Bioconductor核心包

tool

```r # 安装Bioconductor if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") # 安装Bioconductor包 BiocManager::install("DESeq2") BiocManager::install("edgeR") BiocManager::insta...

# 安装Bioconductor
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
# 安装Bioconductor包
BiocManager::install("DESeq2")
BiocManager::install("edgeR")
BiocManager::install("Biostrings")
# Biostrings:序列处理
library(Biostrings)
dna <- DNAString("ATGCGCTAGCTA")
complement(dna)
reverseComplement(dna)
translate(dna)
# 计算GC含量
letterFrequency(dna, "GC") / length(dna)
# 读取FASTA文件
fasta_file <- readDNAStringSet("sequences.fasta")
width(fasta_file)  # 序列长度
alphabetFrequency(fasta_file)  # 碱基频率
# DESeq2:差异表达分析(简要示例)
library(DESeq2)
# countData: 基因计数矩阵(行是基因,列是样本)
# colData: 样本信息
# dds <- DESeqDataSetFromMatrix(countData = counts, 
#                               colData = sample_info,
#                               design = ~ condition)
# dds <- DESeq(dds)
# results <- results(dds)
查看详情 →
💡

13.5 生物信息学分析流程搭建

section
查看详情 →
💡

Conda环境管理

tool

**核心概念:** - **环境(Environment)**:独立的软件安装空间,不同环境之间互不干扰 - **通道(Channel)**:软件包的来源仓库。Bioconda是生物信息学专用通道 - **环境文件(environment.yml)**:记录环境中所有软件及其版本的配置文件 **基本操作:** ```bash # 查看现有环境 conda env list # 创建新环境 cond...

核心概念:
- 环境(Environment):独立的软件安装空间,不同环境之间互不干扰
- 通道(Channel):软件包的来源仓库。Bioconda是生物信息学专用通道
- 环境文件(environment.yml):记录环境中所有软件及其版本的配置文件
基本操作:

# 查看现有环境
conda env list
# 创建新环境
conda create -n rnaseq python=3.10
# 激活环境
conda activate rnaseq
# 安装软件
conda install -c bioconda star
conda install -c bioconda samtools
conda install -c bioconda featurecounts
conda install -c bioconda fastqc
conda install -c bioconda multiqc
# 一次性安装多个包
conda install -c bioconda star samtools featurecounts fastqc multiqc
# 查看已安装的包
conda list
# 导出环境配置
conda env export > environment.yml
# 从配置文件创建环境
conda env create -f environment.yml
# 删除环境
conda remove -n rnaseq --all
# 退出当前环境
conda deactivate

示例environment.yml文件:

name: rnaseq
channels:
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - python=3.10
  - star=2.7.10b
  - samtools=1.16
  - featurecounts=2.0
  - fastqc=0.11.9
  - multiqc=1.14
  - trimmomatic=0.39
  - picard=2.27
  - r-base=4.2
  - bioconductor-deseq2=1.38
  - pip
  - pip:
    - salmon==1.9.0
查看详情 →
💡

Snakemake工作流

tool

**基本语法:** Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。 ```python # Snakefile # 定义样本列表 SAMPLES = ["sample1", "sample2", "sample3"] # 目标规则:定义最终需要生成的文件 rule all: input:...

基本语法:
Snakemake的核心是定义规则(rule),每个规则包含输入(input)、输出(output)和命令(shell/run/script)。

# Snakefile
# 定义样本列表
SAMPLES = ["sample1", "sample2", "sample3"]
# 目标规则:定义最终需要生成的文件
rule all:
    input:
        "results/counts_matrix.txt",
        "results/multiqc_report.html"
# 质量控制规则
rule fastqc:
    input:
        "data/{sample}_R1.fastq.gz",
        "data/{sample}_R2.fastq.gz"
    output:
        html_r1="qc/{sample}_R1_fastqc.html",
        zip_r1="qc/{sample}_R1_fastqc.zip",
        html_r2="qc/{sample}_R2_fastqc.html",
        zip_r2="qc/{sample}_R2_fastqc.zip"
    params:
        outdir="qc"
    threads: 2
    shell:
        "fastqc -t {threads} -o {params.outdir} {input}"
# 序列比对规则
rule star_align:
    input:
        r1="data/{sample}_R1.fastq.gz",
        r2="data/{sample}_R2.fastq.gz",
        index="reference/STAR_index/Genome"
    output:
        bam="aligned/{sample}.sorted.bam",
        bai="aligned/{sample}.sorted.bam.bai"
    params:
        prefix="aligned/{sample}_",
        index_dir="reference/STAR_index"
    threads: 8
    shell:
        """
        STAR --runThreadN {threads} \
             --genomeDir {params.index_dir} \
             --readFilesIn {input.r1} {input.r2} \
             --readFilesCommand zcat \
             --outFileNamePrefix {params.prefix} \
             --outSAMtype BAM SortedByCoordinate
        mv {params.prefix}Aligned.sortedByCoord.out.bam {output.bam}
        samtools index {output.bam}
        """
# 表达量定量
rule featurecounts:
    input:
        bams=expand("aligned/{sample}.sorted.bam", sample=SAMPLES),
        gtf="reference/genes.gtf"
    output:
        counts="results/counts_matrix.txt"
    threads: 4
    shell:
        "featureCounts -T {threads} -a {input.gtf} -o {output.counts} {input.bams}"
# MultiQC汇总
rule multiqc:
    input:
        expand("qc/{sample}_{read}_fastqc.zip", sample=SAMPLES, read=["R1", "R2"])
    output:
        "results/multiqc_report.html"
    shell:
        "multiqc qc/ -o results/"

运行Snakemake:

# 预览(dry-run)
snakemake -n
# 本地运行(使用4个核)
snakemake --cores 4
# 强制重新运行
snakemake --cores 4 --forceall
# 只运行特定规则
snakemake --cores 4 featurecounts
# 使用Conda环境(自动为每个规则创建环境)
snakemake --cores 4 --use-conda
# 集群提交(SLURM)
snakemake --cluster "sbatch --time={resources.time} --mem={resources.mem} --cpus-per-task={threads}" \
          --jobs 10
查看详情 →
💡

Nextflow简介

tool

Nextflow采用数据流编程模型,更适合复杂的并行计算: ```groovy // main.nf params.reads = "data/*_{R1,R2}.fastq.gz" params.genome = "reference/genome.fa" params.gtf = "reference/genes.gtf" // 定义进程 process FASTQC { tag "$...

Nextflow采用数据流编程模型,更适合复杂的并行计算:

// main.nf
params.reads = "data/*_{R1,R2}.fastq.gz"
params.genome = "reference/genome.fa"
params.gtf = "reference/genes.gtf"
// 定义进程
process FASTQC {
    tag "$sample_id"
    input:
    tuple val(sample_id), path(reads)
    output:
    path "fastqc_*"
    script:
    """
    fastqc -t 2 -o . ${reads}
    """
}
process STAR_ALIGN {
    tag "$sample_id"
    cpus 8
    input:
    tuple val(sample_id), path(reads)
    path index
    output:
    tuple val(sample_id), path("*.sorted.bam")
    script:
    """
    STAR --runThreadN 8 \
         --genomeDir $index \
         --readFilesIn ${reads[0]} ${reads[1]} \
         --readFilesCommand zcat \
         --outSAMtype BAM SortedByCoordinate \
         --outFileNamePrefix ${sample_id}_
    mv ${sample_id}_Aligned.sortedByCoord.out.bam ${sample_id}.sorted.bam
    """
}
// 工作流
workflow {
    Channel
        .fromFilePairs(params.reads, checkIfExists: true)
        .set { read_pairs }
    FASTQC(read_pairs)
    STAR_ALIGN(read_pairs, params.genome)
}
查看详情 →
💡

13.6 常用软件工具实操

section
查看详情 →
💡

FastQC原理

algorithm

FastQC从多个维度评估测序数据质量: - **基本统计**:总reads数、序列长度、GC含量 - **每个碱基的质量**:箱线图展示read各位置的质量分布 - **每个序列的质量**:所有reads平均质量的分布 - **每个碱基的序列含量**:各位置A/T/G/C的比例(应接近一致) - **GC含量**:样本GC分布与理论正态分布的比较 - **接头序列**:检测已知接头序列的污染 -...

FastQC从多个维度评估测序数据质量:
- 基本统计:总reads数、序列长度、GC含量
- 每个碱基的质量:箱线图展示read各位置的质量分布
- 每个序列的质量:所有reads平均质量的分布
- 每个碱基的序列含量:各位置A/T/G/C的比例(应接近一致)
- GC含量:样本GC分布与理论正态分布的比较
- 接头序列:检测已知接头序列的污染
- 序列重复:评估PCR重复和过度表达的序列

查看详情 →
💡

BWA-MEM比对原理

algorithm

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法: 1. **索引构建**:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。 2. **种子搜索**:在参考基因组中查找read的精确匹配子串(maximal exact matches)。 3. **链...

BWA-MEM(Burrows-Wheeler Aligner's Maximal Exact Matches)是目前最常用的DNA序列比对算法:
1. 索引构建:将参考基因组转换为FM-index(基于Burrows-Wheeler变换),支持快速精确匹配查找。
2. 种子搜索:在参考基因组中查找read的精确匹配子串(maximal exact matches)。
3. 链式扩展:将种子连接起来,构建可能的比对位置。
4. 局部比对:使用Smith-Waterman算法对候选位置进行精细比对,处理gap(插入缺失)。
5. 比对质量计算:根据最佳和次佳比对的得分差异,计算MAPQ(mapping quality)。

查看详情 →
💡

SAM/BAM格式详解

concept

SAM文件包含11个必需字段: | 列 | 字段名 | 说明 | |----|--------|------| | 1 | QNAME | Read名称 | | 2 | FLAG | 比对标志(位掩码) | | 3 | RNAME | 参考序列名称 | | 4 | POS | 比对起始位置(1-based) | | 5 | MAPQ | 比对质量(Phred标度) | | 6 | CIGAR |...

SAM文件包含11个必需字段:
| 列 | 字段名 | 说明 |
|----|--------|------|
| 1 | QNAME | Read名称 |
| 2 | FLAG | 比对标志(位掩码) |
| 3 | RNAME | 参考序列名称 |
| 4 | POS | 比对起始位置(1-based) |
| 5 | MAPQ | 比对质量(Phred标度) |
| 6 | CIGAR | 比对运算字符串 |
| 7 | RNEXT | 配对read的参考序列 |
| 8 | PNEXT | 配对read的位置 |
| 9 | TLEN | 模板长度 |
| 10 | SEQ | 序列 |
| 11 | QUAL | 质量值 |
FLAG字段解读(关键值):
| FLAG | 含义 |
|------|------|
| 1 | Read有配对 |
| 2 | Read在配对中正确比对 |
| 4 | Read未比对 |
| 8 | 配对read未比对 |
| 16 | Read比对到反向互补链 |
| 64 | 是第一个read |
| 128 | 是第二个read |
| 256 | 非主要比对 |
| 512 | 未通过QC |
| 1024 | PCR重复或光学重复 |

查看详情 →
💡

GATK变异检测流程

algorithm

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括: 1. **标记重复(MarkDuplicates)**:识别PCR重复reads,只保留一个拷贝用于变异检测。 2. **碱基质量校正(Base Quality Score Recalibration, BQSR)**:系统性的测序误差会导致碱基质量值不准确。B...

GATK(Genome Analysis Toolkit)是Broad Institute开发的行业标准变异检测软件包,其核心流程包括:
1. 标记重复(MarkDuplicates):识别PCR重复reads,只保留一个拷贝用于变异检测。
2. 碱基质量校正(Base Quality Score Recalibration, BQSR):系统性的测序误差会导致碱基质量值不准确。BQSR通过比较观察到的错配率和期望的错配率,构建校正模型,输出更准确的碱基质量值。
3. 变异检测(HaplotypeCaller):GATK的核心变异检测引擎:
- 在感兴趣区域进行局部de novo组装
- 识别潜在的单倍型
- 使用PairHMM算法将reads与单倍型比对
- 输出基因型似然值和变异质量
4. 变异质量校正(Variant Quality Score Recalibration, VQSR):利用已知变异位点(如dbSNP、HapMap)训练高斯混合模型,区分真实的变异和假阳性。

查看详情 →
💡

FastQC + Trimmomatic质控示例

algorithm

```bash # === 第一步:FastQC质控 === mkdir -p qc_results # 对单个样本运行FastQC fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz # 批量处理 for r1 in raw/*_R1.fastq.gz; do r2="${r1/_R1/_R2}" fas...

# === 第一步:FastQC质控 ===
mkdir -p qc_results
# 对单个样本运行FastQC
fastqc -t 4 -o qc_results sample_R1.fastq.gz sample_R2.fastq.gz
# 批量处理
for r1 in raw/*_R1.fastq.gz; do
    r2="${r1/_R1/_R2}"
    fastqc -t 4 -o qc_results "$r1" "$r2"
done
# MultiQC汇总所有质控报告
multiqc qc_results/ -o qc_results/summary/
# === 第二步:Trimmomatic质量修剪 ===
# 假设FastQC显示:
# 1. 3'端质量下降(需要SLIDINGWINDOW修剪)
# 2. 存在adapter污染(需要ILLUMINACLIP)
mkdir -p trimmed
# PE模式(双端)
trimmomatic PE -threads 8 \
    raw/sample_R1.fastq.gz raw/sample_R2.fastq.gz \
    trimmed/sample_R1_paired.fq.gz trimmed/sample_R1_unpaired.fq.gz \
    trimmed/sample_R2_paired.fq.gz trimmed/sample_R2_unpaired.fq.gz \
    ILLUMINACLIP:adapters.fa:2:30:10 \
    LEADING:3 TRAILING:3 \
    SLIDINGWINDOW:4:15 \
    MINLEN:36
# 参数说明:
# ILLUMINACLIP:adapters.fa:2:30:10
#   adapters.fa = adapter序列文件
#   2 = seed匹配时允许的最大错配数
#   30 = palindrome模式下的阈值
#   10 = simple模式下的阈值
# LEADING:3 - 从read起始切除质量值<3的碱基
# TRAILING:3 - 从read末尾切除质量值<3的碱基
# SLIDINGWINDOW:4:15 - 4bp窗口平均质量<15时切除
# MINLEN:36 - 丢弃长度<36bp的read
查看详情 →
💡

BWA + SAMtools比对示例

algorithm

```bash # === 第一步:建立BWA索引 === bwa index reference.fa # 或使用samtools建立FASTA索引(用于IGV等工具) samtools faidx reference.fa # === 第二步:序列比对 === # BWA-MEM适合70bp-1Mbp的reads bwa mem -t 16 \ -R "@RG\tID:sample1\...

# === 第一步:建立BWA索引 ===
bwa index reference.fa
# 或使用samtools建立FASTA索引(用于IGV等工具)
samtools faidx reference.fa
# === 第二步:序列比对 ===
# BWA-MEM适合70bp-1Mbp的reads
bwa mem -t 16 \
    -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa \
    sample_R1_paired.fq.gz sample_R2_paired.fq.gz \
    > sample.sam
# -t 16: 使用16个线程
# -R: 添加read group信息(GATK必需)
# === 第三步:SAM转BAM、排序、索引 ===
# 方法1:管道一步完成
bwa mem -t 16 -R "@RG\tID:sample1\tSM:sample1\tLB:lib1\tPL:ILLUMINA" \
    reference.fa sample_R1.fq.gz sample_R2.fq.gz | \
    samtools sort -@ 4 -o sample.sorted.bam -
samtools index sample.sorted.bam
# 方法2:分步处理
samtools view -bS sample.sam > sample.bam          # SAM转BAM
samtools sort sample.bam -o sample.sorted.bam      # 排序
samtools index sample.sorted.bam                    # 建立索引
rm sample.sam sample.bam                           # 删除中间文件
# === 第四步:比对质量统计 ===
samtools flagstat sample.sorted.bam > sample.flagstat
samtools idxstats sample.sorted.bam > sample.idxstats
# === 常用SAMtools命令 ===
# 查看BAM头部
samtools view -H sample.sorted.bam
# 查看特定区域的比对
samtools view sample.sorted.bam chr1:1000000-2000000 | head
# 提取特定FLAG的reads(例如:只提取properly paired reads)
samtools view -f 2 -b sample.sorted.bam > sample.proper_pair.bam
# 过滤掉未比对reads(FLAG 4)
samtools view -F 4 -b sample.sorted.bam > sample.mapped_only.bam
# BAM转FASTQ(用于重新比对)
samtools bam2fq sample.sorted.bam > sample.fastq
# 合并多个BAM
samtools merge merged.bam sample1.sorted.bam sample2.sorted.bam
查看详情 →
💡

GATK变异检测示例

algorithm

```bash # === GATK最佳实践流程 === # 1. 标记重复(MarkDuplicates) gatk MarkDuplicates \ -I sample.sorted.bam \ -O sample.dedup.bam \ -M sample.metrics.txt \ --REMOVE_DUPLICATES false # 标记但不删除,GA...

# === GATK最佳实践流程 ===
# 1. 标记重复(MarkDuplicates)
gatk MarkDuplicates \
    -I sample.sorted.bam \
    -O sample.dedup.bam \
    -M sample.metrics.txt \
    --REMOVE_DUPLICATES false  # 标记但不删除,GATK推荐
samtools index sample.dedup.bam
# 2. 碱基质量校正(BQSR)
# 需要已知变异位点(如dbSNP)作为训练集
gatk BaseRecalibrator \
    -I sample.dedup.bam \
    -R reference.fa \
    --known-sites dbsnp.vcf.gz \
    -O sample.recal.table
gatk ApplyBQSR \
    -R reference.fa \
    -I sample.dedup.bam \
    --bqsr-recal-file sample.recal.table \
    -O sample.recal.bam
# 3. 变异检测(HaplotypeCaller)
gatk HaplotypeCaller \
    -R reference.fa \
    -I sample.recal.bam \
    -O sample.g.vcf.gz \
    -ERC GVCF  # 输出gVCF格式(适合多样本联合分析)
# 4. 多样本联合基因型(如果有多个样本)
# GenomicsDBImport导入gVCF
gatk GenomicsDBImport \
    -V sample1.g.vcf.gz \
    -V sample2.g.vcf.gz \
    -V sample3.g.vcf.gz \
    --genomicsdb-workspace-path cohort_db \
    -L intervals.list
# GenotypeGVCFs输出最终VCF
gatk GenotypeGVCFs \
    -R reference.fa \
    -V gendb://cohort_db \
    -O cohort.vcf.gz
# 5. 变异质控(VQSR,可选)
gatk VariantRecalibrator \
    -R reference.fa \
    -V cohort.vcf.gz \
    --resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap.vcf.gz \
    --resource:omni,known=false,training=true,truth=false,prior=12.0 omni.vcf.gz \
    -an QD -an MQ -an MQRankSum -an ReadPosRankSum \
    -mode SNP \
    -O cohort.recal \
    --tranches-file cohort.tranches
gatk ApplyVQSR \
    -R reference.fa \
    -V cohort.vcf.gz \
    --recal-file cohort.recal \
    --tranches-file cohort.tranches \
    --truth-sensitivity-filter-level 99.5 \
    -mode SNP \
    -O cohort.vqsr.vcf.gz
# 6. 硬过滤(如果VQSR不适用,如小样本)
gatk VariantFiltration \
    -R reference.fa \
    -V cohort.vcf.gz \
    -O cohort.filtered.vcf.gz \
    --filter-expression "QD < 2.0 || MQ < 40.0 || FS > 60.0 || SOR > 3.0" \
    --filter-name "basic_filters"
查看详情 →
💡

IGV可视化示例

tool

```bash # IGV是一个Java桌面应用程序,无需命令行操作 # 但它可以配合命令行工具准备输入文件 # 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览) igvtools count sample.sorted.bam sample.tdf reference.fa # 2. 生成BEDGRAPH覆盖度文件 bedtools genomecov -ibam sample.s...

# IGV是一个Java桌面应用程序,无需命令行操作
# 但它可以配合命令行工具准备输入文件
# 1. 生成IGV兼容的TDF文件(用于大BAM文件的快速浏览)
igvtools count sample.sorted.bam sample.tdf reference.fa
# 2. 生成BEDGRAPH覆盖度文件
bedtools genomecov -ibam sample.sorted.bam -bg > sample.coverage.bedgraph
# 3. 生成VCF索引(tabix)
bgzip cohort.vcf.gz
tabix -p vcf cohort.vcf.gz

IGV使用步骤:
1. 启动IGV(需要Java环境)
2. 加载参考基因组:Genomes → Load Genome from File → 选择reference.fa
3. 加载比对文件:File → Load from File → 选择sample.sorted.bam
4. 加载变异文件:File → Load from File → 选择cohort.vcf.gz
5. 导航到感兴趣的基因区域(如输入 TP53 或坐标 chr17:7,661,778-7,687,538
6. 观察reads的比对情况、覆盖深度和变异位点

查看详情 →