pyCADD.Dock package

Submodules

pyCADD.Dock.cli module

pyCADD.Dock.common module

class pyCADD.Dock.common.ComplexFile(path: str, ligand: str | None = None, lig_resnum: int | None = None)[source]

Bases: MaestroFile

Maestro单结构复合物文件类型 仅包含一个Entry

get_lig_molnum(ligname: str | None = None, lig_resnum: int | None = None) str[source]

以ligname为KEY 查找Maestro文件中的Molecule Number

Parameters

lignamestr

配体小分子名称

lig_resnumint

配体结构中的小分子编号

Return

str

Molecule Number

split(ligname: str | None = None, protein_dir: str | None = None, ligand_dir: str | None = None, complex_dir: str | None = None, save_fmt: str = 'pdb') tuple[source]

将Maestro文件分割为受体与配体

Parameters

lignamestr

配体小分子名称

protein_dirstr

受体文件保存路径

ligand_dirstr

配体文件保存路径

complex_dirstr

复合物文件保存路径

save_fmtstr

保存文件的格式 默认为pdb

Return

tuple

分割后的文件(RecepFile, LigFile)

class pyCADD.Dock.common.DockResultFile(path: str, ligand: str | None = None, lig_resnum: int | None = None, docking_ligand: str | None = None, precision: str | None = None, ligand_only: bool = False)[source]

Bases: MaestroFile

Maestro对接结果文件类型 仅含有2个Entry

  • structures[0]: receptor

  • structures[1]: ligand

当ligand_lib_only为True时,只含有ligand
  • structures[0]: ligand

calc_mmgbsa(overwrite: bool = False) ComplexFile[source]

计算MM-GBSA结合能

property docking_ligand_st: Structure

返回对接结果的配体结构

property docking_receptor_st: Structure

返回对接结果的受体结构

extract_docking_data() dict[source]

提取对接数据

get_ligand_file() LigandFile[source]

获取对接结果中的配体姿势文件

get_merged_file() ComplexFile[source]

获取对接结果的合并文件

get_receptor_file() ReceptorFile[source]

获取对接结果中的受体文件

property merged_file: ComplexFile

合并对接结果的受体与配体为一个复合物文件

property property: dict

返回对接结果的数据

class pyCADD.Dock.common.GridFile(file_path: str, ligand: str | None = None, lig_resnum: int | None = None)[source]

Bases: BaseFile

网格文件类型(.zip)

class pyCADD.Dock.common.LigandFile(path: str, ligand: str | None = None, lig_resnum: int | None = None)[source]

Bases: MaestroFile

Maestro配体文件类型

calc_admet(overwrite: bool = False)[source]

计算化合物/配体的ADMET特征描述符

class pyCADD.Dock.common.MaestroFile(path: str, ligand: str | None = None, lig_resnum: int | None = None)[source]

Bases: BaseFile

Maestro文件类型

static convert_format(file_path, to_format: str) str[source]

转换结构格式

Parameters

file_pathstr

需要转换的文件路径

to_formatstr

转换后的格式

Return

str

转换后的文件路径

static get_first_structure(file_path: str) Structure[source]

获取Maestro文件中的第一个结构

Parameters

file_pathstr

Maestro文件路径

minimize(side_chain: bool = True, missing_loop: bool = True, del_water: bool = True, overwrite: bool = False)[source]

优化结构并执行能量最小化

property st_reader: StructureReader
property structures: List[Structure]
class pyCADD.Dock.common.MultiInputFile(path, parse: bool = True)[source]

Bases: BaseFile

pyCADD受体列表输入文件

get_gridfile_path_list(grid_dir: str) list[source]

获取受体信息列表中的Grid文件路径列表

Parameters

grid_dirstr

Grid文件所在目录

get_ligand_list() list[source]

获取受体信息列表中的配体列表

get_pairs_list() list[source]

获取受体信息列表

get_pdbfile_path_list(pdb_dir: str) list[source]

获取受体信息列表中的PDB文件路径列表

Parameters

pdb_dirstr

PDB文件所在目录

