linux命令行并行 linuxshell并行执行( 三 )


更多远程操作参见入门文档 。
--pipe 参数使得我们可以将输入(stdin)分为多块(block),然后分配给多个任务多个cpu以达到负载均衡 , 最后的结果顺序与原始顺序一致 。使用 --block 参数可以指定每块的大?。衔?M 。
如果不关心结果顺序,只想要快速的得到结果,可使用 --round-robin 参数 。没有这个参数时每块文件都会启动一个命令,使用这个参数后会将这些文件块分配给job数任务(通过 --jobs 进行指定) 。若想分配更为均匀还可同时指定 --block 参数 。
参考:
官方文档
GNU Parallel指南
Autodock vina 和MGL tools linux版本操作(命令行操作)蛋白质Edit——加polar H , 加Kollman电荷后,Grid——Macromolecule——choose , 自动保存pro1.pdbqt
配体 Ligand——Input——QuickSetup , 自动保存.out.pdbqt
receptor = clusters_0001_model1.pdbqt
ligand = hypericin.out.pdbqt
center_x = 2.148 (第一个文件可以由Docking——output——Vina生成)
center_y = 3.704
center_z = -2.81
size_x = 74.55(大于30*30*30,要增加exhaustiveness)
size_y = 74.55
size_z = 74.55
out = cluster1_hypericin_out.pdbqt
log = cluster1_hypericin_out.log
exhaustiveness=24(可以多少个CPU设置多少个,并行计算,exhaustiveness控制一个docking过程重复计算多少次 , 越高花时间越长,但也不要设置特别大,也没有意义 , 要在效率和准确度找一个平衡点)
num_modes=30 (不一定输出30个,可能只找到30构象,也有可能被energy_range限制 )
energy_range=6 (kcal/mol)
(柔性残基信息:flex=side_chains.pdbqt)
vina --config config1.txt
用pymol打开cluster1_hypericin_out.pdbqt看结果
以下为详细设置和操作:
1. 首先用MGLtools准备蛋白和小分子linux命令行并行的坐标文件(pdbqt)
蛋白质:加氢(Add all hydrogens or just non-polar hydrogens. Merge non-polar hydrogens and their charges with their parent carbon atom)、计算电荷(Assign partial atomic charges to the ligand and the macromolecule (Gasteiger or Kollman United Atom charges))、添加原子类型、柔性残基信息
1. Edit——加polar H,merge nonpolar(自动)后 ,pdbqt中的原子数会改变,加H的时候 , 可能会重新编号
2.Edit——加Kollman United Atom charges电荷(只能加这个,还可以计算Gasteiger 电荷 , 其值更负),加电荷后 , pdbqt中的电荷会改变
配体分子:加氢、计算电荷、确定root(扭矩中心),选择可旋转的键 (Set up rotatable bonds in the ligand using a graphical version of AutoTors) 。linux命令行并行我直接使用的quick setup 。
Tips:H的位置是任意的 , 仅取决于输入文件;电荷AutoDock Vina ignores the user-supplied partial charges.It has its own way of dealing with the electrostatic interactions through the hydrophobic and the hydrogen bonding terms.
保存pdbqt文件:pro1.pdbqt,pro2.pdbqt,pro3.pdbqt,lig1.pdbqt,lig2.pdbqt , lig3.pdbqt
2. 写参数文件 config.txt
eg. config.txt
receptor = clusters_0001_model1.pdbqt
ligand = hypericin.out.pdbqt
center_x = 2.148
center_y = 3.704
center_z = -2.81
size_x = 74.55(大于30*30*30 , 要增加exhaustiveness)
size_y = 74.55
size_z = 74.55
out = cluster1_hypericin_out.pdbqt
log = cluster1_hypericin_out.log
exhaustiveness=15
num_modes=30 (不一定输出30个,可能只找到30构象,也有可能被energy_range限制 )
energy_range=6
Details:
Input:
--receptor argrigid part of the receptor (PDBQT)
--flex argflexible side chains, if any (PDBQT)

推荐阅读