Bio.PDB.SCADIO 模組
SCADIO:撰寫 OpenSCAD 程式以建立蛋白質結構 3D 模型。
由於整體複雜性以及列印時對支撐懸垂區域的一般要求,3D 列印蛋白質結構並非易事。此軟體是產生用於列印的模型(例如 STL 檔案)的一種途徑,並未解決將模型轉換為實體產品的問題。 OpenSCAD <http://www.openscad.org/> 可以從此軟體產生的腳本建立可列印的模型。MeshMixer <http://www.meshmixer.com/>、各種切片軟體以及您可用的 3D 列印機技術提供了各種選項來解決實際渲染模型的問題。
此處產生的模型包含 OpenSCAD 基本幾何圖形,例如球體和圓柱體,代表蛋白質結構明確模型中的個別原子和鍵。好處是可以選擇個別原子/鍵進行與 3D 列印相關的特定列印自訂(例如可旋轉的鍵機制或氫鍵磁鐵)。或者,使用例如 Chimera 將結構渲染為帶狀或類似形狀,以便列印為單一物件。
我建議使用此處提供的 OpenSCAD 腳本產生您的初始模型,然後根據您的需求修改該腳本。變更 atomScale 和 bondRadius 值可以透過移除間隙和相應的支撐需求來簡化模型,或者您可能希望修改 hedronDispatch() 例程,以選擇殘基或鏈段以單獨列印,然後使用可旋轉的鍵連接。在此開發階段,您可能會讓您的版本僅包含此處產生的資料矩陣,方法是使用 includeCode=False 選項來 write_SCAD()。一個使用可旋轉骨幹和磁性氫鍵的範例專案位於 <https://www.thingiverse.com/thing:3957471>。
- Bio.PDB.SCADIO.write_SCAD(entity, file, scale=None, pdbid=None, backboneOnly=False, includeCode=True, maxPeptideBond=None, start=None, fin=None, handle='protein')
將立體裝配件以 OpenSCAD 矩陣的形式寫入檔案。
此例程會同時呼叫
IC_Chain.internal_to_atom_coordinates()
和IC_Chain.atom_to_internal_coordinates()
,原因在於縮放、環周圍的明確鍵以及設定輸出模型的座標空間的要求。輸出資料格式主要為
- 每個立體的矩陣
len1、angle2、len3、原子共價鍵類別、旗標,指出先前立體中表示的原子/鍵(OpenSCAD 在使用冗餘重疊元素時速度非常慢)、鍵功能的旗標
轉換矩陣,將每個立體組裝成殘基二面角集合
每個殘基的轉換矩陣,以便在鏈中定位
此 Python 檔案中包含 OpenSCAD 軟體,以將這些矩陣處理成適用於 3D 列印專案的模型。
- 參數:
entity – Biopython PDB
Structure
實體結構資料,用於匯出file – Bipoython
as_handle()
檔案名稱或開啟的檔案指標,用於寫入資料scale (float) – 每個埃在 STL 輸出中的單位(通常是公釐),寫入輸出
pdbid (str) – PDB idcode,寫入輸出。如果未提供,且實體中未設定「idcode」,則預設為「0PDB」
backboneOnly (bool) – 預設為 False。如果為 True,則不輸出 Cbeta 之後的側鏈資料
includeCode (bool) – 預設為 True。包含 OpenSCAD 軟體(如下列內嵌),以便將輸出檔案載入 OpenSCAD;如果為 False,則僅輸出資料矩陣
maxPeptideBond (float) – 可選預設值為 None。覆寫 IC_Chain 類別中的截止值(預設值為 1.4),以偵測鏈斷裂。如果您的目標有鏈斷裂,請在此處傳遞一個很大的數字,以建立一個跨越斷裂的非常長的「鍵」。
start,fin (int) – 預設值為 None。internal_to_atom_coords() 的參數,用於限制鏈段。
handle (str) – 產生的 OpenSCAD 矩陣結構頂層的預設名稱「protein」
請參閱
IC_Residue.set_flexible()
,以設定特定殘基具有可旋轉鍵的旗標,以及IC_Residue.set_hbond()
,以包含小磁鐵的空腔,使其能作為氫鍵運作。請參閱 <https://www.thingiverse.com/thing:3957471> 以取得實作範例。OpenSCAD 程式碼明確建立球體和圓柱體,以表示 3D 模型中的原子和鍵。可以使用選項來支援可旋轉的鍵和磁性氫鍵。
寫入矩陣以連結、列舉和描述殘基、二面角、立體和鏈,反映相關 IC_* 資料結構的內容。
立體的 OpenSCAD 矩陣具有下列其他資訊
- 記錄原子和鍵的狀態(單鍵、雙鍵、共振)
以便在 3D 模型中使用共價半徑作為原子球體
追蹤鍵和原子,以便每個僅建立一次
- 可以指定用於旋轉和磁鐵支架的鍵選項,用於氫鍵
請注意
Bio.PDB.internal_coords.IC_Chain.MaxPeptideBond
的應用:可以透過將此值設定為較大的值來連結遺失的殘基(用任意長度的鍵連接鏈段)。請注意,這會使用每個殘基的序列組裝,將每個殘基放置在原點,並將座標空間轉換提供給 OpenaSCAD
所有 ALTLOC(無序)殘基和原子都會寫入輸出模型。(請參閱
Bio.PDB.internal_coords.IC_Residue.no_altloc
)