文章目录
1. 1400个 Polystyrene nanoparticles(PS) 单体的纳米球的来源
通过复现《Polystyrene nanoparticles trigger aberrant condensation of TDP-43 and amyotrophic lateral sclerosis-like symptoms》文章中的1400个 PS 单体的纳米球来学习。
2. 准备PS单体结构文件
在纳米球构建之前,你需要PS(聚苯乙烯)单体的结构文件。可以使用以下两种方式获取:
• 在线数据库:通过在线化学数据库(如PubChem或ChemSpider)下载PS单体的PDB或XYZ格式文件。
• 手动构建:如果没有现成的PS单体结构,可以使用分子建模软件(如Avogadro、ChemDraw或GaussView)创建PS单体的3D结构,并保存为PDB、XYZ或MOL2格式。
这里我在PubChem和ChemSpider上没有找到Polystyrene nanoparticles,但是我在pubchem上找到了结构相似的分子2-Phenyl-2-propanol,因此我决定对其进行改造
![]() | ![]() |
---|---|
论文中的结构式 | 2-Phenyl-2-propanol |
改造后的样子符合论文中的结构式(使用的pymol)
3. 配置PACKMOL输入文件
PACKMOL通过一个输入文件定义分子布局。接下来,创建一个文本文件(如ps_nanoball.inp)来配置PACKMOL的参数。
• PS纳米球的构建思路:我们希望将1400个PS单体分布在一个直径为20纳米的球体内。
• 输入文件示例:
tolerance 2.0
filetype pdb # 指定输入/输出文件格式
output ps_nanoball.pdb # 输出文件名
# 定义纳米球的体积
structure ps_monomer.pdb # PS单体的PDB文件路径
number 1400 # PS单体的数量
inside sphere 0.0 0.0 0.0 10.0 # 在中心(0,0,0)构建直径为20 nm的球(半径10 nm)
end structure
4.运行PACKMOL
packmol < ps_nanoball.inp
运行中的样例,3090运行很久,大概需要3个小时吧
运行成功的样例
5. 检查和优化结构
• 结构检查:使用分子可视化软件(如VMD、PyMOL或Avogadro)打开生成的PDB文件,查看纳米球的形状和结构是否符合预期。
• 优化结构:由于PACKMOL生成的结构只是初始的分子排布,你可能需要进一步优化结构。可以使用分子动力学模拟软件(如Gromacs、LAMMPS或NAMD)进行能量最小化和分子动力学模拟,以优化纳米球的几何形状和分子排列。
• 我使用的是Gromacs,使用Gromacs进行能量最小化示例:
gmx grompp -f em.mdp -c ps_nanoball.pdb -p topol.top -o em.tpr
gmx mdrun -v -deffnm em
这里需要你有你自己的 em.mdp文件(能量最小化的参数文件)和topol.top 文件(在此文件中包含你使用的分子的适当信息和参数),因为这是纳米材料,普通力场里并没收录,应该使用一些外部工具来生成这些小分子的拓扑文件,例如:
• PRODRG:生成 GROMOS 力场的小分子拓扑文件。
• ATB (Automated Topology Builder):生成 AMBER、CHARMM 等力场的小分子拓扑文件。
• GAFF (General AMBER Force Field):如果你使用 AMBER 力场,GAFF 可用于生成小分子拓扑。
em.mdp 文件示例
; Energy minimization
integrator = steep ; Algorithm (steep = steepest descent minimization)
emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm
emstep = 0.01 ; Energy step size
nsteps = 5000 ; Maximum number of (minimization) steps
nstenergy = 100 ; Write energy data every 100 steps
energygrps = System ; Which energy group(s) to write
这里生成拓扑文件我用的ATB网站(需要用学术邮箱注册)
如果没有安装过Gromacs,可以看我这篇文章:手把手教你用linux安装Gromacs(2024 GPU-CUDA)
6.展出讲讲怎么使用ATB
你也可以自己搜索与自己有关的小分子,我这里只是讲解
可以打开看看结构
这里配置你的参数
将参数配置好后打开1,另存为GROMOS_54A7_ATB.lt,会看到
下面那四个选择第一个,优化好的全原子力场文件,保存为1XL4_allatom_optimized_geometry.lt,这个名字取决于什么看下图:
在文件2的中间部分,有这么一部分,用三个顿号区分开来的区域,为moltemplate的输入文件,将其另存为system.lt,要去除每行的#|
中间有两个import,对应于上面提到的两个文件。所有文件准备完成:
之后通过 moltemplate.sh system.lt
命令运行,得到以下文件::
相关的分子data文件在system.data里面,力场参数如bond_coeff,angle_coeff,pair_coeff等参数在system.in.settings里面。ATB这个力场对应的力场函数形式如下:
units real
atom_style full
bond_style harmonic
angle_style harmonic
dihedral_style harmonic
improper_style harmonic
#pair_style lj/cut/coul/cut \$\{cutoff\} # for non-period sims
pair_style lj/cut/coul/long \$\{cutoff\}
kspace_style pppm 0.0001
special_bonds lj 0.0 0.0 0.5 coul 0.0 0.0 1.0 angle yes dihedral yes
7. 展开讲讲怎么安装和使用moltemplate
- 下载安装moltemplate,首先进入官网下载
https://www.moltemplate.org/download.html
或者通过wget下载:
wget https://www.moltemplate.org/downloads/moltemplate_2024-2-11.tar.gz
2. 解压
tar -xzvf moltemplate_2024-2-11.tar.gz
- 安装依赖
cd moltemplate_2024-2-11
python3 setup.py install
- 验证安装
moltemplate.sh --version # 在任意位置输入都可
Error可忽略
之后通过命令 moltemplate.sh system.lt
运行即可
会多出这些文件
8.展出讲讲怎么使用Sobtop生成拓扑文件
为什么要用sobtop?因为我从ATB中上传自己的纳米分子没有反应,emm…
Gromacs无法对小分子配体进行处理生成拓扑文件,这里使用Sob老师开发的处理小分子软件Sobtop,实用简单。
1.先将其他形式的文件转换为.mol2文件:使用文本编辑器打开.mol2文件,将图中位置改成配体名称,并保存;(行数多的可以自己写脚本)
我用的 sed 's/UNK/PS/g' ps_nanoball.mol2 > ps_nanoball_rename.mol2
2. 打开Sobtop,将配体分子ps_nanoball_rename.mol2 路径放进去,并回车;
3. 选择1并回车,生成top文件;
4. 选择3,尽可能使用GAFF力场;
5. 选择0,进入下一步
6. 选择4,如果可能,预先构建成键参数,任意猜测缺少的选项
7. 回车,生成的top文件生成在sobtop软件根目录下
8. 回车,生成的itp位置限制文件在sobtop软件根目录下
9. 选择2,生成gro文件
10. 回车,生成的gro文件在sobtop软件根目录下
11. 回车,退出sobtop软件
12. 处理过后得到ps_nanoball_rename.itp/.gro/.top文件。将这三个文件剪切至工作目录中。
mv ps_nanoball_rename.gro ps_nanoball_rename.itp ps_nanoball_rename.top /mnt/data/zf/packmol/
9. 展开讲讲怎么安装和使用sobtop
Sobtop 官网:http://sobereva.com/soft/Sobtop/#download
或者使用wget:
wget "http://sobereva.com/soft/Sobtop/sobtop_1.0(dev5).zip"
解压
unzip 'sobtop_1.0(dev5).zip'
mv 'sobtop_1.0(dev5)' sobtop_1.0
cd sobtop_1.0
chmod +x sobtop # 赋予sobtop可执行权限
使用
./sobtop # 因为没加入环境变量,必须在sobtop_1.0文件夹下执行,有兴趣的可以自己加
10. 展开讲讲怎么用Charmm-GUI 生成 GROMACS 拓扑文件
对于纳米材料的模拟,常见的分子力场不一定适用于这些系统,因为它们通常是为有机分子或生物分子设计的。纳米材料的原子间相互作用和结构属性比较独特,尤其是当涉及到金属、氧化物、碳基材料(如石墨烯、碳纳米管)等时。因此,选择合适的力场至关重要。因此sobtob并不擅长这个,只能再次更换!
Charmm-GUI 是另一个在线平台,支持生成适合 GROMACS 的拓扑文件,尤其适合分子较大的系统(如纳米材料)。
- 访问网站https://www.charmm-gui.org/
需要先用教育邮箱注册
- 在界面中选择“Input Generator”。
- 上传小分子或者纳米材料的 .pdb 文件。
在等待注册中,让我等24h内。。。 - 选择合适的力场,并指定生成 GROMACS 的输入文件。
- Charmm-GUI 会生成 .top 文件、坐标文件 .gro 以及力场参数文件,可以直接下载并在 GROMACS 中使用
可能遇到的错误
1.错误一
root@ubuntu20:/mnt/data/zf/moltemplate_2024-2-11# python3 setup.py install
running install
running bdist_egg
running egg_info
creating moltemplate.egg-info
writing moltemplate.egg-info/PKG-INFO
writing dependency_links to moltemplate.egg-info/dependency_links.txt
writing entry points to moltemplate.egg-info/entry_points.txt
writing requirements to moltemplate.egg-info/requires.txt
writing top-level names to moltemplate.egg-info/top_level.txt
writing manifest file 'moltemplate.egg-info/SOURCES.txt'
reading manifest file 'moltemplate.egg-info/SOURCES.txt'
writing manifest file 'moltemplate.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/moltemplate
copying moltemplate/nbody_Impropers.py -> build/lib/moltemplate
copying moltemplate/recenter_coords.py -> build/lib/moltemplate
copying moltemplate/bonds_by_type.py -> build/lib/moltemplate
copying moltemplate/remove_duplicate_atoms.py -> build/lib/moltemplate
copying moltemplate/postprocess_transitions.py -> build/lib/moltemplate
copying moltemplate/nbody_graph_search.py -> build/lib/moltemplate
copying moltemplate/raw2data.py -> build/lib/moltemplate
copying moltemplate/ttree.py -> build/lib/moltemplate
copying moltemplate/ettree.py -> build/lib/moltemplate
copying moltemplate/postprocess_coeffs.py -> build/lib/moltemplate
copying moltemplate/lttree.py -> build/lib/moltemplate
copying moltemplate/ttree_render.py -> build/lib/moltemplate
copying moltemplate/nbody_fix_ttree_assignments.py -> build/lib/moltemplate
copying moltemplate/ttree_lex.py -> build/lib/moltemplate
copying moltemplate/dump2data.py -> build/lib/moltemplate
copying moltemplate/nbody_by_type_lib.py -> build/lib/moltemplate
copying moltemplate/nbody_Angles.py -> build/lib/moltemplate
copying moltemplate/__init__.py -> build/lib/moltemplate
copying moltemplate/nbody_Dihedrals.py -> build/lib/moltemplate
copying moltemplate/ettree_styles.py -> build/lib/moltemplate
copying moltemplate/extract_lammps_data.py -> build/lib/moltemplate
copying moltemplate/nbody_reorder_atoms.py -> build/lib/moltemplate
copying moltemplate/ordereddict.py -> build/lib/moltemplate
copying moltemplate/genpoly_modify_lt.py -> build/lib/moltemplate
copying moltemplate/genpoly_lt.py -> build/lib/moltemplate
copying moltemplate/lttree_postprocess.py -> build/lib/moltemplate
copying moltemplate/ttree_matrix_stack.py -> build/lib/moltemplate
copying moltemplate/charge_by_bond.py -> build/lib/moltemplate
copying moltemplate/interpolate_curve.py -> build/lib/moltemplate
copying moltemplate/nbody_Bonds.py -> build/lib/moltemplate
copying moltemplate/lttree_styles.py -> build/lib/moltemplate
copying moltemplate/ltemplify.py -> build/lib/moltemplate
copying moltemplate/amber2lt.py -> build/lib/moltemplate
copying moltemplate/extract_espresso_atom_types.py -> build/lib/moltemplate
copying moltemplate/nbody_by_type.py -> build/lib/moltemplate
copying moltemplate/postprocess_input_script.py -> build/lib/moltemplate
copying moltemplate/remove_duplicates_nbody.py -> build/lib/moltemplate
copying moltemplate/mol22lt.py -> build/lib/moltemplate
copying moltemplate/renumber_DATA_first_column.py -> build/lib/moltemplate
copying moltemplate/pdbsort.py -> build/lib/moltemplate
copying moltemplate/lttree_check.py -> build/lib/moltemplate
creating build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/opls_imp.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/angles_nosym.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/cenJswapIL.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/dihedrals_nosym.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/cenIswapJK.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/gaff_imp.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/cenIsortJKL.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/cenJsortIKL.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/__init__.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/impropers_nosym.py -> build/lib/moltemplate/nbody_alt_symmetry
copying moltemplate/nbody_alt_symmetry/bonds_nosym.py -> build/lib/moltemplate/nbody_alt_symmetry
creating build/lib/moltemplate/scripts
copying moltemplate/scripts/cleanup_moltemplate.sh -> build/lib/moltemplate/scripts
copying moltemplate/scripts/emoltemplate.sh -> build/lib/moltemplate/scripts
copying moltemplate/scripts/molc.sh -> build/lib/moltemplate/scripts
copying moltemplate/scripts/moltemplate.sh -> build/lib/moltemplate/scripts
copying moltemplate/scripts/pdb2crds.awk -> build/lib/moltemplate/scripts
creating build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_1983_oplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_amber.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/graphene_rectangular.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_hybrid.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/sdk.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/drymartini.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/martini.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_ice_rect8.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_2004_hybrid.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_oplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip5p_oplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/graphene.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_ice_rect16.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3f_1987_oplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_1983_charmm.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spc_oplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/gaff.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_more_comments.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/compass_published.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/oplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/gaff2.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/dreiding.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_1983_charmm_hybrid.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/cooke_deserno_lipid.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/graphite.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_1983_hybrid.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_ice_rect32.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/spce_dreiding.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/trappe1998.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/watmw.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/loplsaa.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_1983.lt -> build/lib/moltemplate/force_fields
copying moltemplate/force_fields/tip3p_2004.lt -> build/lib/moltemplate/force_fields
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_Impropers.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/recenter_coords.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/bonds_by_type.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/remove_duplicate_atoms.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/postprocess_transitions.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_graph_search.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/raw2data.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ttree.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ettree.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/postprocess_coeffs.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/lttree.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ttree_render.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_fix_ttree_assignments.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ttree_lex.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/dump2data.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_by_type_lib.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_Angles.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/__init__.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_Dihedrals.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ettree_styles.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/extract_lammps_data.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_reorder_atoms.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ordereddict.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/genpoly_modify_lt.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/genpoly_lt.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/lttree_postprocess.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ttree_matrix_stack.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/charge_by_bond.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/interpolate_curve.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_Bonds.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/lttree_styles.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/ltemplify.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/amber2lt.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/extract_espresso_atom_types.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/nbody_by_type.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/postprocess_input_script.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/remove_duplicates_nbody.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/mol22lt.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/renumber_DATA_first_column.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/pdbsort.py -> build/bdist.linux-x86_64/egg/moltemplate
copying build/lib/moltemplate/lttree_check.py -> build/bdist.linux-x86_64/egg/moltemplate
creating build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/opls_imp.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/angles_nosym.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/cenJswapIL.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/dihedrals_nosym.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/cenIswapJK.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/gaff_imp.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/cenIsortJKL.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/cenJsortIKL.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/__init__.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/impropers_nosym.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
copying build/lib/moltemplate/nbody_alt_symmetry/bonds_nosym.py -> build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry
creating build/bdist.linux-x86_64/egg/moltemplate/scripts
copying build/lib/moltemplate/scripts/cleanup_moltemplate.sh -> build/bdist.linux-x86_64/egg/moltemplate/scripts
copying build/lib/moltemplate/scripts/emoltemplate.sh -> build/bdist.linux-x86_64/egg/moltemplate/scripts
copying build/lib/moltemplate/scripts/molc.sh -> build/bdist.linux-x86_64/egg/moltemplate/scripts
copying build/lib/moltemplate/scripts/moltemplate.sh -> build/bdist.linux-x86_64/egg/moltemplate/scripts
copying build/lib/moltemplate/scripts/pdb2crds.awk -> build/bdist.linux-x86_64/egg/moltemplate/scripts
creating build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_1983_oplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_amber.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/graphene_rectangular.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_hybrid.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/sdk.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/drymartini.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/martini.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_ice_rect8.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_2004_hybrid.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_oplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip5p_oplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/graphene.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_ice_rect16.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3f_1987_oplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_1983_charmm.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spc_oplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/gaff.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_more_comments.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/compass_published.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/oplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/gaff2.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/dreiding.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_1983_charmm_hybrid.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/cooke_deserno_lipid.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/graphite.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_1983_hybrid.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_ice_rect32.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/spce_dreiding.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/trappe1998.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/watmw.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/loplsaa.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_1983.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
copying build/lib/moltemplate/force_fields/tip3p_2004.lt -> build/bdist.linux-x86_64/egg/moltemplate/force_fields
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_Impropers.py to nbody_Impropers.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/recenter_coords.py to recenter_coords.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/bonds_by_type.py to bonds_by_type.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/remove_duplicate_atoms.py to remove_duplicate_atoms.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/postprocess_transitions.py to postprocess_transitions.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_graph_search.py to nbody_graph_search.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/raw2data.py to raw2data.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ttree.py to ttree.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ettree.py to ettree.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/postprocess_coeffs.py to postprocess_coeffs.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/lttree.py to lttree.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ttree_render.py to ttree_render.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_fix_ttree_assignments.py to nbody_fix_ttree_assignments.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ttree_lex.py to ttree_lex.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/dump2data.py to dump2data.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_by_type_lib.py to nbody_by_type_lib.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_Angles.py to nbody_Angles.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_Dihedrals.py to nbody_Dihedrals.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ettree_styles.py to ettree_styles.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/extract_lammps_data.py to extract_lammps_data.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_reorder_atoms.py to nbody_reorder_atoms.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ordereddict.py to ordereddict.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/genpoly_modify_lt.py to genpoly_modify_lt.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/genpoly_lt.py to genpoly_lt.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/lttree_postprocess.py to lttree_postprocess.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ttree_matrix_stack.py to ttree_matrix_stack.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/charge_by_bond.py to charge_by_bond.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/interpolate_curve.py to interpolate_curve.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_Bonds.py to nbody_Bonds.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/lttree_styles.py to lttree_styles.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/ltemplify.py to ltemplify.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/amber2lt.py to amber2lt.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/extract_espresso_atom_types.py to extract_espresso_atom_types.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_by_type.py to nbody_by_type.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/postprocess_input_script.py to postprocess_input_script.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/remove_duplicates_nbody.py to remove_duplicates_nbody.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/mol22lt.py to mol22lt.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/renumber_DATA_first_column.py to renumber_DATA_first_column.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/pdbsort.py to pdbsort.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/lttree_check.py to lttree_check.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/opls_imp.py to opls_imp.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/angles_nosym.py to angles_nosym.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/cenJswapIL.py to cenJswapIL.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/dihedrals_nosym.py to dihedrals_nosym.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/cenIswapJK.py to cenIswapJK.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/gaff_imp.py to gaff_imp.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/cenIsortJKL.py to cenIsortJKL.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/cenJsortIKL.py to cenJsortIKL.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/impropers_nosym.py to impropers_nosym.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/moltemplate/nbody_alt_symmetry/bonds_nosym.py to bonds_nosym.cpython-38.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
installing scripts to build/bdist.linux-x86_64/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/scripts-3.8
copying moltemplate/scripts/moltemplate.sh -> build/scripts-3.8
copying moltemplate/scripts/cleanup_moltemplate.sh -> build/scripts-3.8
copying moltemplate/scripts/molc.sh -> build/scripts-3.8
copying moltemplate/scripts/pdb2crds.awk -> build/scripts-3.8
copying moltemplate/scripts/emoltemplate.sh -> build/scripts-3.8
creating build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-3.8/moltemplate.sh -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-3.8/cleanup_moltemplate.sh -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-3.8/molc.sh -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-3.8/pdb2crds.awk -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-3.8/emoltemplate.sh -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/moltemplate.sh to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/cleanup_moltemplate.sh to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/molc.sh to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/pdb2crds.awk to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/emoltemplate.sh to 775
copying moltemplate.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying moltemplate.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying moltemplate.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying moltemplate.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying moltemplate.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying moltemplate.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying moltemplate.egg-info/zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
creating dist
creating 'dist/moltemplate-2.20.20-py3.8.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing moltemplate-2.20.20-py3.8.egg
Copying moltemplate-2.20.20-py3.8.egg to /usr/local/lib/python3.8/dist-packages
Adding moltemplate 2.20.20 to easy-install.pth file
Installing cleanup_moltemplate.sh script to /usr/local/bin
Installing emoltemplate.sh script to /usr/local/bin
Installing molc.sh script to /usr/local/bin
Installing moltemplate.sh script to /usr/local/bin
Installing pdb2crds.awk script to /usr/local/bin
Installing bonds_by_type.py script to /usr/local/bin
Installing charge_by_bond.py script to /usr/local/bin
Installing dump2data.py script to /usr/local/bin
Installing ettree.py script to /usr/local/bin
Installing extract_espresso_atom_types.py script to /usr/local/bin
Installing extract_lammps_data.py script to /usr/local/bin
Installing genpoly_lt.py script to /usr/local/bin
Installing genpoly_modify_lt.py script to /usr/local/bin
Installing interpolate_curve.py script to /usr/local/bin
Installing ltemplify.py script to /usr/local/bin
Installing lttree.py script to /usr/local/bin
Installing lttree_check.py script to /usr/local/bin
Installing lttree_postprocess.py script to /usr/local/bin
Installing mol22lt.py script to /usr/local/bin
Installing nbody_by_type.py script to /usr/local/bin
Installing nbody_fix_ttree_assignments.py script to /usr/local/bin
Installing nbody_reorder_atoms.py script to /usr/local/bin
Installing pdbsort.py script to /usr/local/bin
Installing postprocess_coeffs.py script to /usr/local/bin
Installing postprocess_input_script.py script to /usr/local/bin
Installing raw2data.py script to /usr/local/bin
Installing recenter_coords.py script to /usr/local/bin
Installing remove_duplicate_atoms.py script to /usr/local/bin
Installing remove_duplicates_nbody.py script to /usr/local/bin
Installing renumber_DATA_first_column.py script to /usr/local/bin
Installing ttree.py script to /usr/local/bin
Installing ttree_render.py script to /usr/local/bin
Installed /usr/local/lib/python3.8/dist-packages/moltemplate-2.20.20-py3.8.egg
Processing dependencies for moltemplate==2.20.20
Searching for numpy
Reading https://pypi.org/simple/numpy/
Downloading https://files.pythonhosted.org/packages/59/5f/9003bb3e632f2b58f5e3a3378902dcc73c5518070736c6740fe52454e8e1/numpy-2.1.1.tar.gz#sha256=d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd
Best match: numpy 2.1.1
Processing numpy-2.1.1.tar.gz
error: Couldn't find a setup script in /tmp/easy_install-60v1qrs3/numpy-2.1.1.tar.gz
原因:numpy 包的安装过程无法找到 setup.py 脚本
解决方法:
sudo apt-get install python3-pip # 如果你使用的是 Ubuntu 或其他基于 Debian 的系统
之后再 python3 setup.py install
成功界面
2. 错误二
-1 Select method for deriving rigid parameters: mSeminario
0 Exit program
1 Generate GROMACS topology file
2 Generate GROMACS .gro file
3 Generate GROMACS .rtp file
4 Generate .gjf file (for visualizing connectivity in GaussView)
5 Derive rigid parameter for specific bond/angle/dihedral
6 Derive rigid parameters for all bonds, angles and dihedrals
7 Assign atomic charges
10 Other functions
1
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
sobtop 0000000001275B93 Unknown Unknown Unknown
libpthread-2.31.s 00007F9B839FD420 Unknown Unknown Unknown
sobtop 000000000044A3CF Unknown Unknown Unknown
sobtop 0000000000424781 Unknown Unknown Unknown
sobtop 0000000000422322 Unknown Unknown Unknown
libc-2.31.so 00007F9B8381B083 __libc_start_main Unknown Unknown
sobtop 0000000000422229 Unknown Unknown Unknown
原因:大多数情况是由数组越界导致,排除该因素后,考虑到可能是因为Linux系统默认的堆栈过小导致StackOverflow,使用命令:
ulimit -s unlimited
取消堆栈限制后,程序可正常运行。
若要令其永久生效,需要在/etc/security/limits.conf 中加上:
* soft stack unlimited
* hard stack unlimited
在/etc/pam.d/login文件中加上:
session required /lib/security/pam_limits.so
最后重启终端即可。
输入1后成功进行下一步