解析蛋白質三維結構-Bio3D R包

最近休息時閱讀了一本書:

在書本第5章結構信息學章節的末尾,看到了一個練習題,張貼如下:

這里作者提到了一個R包,

看著挺有意思的,所以就決定小學一下,畢竟這年頭搞分子動力學起碼是python重火力起步,看到R也能搞的屬少數。

官網參考:http://thegrantlab.org/bio3d/

此處貼一個基本的介紹
Bio3D是一個用于結構生物信息學分析的R語言包,主要用于生物大分子(如蛋白質和核酸)三維結構數據的處理和分析。它能夠執行各種結構分析任務,如結構對接、同源建模、分子動力學模擬軌跡分析、結構比對等。

Bio3D的核心功能包括從PDB數據庫中提取結構數據、計算結構相似性、生成結構比對和聚類分析,以及分析蛋白質動力學特征,如主成分分析(PCA)和正規模式分析(NMA)。

該包廣泛應用于蛋白質功能研究、分子演化研究以及藥物設計等領域,幫助研究者深入理解生物分子結構與功能的關系。

比如說我用python工具常做的分子動力學分析模塊——

DCCM(Dynamic cross-correlation matrices, DCCM,動態相關性矩陣),表示蛋白質中每個氨基酸的特定原子,比如說Cα原子和其他氨基酸的Cα原子之間的相關性,提供蛋白質在大尺度范圍內相關運動的一些信息。DCCM計算數值的取值范圍從完全負相關的-1.0到完全正相關的+1.0。越接近數值1表示相關性越強,正負表示兩個原子運動方向相同(反)。

計算時需要兩個文件.dcd和.pdb,

前者是蛋白質的軌跡文件,可以使用VMD進行保存,一般是分子動力學模擬之后的后續分析。我一般用它只分析分子動力學模擬穩定后的軌跡,不一定是全部軌跡;

后者是軌跡配套的蛋白質文件,選定幀數之后單獨保存為pdb格式即為蛋白質文件。

這個也能夠使用這個R包分析。

1,6QNX分析示例

參考https://www.rcsb.org/structure/6QNX

是一個SA2/SCC1/CTCF complex復合物,X射線晶體衍射獲取的結構數據。

一共是3個亞基:

可以知道這個蛋白復合物,是由1011個氨基酸殘基,16469個原子組成的三鏈復合物。

如果想要詳細查看原子構成以及坐標信息,

這些數據基本上都可以由mmcif文件中的坐標輔助佐證:

三維結構分析方面,因為api函數模塊很多,都值得仔細研究以及閱讀底層源碼,

這里只介紹nma()函數,也就是正規模分析(NMA,Normal Mode Analysis),從而預測示例蛋白質的柔性。

參考:http://thegrantlab.org/bio3d/reference/nma.html

詳細分析,有一個demo,可以參考:http://thegrantlab.org/bio3d_v2/tutorials/normal-mode-analysis

由圖可知,上方兩個圖分別顯示了特征值(Eigenvalues)和頻率(Frequencies)隨模式指數(Mode Index)的變化。特征值從左至右遞增,說明高模式對應的剛性較大,運動較難發生。頻率圖與特征值密切相關,也表現出遞增趨勢,高頻模式對應局部振動,低頻模式則與全局運動相關。下方的波動圖(Fluctuations)展示了蛋白質各殘基的振幅波動情況。某些殘基區域(如第185、400和730附近)顯示出較大的波動,意味著這些區域更具柔性,可能在蛋白質功能中起重要作用。

為了能夠清晰的展示蛋白質的柔性和其二級結構之間的關系,我們可以使用plot.bio3d()函數中的參數在波動圖(Fluctuations)上添加二級結構信息,


plot.bio3d(ctcf_mode$fluctuations,   # NMA中每個殘基的波動數據    sse=ctcf,              # 提供PDB對象以獲取蛋白質的二級結構信息sheet.col="orange",   # 將β-折疊的顏色設置為橙色,用于在圖中區分二級結構helix.col="purple",   # 將α-螺旋的顏色設置為紫色,用于區分二級結構typ="l",              # 設置圖形類型為線條圖(line plot),即用線連接數據點lwd=3,                # 將線條寬度設為3,使線條更加粗壯,圖形更清晰ylab="Fluctuations from NMA of CTCF-complex"  # 設置y軸標簽為自定義內容
)

