題:
我們如何找到PDB文件中所有殘基之間的距離?
Sara
2017-06-16 18:56:09 UTC
view on stackexchange narkive permalink

如果我們具有PDB結構,我們如何找到在空間上彼此物理相互作用的殘基?我知道我們必須找到殘基之間的距離,如果該距離小於5-6埃,我們就說殘基在物理上相互作用。但是,我們如何找到所有殘基之間的距離以及如何最終確定所有殘基之間的距離?是否有用於該目的的軟件或網絡服務器?

這些交互可能已經在PDB中進行了註釋,請參見[PDB規範](http://www.wwpdb.org/documentation/file-format-content/format33/v3.3.html)中的“連接性”部分和“連接性註釋”部分。 。
您必須為自己定義的一件事是“殘基之間的距離”的含義。你是說最接近的原子對嗎?最接近重原子對嗎? C-alpha之間的距離?確切的機制可能會相似,但是,根據定義,細節和結果將有所不同。
我的意思是C-alpha之間的距離
Ring 2.0 Web服務器(http://protein.bio.unipd.it/ring/)是否足以滿足此目的?
如果有人對使用各種軟件進行距離計算的速度基準測試感興趣,請訪問https://github.com/jgreener64/pdb-benchmarks。該存儲庫中還有每種軟件的示例腳本。
五 答案:
Iakov Davydov
2017-06-16 19:22:18 UTC
view on stackexchange narkive permalink

如果需要處理多個文件,則可以使用 Biopython解析PDB結構。

 來自Bio .PDB導入PDBParser#創建parserparser = PDBParser()#從文件結構= parser中讀取結構.get_structure('PHA-L','1fat.pdb')model = structure [0] chain = model ['A']#此示例僅使用單鏈的第一個殘基。#可以很容易地將其擴展到多個鍊和殘基。對於鏈中的殘基1:對於鏈中的殘基2:如果殘基1!=殘基2:#計算CA原子之間的距離嘗試:距離=殘基1 ['CA']-除KeyError之外的殘渣2 ['CA']:##無CA原子,例如對於H_NAG,如果距離< 6:print(residue1,residual2,distance)#繼續進行,則在第一個殘基斷裂後停止 

如果要查看一個結構,則使用查看器可能會更容易。您可以嘗試 PyMOL :( 如何測量距離)。還有其他PDB查看器,其中一些甚至可以通過瀏覽器使用。

親愛的拉科夫,我安裝了Anaconda和Biopython軟件包,並在PyCharm 5.0中運行了上面的代碼,並得到以下錯誤:
追溯(最近一次通話):文件“ C:/Users/VN7-592/PycharmProjects/untitled/sara.py”,第7行,在<模塊>結構= parser.get_structure('PHA-L','1FAT。 pdb')
文件“ C:\ Users \ VN7-592 \ Desktop \ Anaconda \ lib \ site-packages \ Bio \ PDB \ PDBParser.py”,第81行,位於get_structure中,帶有as_handle(file,mode ='rU')作為句柄:File __enter__中的第17行,“ C:\ Users \ VN7-592 \ Desktop \ Anaconda \ lib \ contextlib.py”返回self.gen.next()文件“ C:\ Users \ VN7-592 \ Desktop \ Anaconda \ lib \ site-packages \ Bio \ File.py“,第88行,位於as_handle中,打開方式(句柄,模式,** kwargs)為fp:IOError:[錯誤2]沒有此類文件或目錄:'1FAT.pdb'
您的工作目錄中沒有1FAT.pdb文件,或者您的操作系統區分大小寫。
但這僅給出了分子間的距離嗎? BioPython忽略了晶體對稱性?通常,要檢查殘基X和Y之間的接觸,需要計算X與Y的最近對稱圖像之間的距離。
TW93
2017-06-16 19:48:10 UTC
view on stackexchange narkive permalink

您可以使用CCP4的NCONT程序嗎?有適合的GUI和命令行界面。您可以指定要定位並與之交互的鏈,並設置距離的截止點。好處是一旦您進入,就可以使用一整套其他結構化工具。

如果只做一次,那麼GUI非常友好,可以解決問題。重新做一個批處理,然後您可以通過命令行在多個文件上運行它。

下載

我已經下載了該程序,但是還不能使用它。我正在嘗試運行它
@Sara您遇到了什麼問題?
它不會錯誤運行。程序說選擇項目名稱,即使我選擇了項目名稱,也要說選擇項目名稱並停止運行
llrs
2017-06-19 16:18:02 UTC
view on stackexchange narkive permalink

作為項目的一部分,我和一些隊友編寫了 script,該腳本輸出了殘基之間距離的可視化圖。它使用Biopython。

contact_map.py模塊可以滿足您的需求。例如,如果要查找CA低於5的殘基,可以運行以下命令:

  python3 contact_map.py pdb1cd8.ent -a CA -CA 5  

這將產生三個文件:

  distance_map_pdb1cd8_CA.png#殘渣之間的距離的熱圖。 log#採取的操作 

如果尚未下載pdb結構,則可以使用主模塊:

  python3 cozmic.py real 1cd8 -a CA -CA 5  
它如何計算距離?僅在不對稱單元內部,還是在晶體(或生物組裝體)中兩個殘基之間的最短距離?
@marcin它計算文件中每個殘基之間的C alpha(或beta,如果您選擇的話)之間的距離。
通常,文件==不對稱單位。如果您想在[生物裝配](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/biological-assemblies)或水晶中找到所有聯繫人,則需要採取對稱性考慮在內。
感謝您的提示,也許您想為這些模塊做出貢獻。
我現在正在研究一個[項目](https://github.com/project-gemmi/gemmi/),將來可能會與Bio.PDB競爭,但今年可能還沒有競爭:-)
我認為Bio.PDB正在積極地進行修改,但是祝您工作順利
Ajasja
2017-06-17 01:09:38 UTC
view on stackexchange narkive permalink

您可以使用 MDtraj。使用Anaconda可以輕鬆安裝該軟件包。

您可以使用以下代碼段獲取相互作用的殘基(摘錄自 http://mdtraj.org/1.6.2/examples/native-contact。 html

  heavy_pairs = np.array([[i,j)for(i,j)組合(heavy,2),如果abs(native.topology.atom( i).residue.index-\ native.topology.atom(j).residue.index)> 3])#計算本機狀態下這些對之間的距離heavy_pairs_distances = md.compute_distances(native [0],heavy_pairs)[0 ]#並獲取對st距離小於NATIVE_CUTOFFnative_contacts = heavy_pairs [heavy_pairs_distances < NATIVE_CUTOFF] print(“本機聯繫人數量”,len(native_contacts)) 
jgreener
2019-09-11 02:28:13 UTC
view on stackexchange narkive permalink
也可以使用Julia中的 BioStructures.jl包找到C-alpha之間的距離:
 使用BioStructuresstruc = read(“ 1AKE.pdb”,PDB )calphas = collectatoms(struc ['A'],calphaselector)dm = DistanceMap(calphas) 

然後 dm [5,10] 得到 12.19677604943208 等。

其他版本也可以使用,請參見 docs



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...