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

ProteinMPNN中蛋白质特征提取

函数 featurize 的主要作用是将一批蛋白质序列和结构信息转化为深度学习模型可以接受的特征矩阵。它在处理蛋白质多链结构(即多个链的蛋白质复合体)时,考虑了可见链和被掩码链的区分。

代码:

import torch
import numpy as np
import csv
import time
import os
import randomdef featurize(batch, device):alphabet = 'ACDEFGHIKLMNPQRSTVWYX'B = len(batch)lengths = np.array([len(b['seq']) for b in batch], dtype=np.int32) #sum of chain seq lengthsL_max = max([len(b['seq']) for b in batch])X = np.zeros([B, L_max, 4, 3])residue_idx = -100*np.ones([B, L_max], dtype=np.int32) #residue idx with jumps across chainschain_M = np.zeros([B, L_max], dtype=np.int32) #1.0 for the bits that need to be predicted, 0.0 for the bits that are givenmask_self = np.ones([B, L_max, L_max], dtype=np.int32) #for interface loss calculation - 0.0 for self interaction, 1.0 for otherchain_encoding_all = np.zeros([B, L_max], dtype=np.int32) #integer encoding for chains 0, 0, 0,...0, 1, 1,..., 1, 2, 2, 2...S = np.zeros([B, L_max], dtype=np.int32) #sequence AAs integersinit_alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G','H', 'I', 'J','K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T','U', 'V','W','X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g','h', 'i', 'j','k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't','u', 'v','w','x', 'y', 'z']extra_alphabet = [str(item) for item in list(np.arange(300))]chain_letters = init_alphabet + extra_alphabetfor i, b in enumerate(batch):masked_chains = b['masked_list']visible_chains = b['visible_list']all_chains = masked_chains + visible_chainsvisible_temp_dict = {}masked_temp_dict = {}for step, letter in enumerate(all_chains):chain_seq = b[f'seq_chain_{letter}']if letter in visible_chains:visible_temp_dict[letter] = chain_seqelif letter in masked_chains:masked_temp_dict[letter] = chain_seqfor km, vm in masked_temp_dict.items():for kv, vv in visible_temp_dict.items():if v
http://www.lryc.cn/news/461858.html

相关文章:

  • Word中如何删除表格下一页的空白页
  • RabbitMQ 如何保证消息不丢失?
  • Oracle或者PL/SQL导入pde文件
  • 【QAMISRA】解决导入commands.json时报错问题
  • 影刀RPA实战番外:excel函数应用指南
  • php生成PDF文件(FPDF)
  • (接口测试)day01接口测试理论 http理论 接口测试流程 接口文档解析
  • Telegram——Bot 机器人/小程序入门指南
  • tauri build 后界面样式失效
  • 打印自然常数E
  • 澳鹏干货 | 大语言模型的上下文窗口 (Context Windows)
  • 为什么k8s不支持docker-kubernetes
  • 数据结构编程实践20讲(Python版)—17散列
  • 看了大厂用AI审简历,我才发现社会的残酷真相!今年的秋招太可怕了
  • 京东大模型革命电商搜推技术:挑战、实践与未来趋势
  • 深入学习二叉树(BinaryTree)(纯小白进)
  • 诗风秦韵诗词学习画廊宣言
  • Cannot determine local hostname
  • 电工课堂-对晶闸管移相控制触发要求
  • 基于Arduino做的“鱿鱼游戏”BOSS面具,支持动作检测
  • 数据库的查询操作
  • WebGL编程指南 - WebGL概述
  • 前端杂学录(十)
  • C++上机|编写函数invert实现对一维数组的倒序
  • 使用LSPatch+PlusNE修改手机软件
  • 基于springboot的4S店车辆管理系统
  • C++从入门到起飞之——(multi)set与(multi)map的的使用 全方位剖析!
  • HTML5实现古典音乐网站源码模板2
  • 基于SpringBoot+Vue+uniapp的诗词学习系统的详细设计和实现
  • 基于SpringBoot网上超市的设计与实现(论文+源码)_kaic