get_pdbid_list() list[source]

获取受体信息列表中的PDBID列表

property ligand_list: list
parse_file(file_path: str | None = None) None[source]

解析输入文件

Parameters

file_pathstr

输入文件路径

property pdbid_list: list
read(file_path: str) None[source]

读取输入文件

Parameters

file_pathstr

输入文件路径

static read_from_config(config_file: str) MultiInputFile[source]

依据配置文件类型解析文件内容

Parameters

config_filestr

配置文件路径

class pyCADD.Dock.common.PDBFile(path, ligand_id=None)[source]

Bases: BaseFile

PDB文件类型

get_lig(ligand_id: str | None = None, select_first: bool = False) dict[source]
从PDB文件获取指定配体小分子信息:

Name, Chain, Resid, Atom_num

Parameters

ligand_idstr

配体小分子名称

select_firstbool

存在多个配体时 是否自动选择第一个(默认为False)

Return

dict

配体小分子信息

get_lig_name() str[source]

从PDB文件获取配体小分子名称 按行分割并返回列表

Return

str

配体小分子名称

keep_chain(chain_name: str | None = None, select_first_lig: bool = False) None[source]

返回保留单链的结构

Parameters

chainstr

需要保留的链(默认为配体所在链)

select_first_ligbool

存在多个配体时 是否自动选择第一个(默认为False, 仅chain_name为None时生效)

class pyCADD.Dock.common.ReceptorFile(path: str, ligand: str | None = None, lig_resnum: int | None = None)[source]

Bases: MaestroFile

Maestro受体文件类型

pyCADD.Dock.common.check_pdb(pdb: str)[source]

检查PDB ID合法性

Return

bool

合法返回True 否则返回False

pyCADD.Dock.common.get_input_pdbid() str[source]

获取用户输入的PDBID并检查合法性

Return

str

PDB ID字符串

pyCADD.Dock.common.get_predict_structure(predict_file, output_file: str | None = None)[source]

调用Schrodinger API提取 合并指定预测结构

Parameters

predict_filestr

预测结构文件(csv)路径

output_filestr

输出结构文件(pdb|mae|maegz)路径

pyCADD.Dock.common.launch(cmd: str, timeout: int | None = None)[source]

使用jobcontrol启动一项job并等待结束

Parameters

cmdstr

等待执行的命令字符串

timeoutint

超时时限(秒)

pyCADD.Dock.config module

class pyCADD.Dock.config.BaseConfig[source]

Bases: object

配置项基类

class pyCADD.Dock.config.DataConfig(precision, properties: list | None = None)[source]

Bases: DefaultDataConfig

class pyCADD.Dock.config.DefaultDataConfig(precision: str = 'SP')[source]

Bases: BaseConfig

提取数据配置项

pyCADD.Dock.console module

class pyCADD.Dock.console.Docker(pdbid: str | None = None)[source]

Bases: object

Ligand Docking 控制台对象

calc_admet(ligand_file: LigandFile | None = None, *args, **kwargs) None[source]

计算ADMET

Parameters

ligand_fileLigandFile

计算ADMET预测结果的配体文件 默认为当前共结晶配体

*argslist, optional

计算ADMET参数, 默认None

**kwargsdict, optional

计算ADMET参数, 默认None

calc_mmgbsa(*args, **kwargs) None[source]

计算结合能

Parameters

*argslist, optional

计算结合能参数, 默认None

**kwargsdict, optional

计算结合能参数, 默认None

calc_volume(*args, **kwargs) None[source]

计算结合口袋体积

Parameters

*argslist, optional

计算结合口袋体积参数, 默认None

**kwargsdict, optional

计算结合口袋体积参数, 默认None

dock(docking_ligand: LigandFile | None = None, *args, **kwargs) None[source]

对接

Parameters

docking_ligandstr, optional

对接配体, 默认None将执行共结晶配体的回顾性对接

*argslist, optional

对接参数, 默认None

**kwargsdict, optional

对接参数, 默认None

download_pdb() None[source]

下载PDB文件

