- 博客(1284)
- 收藏
- 关注
原创 AF3 Rigid3Array类介绍
AlphaFold3 geometry.rigid_matrix_vector 模块的 Rigid3Array类表示 3D 刚体变换,用于描述 旋转 + 平移 这种常见的空间操作,在 AlphaFold3 里主要用于 蛋白质结构的旋转对齐、坐标变换、骨架参考系生成。Rigid3Array 是一个用于表示三维刚性变换(即特殊欧几里得群 SE(3) 的元素)的类。
2025-03-16 20:35:41
170
原创 Python 魔法方法介绍
在 Python 中,魔法方法(Magic Methods)是一类特殊的内置方法,它们通常以双下划线开头和结尾(例如 __init__、__str__、__add__ 等)。这些方法通常用于实现特定的语法或操作符行为,或者用于定义对象的行为。它们是 Python 面向对象编程中的一个重要特性,可以让类的行为更加自然和直观。
2025-03-16 19:44:14
471
原创 AF3 make_pseudo_beta函数解读
AlphaFold3 data_transforms 模块的 make_pseudo_beta 函数 通过调用函数pseudo_beta_fn 为蛋白质结构生成伪β碳(pseudo-beta,简称 pβ)的位置和掩码。伪β碳是一种用于表示蛋白质主链结构的简化原子,通常用于替代β碳(CB),而在甘氨酸(Glycine,简称 Gly)中则使用α碳(CA)作为替代。
2025-03-16 14:33:59
268
原创 AF3 make_template_mask函数解读
AlphaFold3 data_transforms 模块的 make_template_mask 函数的目标是 给 protein 字典创建一个 template_mask,用于标记 哪些模板是有效的。
2025-03-16 11:25:57
151
原创 Pytorch torch.tile函数介绍
在 PyTorch 中,torch.tile() 是一个用于重复张量的函数,类似于 NumPy 中的 np.tile()。它可以沿指定的维度多次复制原始张量,从而扩展张量的大小。
2025-03-16 11:21:04
430
原创 AF3 make_msa_feat函数解读
AlphaFold3 data_transforms 模块的 make_msa_feat 函数的作用是为多序列比对(MSA)数据创建和拼接特征,生成 msa_feat 和 target_feat 特征,这些特征将被用于后续的模型输入。
2025-03-13 10:37:46
766
原创 Pytorch torch.atan函数介绍
torch.atan 是 PyTorch 中的一个数学函数,用于计算输入张量中每个元素的反正切(arctangent)。反正切函数是正切函数的逆函数,其输出范围是 [−π/2,π/2]。在深度学习中,torch.atan 通常用于归一化数据、处理角度信息或作为某些数学变换的一部分。
2025-03-13 10:17:58
363
原创 构建多序列比对的删除矩阵Deletion Matrix
从多序列比对(Multiple Sequence Alignment, MSA)数据中构建删除矩阵(Deletion Matrix)是蛋白质结构预测中的一个重要步骤。删除矩阵记录了每个位置相对于参考序列的缺失(deletion)信息,这些信息对于理解蛋白质的进化关系和结构变化非常关键。以下是从 A3M格式文件 的MSA序列数据中构建删除矩阵的核心代码和示例解析。
2025-03-13 10:15:57
568
原创 Python 配置文件管理库Hydra 和 OmegaConf的区别
Hydra 和 OmegaConf 是两个在 Python 中用于处理配置文件的库,它们在功能和用途上有一些区别,但也存在紧密的联系。
2025-03-12 17:45:52
792
原创 AF3 make_fixed_size函数解读
AlphaFold3 data_transforms 模块的 make_fixed_size 函数的作用是将输入的蛋白质特征字典 protein 中的各个特征张量调整为固定大小。这是为了确保在批量处理时,所有特征张量的形状一致,从而避免形状不匹配的问题。
2025-03-12 17:30:42
451
原创 AF3 make_masked_msa函数解读
AlphaFold3 data_transforms 模块的 make_masked_msa 函数的作用是基于原始 MSA(多序列比对)创建随机掩码 MSA (bert_msa) 和 bert_mask,类似于BERT模型中使用的掩码机制,而原来的msa数据存储在true_msa特征中。data_transforms模块的 make_msa_feat 函数负责将 msa特征 (bert_msa) 和其他 MSA 相关特征整合到 msa_feat。
2025-03-12 10:26:06
966
原创 AF3 shaped_categorical函数解读
AlphaFold3 data_transforms 模块的 shaped_categorical 函数的作用是根据给定的概率分布 probs 生成随机样本。这个函数主要用于在掩码语言模型(Masked Language Model,MLM)中对 MSA 数据进行随机替换。
2025-03-11 20:23:42
253
原创 torch.distributions.categorical.Categorical 介绍
torch.distributions.categorical.Categorical 是 PyTorch 提供的离散概率分布(Categorical Distribution)类,用于从类别型概率分布(Categorical Distribution)中采样随机变量。
2025-03-11 20:17:52
232
原创 AF3 make_hhblits_profile函数解读
AlphaFold3 data_transforms 模块的 make_hhblits_profile 函数的作用是计算 HHblits MSA(多序列比对)profile,如果 protein 结构体中已经有 hhblits_profile,则直接返回,避免重复计算。hhblits_profile 是 每个残基位置的氨基酸概率分布,可以用于结构预测。
2025-03-10 20:28:31
206
原创 AF3 make_seq_mask函数解读
AlphaFold3 data_transforms 模块的 make_seq_mask 函数主要用于 构造序列掩码(sequence mask),标记哪些氨基酸残基是有效的,哪些是填充(padding)。
2025-03-10 20:14:40
205
原创 AF3 make_msa_mask函数解读
AlphaFold3 data_transforms 模块的 make_msa_mask 函数 主要是 为 MSA (多序列比对) 生成 初始化的 mask 掩码特征: msa_mask和 msa_row_mask。用于后续的特征处理,确保模型在处理 MSA 时能够识别哪些数据是有效的,哪些需要被忽略(比如填充的 0)。
2025-03-10 20:07:29
370
原创 AF3 summarize_clusters函数解读
AlphaFold3 data_transforms 模块的 summarize_clusters 函数主要作用是 基于 MSA (多序列比对) 进行聚类,并计算每个聚类的统计特征。在 AlphaFold3 中,MSA 代表了一组进化相关的序列,extra_msa 是额外的 MSA 序列。为了高效处理 MSA 数据,AlphaFold3 通过 聚类方法 对 MSA 进行降维,计算出一个 聚类的 profile (统计特征),并利用 extra_cluster_assignment 进行聚类操作。
2025-03-10 19:19:45
602
原创 AF3 unsorted_segment_sum函数解读
AlphaFold3 data_transforms 模块的 unsorted_segment_sum 函数 主要用于 对数据 data 进行分组求和,其中 segment_ids 指示 data 中每一行属于哪个 segment。该函数与 TensorFlow 的 tf.unsorted_segment_sum 类似,但仅支持 1D 索引。
2025-03-10 19:12:05
470
原创 AF3 nearest_neighbor_clusters函数解读
AlphaFold3 data_transforms 模块的 nearest_neighbor_clusters 函数的作用是 基于加权的汉明距离(Hamming distance)计算 MSA 片段的相似性,并将 extra_msa 序列分配给最接近的 msa 序列,最终形成 MSA 聚类。
2025-03-10 18:59:13
811
原创 Pytorch 张量的scatter_add_方法介绍
torch.Tensor.scatter_add_ 是 PyTorch 中的一个原地操作(in-place operation),用于将一个源张量(src)中的值根据指定的索引(index)累加到目标张量(self)中。它常用于分布式计算、加权聚合以及自定义深度学习层等场景。
2025-03-10 18:49:37
481
原创 AF3 block_delete_msa函数解读
AlphaFold3 data_transforms 模块的 block_delete_msa 函数用于从 MSA(多序列比对)中删除多个块(block)序列,以模拟 MSA 数据的缺失或噪声。
2025-03-09 20:59:42
907
原创 AF3 sample_msa函数解读
AlphaFold3 data_transforms 模块的 sample_msa 函数用于随机采样 MSA(多序列比对)中的序列,并且可以选择是否保留未采样的序列作为 extra_* 额外特征。
2025-03-09 19:40:39
314
原创 torch.randperm函数介绍
torch.randperm 是 PyTorch 中用于生成随机排列的整数序列的函数,广泛应用于数据随机化、样本抽样等场景。
2025-03-09 19:33:02
298
原创 torch.Generator介绍
torch.Generator 是 PyTorch 中用于生成随机数的工具,它提供了一个可复现的随机数生成器(RNG),可以用于控制随机操作的种子和状态。这对于确保实验的可复现性非常重要,尤其是在深度学习和随机算法中。
2025-03-09 19:29:51
443
原创 torch.cat 函数介绍
torch.cat 是 PyTorch 中用于将多个张量沿着指定维度拼接(concatenate)的函数。它广泛应用于深度学习中,例如在神经网络中合并特征、拼接不同维度的数据等场景。
2025-03-09 19:28:43
306
原创 torch.index_select函数介绍
torch.index_select 是 PyTorch 中的一个函数,用于根据指定的索引从输入张量中选择特定的行或列。它是一种非常灵活的张量操作工具,常用于数据筛选、特征提取等场景。
2025-03-09 19:25:42
424
原创 AF3 randomly_replace_msa_with_unknown函数解读
AlphaFold3 data_transforms 模块的 randomly_replace_msa_with_unknown 该函数用于随机用 "X" 替换 MSA(多序列比对)和氨基酸类型 (aatype) 中的一部分残基
2025-03-09 15:59:07
153
原创 AF3 squeeze_features函数解读
AlphaFold3 data_transforms 模块的 squeeze_features 函数的作用去除 蛋白质特征张量中不必要的单维度(singleton dimensions)和重复维度,以使其适配 AlphaFold3 预期的输入格式。
2025-03-09 15:38:56
488
原创 AF3 correct_msa_restypes函数解读
AlphaFold3 data_transforms 模块的 correct_msa_restypes 函数 该函数的作用是 将 MSA(多序列比对)的氨基酸索引转换为 AlphaFold3 预期的索引顺序,确保 MSA 数据的氨基酸类型与 rc.MAP_HHBLITS_AATYPE_TO_OUR_AATYPE 兼容,同时 转换 MSA 相关的 profile 数据。
2025-03-09 15:05:43
916
原创 AF3 fix_templates_aatype函数解读
AlphaFold3 data_transforms 模块的 fix_templates_aatype 函数的作用是修正模板 (template_aatype) 的氨基酸类型索引,将 one-hot 编码转换为索引表示,并重新映射到符合 AlphaFold3 需求的氨基酸索引格式。
2025-03-09 11:34:35
397
原创 PyTorch 张量数据类型定义和转换
在 PyTorch 中,张量(Tensor)是进行深度学习和数值计算的核心数据结构。张量的数据类型(dtype)定义了张量中存储的数值类型,例如浮点数、整数等。正确地定义和转换张量的数据类型对于确保计算的精度和效率非常重要。
2025-03-09 11:08:51
1024
原创 AF3 make_one_hot函数解读
AlphaFold3 data_transforms 模块的 make_one_hot 函数旨在将输入的整数张量 x 转换为 one-hot 编码 的张量。
2025-03-09 11:03:43
586
原创 AF3 curry1函数解读
AlphaFold3 data_transforms 模块的 curry1 函数实现了一个经典的柯里化 (currying) 技术,具体是固定函数 f 的所有参数,除了第一个参数。换句话说,curry1 允许你在调用函数时,先提供除了第一个参数之外的所有参数,然后返回一个新的函数,这个新函数只等待第一个参数。
2025-03-06 20:47:52
837
原创 AF3 DataPipelineMultimer类解读
AlphaFold3 data_pipeline 模块的 DataPipelineMultimer 类专门用于多链蛋白质复合物的MSA和特征构建。DataPipelineMultimer类包含了 DataPipeline 的实例,通过这种方式,DataPipelineMultimer 可以重用 DataPipeline 类中的功能,特别是单链的处理部分,并将其扩展到多链复合物的特征提取,这些特征将被用作 AlphaFold3 模型的输入。
2025-03-06 15:48:14
959
原创 AF3 DataPipelineMultimer类process_mmcif方法解读
process_mmcif 是 AlphaFold3 中 DataPipelineMultimer 类的一个方法,用于从 mmCIF 文件(用于存储蛋白质结构数据的文件格式)中提取和处理多链蛋白质复合物的特征。
2025-03-06 15:29:24
912
原创 AF3 DataPipelineMultimer类get_mmcif_features方法解读
AlphaFold3 DataPipelineMultimer 类的 get_mmcif_features 方法用于从 mmCIF 文件 中提取特征,这些特征通常是用于蛋白质结构预测的输入数据。此方法提取了与原子坐标、掩码、分辨率等相关的数据,并返回一个包含这些数据的特征字典。
2025-03-06 10:47:31
382
原创 AF3 DataPipelineMultimer 类process_fasta方法解读
AlphaFold3 DataPipelineMultimer 类的 process_fasta 方法用于从 FASTA 文件 中生成多链蛋白质复合物(multimer)模型所需的特征。此方法通过对每条链进行特征提取、转换和合并,最终输出一个包含所有链特征的字典。
2025-03-06 10:09:30
648
原创 AF3 pad_msa函数解读
AlphaFold3 data_pipeline 模块的 pad_msa 函数是一个用于 填充多序列比对(MSA)特征 的函数,确保 MSA 数据的序列数 达到一个最小值 min_num_seq。它主要用来处理多链蛋白质复合物(multimer)的 MSA 特征,使得输入数据的一致性得以保证,避免出现 零大小 的 MSA 数据。
2025-03-06 09:59:26
889
原创 Python防止函数修改可变对象
在 Python 中,可变对象(如列表、字典、集合等)可以被函数内部修改。如果你不想让函数修改传入的可变对象,可以通过创建对象的副本或转变为不可变对象。
2025-03-06 09:49:54
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人