当前位置: 首页 > news >正文

AF3 deduplicate_unpaired_sequences函数解读

AlphaFold3 msa_pairing模块的deduplicate_unpaired_sequences 函数的作用是移除 chain['msa'] 中那些已经存在于 chain['msa_all_seq'] 中的序列。换句话说,它保留那些不在 chain['msa_all_seq'] 中的序列,从而确保未配对的 MSA 序列不会与配对的 MSA 序列重复。

源代码:

MSA_FEATURES = ('msa', 'msa_mask', 'deletion_matrix', 'deletion_matrix_int')def deduplicate_unpaired_sequences(np_chains: List[Mapping[str, np.ndarray]]) -> List[Mapping[str, np.ndarray]]:"""Removes unpaired sequences which duplicate a paired sequence."""feature_names = np_chains[0].keys()msa_features = MSA_FEATURESfor chain in np_chains:# Convert the msa_all_seq numpy array to a tuple for hashing.sequence_set = set(tuple(s) for s in chain['msa_all_seq'])keep_rows = []# Go through unpaired MSA seqs and remove any rows that correspond to the# sequences that are already present in the paired MSA.for row_num, seq in enumerate(chain['msa']):if tuple(seq) not in sequence_set:keep_rows.append(row_num)for feature_name in feature_names:if feature_name in msa_features:chain[feature_name] = chain[feature_name][keep_rows]chain['num_alignments'] = np.array(chain['msa'].shape[0], dtype=np.int32)return np_chains

源码解读:

1. 提取特征名称和 MSA 特征集合
feature_names = np_chains[0].keys()
msa_features = MSA_FEATURES
  • feature_names:获取第一个链的所有特征名称。

  • msa_features:定义了哪些特征属于 MSA 特征(如 msadeletion_matrix 等)。

2. 遍历每条链
for chain in np_chains:
  • 遍历输入列表中的每条链。

3. 创建序列集合用于哈希
sequence_set = set(tuple(s) for s in chain['msa_all_seq'])
  • msa_all_seq 数组中的每一行转换为元组(因为 NumPy 数组不能直接哈希),并存储到一个集合中。这个集合用于快速查找哪些序列已经存在于配对的 MSA 中。

