AF3 ProteinDataset類的_get_masked_sequence方法解讀

AlphaFold3 protein_dataset模塊 ProteinDataset 類 _get_masked_sequence 方法屬于作用是為需要預測的殘基生成掩碼。該掩碼以二進制張量形式呈現,其中 1 代表需要預測的部分,0 代表其他部分。此方法會依據多個參數來選定要掩碼的殘基,這些參數包含 mask_whole_chainsmask_fraclower_limitupper_limitmask_sequential 以及 force_binding_sites_frac 等。

源代碼:

    def _get_masked_sequence(self,data,):"""Get the mask for the residues that need to be predicted.Depending on the parameters the residues are selected as follows:- if `mask_whole_chains` is `True`, the whole chain is masked- if `mask_frac` is given, the number of residues to mask is `mask_frac` times the length of the chain,- otherwise, the number of residues to mask is sampled uniformly from the range [`lower_limit`, `upper_limit`].If `mask_sequential` is `True`, the residues are masked based on the order in the sequence, otherwise aspherical mask is applied based on the coordinates.If `force_binding_sites_frac` > 0 and `mask_whole_chains` is `False`, in the fraction of cases where a chainfrom a polymer is sampled, the center of the masked region will be forced to be in a binding site.Parameters----------data : dictan entry generated by `ProteinDataset`Returns-------chain_M : torch.Tensora `(B, L)` shaped binary tensor where 1 denotes the part that needs to be predicted and0 is everything else"""if "cdr" in data and "cdr_id" in data:chain_M = torch.zeros_like(data["cdr"])if self.mask_all_cdrs:chain_M = data["cdr"] != CDR_REVERSE["-"]else:chain_M = data["cdr"] == data["cdr_id"]else:chain_M = torch.zeros_like(data["S"])chain_index = data["chain_id"]chain_bool = data["chain_encoding_all"] == chain_indexif self.mask_whole_chains:chain_M[chain_bool] = 1else:chains = torch.unique(data["chain_encoding_all"])chain_start = torch.where(chain_bool)[0][0]chain = data["X"][chain_bool]res_i = Noneinterface = []non_masked_interface = []if len(chains) > 1 and self.force_binding_sites_frac > 0:if random.uniform(0, 1) <= self.force_binding_sites_frac:X_copy = data["X"]i_indices = (chain_bool == 0).nonzero().flatten()  # global

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【音視頻】SDL渲染YUV格式像素

SDL視頻顯示的流程 實現流程 準備視頻文件 準備一個格式為yuv420p&#xff0c;分辨率為320x240的yuv數據&#xff0c;并且將視頻文件放入項目構建的目錄下&#xff1a; 初始化SDL 初始化SDL的視頻模塊 //初始化 SDL if(SDL_Init(SDL_INIT_VIDEO)) {fprintf( stderr, "…

關于群暉安裝tailscale后無法直鏈的問題

問題是我局域網的ipv6無法正確獲取到ip, 通過命令可以看到ipv6沒有ip tailscale netcheck C:\Users\Administrator>tailscale netcheck 2025/04/12 23:43:34 attempting to fetch a DERPMap from https://controlplane.tailscale.comReport:* Time: 2025-04-12T15:43:38.27…

[數據結構]Trie字典樹

GPT的介紹 &#x1f9e0; 一句話總結&#xff1a; 字典樹是一種專門用來存很多字符串的“超級前綴樹”&#xff0c;查找某個字符串或前綴的時候&#xff0c;特別快&#xff01; ?? 舉個生活例子&#xff08;類比&#xff09;&#xff1a; 你想做一個詞典&#xff08;Dictio…

04-算法打卡-數組-二分查找-leetcode(69)-第四天

1 題目地址 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09;69. x 的平方根 - 給你一個非負整數 x &#xff0c;計算并返回 x 的 算術平方根 。由于返回類型是整數&#xff0c;結果只保留 整數部分 &#xff0c;小數部分將被 舍去 。注意&#xff1a;不允許使用任何內…

AI領域再突破,永洪科技榮獲“2025人工智能+創新案例”獎

在2025年的今天&#xff0c;人工智能已從技術概念全面滲透至產業核心。中國作為全球AI技術應用的前沿陣地&#xff0c;正通過“人工智能”行動加速推進技術與實體經濟深度融合。 這一背景下&#xff0c;永洪科技憑借其“國內某頭部ICT人力資源板塊GenAI項目”榮獲“2025全國企業…

反序列化漏洞介紹與挖掘指南

目錄 反序列化漏洞介紹與挖掘指南 一、漏洞核心原理與危害 二、漏洞成因與常見場景 1. 漏洞根源 2. 高危場景 三、漏洞挖掘方法論 1. 靜態分析 2. 動態測試 3. 利用鏈構造 四、防御與修復策略 1. 代碼層防護 2. 架構優化 3. 運維實踐 五、工具與資源推薦 總結 反…

從零開始的C++編程 2(類和對象下)

目錄 1.構造函數初始化列表 2.類型轉換 3.static成員 4.友元 5.內部類 6.匿名對象 1.構造函數初始化列表 ①之前我們實現構造函數時&#xff0c;初始化成員變量主要使?函數體內賦值&#xff0c;構造函數初始化還有?種?式&#xff0c;就是初始化列表&#xff0c;初始化…

Profibus DP主站轉ModbusTCP網關通訊秘籍

