单位 3 / 11

序列分析和生物信息学:DNA、RNA 和蛋白质

收益:

  • 能够打印基本序列分析操作的代码,例如 FASTA 读取、翻译、比对和 BLAST 并解释结果
  • 能够通过正确解释 e 值、覆盖率和阅读框架等概念来避免错误的结论
  • 能够理解使用官方数据库(NCBI、UniProt、Ensembl)确认序列功能声明的必要性。

生物学最基本的数据就是序列:由字母A、T、G、C组成的DNA序列; RNA的A、U、G、C序列;蛋白质的 20 个氨基酸字母链。通过这些序列,我们了解什么是基因、两个物种的相关性以及突变(序列变化)与疾病之间的关系。在本单元中,我们将学习使用人工智能作为序列分析的代码和解释助手:读取 FASTA 文件、翻译序列、比对(比对:逐个字母地比较两个序列并查看它们的相似性)以及理解 BLAST 等工具。

从一开始就需要注意:人工智能并不“知道”序列的实际功能;只有官方数据库(NCBI、UniProt、Ensembl)和经验证据表明了这一点。

基本概念和工具

  • FASTA:存储字符串的文本格式;每个数组由以 > 开头的标题行和其下方的子数组行组成。
  • BLAST(基本局部比对搜索工具):一种工具,可将您拥有的序列与巨型数据库中的数百万个序列进行比较,并找到最相似的序列。 “这个系列是什么样的?”问题的标准答案。
  • 对齐:排列两个或多个阵列,使相似的区域一个接一个地放置。它可以是成对或多序列比对 (MSA)。
  • 翻译:通过三字母组(密码子)将 DNA/RNA 编码序列转换为氨基酸序列。
  • 基序:序列中具有功能意义的简短重复模式(例如,结合位点)。
提示:你不能告诉AI“BLAST that series”;该模型无法访问 BLAST 数据库。但是“我如何解释我的 BLAST 结果,e 值(E-value)是什么意思?”您可以询问,甚至可以编写使用 Biopython 以编程方式调用 BLAST 的代码。

一步一步:调查数组的身份

  1. 获取序列:保存为FASTA文件。
  2. 基本检查:长度、字母含量(只是A/T/G/C还是有未知的“N”)、GC比率(鸟嘌呤-胞嘧啶的百分比:因物种和地区而异)。
  3. BLAST:在 NCBI Web 界面中或以编程方式搜索。
  4. 点评:看最佳匹配的e值(越小,重合的可能性越小)和查询覆盖率。
  5. 确认:在 UniProt 或 NCBI 中打开匹配的基因/蛋白质,并验证它是否确实与您正在寻找的功能匹配。

AI帮你第2步编码,第4步评论;但步骤 3 和 5 中的真实数据是由工具本身和您提供的。

可复制的提示模板

角色:你是一名生物信息学助理。任务:使用 Biopython 读取 FASTA 文件 (sequences.fasta)。我想要:将每个序列的名称、长度和GC比例写入一个表中;将结果保存为 CSV。提供可运行的 Python 代码并附上注释。

将我的 DNA 序列翻译成蛋白质序列。使用Biopython Seq.translate;显示终止密码子(*);指示阅读框。给出代码,解释一下。序列:[FASTA]

解释我的 BLAST 结果。以下是前 5 名匹配的价值-价值、身份百分比和覆盖率。向我解释哪个匹配是可靠的以及为什么,不要做出精确的功能声明,告诉我需要验证的步骤。表:[数据]

将两个蛋白质序列配对并找出相似性百分比。使用Biopythonpairwise2或Bio.Align;打印可读的对齐方式。给出代码并解释评分方案。

弱提示/强提示

弱者:“这个序列是哪个基因?”

Strong:“我有一个 1,140 个碱基对的人类 DNA 序列(下面为 FASTA)。我自己对这个序列进行了 BLAST;最佳匹配是 TP53,e 值 0.0,同一性 99.8%,覆盖率 100%。解释一下为什么这个结果是强有力的证据;但是,请告诉我在确定其功能之前需要进行哪 2 个验证。”

区别:强提示中,将实际数据(长度、BLAST结果)提供给模型;您要求模型解释您提供的证据,而不是“记住”它。他被迫在微弱的提示下建立一个模型。

三个迷你箱子

案例 1 — 错误的阅读框架:一名学生将 DNA 序列翻译成蛋白质,但从头开始,没有找到正确的起始密码子 (ATG)。结果是产生了一种无意义的、提前停止的蛋白质。当模型尝试所有三个阅读框并编写代码找到以 ATG 开头的最长开放阅读框 (ORF) 时,正确的 380 个氨基酸蛋白质就出现了。

