pyCADD.Dynamic package
Submodules
pyCADD.Dynamic.analysis module
pyCADD.Dynamic.cli module
pyCADD.Dynamic.common module
- class pyCADD.Dynamic.common.Analyzer(traj_file_path: str | None = None, comsolvated_topfile_path: str | None = None, com_topfile_path: str | None = None, receptor_topfile_path: str | None = None, ligand_topfile_path: str | None = None, mdout_file_path: str | None = None)[source]
Bases:
object
MD模拟轨迹分析器
- calc_hbond(mask: str = ':*', distance: float = 3.0, angle: float = 135.0, options: str | None = None, **kwargs) None [source]
检测并追踪 Hbond 键长、键角
Parameters
- maskstr
指定原子间的Amber mask 默认为自动识别 cutoff < distance 的原子
- optionsstr
- Hbond计算选项 默认为
avgout OUTPUTFILE 输出氢键平均信息文件 printatomnum 打印原子序号 nointramol 仅计算分子间氢键
- calc_rmsd(mask: str = '@CA', ref: int = 0, **kwargs) None [source]
计算RMSD
Parameters
- maskstr
计算RMSD的Amber mask
- refint
参考轨迹索引号 默认第一帧0
- calc_rmsf(mask: str = '@CA', options: str = 'byres', **kwargs) None [source]
计算RMSF
Parameters
- maskstr
计算RMSF的Amber mask
- optionsstr
RMSF计算选项 默认byres
- creat_energy_inputfile(start_frame: int, end_frame: int, job_type: Literal['free', 'entropy', 'decomp'], method: Literal['pb/gbsa', 'gbsa'] | None = None, interval: int = 10) None [source]
创建能量计算任务输入文件
Parameters
- job_typestr
能量计算任务类型 free : 自由能计算(MM-PB/GBSA) entropy : 熵计算(normal mode) decomp : 能量分解
- methodstr
计算方法 pb/gbsa : MM-PB/GBSA gbsa : MM-GBSA only
- start_frameint
计算分析起始帧索引号
- end_frameint
计算分析结束帧索引号
- intervalint
计算分析帧间隔 默认为10
- extract_frame(frame: int, **kwargs) None [source]
提取指定帧 帧索引开始于0 结束于最大帧数量-1
Parameters
- frameint
提取帧索引号
- extract_frames(start: int, end: int, **kwargs) None [source]
提取指定帧范围 帧索引开始于0 结束于最大帧数量-1
Parameters
- startint
开始帧索引号
- endint
结束帧索引号
- load_topfile(comsolvated_topfile_path: str | None = None, com_topfile_path: str | None = None, receptor_topfile_path: str | None = None, ligand_topfile_path: str | None = None) None [source]
- load_traj(traj_file_path: str, top_file_path: str) None [source]
加载轨迹文件
Parameters
- traj_file_pathstr
轨迹文件路径
- top_file_pathstr
拓扑文件路径
- run_energy_calc(output_file: str | None = None, decom_output_file: str | None = None, cpu_num: int | None = None, input_file: BaseFile | None = None) None [source]
运行能量计算任务
Parameters
- output_filestr
输出文件路径
- decom_output_filestr
能量分解输出文件路径(仅执行能量分解有效)
- cpu_numint
计算使用的CPU数量
- input_fileBaseFile
能量计算任务输入文件 默认为creat_energy_inputfile建立的文件
- class pyCADD.Dynamic.common.Processor(apo: bool = False)[source]
Bases:
object
为分子动力学模拟执行预处理
- add_heat_process(tgt_temp: float = 300.0, heat_step: int = 9000, total_step: int = 10000, step_length: float = 0.002, process_name: str = 'heat', **kwargs)[source]
在工作流中添加加热步骤
Parameters
- tgt_tempfloat
加热目标温度(K), 默认300.0K
- heat_stepint, optional
加热步数, 默认9000
- total_stepint, optional
总加热阶段步数, 默认10000
- step_lengthfloat, optional
步长, 默认0.002 ps
- process_namestr, optional
工作流步骤名称, 默认为heat
- add_minimize_process(maxcyc: int = 10000, ncyc: int = 5000, process_name: str = 'minimize', restraint: bool = False, restraint_mask: str | None = None, **kwargs) None [source]
在工作流中添加能量最小化步骤
Parameters
- maxcycint, optional
最大迭代次数, 默认10000
- ncycint, optional
前ncyc步使用最速下降法, 之后使用共轭梯度法, 默认5000
- process_namestr, optional
工作流步骤名称, 默认为minimize.
- restraintbool, optional
是否添加约束, 默认为False.
- restraint_maskstr, optional
约束原子的Amber Mask, 启用restraint时必须指定.
- **kwargsdict
其他参数, 传入到Minimize InputFile中
- add_npt_process(total_step: int = 50000000, step_length: float = 0.002, process_name: str = 'npt', is_production: bool = False, **kwargs)[source]
在工作流中添加NPT步骤
Parameters
- step_numint, optional
步数, 默认50000000, 100ns
- step_lengthfloat, optional
步长, 默认0.002 ps
- process_namestr, optional
工作流步骤名称, 默认为npt
- add_nvt_process(total_step: int = 500000, step_length: float = 0.002, process_name: str = 'nvt', is_production: bool = False, **kwargs)[source]
在工作流中添加NVT步骤
Parameters
- total_stepint, optional
MD步骤步数, 默认50000000
- step_lengthfloat, optional
MD步骤步长, 默认0.002
- process_namestr, optional
工作流步骤名称, 默认为nvt
- is_productionbool, optional
该NVT步骤是否为生产步骤, 默认为False
- **kwargsdict
其他参数, 传入到NVT InputFile中
- add_process(input_file: BaseFile | str, process_name: str | None = None, _type: str | None = None, _obj: MDProcess | None = None, **kwargs) None [source]
在工作流中添加单个步骤(Minimize, NVT, NPT, etc.)
Parameters
- input_fileBaseFile | str
MD步骤输入文件(或路径)
- process_namestr, optional
工作流步骤名称, 默认为输入文件名
- _typestr, optional
工作流步骤类型, 默认为None, 可选值为minimize, nvt, npt
- _objMDProcess, optional
工作流步骤对象, 默认为None, 可选值为MinimizeProcess, NVTProcess, NPTProcess, 优先级高于_type
- **kwargsdict
其他参数, 写入输入文件并赋值至MDProcess属性中
- static cover_to_pdb(file_path: str) None [source]
将mae结构文件转换为pdb格式
Parameters
- file_pathstr
mae结构文件路径
- creat_heat_input(tgt_temp: float = 300.0, heat_step: int = 9000, total_step: int = 10000, step_length: float = 0.002, file_name: str | None = None, restraint_wt: float | None = None, restraint_mask: str | None = None) BaseFile [source]
创建体系加热阶段输入文件
Parameters
- tgt_tempfloat, optional
目标温度, 默认300.0
- heat_stepint, optional
加热步数, 默认9000
- total_stepint, optional
总步数, 默认10000
- step_lengthfloat, optional
步长, 默认0.002 ps
- file_namestr, optional
输入文件名, 默认heat.in
- restraint_wtfloat, optional
约束力常数, 默认为None, 不使用约束
- restraint_maskstr, optional
约束原子的Amber Mask, 启用restraint时必须指定.
Returns
- BaseFile
加热阶段输入文件对象
- creat_minimize_input(maxcyc: int = 10000, ncyc: int = 5000, cut: float = 8.0, restraint: bool = False, restraint_mask: str | None = None, restraint_wt: float = 2.0, file_name: str | None = None, **kwargs) BaseFile [source]
创建能量最小化阶段输入文件
Parameters
- maxcycint, optional
最大迭代次数, 默认10000
- ncycint, optional
前ncyc步使用最速下降法, 之后使用共轭梯度法, 默认5000
- cutfloat, optional
非势能截断距离, 默认8.0
- restraintbool, optional
是否使用约束, 默认False
- restraint_maskstr, optional
约束原子的Amber Mask, 启用restraint时必须指定.
- restraint_wtfloat, optional
约束力常数, 默认2.0.
- file_namestr, optional
输入文件名, 默认minimize.in
- **kwargsdict
其他参数, 传入到InputFile中
Returns
- BaseFile
能量最小化输入文件对象
- creat_npt_input(temp0: float = 300.0, total_step: int = 50000000, step_length: float = 0.002, irest: int = 1, ntx: int = 5, taup: float = 2.0, file_name: str | None = None, **kwargs) BaseFile [source]
创建NPT阶段输入文件
Parameters
- temp0float, optional
初始温度, 默认300.0
- total_stepint, optional
总步数, 默认50000000, 100ns
- step_lengthfloat, optional
步长, 默认0.002 ps
- irestint, optional
重启标志, 默认1
- ntxint, optional
坐标文件输入标志, 默认5
- taupfloat, optional
压强控制时间, 默认2.0 ps
- file_namestr, optional
输入文件名, 默认npt.in
Returns
- BaseFile
NPT阶段输入文件对象
- creat_nvt_input(temp0: float = 300.0, total_step: int = 500000, step_length: float = 0.002, irest: int = 1, ntx: int = 5, file_name: str | None = None, **kwargs) BaseFile [source]
创建NVT阶段输入文件
Parameters
- temp0float, optional
初始温度, 默认300.0
- total_stepint, optional
总步数, 默认500000, 1ns
- step_lengthfloat, optional
步长, 默认0.002 ps
- file_namestr, optional
输入文件名, 默认nvt.in
- irestint, optional
重启标志, 默认1
- ntxint, optional
坐标文件输入标志, 默认5
- **kwargsdict
其他参数, 传入到NVT InputFile中
Returns
- BaseFile
NVT阶段输入文件对象
- leap_prepare(prefix: str | None = None, box_size: float = 12.0, **kwargs) None [source]
创建leap输入文件 并执行tleap命令
Parameters
- prefixstr
leap生成文件前缀 PDBID或其他 None则为当前日期
- load_frcmod_file(file_path: str) None [source]
为Processor载入其他方法生成的配体分子参数frcmod文件
Parameters
- file_pathstr
.frcmod 文件路径
- load_processed_molfile(molfile_path: str) None [source]
为Processor载入其他方法生成的配体分子文件
Parameters
- molfile_pathstr
文件路径
- load_processed_profile(profile_path: str) None [source]
为Processor载入其他方法生成的蛋白结构文件
Parameters
- profile_pathstr
文件路径
- molecule_prepare(molecule_file_path: str, charge: int = 0, multiplicity: int = 1, cpu_num: int | None = None, solvent: str = 'water', overwrite: bool = False, method: str = 'resp', keep_origin_cood: bool = False) None [source]
为动力学模拟执行小分子结构预处理
Parameters
- molecule_file_pathstr
分子结构文件路径
- chargeint
电荷数 默认为0
- multiplicityint
自旋多重度 默认为1
- cpu_numint
计算核数 默认为CPU核数
- solventstr
计算RESP电荷时液相的溶剂 默认为water
- overwritebool
是否覆盖已存在的文件 默认为False
- methodstr
计算方法 默认为resp电荷 option: resp, bcc
- keep_origin_coodbool, optional
是否在输出结构中保留原始坐标(计算RESP时) 而不使用高斯结构优化的坐标 默认为False
pyCADD.Dynamic.core module
- class pyCADD.Dynamic.core.BaseProcess(input_file: BaseFile, process_name: str, **kwargs)[source]
Bases:
object
- class pyCADD.Dynamic.core.MDProcess(input_file: BaseFile, process_name: str, **kwargs)[source]
Bases:
BaseProcess
- class pyCADD.Dynamic.core.MinimizeProcess(input_file: BaseFile, process_name: str, **kwargs)[source]
Bases:
MDProcess
- class pyCADD.Dynamic.core.NPTProcess(input_file: BaseFile, process_name: str, is_production: bool = False, **kwargs)[source]
Bases:
MDProcess
- class pyCADD.Dynamic.core.NVTProcess(input_file: BaseFile, process_name: str, is_production: bool = False, **kwargs)[source]
Bases:
MDProcess
- pyCADD.Dynamic.core.leap_prepare(prefix: str, ligand_file: BaseFile, frcmod_file: BaseFile, protein_file: BaseFile, box_size: float = 12.0, save_dir: str | None = None) None [source]
创建LEaP输入文件并执行tleap命令
Parameters
- prefixstr
生成文件的文件名前缀
- ligand_fileBaseFile
小分子文件
- frcmod_fileBaseFile
Amber Parameters文件
- protein_fileBaseFile
蛋白质PDB文件
- box_sizefloat, optional
水箱大小 默认为12.0 Angstrom
- save_dirstr, optional
保存路径 默认为当前目录
- pyCADD.Dynamic.core.leap_prepare_for_apo(prefix: str, protein_file: BaseFile, box_size: float = 12.0, save_dir: str | None = None) None [source]
创建Apo晶体的LEaP输入文件并执行tleap命令
Parameters
- prefixstr
生成文件的文件名前缀
- protein_fileBaseFile
蛋白质PDB文件
- box_sizefloat, optional
水箱大小 默认为12.0 Angstrom
- save_dirstr, optional
保存路径 默认为当前目录
- pyCADD.Dynamic.core.molecule_prepare_bcc(ligand_file: BaseFile, charge: int, save_dir: str | None = None, overwrite: bool = False) tuple [source]
使用AM1-BCC快速计算原子电荷 并完成配体预处理
Parameters
- ligand_fileBaseFile
小分子文件
- chargeint
电荷数
- save_dirstr, optional
保存路径 过程及结果文件保存至该目录 如为None则保存至当前目录
- overwritebool, optional
是否覆盖已存在的mol2结果文件 默认为False
- pyCADD.Dynamic.core.molecule_prepare_resp2(ligand_file: BaseFile, cpu_num: int | None = None, charge: int | None = None, multiplicity: int | None = None, solvent: str | None = None, save_dir: str | None = None, overwrite: bool = False, keep_origin_cood: bool = False) tuple [source]
- 预处理小分子文件
高斯坐标优化与RESP2(0.5)电荷计算
Parameters
- ligand_fileBaseFile
小分子文件
- cpu_numint, optional
CPU数量 默认为CPU总数
- chargeint, optional
电荷数 默认为电荷数为0
- multiplicityint, optional
自旋多重度 默认为复数为1
- solventstr, optional
计算溶剂 默认为水
- save_dirstr, optional
保存路径 过程及结果文件保存至该目录 如为None则保存至当前目录
- overwritebool, optional
是否覆盖已存在文件 默认为False
- keep_origin_coodbool, optional
是否在输出结构中保留原始坐标 而不使用高斯结构优化的坐标 默认为False
Returns
- BaseFile, BaseFile
已计算电荷的mol2文件, frcmod文件
- pyCADD.Dynamic.core.protein_prepare(protein_file: BaseFile, save_dir: str | None = None, keep_water: bool = False) BaseFile [source]
- 预处理蛋白质PDB文件
PDB文件格式化 for Amber | 去除原生H原子 | 使用rudece添加H原子 | 再次格式化
Parameters
- protein_fileBaseFile
蛋白质PDB文件
- save_dirstr, optional
保存路径 过程及结果文件保存至该目录 如为None则保存至当前目录
- keep_waterbool, optional
是否保留输入结构中的水分子, 默认为 False
Returns
- str
处理完成的蛋白质PDB文件
pyCADD.Dynamic.template module
- class pyCADD.Dynamic.template.AnalysisConstructor(state_dict: dict, type: Literal['general', 'gb', 'pb', 'decomp', 'nmode'], title: str | None = None)[source]
Bases:
BaseConstructor
- class pyCADD.Dynamic.template.BaseConstructor(state_dict: dict)[source]
Bases:
ABC
- get_state_dict() dict [source]
Return the current state of the constructor as a dict.
Returns
- dict
Current state of the constructor.
- class pyCADD.Dynamic.template.HeatInput(tgt_temperature: float = 300.0, heat_step: int = 9000, total_step: int = 10000, step_length: float = 0.002, restraint_wt: float | None = None, restraintmask: str | None = None)[source]
Bases:
object
- HEAT_TEMPLATE = {'ISTEP1': 0, 'ISTEP2': 9000, 'TYPE': "'TEMP0'", 'VALUE1': 0.0, 'VALUE2': 300.0}
- class pyCADD.Dynamic.template.LeapConstructor(state_dict: dict)[source]
Bases:
BaseConstructor
- property base_template: str
Return the base template of the LEaP file.
- class pyCADD.Dynamic.template.LeapInput(protein_file_path: str, ligand_file_path: str | None = None, frcmod_file_path: str | None = None, file_prefix: str | None = None, box_size: float = 12.0, box_type: str = 'TIP3PBOX', add_ions_type: str = 'Na+', **kwargs)[source]
Bases:
LeapConstructor
- class pyCADD.Dynamic.template.MMGBSAInput(start_frame: int, end_frame: int, step_size: int = 1)[source]
Bases:
object
- class pyCADD.Dynamic.template.MinimizeInput(title: str | None = None, **kwargs)[source]
Bases:
SimulationConstructor
- class pyCADD.Dynamic.template.MultiConstructorManager(constructor_list: list | None = None)[source]
Bases:
object
- add_constructor(constructor: BaseConstructor) None [source]
- del_constructor(constructor: BaseConstructor) None [source]
- class pyCADD.Dynamic.template.NPTInput(end_cfg: bool = True, title: str | None = None, **kwargs)[source]
Bases:
SimulationConstructor
- class pyCADD.Dynamic.template.NVTInput(end_cfg: bool = True, title: str | None = None, **kwargs)[source]
Bases:
SimulationConstructor
- class pyCADD.Dynamic.template.RestrainedMinimizeInput(restraintmask: str, restraint_wt=2.0, title: str | None = None, **kwargs)[source]
Bases:
SimulationConstructor
- class pyCADD.Dynamic.template.SimulationConstructor(state_dict: dict, type: Literal['cntrl', 'wt'], end_cfg: bool = True, title: str | None = None)[source]
Bases:
BaseConstructor