由圖可知,x軸表示殘基編號,y軸表示波動幅度。圖中的黑色曲線顯示了各個殘基的波動情況,波峰代表特定殘基有較大的波動,表明這些區域在蛋白質運動中柔性更高。紫色的橫條代表α螺旋區域,橙色橫條代表β折疊區域(當然圖中沒有,code中示意),這些區域的波動通常較小,表明它們結構較為穩定,柔性相對較低。圖像分析有助于研究蛋白質的動態特性,分析哪些區域更具柔性或穩定性。

2,2DFD分析示例

以蘋果酸脫氫酶為例,蘋果酸脫氫酶是一種在檸檬酸循環中催化草乙酸鹽和蘋果酸鹽轉化的同型二聚體酶,結構序列號為2DFD。

找出該結構中存在的鏈、原子和殘基的總數。計算結合位點并繪制酶中殘基的B因子:

這里解釋一下什么是B-factor:

蛋白質結構的b因子也稱為溫度結構,它表示蛋白質由于C α原子在其平均位置附近波動而產生的靈活性。由于這種靈活性,蛋白質分子的多肽骨架和側鏈會不斷運動。高b因子表明蛋白質分子中的殘基位置比平均值具有更高的柔韌性,而低b因子則反映了蛋白質分子中的剛性位置。隱藏在蛋白質分子核心的殘基可能具有較低的b值,因此與存在于蛋白質表面的殘基相比更具有剛性。

可以簡單將B-factor理解為柔韌性、剛性描述符。

plot.bio3d(MDH$atom$b[MDH$calpha], sse=MDH, typ="l", ylab="Bfactor")

帶有二級結構注釋

蘋果酸脫氫酶和乳酸脫氫酶是同源代謝酶。

序列號:人蘋果酸脫氫酶(ID: 2DFD)和人乳酸脫氫酶(ID: 5ZJE)

(a)將存在于兩種脫氫酶結構中的鏈進行拆分和對齊,并計算蛋白質結構不同鏈之間的序列同一性和均方根偏差(RMSD)

(b)繪制RMSD直方圖并生成RMSD聚類的樹狀圖

ids <- c("2dfd","5zje")
raw.files <- get.pdb(ids)
files <- pdbsplit(raw.files, ids)
pdbs <- pdbaln(files,exefile="msa")
pdbs$id <- substr(basename(pdbs$id),1,6)
seqidentity(pdbs)

core <- core.find(pdbs)
core.inds <- print(core, vol=1.0)
xyz <- pdbfit( pdbs, core.inds )
rd <- rmsd(xyz)
hist(rd, breaks=40, xlab="RMSD (A?)", main="Histogram of RMSD")

兩個酶不同鏈間RMSD的直方圖:

hc <- hclust(as.dist(rd))
hclustplot(hc, k=3, ylab="RMSD (A?)", main="RMSD Cluster  Dendrogram")

基于蘋果酸脫氫酶和乳酸脫氫酶不同鏈間RMSD的RMSD聚類圖:

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

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

相關文章

【開發便利】讓遠程Linux服務器能夠訪問內網git倉庫

打通網絡壁壘&#xff1a;本地Windows直連內網Git的遠程開發終極指南 場景痛點 開發主力是一臺云端的 Linux 服務器&#xff0c;代碼卻存放在無法被公網訪問的公司內網 Git 倉庫中。 本文利用 Windows 電腦作為“網絡橋梁”&#xff0c;搭建一條能自動重連的 SSH 隧道&#xff…

STM32學習日記

ADCADC簡介ADC(Analog-Digital Converter)模擬-數字轉換器ADC可以將引腳上連續變化的模擬電壓轉換為內存中存儲的數字變量&#xff0c;建立模擬電路到數字電路的橋梁12位逐次逼近型ADC&#xff0c;1us轉換時間輸入電壓范圍&#xff1a;0~3.3V&#xff0c;轉換結果范圍&#xff…

