luna.mol.templates module

class LigandExpoTemplate(lig_expo_file='/home/docs/checkouts/readthedocs.org/user_builds/luna-toolkit/checkouts/latest/luna/data/ligand_expo.tsv')[source]

Bases: luna.mol.templates.Template

Standardize small molecules based on templates (SMILES) from LigandExpo.

Parameters

lig_expo_file (str) – The LigandExpo file containing the SMILES and ligand ids.

assign_bond_order(mol_obj, lig_id)[source]

Assign bond order to a molecular object based on its LigandExpo SMILES.

Parameters
Returns

new_mol – A standardized molecular object of the same type as mol_obj.

Return type

MolWrapper, rdkit.Chem.rdchem.Mol, or openbabel.pybel.Molecule

property data

The LigandExpo data.

Type

pandas.DataFrame

get_ligand_smiles(lig_id)[source]

Get SMILES for the ligand lig_id.

Parameters

lig_id (str) – The ligand identifier (PDB id) in LigandExpo.

Returns

smiles – The ligand SMILES.

Return type

str or None

class Template[source]

Bases: object

Standardize small molecules based on templates.

assign_bond_order()[source]

Assign bond order to a molecular object. However, this method is not implemented by default. Instead, you should use a class that inherits from Template and implements assign_bond_order(). An example is the class LigandExpoTemplate that assigns bonds order based on ligands SMILES from LigandExpo. Therefore, you should define your own logic beyond assign_bond_order() that meets your goals.