這裡主要介紹一下我自己用povme計算分子動力學軌跡中的蛋白活性口袋的體積的變化。
首先:先將蛋白中的所有的frames按照一定的方式進行align(這裡我用的是阿爾法碳原子作為align的骨架), 將align之後的每乙個frame儲存成pdb的格式。(上面所有的處理過程都是用的amber中的ptraj模組)
其次:建立povme的體積晶格檔案,這個檔案將被用於後面過程中計算每個frame的口袋的體積。
povme的體積晶格檔案建立如下:
a:首先匯入乙個pdb檔案(後面所有的過程均是在vmd軟體中的操作)
選擇乙個活性區域,這個區域必須包含活性口袋部分(這個區域也不能過大,必須在蛋白的邊界之內),在選擇活性區域的時候,我習慣於找到活性中心附近的乙個點,然後在vmd中以vdw的方式顯示,通過增大sphere scale來確定是否包含了活性口袋部分。
b:建立體積晶格檔案
通過定義一些距離相等的點來建立體積晶格檔案,下面是乙個建立體積晶格點的例子(generate_points.ini)
inclusionsphere 定義需要包含的體積,這個命令要取四個引數值,前三個值用於指定球型區域的中心座標,第四個引數用於指定球的半徑,inclusionbox命令取了6個引數值,前三個定義盒子的中心座標,後三個引數分別指定了在x,y,z方向上的盒子的邊長。
為了產生體積晶格檔案,執行下面的命令:
python pvme.py generate_points.ini
執行完命令後會產生乙個名稱為points.pdb的檔案。這個檔案包含了活性口袋附近的點。
c: 去除蛋白原子附近的點
對於每乙個進行align之後的蛋白受體,上一步產生的體積晶格檔案(points.pdb)將會被載入進來,蛋白附近的點系統會自動的進行刪除。下面是乙個輸入檔案的例子(measure_pocket.ini):
padding引數值為1.09是因為這個值為h原子的半徑。我們通過將h原子插入到活性口袋中來測量活性區域的體積。
為了獲得口袋的體積執行下面的命令:
python povme.py measure_pocket.ini > pocket.pdb
輸出檔案pocket.pdb的開頭同樣也會輸出口袋資訊
如果在輸入檔案中加入下面的行:
outputreceptor yes
輸出檔案中也會包含活性口袋附近的原子。
d:選擇性的移除不連續的點
對於那些孤立的點或者是不連續的點可以選擇性的進行移除。可以使用contiguousseedbox命令和contiguousseedsphere命令來定義。當進行體積計算的時候,只有在contiguousseedbox內定義的點才會考慮。
contiguouspointcriterial變數用於定義所指定的點附近的最小數量的連續的點。下面是乙個輸入檔案的例子(measure_pocket_contiguous.ini):
然後執行下面的命令來產生口袋的體積檔案:
神奇的口袋
原題 有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物品。現在的問題是,j...
神奇的口袋
時間限制 1 sec 記憶體限制 32 mb 有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,jo...
神奇的口袋
於牛客考研真題 題目描述 有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物...