文生3D實戰:用[靈龍AI API]玩轉AI 3D模型 – 第7篇

在前幾篇文章中&#xff0c;我們已經體驗了文生視頻、圖生視頻、文生圖、圖生圖、AI翻唱 等功能。本篇將進入更高階的領域 —— 文生3D。借助 [靈龍AI API]&#xff0c;你不僅能生成靜態的 3D模型&#xff0c;還可以快速產出 場景、角色、動畫&#xff0c;為游戲開發、虛擬人、…

林粒粒視頻筆記4-numpy

需要先安裝2個庫&#xff0c;一個是代碼運行平臺&#xff1a;pip3 install notebook還有一個numpy&#xff1a;pip3 install numpy1、在cmd運行環境>>jupyter notebook&#xff0c;瀏覽器自動打開頁面如下&#xff1a;2、創建一個一維數組和二維數據3、分別打印這2個數組…

Hadoop MapReduce 任務/輸入數據 分片 InputSplit 解析

InputSplitInputSplit 是對 MapReduce 作業輸入數據的一種邏輯劃分。它并不直接包含數據本身&#xff0c;而是包含了處理一小塊數據所需的信息&#xff0c;比如數據的位置、起始點和長度。框架會為每個 InputSplit 創建一個 Mapper 任務。從InputSplit.java 的注釋中我們可以得…

【力扣】面試經典150題總結04-區間/棧

1.匯總區間&#xff08;簡單&#xff09;判斷連續的范圍&#xff0c;記錄每個區間的首尾&#xff0c;存進list。2.合并區間&#xff08;中等&#xff09;先按照左端點排序&#xff0c;然后判斷右端點是否和下個區間的左端點重合&#xff0c;重疊進行合并。3.插入區間&#xff0…

SpringBoot 常用跨域處理方案

1.什么是跨域&#xff1f; 跨域是瀏覽器為了保障安全而遵循的一種規則&#xff0c;是同源策略的一部分。 同源&#xff1a;要求協議、域名、端口三者完全相同。 跨域&#xff1a;只要協議、域名、端口中有任何一個不同&#xff0c;瀏覽器就會判定為跨域請求。 跨域&#xf…

Springboot框架的“上海迪士尼”旅游管理網站設計與開發(代碼+數據庫+LW)

摘 要 隨著旅游行業的不斷發展&#xff0c;特別是主題公園的快速增長&#xff0c;如何通過現代信息技術提升旅游服務質量與管理效率成為了行業的重要課題。上海迪士尼作為中國乃至全球知名的主題公園&#xff0c;其旅游管理網站的設計與開發&#xff0c;不只需要滿足游客對信…

后臺管理系統-16-vue3之動態路由的實現

