前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于多序列比对结果的一致性序列鉴定

基于多序列比对结果的一致性序列鉴定

原创
作者头像
于是没有洗头
发布于 2024-12-15 17:12:58
发布于 2024-12-15 17:12:58
29700
代码可运行
举报
文章被收录于专栏:ProjectProject
运行总次数:0
代码可运行

1、概念

基于多序列比对(Multiple Sequence Alignment, MSA)结果的一致性序列鉴定是生物信息学中的一项重要任务,它帮助我们理解不同序列之间的保守性和进化关系。一致性序列(Consensus sequence)是指在多个相关序列的比对中,每个位置上出现频率最高的碱基或氨基酸组成的序列。

2、实现思路

原文件用MEGA打开截图(部分)
原文件用MEGA打开截图(部分)

我现在有多序列比对的结果文件,里面的内容如图所示(奇数行为序列的名字,偶数行为序列的内容),我现在需要做基于多序列比对结果的一致性序列鉴定,我的思路是每一个序列纵向比对,如果全都是一样的字母,那么则说明这个纵向一致,如果这个纵向序列不全一样的化,则说明这个纵向没有一致,如果有连续超过100个字符的纵向一致列存在,那么打印出来所对应的这样的每一小段序列,这就是我想要的一致性序列,最终输出在一个文件里。

多序列比对原文件
多序列比对原文件

3、实现代码

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from Bio import AlignIO  # 导入Biopython中的AlignIO模块用于读取比对文件
import sys  # 导入sys模块用于处理命令行参数

def find_consensus_regions(alignment, min_length=100):
    """
    查找一致序列区域。
    
    参数:
        alignment (MultipleSeqAlignment): 多序列比对对象
        min_length (int): 最小的一致性区域长度,默认为10个碱基
        
    返回:
        list of tuples: 包含开始和结束位置的一致性区域列表
    """
    consensus_regions = []  # 存储找到的一致性区域
    current_region_start = None  # 当前一致性区域的起始位置
    current_stretch = 0  # 当前连续相同字符的数量
    
    # 遍历比对中的每一列
    for i in range(alignment.get_alignment_length()):
        column = alignment[:, i]  # 获取当前列的所有序列字符
        if all(base == column[0] for base in column):  # 检查该列中所有字符是否相同
            if current_region_start is None:
                current_region_start = i  # 如果没有开始位置,则设置当前列为起始位置
            current_stretch += 1  # 增加当前连续相同字符的数量
        else:
            if current_stretch >= min_length:
                # 如果当前连续相同字符数量达到或超过最小长度,则保存该区域
                consensus_regions.append((current_region_start, i - 1))
            current_region_start = None  # 重置起始位置
            current_stretch = 0  # 重置连续相同字符数量
    
    # 检查最后一段连续相同字符是否满足条件
    if current_stretch >= min_length:
        consensus_regions.append((current_region_start, i))

    return consensus_regions

def main():
    """
    主函数,用于处理命令行参数并调用查找一致序列区域的函数。
    """
    if len(sys.argv) != 2:
        print("用法: python script.py <alignment_file>")
        sys.exit(1)

    alignment_file = sys.argv[1]  # 获取命令行提供的比对文件路径
    alignment = AlignIO.read(alignment_file, "fasta")  # 读取FASTA格式的多序列比对文件
    
    consensus_regions = find_consensus_regions(alignment)  # 查找一致序列区域
    
    with open('consensus_sequences.fasta', 'w') as output_file:
        for start, end in consensus_regions:
            # 提取一致性区域的序列,并写入输出文件
            sequence = alignment[:, start:end+1]._records[0].seq
            output_file.write(f">Consensus_{start}_{end}\n{sequence}\n")

if __name__ == "__main__":
    main()  # 如果脚本作为主程序运行,则调用main函数

4、实现过程

1、将find_consensus.py和OG0000520_mafft.fas(多序列比对原文件)放在工作目录下

2、输入指令

输入指令
输入指令

3、输出结果

生成consensus_sequences.fas文件在工作目录下