4. 保留未配对序列(不在chain['msa_all_seq']
keep_rows = []
for row_num, seq in enumerate(chain['msa']):if tuple(seq) not in sequence_set:keep_rows.append(row_num)
  • 遍历当前链的 msa 数组(未配对的 MSA 序列)。

  • 对于每一行,检查它是否已经存在于 sequence_set 中(即是否与配对的 MSA 序列重复)。

  • 如果不重复,则将该行的索引添加到 keep_rows 列表中。

5. 更新 MSA 特征
for feature_name in feature_names:if feature_name in msa_features:chain[feature_name] = chain[feature_name][keep_rows]
  • 遍历当前链的所有特征名称。

  • 如果特征名称属于 MSA 特征集合,则根据 keep_rows 列表更新该特征的数据,移除重复的行。

6. 更新 num_alignments 特征
chain['num_alignments'] = np.array(chain['msa'].shape[0], dtype=np.int32)
  • 更新 num_alignments 特征,表示当前链的 MSA 行数。

7. 返回更新后的链列表
return np_chains
  • 返回更新后的链特征字典列表。

相关文章:

AF3 deduplicate_unpaired_sequences函数解读

AlphaFold3 msa_pairing模块的deduplicate_unpaired_sequences 函数的作用是移除 chain[msa] 中那些已经存在于 chain[msa_all_seq] 中的序列。换句话说,它保留那些不在 chain[msa_all_seq] 中的序列,从而确保未配对的 MSA 序列不会与配对的 MSA 序列重复…...

图像处理之图像边缘检测算法

目录 1 图像边缘检测算法简介 2 Sobel边缘检测 3 经典的Canny边缘检测算法 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 参考 1 图像边缘检测算法简介 图像边缘检测是计算机视觉和图像处理中的基本问题,主要目的是提取图像中明暗变化明显的边缘细节…...

unity使用input system实现相机屏幕手势丝滑拖拽

input action设置 操作对象设置 camera 具体操作类 PlayerInputView类 using System.Collections; using UnityEngine; using UnityEngine.InputSystem; using TouchPhase UnityEngine.InputSystem.TouchPhase;public class FingerScale : MonoBehaviour {private Vector3…...

Leetcode-853. Car Fleet [C++][Java]

目录 一、题目描述 二、解题思路 Leetcode-853. Car Fleethttps://leetcode.com/problems/car-fleet/description/ 一、题目描述 There are n cars at given miles away from the starting mile 0, traveling to reach the mile target. You are given two integer array …...

建易WordPress

建易WordPress是一家专业的WordPress建站服务提供商,专注于为企业和个人提供一站式的WordPress网站建设、维护、托管、运营推广以及搜索引擎优化(SEO)服务。 服务内容 1. 网站建设 提供模板建站和定制开发两种服务,满足不同客户的需求。模板建站价格为…...

计算机三级网络技术备考(3)

【知识点补充:带宽是是链路的传输速率,宽带是一种服务】 第四章:路由设计技术 考点1:IP路由选择与路由汇聚 核心层:s0两个IP进行汇聚就行 汇聚层:聚合后两个以上的往前进几位(因为主机号不够因…...

工程化与框架系列(13)--虚拟DOM实现

虚拟DOM实现 🌳 虚拟DOM(Virtual DOM)是现代前端框架的核心技术之一,它通过在内存中维护UI的虚拟表示来提高渲染性能。本文将深入探讨虚拟DOM的实现原理和关键技术。 虚拟DOM概述 🌟 💡 小知识&#xff1…...

Java实现pdf文件压缩(aspose-pdf实现压缩、itextpdf去除aspose-pdf版权水印)

Java实现pdf文件压缩 时间换空间,实现pdf文件无损压缩。 1、依赖准备 市面上操作pdf文件的组件有spire.pdf.free、itextpdf、openpdf、pdfbox等,它们各有千秋。我们主要完成的场景为压缩,减少文件大小去优化存储、传输等。 在这里选取的组件…...

生态安全相关

概念:生态安全指一个国家具有支撑国家生存发展的较为完整、不受威胁的生态系统,以及应对内外重大生态问题的能力。 (1)国外生态安全的研究进展 国际上对生态安全的研究是从“环境”与“安全”之间的关系展开的。开始的阶段&#x…...

通过 ANSYS Discovery 进行 CFD 分析,增强工程设计

概括 工程师使用计算流体动力学 (CFD) 分析来研究和优化各种应用中的流体流动和传热分析。ANSYS Discovery 是一个用户友好的软件平台,使工程师能够轻松设置和解决 CFD 模型,并能够通知设计修改 在这篇博文中,我们将重点介绍在 Ansys Disc…...

2. 在后端代码中加入日志记录模块

1. 说明 日志模块基本上是每一个软件系统开发中必不可少的,主要用于持久记录一些代码运行中的输出信息,辅助编码人员进行代码调试,以及后期软件上线运行报错分析。在Python中加入日志模块比较简单,只需要借助logging和RotatingFi…...

MySQL锁分类

一、按锁的粒度划分 全局锁 定义:锁定整个数据库实例,阻止所有写操作,确保数据备份一致性。加锁方式:通过FLUSH TABLES WITH READ LOCK实现,释放需执行UNLOCK TABLES。应用场景:适用于全库逻辑备份&#xf…...

软件测试之白盒测试知识总结

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 概念与定义 白盒测试:侧重于系统或部件内部机制的测试,类型分为分支测试(判定节点测试)、路径测试、语句测试…...

看视频学习方法总结

以下是提高教学视频吸收率的系统性方法,结合认知科学原理和实际学习场景,帮助您最大化学习效果: 一、观看前的黄金准备阶段 60秒快速扫描法 用1分钟快速浏览视频目录、章节标题和简介,建立知识框架。荷兰伊拉斯姆斯大学实验表明&…...

nvm的学习

学习 nvm(Node Version Manager) 是掌握 Node.js 开发的关键技能之一。以下是系统的学习路径和实战指南,涵盖从基础到进阶的内容: 一、基础入门 1. nvm 的核心作用 多版本共存:安装和管理多个 Node.js 版本&#xff…...

OpenCV计算摄影学(5)处理一系列图像(例如视频帧)的非局部均值去噪的函数fastNlMeansDenoisingColoredMulti()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 对用于彩色图像序列的 fastNlMeansDenoisingMulti 函数的修改。 cv::fastNlMeansDenoisingColoredMulti 函数是 OpenCV 中用于处理一系列图像&am…...

mysql安装教程,超详细图文教程(附安装包)MySQL8.0安装教程

文章目录 前言一、MySQL安装包下载二、mysql安装教程 前言 本教程旨在为大家提供详细、清晰的 mysql安装教程,帮助你轻松跨过安装门槛,顺利开启数据库管理与开发的精彩之旅。 一、MySQL安装包下载 MySQL 是一款备受欢迎的开源关系型数据库管理系统&…...

Spark内存迭代计算

一、宽窄依赖 窄依赖:父RDD的一个分区数据全部发往子RDD的一个分区 宽依赖:父RDD的一个分区数据发往子RDD的多个分区,也称为shuffle 二、Spark是如何进行内存计算的?DAG的作用?Stage阶段划分的作用? &a…...

Odoo免费开源CRM技术实战:从商机线索关联转化为售后工单的应用

文 / 开源智造 Odoo金牌服务 Odoo:功能强大且免费开源的CRM Odoo 引入了一种高效的客户支持管理方式,即将 CRM 线索转换为服务台工单。此功能确保销售和支持团队能够无缝协作,从而提升客户满意度并缩短问题解决时间。通过整合 CRM 模块与服…...

对seacmsv9进行sql注入,orderby,过滤information_schema

对seacmsv9进行sql注入,orderby,过滤information_schema 1.对seacmsv9进行sql注入 海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,采用的是 php5.Xmysql 的架构 seacm…...

跨AWS账户共享SQS队列以实现消息传递

在现代分布式系统中,不同的服务和组件通常需要进行通信和协作。Amazon Simple Queue Service (SQS)提供了一种可靠、可扩展且完全托管的消息队列服务,可以帮助您构建分布式应用程序。本文将介绍如何在一个AWS账户(账户A)中创建SQS队列,并授权另一个AWS账户(账户B)中的用户和角色…...

Starrocks 写入报错 primary key memory usage exceeds the limit

背景 本文基于 StarRocks 3.3.5 单个Starrocks BE配置是 16CU 32GB 在Flink Yaml CDC 任务往 Starrocks写数据的过程中,突然遇到了primary key memory usage exceeds the limit 问题,具体如下: java.lang.RuntimeException: com.starrocks.…...

【Java】I/O 流篇 —— 打印流与压缩流

目录 打印流概述字节打印流构造方法成员方法代码示例 字符打印流构造方法成员方法代码示例 打印流的应用场景 解压缩/压缩流解压缩流压缩流 Commons-io 工具包概述Commons-io 使用步骤Commons-io 常见方法代码示例 Hutool 工具包 打印流 概述 分类:打印流一般是指…...

刷屏(0和1)

计算机有一个“好东西”&#xff0c;它就是2进制&#xff0c;虽然无法快速转换&#xff0c;but可以通过编程来实现。 附代码&#xff1a; #include <bits/stdc.h> using namespace std; int main() {int a,b,c;cout<<" …...

keil主题(vscode风格)

#修改global.prop文件&#xff0c;重新打开keil即可 # Keil uVision Global Properties File # This file is used to customize the appearance of the editor# Editor Font editor.font.nameConsolas editor.font.size10 editor.font.style0# Editor Colors editor.backgro…...

windows服务器更新jar包脚本

【需求】Java每次发布新的版本都需要先kill掉原来的服务&#xff0c;然后再启动新的包 有了这个脚本只需要把包替换掉&#xff0c;服务会自动kill 以6001 为例 完整的脚本如下 echo off REM 检查端口 6001 是否被占用 netstat -ano | findstr :6001 > nul IF %ERRORLE…...

前端实现OSS上传图片(Vue3+vant)

首先&#xff0c;下面这些信息从阿里云服务器OSS管理中获取 aliyun:oss:file:endpoint: "oss-cn-beijing.aliyuncs.com"keyid: "xxxxxxxxx"keysecret: "xxxxxxxxxxxx"bucketname: "xxxx"一、安装OSS npm install ali-oss 二、以下步…...

Vue.js 组件开发指南:实现、传值与优缺点分析

1. 组件的实现与使用 1.1 组件的定义 在 Vue.js 中&#xff0c;组件是独立的、可复用的 Vue 实例。每个组件可以包含自己的模板、逻辑和样式。 // 定义一个简单的组件 Vue.component(my-component, {template: <div>这是一个自定义组件</div> });1.2 组件的使用…...

vulnhub靶场之【kioptrix-5】靶机

前言 靶机&#xff1a;kioptrix-5&#xff0c;IP地址为192.168.10.10 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 都采用VMware虚拟机&#xff0c;网卡为桥接模式 这里需要注意&#xff0c;在靶机安装后&#xff0c;先把原本的网卡删除&#xff0c;重新添加一个…...

#渗透测试#批量漏洞挖掘#(0day)某智能终端操作平台前台存在通用SQL注入漏洞(CVE-2022-21047)

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…...

Linux系统中proc是做什么的?

在 Linux 系统中&#xff0c;/proc 是一个虚拟文件系统&#xff08;Virtual Filesystem&#xff09;&#xff0c;它不对应实际的磁盘文件&#xff0c;而是内核在内存中动态生成的。/proc 文件系统提供了一种与内核数据结构交互的方式&#xff0c;它主要用于存放与系统运行状态、…...

el-table修改表格颜色

文章目录 一、el-table属性修改表格颜色1.1、header-row-class-name修改表头行颜色1.2、header-row-style修改表头样式1.3、row-class-name修改行颜色 二、el-table-column属性修改表格颜色2.1、class-name修改整列的颜色2.2、label-class-name修改列标题颜色 本文讲解vue修改e…...

014存储期(时间)

一、基本概念 C语言中&#xff0c;变量都是有一定的生存周期的&#xff0c;所谓生存周期指的是从分配到释放的时间间隔。为变量分配内存相当于变量的诞生&#xff0c;释放其内存相当于变量的死亡。从诞生到死亡就是一个变量的生命周期。 根据定义方式的不同&#xff0c;变量的…...

执行git操作时报错:`remote: [session-b8xxxda3] Access denied ...`解决方案

问题描述&#xff1a; 执行git push -u origin "master"时报错&#xff1a; > remote: [session-b849cda3] Access denied > fatal: unable to access https://gitee.com/jyunee/maibobo.git/: The requested URL returned error: 403表示没有权限访问远程仓库…...

Redis版本的EOL策略与升级路径(刷到别划走)

各位看官&#xff0c;刷到就点进来&#xff0c;大数据已经抓到你喽&#xff5e;&#x1f60a; 前言 在软件行业做服务端开发的我们&#xff0c;多多少少都会接触到Redis&#xff0c;用它来缓存数据、实现分布式锁等&#xff0c;相关八股文烂熟于心&#xff0c;但是往往会忽略具…...

算法题:数组中的第 K 个最大元素(中等难度)

一、题目 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,1,5,6,4], k 2 输出&#xff1a;…...

进行性核上性麻痹患者的生活护理指南

进行性核上性麻痹是一种神经系统退行性疾病&#xff0c;合理的生活护理能有效改善症状&#xff0c;提高生活质量。 居家环境要安全。移除地面杂物&#xff0c;铺设防滑垫&#xff0c;安装扶手&#xff0c;降低跌倒风险。在浴室、厨房等湿滑区域要特别加强防护措施。建议在床边、…...

Python大战Java:AI时代的编程语言‘复仇者联盟‘能否换C位?

背景 当Java程序员在咖啡机前念叨’Python凭什么抢我饭碗’时&#xff0c;AI实验室里的Python工程师正用5行代码召唤出神经网络——这场编程语言的’权力的游戏’&#xff0c;胜负可能比你想象的更魔幻&#xff01;" 一、茶水间里的战争&#xff1a;Java和Python的相爱相…...

SpringBoot AI + PgVector向量库 + Openai Embedding模型

Spring Boot 项目引入 下载仓库地址 <dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version>&l…...

目标检测——数据处理

1. Mosaic 数据增强 Mosaic 数据增强步骤: (1). 选择四个图像&#xff1a; 从数据集中随机选择四张图像。这四张图像是用来组合成一个新图像的基础。 (2) 确定拼接位置&#xff1a; 设计一个新的画布(输入size的2倍)&#xff0c;在指定范围内找出一个随机点&#xff08;如…...

数据集笔记:新加坡LTA MRT 车站出口、路灯 等位置数据集

1 MRT 车站出口 data.gov.sg &#xff08;geojson格式&#xff09; 1.1 kml格式 data.gov.sg 2 路灯 data.govsg ——geojson data.gov.sg——kml 版本 3 道路摄像头数据集 data.gov.sg 4 自行车道网络 data.gov.sg 5 学校区域 data.gov.sg 6 自行车停车架&#xff…...

Highcharts 配置语法详解

Highcharts 配置语法详解 引言 Highcharts 是一个功能强大的图表库&#xff0c;广泛应用于数据可视化领域。本文将详细介绍 Highcharts 的配置语法&#xff0c;帮助您快速上手并制作出精美、实用的图表。 高级配置结构 Highcharts 的配置对象通常包含以下几部分&#xff1a…...

Python 项目安全实战:工具应用、规范制定、数据防护与架构加固

Python 项目安全实战&#xff1a;工具应用、规范制定、数据防护与架构加固 本文聚焦 Python 项目安全&#xff0c;深入介绍安全工具如 Bandit、OWASP ZAP 的实战操作&#xff0c;涵盖对特定模块扫描及 Web 测试进阶应用。详细阐述团队如何制定并持续更新安全编码规范&#xff…...

linux ununtu通过nginx-1.6.2.tar.gz安装nginx并安装在自定义目录XXX下 的步骤

Ubuntu 下通过源码安装 Nginx 1.6.2 到自定义目录 /home/aot/nginx 的步骤 以下是将 Nginx 1.6.2 源码包离线安装到自定义目录的详细流程&#xff0c;包含依赖管理、编译配置和服务管理&#xff1a; 一、准备工作 1. 下载源码包和依赖&#xff08;需联网环境准备&#xff09;…...

《Python百练成仙》31-40章(不定时更新)

第卅一章 函数结丹def开紫府 罗酆山的鬼门关吞吐着猩红的变量阴风&#xff0c;每个风眼都涌动着作用域混乱的灵力乱流。叶军手握薛香遗留的丹田玉简&#xff0c;玉简表面浮现出残缺的函数符文&#xff1a; def 凝聚金丹(灵气):道基 灵气 * 0.618print(金丹品质) # 作用域外变…...

Python--内置模块和开发规范(上)

1. 内置模块 1.1 JSON 模块 核心功能 序列化&#xff1a;Python 数据类型 → JSON 字符串 import json data [{"id": 1, "name": "武沛齐"}, {"id": 2, "name": "Alex"}] json_str json.dumps(data, ensure_a…...

使用DeepSeek实现自动化编程:类的自动生成

目录 简述 1. 通过注释生成C类 1.1 模糊生成 1.2 把控细节&#xff0c;让结果更精准 1.3 让DeepSeek自动生成代码 2. 验证DeepSeek自动生成的代码 2.1 安装SQLite命令行工具 2.2 验证DeepSeek代码 3. 测试代码下载 简述 在现代软件开发中&#xff0c;自动化编程工具如…...

植物大战僵尸金铲铲版 v1.1.6(windows+安卓)

游戏简介 《植物大战僵尸金铲铲版》是由“古见xzz”、“对不起贱笑了”、“是怪哉吖”等联合开发的民间魔改版本&#xff0c;融合了原版塔防玩法与《金铲铲之战》的自走棋元素&#xff0c;属于非官方同人作品。 游戏特点 合成升星机制&#xff1a;三个相同低星植物可合成更高…...

LeetCode 热题 100_寻找两个正序数组的中位数(68_4_困难_C++)(二分查找)(先合并再挑选中位数;划分数组(二分查找))

LeetCode 热题 100_寻找两个正序数组的中位数&#xff08;68_4&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;先合并再挑选中位数&#xff09;&#xff1a;思路二&#xff08;划分数组&#xff08;二分查找…...

酒店管理系统(代码+数据库+LW)

摘 要 时代的发展带来了巨大的生活改变&#xff0c;很多事务从传统手工管理转变为自动管理。自动管理是利用科技的发展开发的新型管理系统&#xff0c;这类管理系统可以帮助人完成基本的繁琐的反复工作。酒店是出门的必需品&#xff0c;无论出差还是旅游都需要酒店的服务。由…...