extra_admet_data(*args, **kwargs) None[source]

提取ADMET数据

Parameters

*argslist, optional

提取ADMET数据参数, 默认None

**kwargsdict, optional

提取ADMET数据参数, 默认None

extra_docking_data(*args, **kwargs) None[source]

提取对接数据

Parameters

*argslist, optional

提取对接数据参数, 默认None

**kwargsdict, optional

提取对接数据参数, 默认None

grid_generate(*args, **kwargs) None[source]

生成格点

Parameters

*argslist, optional

格点参数, 默认None

**kwargsdict, optional

格点参数, 默认None

keep_chain(*args, **kwargs) None[source]

删改PDB晶体结构 仅保留配体所在链

Parameters

*argslist, optional

链名, 默认None

**kwargsdict, optional

链名, 默认None

property lig_info
property lig_name
minimize(side_chain: bool = True, missing_loop: bool = True, del_water: bool = True, *args, **kwargs) None[source]

优化晶体并执行能量最小化

Parameters

side_chainbool, optional

是否优化侧链, 默认True

missing_loopbool, optional

是否优化缺失的loop, 默认True

del_waterbool, optional

是否删除水分子, 默认True

*argslist, optional

优化参数, 默认None

**kwargsdict, optional

优化参数, 默认None

property pdb_file
property pdb_file_path
property pdbid
save_admet_data(*args, **kwargs) None[source]

保存ADMET数据

Parameters

*argslist, optional

保存ADMET数据参数, 默认None

**kwargsdict, optional

保存ADMET数据参数, 默认None

save_docking_data(*args, **kwargs) None[source]

保存对接数据

Parameters

*argslist, optional

保存对接数据参数, 默认None

**kwargsdict, optional

保存对接数据参数, 默认None

set_calc_rmsd(calc_rmsd: bool) None[source]

设置是否计算RMSD

set_precision(precision: str) None[source]

设置对接精度

split_complex() None[source]

拆分复合物结构

pyCADD.Dock.core module

pyCADD.Dock.core.calc_admet(lig_file: LigandFile, overwrite: bool = False) LigandFile[source]

计算化合物/配体的ADMET特征描述符

Parameters

lig_fileMaestroFile

化合物/配体文件

Return

MaestroFile

ADMET 计算结果文件

pyCADD.Dock.core.calc_mmgbsa(maestrofile: DockResultFile, overwrite: bool = False) ComplexFile[source]

计算MM-GBSA结合能

Parameters

complex_fileMaestroFile

需要计算MMGBSA的复合物文件

Return

Maestro

计算MM-GB/SA完成的复合物文件

pyCADD.Dock.core.calc_volume(recep_file: ReceptorFile, lig_file: LigandFile, overwrite: bool = False) ComplexFile[source]

Sitemap计算结合口袋体积

Parameters

recep_fileMaestroFile

进行口袋体积分析的受体文件

lig_fileMaestroFile

定义口袋位置的配体文件

Return

MaestroFile

sitemap计算完成的文件

pyCADD.Dock.core.dock(grid_file: GridFile, lig_file: LigandFile, precision: str = 'SP', calc_rmsd: bool = False, ligand_only: bool = False, save_dir: str | None = None, overwrite: bool = False) DockResultFile[source]

一对一/多对一 glide dock任务输入文件编写与运行

Parameters

grid_file_pathGridFile

格点文件

lig_fileLigandFile

配体文件

precisionstr

对接精度(HTVS|SP|XP) 默认SP

calc_rmsdbool

是否计算rmsd to input ligand geometries 默认False

ligand_onlybool

是否仅在输出文件中保留配体 默认False

save_dirstr

保存Dock结果文件的目录 保存于该目录的PDBID文件夹下

overwritebool

是否覆盖已有文件

Return

DockResultFile

对接结果文件

pyCADD.Dock.core.grid_generate(complex_file: ComplexFile, gridbox_size: int = 20, save_dir: str | None = None, overwrite: bool = False) GridFile[source]

自动编写glide grid输入文件并启动Glide Grid生成任务

Parameters