文章目錄 1 動態路由 1.1 stores/index.js(動態添加路由函數) 1.1.1 獲取菜單數據 1.1.2 動態導入組件 1.1.3 處理菜單項 1.1.4 添加路由 1.1.5 整體代碼 1.2 router/index.js(移除子路由) 1.3 Login.vue(登錄頁面) 2 多賬號bug問題 2.1 問題復現 2.2 解決多賬號路由問題(store…

社群團購平臺與定制開發開源AI智能名片S2B2C商城小程序的融合創新研究

摘要&#xff1a;本文聚焦于社群團購平臺這一在移動互聯網背景下興起的電子商務運營機構&#xff0c;深入剖析其依托移動互聯網滿足消費者多元購物需求的特點。同時&#xff0c;引入定制開發開源AI智能名片S2B2C商城小程序這一關鍵元素&#xff0c;探討二者融合所帶來的創新模式…

模型交互中的會話狀態管理實踐

模型交互中的會話狀態管理實踐 目錄 引言會話狀態的手動管理構建多輪對話消息序列追加歷史響應實現上下文共享API支持的自動會話狀態管理利用 previous_response_id 實現線程式對話模型響應數據保存與計費說明上下文窗口管理與令牌限制令牌計算與窗口溢出風險令牌工具輔助統計…

基于Java+Springboot的船舶運維系統

源碼編號&#xff1a;sy23源碼名稱&#xff1a;基于Springboot的船舶運維系統用戶類型&#xff1a;多角色&#xff0c;船員、維修人員、管理員數據庫表數量&#xff1a;9 張表主要技術&#xff1a;Java、Vue、ElementUl 、SpringBoot、Maven運行環境&#xff1a;Windows/Mac、J…

零基礎也能照做的WordPress網站安全漏洞修復 + 高級優化保姆級教程。

建議先在**暫存環境&#xff08;Staging&#xff09;**演練后再動正式站&#xff0c;避免線上故障。下面第一部分就教你“備份暫存還原演練”。 總覽導航&#xff08;按順序完成&#xff09; 備份與還原演練&#xff08;UpdraftPlus 寶塔/阿里/騰訊/七牛&#xff09;高危加固…

HI3516DV500/HI3519DV500 Docker開發環境配置

目錄一、拉取Ubuntu 18.04 docker鏡像二、查看已有鏡像三、基于鏡像創建容器1. 創建容器2. 退出容器3. 查看容器4. 啟動容器5. 進入容器6. 更新容器內部軟件源四、安裝CANN包1. 安裝基礎依賴環境2. 安裝并配置python 3.7.5配置環境變量安裝vim添加使環境變量生效檢查python版本…

實體店轉型破局之道:新零售社區商城小程序開發重構經營生態

在數字化浪潮的席卷下&#xff0c;實體店經營正經歷著前所未有的變革與挑戰。客戶進店率持續走低、同行競爭白熱化、經營成本不斷攀升、電商平臺沖擊加劇……這些痛點如同達摩克利斯之劍&#xff0c;懸在傳統實體商家的頭頂。然而&#xff0c;危機往往與機遇并存&#xff0c;新…

前端-如何將前端頁面輸出為PDF并打包的壓縮包中

需要引入的依賴&#xff1a;import * as utils from ../../utils/utils import html2canvas from "html2canvas"; import JSZip from "jszip"; import JSPDF from "jspdf"; import FileSaver from "file-saver"import { Loading } fro…

LabVIEW 頻譜分析應用

LabVIEW 頻譜分析程序廣泛應用于聲學、振動、電力電子等領域&#xff0c;用于噪聲頻譜分析、設備故障診斷、電能質量評估等。通過模塊化 VI 組合&#xff0c;可快速搭建 "信號模擬 - 采集&#xff08;或緩存&#xff09;- 頻譜分析 - 結果展示" 完整流程&#xff0c;…

北斗導航 | 基于MCMC粒子濾波的接收機自主完好性監測(RAIM)算法(附matlab代碼)

詳細闡述基于MCMC粒子濾波的接收機自主完好性監測(RAIM)算法的原理、理論和實現方法,并提供完整的MATLAB代碼示例。 1. 原理與理論 1.1 接收機自主完好性監測 (RAIM) 簡介 RAIM是一種完全由GPS接收機內部實現的算法,用于在不依賴外部系統的情況下,監測GPS信號的完好性(…

【機器學習】4 Gaussian models

本章目錄 4 Gaussian models 97 4.1 Introduction 97 4.1.1 Notation 97 4.1.2 Basics 97 4.1.3 MLE for an MVN 99 4.1.4 Maximum entropy derivation of the Gaussian * 101 4.2 Gaussian discriminant analysis 101 4.2.1 Quadratic discriminant analysis (QDA) 102 4.2.2…

Ruoyi-Vue 靜態資源權限鑒權:非登錄不可訪問

一. 背景 移除/profile下靜態資源訪問權限后&#xff0c;富文本等組件中的圖片加載失敗!!! 使用ruoyi-vue3.8.9過程中發現上傳的在ruoyi.profile下的文件未登錄直接使用鏈接就可以訪問下載&#xff0c;感覺這樣不太安全&#xff0c;所以想對其進行鑒權限制&#xff0c;修改為只…