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

AF3 DataPipeline类process_multiseq_fasta 方法解读

AlphaFold3 data_pipeline 模块DataPipeline类的 process_multiseq_fasta 方法用于处理多序列 FASTA 文件,生成 AlphaFold3 结构预测所需的特征,适用于多链复合物的预测。它结合了 Minkyung Baek 在 Twitter 上提出的“AlphaFold-Gap”策略,即通过在多链 MSA 中插入固定长度的 gap 以模拟多链复合物。

源代码:

    def process_multiseq_fasta(self,fasta_path: str,super_alignment_dir: str,ri_gap: int = 200,) -> FeatureDict:"""Assembles features for a multi-sequence FASTA. Uses Minkyung Baek'shack from Twitter (a.k.a. AlphaFold-Gap)."""with open(fasta_path, 'r') as f:fasta_str = f.read()input_seqs, input_descs = parsers.parse_fasta(fasta_str)# No whitespace allowedinput_descs = [i.split()[0] for i in input_descs]# Stitch all of the sequences togetherinput_sequence = ''.join(input_seqs)input_description = '-'.join(input_descs)num_res = len(input_sequence)sequence_features = make_sequence_features(sequence=input_sequence,description=input_description,num_res=num_res,)seq_lens = [len(s) for s in input_seqs]total_offset = 0for sl in seq_lens:total_offset += slsequence_features["residue_index"][total_offset:] += ri_gapmsa_list = []deletion_mat_list = []for seq, desc in zip(input_seqs, input_descs):alignment_dir = os.path.join(super_alignment_dir, desc)msas = self._get_msas(alignment_dir, seq, None)msa_list.append([m.sequences for m in msas])deletion_mat_list.append([m.deletion_matrix for m in msas])final_msa = []final_deletion_mat = []final_msa_obj = []msa_it = enumerate(zip(msa_list, deletion_mat_list))for i, (msas, deletion_mats) in msa_it:prec, post = sum(seq_lens[:i]), sum(seq_lens[i + 1:])msas = [[prec * '-' + seq + post * '-' for seq in msa] for msa in msas]deletion_mats = [[prec * [0] +
http://www.lryc.cn/news/542767.html

相关文章:

  • 中国的Cursor! 字节跳动推出Trae,开放Windows版(附资源),开发自己的网站,内置 GPT-4o 强大Al模型!
  • 图片爬取案例
  • Go语言中的信号量:原理与实践指南
  • Qt如何将数据传入labview,Qt又如何从labview中读取数据?
  • vue3学习2
  • spring中手写注解开发(创建对象篇)
  • Android OpenGLES2.0开发(十一):渲染YUV
  • 在linux中利用conda安装blast
  • 三、多项式环
  • python unzip file
  • MySQL-增删改查
  • LeetCode 热题100 15. 三数之和
  • 网络空间安全(1)web应用程序的发展历程
  • ABAQUS功能梯度材料FGM模型
  • 自适应增强技术
  • 虚拟项目:一个好用的工具平台
  • MySQL 和 Elasticsearch 之间的数据同步
  • PS裁剪工具
  • [Web 安全] PHP 反序列化漏洞 —— PHP 序列化 反序列化
  • QT入门--QMainWindow
  • C++ | 高级教程 | 信号处理
  • 最新前端框架选型对比与建议(React/Vue/Svelte/Angular)
  • 游戏引擎学习第123天
  • 计算机网络:从底层原理到前沿应用,解锁数字世界的连接密码
  • grafana K6压测
  • Vue的组合式API和选项式API有什么区别
  • ubuntu 安全策略(等保)
  • c/c++蓝桥杯经典编程题100道(22)最短路径问题
  • AI工具集合
  • CSDN 博客:CC++ 内存管理详解