maestrofileMaestroFile

需要生成Grid的Maestro文件

lig_namestr

作为坐标参考的Ligand名称

gridbox_sizeint

grid box大小 默认20Å

save_dirstr

保存Grid文件的目录

overwritebool

是否覆盖已有文件

Return

GridFile

生成的格点文件

pyCADD.Dock.core.minimize(pdbfile: PDBFile, side_chain: bool = True, missing_loop: bool = True, del_water: bool = True, save_dir: str | None = None, overwrite: bool = False) ComplexFile[source]

调用prepwizard模块优化PDB结构

Parameters

pdbfilePDBFile | MaestroFile

需要Minimize的PDB|Mae文件

side_chainbool

是否优化侧链

missing_loopbool

是否优化缺失的loop

del_waterbool

是否删除水分子

save_dirstr

保存优化后的文件的目录

overwritebool

是否覆盖已有文件

Return

ComplexFile

完成优化后的Maestro文件

pyCADD.Dock.data module

class pyCADD.Dock.data.Reporter(inputfile: MultiInputFile)[source]

Bases: object

Quick Report 数据报告器

generate_report(refefence_datalist: list, dock_datalist: list, ligand_save_dir: str = './ligands/', report_save_dir: str = './result/')[source]

为每个Ligand生成对接报告

Parameters

mappingslist

原始输入文件的映射关系

refefence_datalistlist[dict]

参考数据列表

dock_datalistlist[dict]

对接数据列表

ligand_save_dirstr

Ligand文件保存目录(用于读取结构)

report_save_dirstr

报告xlsx保存目录

pyCADD.Dock.data.extra_admet_data(admet_file: LigandFile) List[dict][source]

提取ADMET数据

Parameters

admet_fileLigandFile

要提取的ADMET计算结果文件

Return

List[dict]

数据Properties : Values

pyCADD.Dock.data.extra_docking_data(dock_result_file: DockResultFile) dict[source]

从对接或计算完成的Maestro文件中提取一般数据或配体文件

Parameters

dock_result_fileDockResultFile

对接完成的文件

Return

dict

数据Properties : Values

pyCADD.Dock.data.save_admet_data(admet_file: LigandFile)[source]

保存ADMET数据文件

Parameters

admet_fileLigandFile

要保存的ADMET计算结果文件

pyCADD.Dock.data.save_docking_data(dock_result_file: DockResultFile, configs: DataConfig | None = None)[source]

储存一般数据为csv

Parameters

data_dicdict

数据内容 {property : data}

configsDataConfig

数据提取项配置

pyCADD.Dock.data.save_ensemble_docking_data(data_list: list, precision: str = 'SP', configs: DataConfig | None = None, save_dir: str | None = None) None[source]

分类储存Ensemble Docking对接数据

Parameters

data_listlist

Ensemble Docking对接数据列表

precisionstr

对接精度

configsDataConfig

数据提取项配置

pyCADD.Dock.data.save_redocking_data(data_list: list, precision: str = 'SP', configs: DataConfig | None = None, save_dir: str | None = None) None[source]

储存回顾性Ensemble Docking对接数据

Parameters

data_listlist

回顾性Ensemble Docking对接数据

precisionstr

对接精度

configsDataConfig

数据提取项配置

save_dirstr

储存目录

pyCADD.Dock.ensemble module

pyCADD.Dock.ensemble.split_ligand(ligand_file: LigandFile, save_dir: str | None = None, overwrite: bool = False, parallel_num: int | None = None) list[source]

将单个maestro文件中包含的所有小分子拆分为多个独立mae文件

Parameters

ligand_fileLigandFile

单个maestro文件

save_dirstr

拆分后的mae文件保存的目录

overwritebool

是否覆盖已存在的mae文件

Returns

list
拆分后的配体文件路径列表

配体名称由 唯一索引index + ligand_name 组成

pyCADD.Dock.ui module

class pyCADD.Dock.ui.UI_dock(menu_name: str = 'Dock Mode')[source]

Bases: UI

单晶体对接UI

run(flag)[source]

Module contents