本人在做課題時候遇到一個問題,對於分子動力學(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文件就生成啦!