案例 2 — E 值谬误:技术人员将 e 值为 2.0 的 BLAST 匹配报告为“已找到”。然而,e 值大于 1 表示匹配很可能是巧合。该模型解释了这一点,并提醒人们通常使用 e < 1e-5 作为可靠的阈值。

案例 3 — 污染:在实验室对细菌序列进行 BLAST 检测后发现人类 DNA 是最佳匹配。这是样品污染的迹象。人工智能通过指出“意外的匹配类型可能表明存在污染”,引起了正确的怀疑;技术人员重复了这个例子。

比较:人工智能的作用

任务

人工智能

工具/数据库

人类的

FASTA 读取,GC/长度

写代码

控制输出

翻译、ORF查找

写代码

运行 Biopython

验证框架

数组ID

评论

BLAST/NCBI 发现

证实

功能声称

提供建议

UniProt给出证明

决定

常见错误

  • 要求模型“记住”字符串ID:模型不记住字符串;使用爆炸。
  • 误解e值:小是好,大是坏;记住门槛。
  • 不检查阅读框:错误的阅读框会产生无义蛋白质。
  • 忽略覆盖率:高同一性但低覆盖率意味着部分匹配。
  • 缺失污染:意外的物种匹配是一个严重的警告。
注意:仅仅因为某个序列“与 TP53 相似度达到 99%”,并不能证明该序列携带 TP53 功能;这是一个强有力的假设。该功能必须得到经验证据和数据库描述的支持。对于人工智能来说,仅仅说“这是一种肿瘤抑制剂”是不够的。

多序列比对和系统发育基础

将数十个序列而不是两个序列比对在一起称为多重序列比对 (MSA),它是许多分析的基础:寻找保守区域(在进化中保持不变的部分,因此在功能上很重要)、构建系统发育树、识别蛋白质家族。 MAFFT、MUSCLE 和 Clustal 等工具可以完成这项工作。 AI 编写从 Python 调用这些工具的代码(例如通过 Biopython)并帮助您解释输出;但对齐本身使工具而不是模型“死记硬背”。

解释 MSA 时,请注意保守列:在所有序列中保持相同的氨基酸很可能对蛋白质的功能(例如酶的活性位点)至关重要。这为解释为什么突变可能有害提供了强有力的线索。但“保留=重要”只是一个假设;需要实验验证。

使用 Biopython 读取我的多重比对文件 (aligned.fasta),它是 MAFFT 输出。计算每列的保留率;列出超过 90% 的受保护职位。解释为什么这些位置可能具有重要的功能,但不要声称具有明确的功能。

突变和变异解释陷阱

当您看到字符串中的字母发生变化(变体)时,就可以说它是“有害的”。大多数变体是中性的(无效)。在解释变体的影响时,需要查看专用的变体数据库(如 ClinVar)和群体频率数据(如 gnomAD),而不是人工智能的话。如果模型声称某个变异具有“致病性”,切勿在未通过这些来源确认的情况下将其写入临床或研究结论。

验证基础数据库

了解官方消息来源以确认系列分析中的每项主张是抵御人工智能捏造行为的最有力盾牌。最常用:

数据库

为了什么

典型确认

NCBI GenBank/RefSeq

DNA/RNA 序列、基因记录

字符串ID、长度

尤尼普罗特

蛋白质序列和功能

功能、氨基酸数量

合奏团

基因组注释、基因位置

基因染色体作图

临床变量

变异的临床意义

致病性/中性决定

侏儒AD

群体中的变异频率

罕见/常见变体

人工智能可以建议您应该查看哪些基础;但是您进行查询并读取结果。 “模型说这就是 UniProt 所说的”并不是确认;确认是自己打开UniProt页面。

综上所述

序列分析是生物信息学的核心; FASTA、BLAST、对齐和平移是基本操作。 AI 为这些操作编写代码并帮助您解释其结果,但工具 (BLAST) 和数据库(NCBI、UniProt)提供实际的序列识别。正确理解e值、覆盖率、阅读框架等概念是避免错误结论的关键。功能声明总是需要独立的证据。

应用任务

获取 DNA 序列样本(或从 NCBI 下载的基因)。让AI用Biopython计算长度和GC比率,然后在所有三个阅读框架中翻译它并打印找到最长ORF的代码。运行结果。然后自己在 NCBI BLAST 中搜索该序列,并让模型解释最佳匹配的 e 值和覆盖率。在 UniProt 中确认模型的功能声明。

清单

  • [ ] 在处理字符串之前我检查了长度和字母内容。
  • [ ] 我在翻译中使用了正确的阅读框架。
  • [ ] 我自己跑BLAST,我没有“提醒”模型。
  • [ ] 我正确地解释了 e 值和覆盖率。
  • [ ] 我评估了意外物种匹配的污染情况。
  • [ ] 我与官方数据库确认了该功能声明。