Profibus DP主站轉ModbusTCP網關通訊秘籍 在現代工業自動化領域&#xff0c;不同設備間的數據通訊和系統集成至關重要。Profibus DP和Modbus TCP是兩種廣泛應用的工業通信協議&#xff0c;各有其獨特的優勢和適用場景。然而&#xff0c;由于歷史原因或設備制造商的差異&#x…

【力扣hot100題】(092)最長回文串

有點難度&#xff0c;一開始想到的兩種方法都不對&#xff0c;花了不少時間。 先說之前的方法&#xff1a; ① 遍歷每個點&#xff0c;每個點向外擴張&#xff0c;如果左等于右就一直擴展直到不等。 這個方法可是可以&#xff0c;但我沒有考慮到兩個相同字母也是回文串的情況…

14 - VDMA彩條顯示實驗

文章目錄 1 實驗任務2 系統框圖3 硬件設計4 軟件設計 1 實驗任務 本實驗任務是PS端寫彩條數據至DDR3內存中&#xff0c;然后通過PL端的VDMA IP核將彩條數據通過HDMI接口輸出顯示。 2 系統框圖 本實驗是用HDMI接口固定輸出1080P的彩條圖&#xff0c;所以&#xff1a; rgb2lc…

HarmonyOS-ArkUIV2裝飾器-@Param:組件外部輸入

上文我們了解了@Local裝飾器 ,講明了Local裝飾器不允許外部傳入值對其進行初始化。詳見: HarmonyOS-ArkUI V2裝飾器@Local裝飾器:組件內部狀態-CSDN博客。 但總有場景是需要外部組件傳值過來,然后本組件接收這個值這種場景的。而且很多情況下,一個狀態變量的作用范圍會是…

Java從入門到“放棄”(精通)之旅——運算符③

&#x1f31f;Java從入門到“放棄”&#xff08;精通&#xff09;之旅&#x1f680;&#xff1a;運算符深度解析 引言&#xff1a;運算符的本質與價值 作為Java語言的核心組成部分&#xff0c;運算符是構建程序邏輯的基礎元素。它們不僅僅是簡單的數學符號&#xff0c;更是程…

【sgSpliter】自定義組件:可調整寬度、高度、折疊的分割線

sgSpliter.vue <template><!-- 注意&#xff1a;父組件position必須是relative、absolute或fixed&#xff0c;不建議直接在綁定:data后面用"{屬性}"&#xff0c;建議單獨在script中聲明data&#xff0c;避免拖拽過程重復調用 --><div :class"$…

Ningx負載均衡

Ningx負載均衡 upstream(上游)配置負載均衡1、weight&#xff08;加權輪詢&#xff09;2、ip_hash&#xff08;負載均衡&#xff09;3、url hash負載均衡4、least_conn&#xff08;最小連接負載均衡&#xff09; upstream(上游)配置負載均衡 Nginx負載均衡 參考: nginx從安裝…

一個插件,免費使用所有頂級大模型(Deepseek,Gpt,Grok,Gemini)

DeepSider是一款集成于瀏覽器側邊欄的AI對話工具&#xff0c;可免費使用所有頂級大模型 包括GPT-4o&#xff0c;Grok3,Claude 3.5 Sonnet,Claude 3.7,Gemini 2.0&#xff0c;Deepseek R1滿血版等 以極簡交互與超快的響應速度&#xff0c;完成AI搜索、實時問答、內容創作、翻譯、…

眾趣科技丨數字孿生技術,賦能交通公共設施管理數字化升級

春節假期期間&#xff08;1 月 21 日至 2 月 4 日&#xff09;&#xff0c;作為中國春節申遺成功后的首個春運&#xff0c;交通出行格外火熱&#xff0c;全社會跨區域流動量超 23 億人次&#xff0c;這一數據創下了歷史新高。 面對如此龐大的客流量&#xff0c;傳統的交通管理方…

Linux 入門五:Makefile—— 從手動編譯到工程自動化的蛻變

一、概述&#xff1a;Makefile—— 工程編譯的 “智能指揮官” 1. 為什么需要 Makefile&#xff1f; 手動編譯的痛點&#xff1a;當工程包含數十個源文件時&#xff0c;每次修改都需重復輸入冗長的編譯命令&#xff08;如gcc file1.c file2.c -o app&#xff09;&#xff0c;…

Python-Django+vue二手電子設備交易平臺功能說明

?(^_-) 上千個精美定制模板,各類成品Java、Python、PHP、Android畢設項目,歡迎咨詢。 ?(^_-) 程序開發、技術解答、代碼講解、文檔,??文末獲取源碼+數據庫+文檔?? ??軟件下載 | 實戰案例 ??文章底部二維碼,可以聯系獲取軟件下載鏈接,及項目演示視頻。 本項目…

數據庫管理工具實戰:IDEA 與 DBeaver 連接 TDengine(二)

五、DBeaver 連接 TDengine 實戰 5.1 安裝 DBeaver 下載安裝包&#xff1a;訪問 DBeaver 官方網站&#xff08;https://dbeaver.io/download/ &#xff09;&#xff0c;根據你的操作系統選擇合適的安裝包。如果是 Windows 系統&#xff0c;下載.exe 格式的安裝文件&#xff1…

Spring Boot接口返回Long類型的數據時丟失精度的全局處理

1、問題 當實體類中的字段為Long類型時&#xff0c;通過Ajax請求返回給前段&#xff0c;在js中數據會丟失精度 直接通過postman請求或通過瀏覽器請求&#xff0c;看下響應則不會丟失精度 2、處理方式 1、使用JsonSerialize注解 JsonSerialize(using ToStringSerializer.…