超過10000個原子的pdb文件通過MKTOP轉換爲top文件的解決辦法

本人在做課題時候遇到一個問題,對於分子動力學(MD)把文件轉換成gromacs可用文件時:

我們用某些軟件生成PDF文件,但如果超過10000個原子,那麼生成的PDF文件關於鍵連接的時候,會連結在一起

我們想要通過MKTOP文件轉換PDB爲TOP,從而通過gromacs跑程序,我們必須的做一些修改。否則直接報錯爲

You said we could use PDB Conect information (default choice) but we did not find information for atom 10000.

研究了一下源代碼,人家是通過空格分離數字的,所以會報錯

(1)把所有的數字後面加入空格

(2)我們加入空格之後,如果直接放入到MKTOP中運行,那肯定報錯:

Defining bond orders for alkene carbons...
Defining bonded terms...

Illegal division by zero at ./mktop_2.2.1.pl line 2770, <FF> line 1309.

分析源代碼可知,這個原因是2770行的除數爲0,爲啥,因爲我們只有一條鍵連接的原子後面有空格,然後默認第三個值爲0了

(3)去除空格,通過CTRL+F,然後選擇替換,在 “查找目標” 上面輸入: \r\n

“替換爲" 輸入:\r\n

注意,在查找目標中\r\n最前面多一個空格,替換爲裏面沒有空格!!!!!!

查找模式爲拓展,勾上選區範圍內,之後手動選中10000以後的那些CONECT,一口氣替換掉所有

接下來,放入LINUX中運行把,肯定不會出錯了!

PS:不要忘記,可能在第10000個原子的前面會有一個額外的原子需要手動的加個或減一個空格哈!

最後,用vim去除裏面的^M,打開用MKTOP生成的文件,然後輸入" :%s/^M//g " ,這裏面的^M,必須使用鍵盤按CTRL+v,然後按CTRL+M輸入,這樣TOP文件就生成啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章