生成文件consensus_sequences.fas(全部结果)
生成文件consensus_sequences.fas(全部结果)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
ChatGPT发展历程、原理、技术架构详解和产业未来
去年12月1日,OpenAI推出人工智能聊天原型ChatGPT,再次赚足眼球,为AI界引发了类似AIGC让艺术家失业的大讨论。
边缘计算
2023/02/23
1.3K0
ChatGPT发展历程、原理、技术架构详解和产业未来
ChatGPT的今天,早已被这本书预言了|文末赠书
最近,ChatGPT大火了!推出之后,ChatGPT只用了两个月就积累了1亿用户,随着越来越多的人开始用ChatGPT,发现他能做的东西越来越多,写论文、写作业、写文案、写代码都不在话下。 于是,各种稀奇古怪的问题、要求,也被突发奇想的人类推到了它面前…… 小异发现,竟然可以向ChatGPT询问《人工智能:现代方法(第4版)》书籍的推广提纲,并且它能够提供多个切入点和案例建议,实在是智能又方便! 正由于ChatGPT这种无所不包、什么都能干的特性,让许多人工智能领域的大佬都对其赞叹不已。 不过,这样的称赞
程序猿DD
2023/04/17
2550
ChatGPT的今天,早已被这本书预言了|文末赠书
【强化学习】Reward Model(奖励模型)详细介绍
Reward Model(奖励模型)是近年来在深度学习和强化学习领域广泛应用的一种技术,特别是在生成式模型(如大型语言模型)和强化学习(RL)结合的场景中,起到了至关重要的作用。它在多个领域的应用中,尤其是在自然语言处理(NLP)和数学推理领域,展现了显著的潜力。
不去幼儿园
2025/03/22
5810
【强化学习】Reward Model(奖励模型)详细介绍
大语言模型技术原理
在今天这个时代,人们的工作和生活已经离不开数据访问,而几乎所有平台背后的数据存储和查询都离不开数据库。SQL作为一种数据库的查询和处理语言历史悠久,最早由IBM于上世纪70年代初研究关系数据模型时提出,后续发展为一种广泛使用的数据库标准访问接口。
NineData
2023/05/30
1.8K0
大语言模型技术原理
强化学习在生成式预训练语言模型中的研究现状简单调研
本文旨在深入探讨强化学习在生成式预训练语言模型中的应用,特别是在对齐优化、提示词优化和经验记忆增强提示词等方面的具体实践。通过对现有研究的综述,我们将揭示强化学习在提高生成式语言模型性能和人类对话交互的关键作用。虽然这些应用展示了巨大的潜力,但也将讨论现有方法的挑战和可能的未来发展方向。
Ranlychan
2024/01/10
4940
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
在1950年代初期,人们开始尝试使用计算机处理自然语言文本。然而,由于当时的计算机处理能力非常有限,很难处理自然语言中的复杂语法和语义。随着技术的发展,自然语言处理领域在20世纪60年代和70年代取得了一些重要的进展。例如,1970年,美国宾夕法尼亚大学的Adele Goldberg和David Robson创建了一个名为Lunenfeld Project的系统,它可以进行自动翻译。同时,中国科学院自动化研究所也在20世纪70年代开始研究自然语言处理技术,主要集中在机器翻译领域。
汀丶人工智能
2024/03/26
6.3K0
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
系统学习大模型的20篇论文
【引子】“脚踏实地,仰望星空”, 知其然还要知其所以然。读论文是一条重要的途径,这一篇文章https://magazine.sebastianraschka.com/p/understanding-large-language-models非常值得借鉴,不敢私藏,编译成文。
半吊子全栈工匠
2023/09/02
4.3K0
系统学习大模型的20篇论文
推理大模型的后训练增强技术-强化学习篇
人生中充满选择,每次选择就是一次决策,我们正是从一次次决策中,把自己带领到人生的下一段旅程中。在回忆往事时,我们会对生命中某些时刻的决策印象深刻:“唉,当初我要是去那家公司实习就好了,在那里做的技术研究现在带来了巨大的社会价值。”通过这些反思,我们或许能领悟一些道理,变得更加睿智和成熟,以更积极的精神来迎接未来的选择和成长。
致Great
2025/03/10
2570
推理大模型的后训练增强技术-强化学习篇
3 千字浅谈:AI 之巅,ChatGPT 之背后
AI 发展经历多个里程碑,最早可以追溯到 1950 年代,早期人们开始探索 AI 即人工智能的概念,后来就开发了一些早期的处理语言,比如 ELIZA;
掘金安东尼
2023/04/22
5450
3 千字浅谈:AI 之巅,ChatGPT 之背后
聊聊最近爆火的 CHAT-GPT
Chat-GPT 以问答的方式呈现给用户,如何使用 Chat-GPT,实际上转换为另一个问题:如何有效地提问。
abin
2023/03/21
8450
聊聊最近爆火的 CHAT-GPT
大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解
在自然语言处理问题中,可从互联网上下载大量无标注数据,而针对具体问题的有标注数据却非常少,GPT 是一种半监督学习方法,它致力于用大量无标注数据让模型学习 “常识”,以缓解标注信息不足的问题。其具体方法是在针对有标签数据训练 Fine-tune 之前,用无标签数据预训练模型 Pretrain,并保证两种训练具有同样的网络结构。 GPT 底层也基于 Transformer 模型,与针对翻译任务的 Transformer 模型不同的是:它只使用了多个 Deocder 层。
汀丶人工智能
2023/07/18
3.7K0
大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解
为什么AI无法解决一般智能问题?
但大家都同意的是,目前的人工智能系统与人类的智力相去甚远。直接表现是:AI只在特定任务中表现优异,无法将其能力扩展到其他领域。
用户1621951
2021/05/11
5670
为什么AI无法解决一般智能问题?
【LLM训练系列03】关于大模型训练常见概念讲解
随着LLM学界和工业界日新月异的发展,不仅预训练所用的算力和数据正在疯狂内卷,后训练(post-training)的对齐和微调等方法也在不断更新。下面笔者根据资料整理一些关于大模型训练常见概念解释。
致Great
2024/12/20
6820
【LLM训练系列03】关于大模型训练常见概念讲解
【AI大模型】ChatGPT模型原理介绍(下)
2020年5月, OpenAI发布了GPT-3, 同时发表了论文“Language Models are Few-Shot Learner”《小样本学习者的语言模型》.
小言从不摸鱼
2024/09/18
2350
【AI大模型】ChatGPT模型原理介绍(下)
万字长文解读:从Transformer到ChatGPT,通用人工智能曙光初现
ChatGPT掀起的NLP大语言模型热浪,不仅将各家科技巨头和独角兽们推向风口浪尖,在它背后的神经网络也被纷纷热议。但实际上,除了神经网络之外,知识图谱在AI的发展历程中也被寄予厚望。自然语言处理是如何伴随人工智能各个流派不断发展、沉淀,直至爆发的?本文作者将带来他的思考。 作者 | 王文广 出品 | 新程序员 自ChatGPT推出以来,不仅业内津津乐道并纷纷赞叹自然语言处理(Natural Language Processing, NLP)大模型的魔力,更有探讨通用人工智能(Artificial gene
AI科技大本营
2023/04/14
6490
万字长文解读:从Transformer到ChatGPT,通用人工智能曙光初现
大语言模型-1.2-大模型技术基础
预训练阶段会得到base model,本质上就是一个互联网文本模拟器,这个阶段需要上万台服务器训练几个月的时间,这个生成的模型可以认为是互联网的有损压缩。这个互联网文本模拟器很有意思,但我们想要的不是整个互联网,而是我们提问,模型回答。 我们实际需要的是一个助手模型,在后训练阶段就可以训练一个助手模型。在后训练过程中,是一个监督微调SFT(supervised finetuning),整体的训练过程,与预训练过程一致。差别就在于数据集。这些对话数据集是人工标注问题和答案,当然现在很多也都是模型生成的。 这个助手模型中,如果不采用某些手段,模型会产生幻觉。 RL是强化学习,这个过程包括两个阶段,第一个阶段是训练一个奖励模型,用于代替人类对可以验证和不可以验证的领域问题进行排序,然后基于奖励模型实现RL。
IT从业者张某某
2025/03/15
1430
大语言模型-1.2-大模型技术基础
ChatGPT的原理:机器人背后的模型
本文将深入讲解支持 ChatGPT 的机器学习模型。从介绍大语言模型(Large Language Models)开始,深入探讨革命性的自注意力机制,该机制使 GPT-3 得以被训练。然后,进一步探讨强化学习,这是使 ChatGPT 变得卓越的新技术。
老齐
2023/03/02
1.1K0
ChatGPT的原理:机器人背后的模型
解读ChatGPT中的RLHF
无论是 ChatGPT 还是 GPT-4,它们的核心技术机制之一都是基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)。这是大型语言模型生成领域的新训练范式,即以强化学习方式依据人类反馈优化语言模型。那么,什么是 RLHF 呢?
半吊子全栈工匠
2023/09/02
1.6K0
解读ChatGPT中的RLHF
存算架构优化:为大模型算力提升铺平道路
随着人工智能技术的飞速发展,大模型已经成为了推动各行各业进步的关键力量。从自然语言处理到图像识别,再到复杂的数据分析,大模型以其卓越的性能和广泛的应用前景,正逐渐成为AI领域的焦点。然而,大模型的高效运行离不开强大的算力支持,而存算架构的优化则是提升算力的关键所在。本文将探讨现有大模型对算力的需求以及RRAM架构优化如何为大模型的算力提升提供动力,为开发者提供一些实用的指导。
存内计算开发者
2024/05/14
4760
存算架构优化:为大模型算力提升铺平道路
GPT-2能监督GPT-4,Ilya带头OpenAI超级对齐首篇论文来了:AI对齐AI取得实证结果
过去一年,以「预测下一个 Token」为本质的大模型已经横扫人类世界的多项任务,展现了人工智能的巨大潜力。
机器之心
2023/12/15
3050
GPT-2能监督GPT-4,Ilya带头OpenAI超级对齐首篇论文来了:AI对齐AI取得实证结果
推荐阅读
相关推荐
ChatGPT发展历程、原理、技术架构详解和产业未来
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档