Molconn-Z 4.00 Manual: Toolkit Programmers Guide

eduSoft LC Toolkit Programmers' Guide

Molecule Objects

Header File

molecule.h

Molecule Creation

eslc_create_molecule
Create a new molecule object and add it to the registered molecules list.

form

int eslc_create_molecule ( ehandle *molecule_handle )
input
none
output
molecule_handle
return
TRUE:success
FALSE:failure

eslc_delete_molecule
Delete an existing molecule object and remove it from the registered molecules list.

form

eslc_delete_molecule ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_copy_molecule
Copy the data of a molecule object into a second molecule object that has previously been created.

form

int eslc_molecule_copy_molecule ( ehandle molecule_handle_old, ehandle molecule_handle_new, ehandle *atom_structure_handle_new )
input
molecule_handle_old
molecule_handle_new
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

eslc_molecule_copy_to_biomolecule
Copy the data of a molecule object into a new biomolecule object. Only biomolecules can support monomer structure, so this is one way to add substructure information to a molecule object.

form

int eslc_molecule_copy_to_biomolecule ( ehandle molecule_handle, ehandle *biomolecule_handle )
input
molecule_handle
biomolecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_copy_hydrogensuppressedmolecule
Copy the data of a molecule object into a second molecule object that has previously been created. The second molecule will be hydrogen-suppressed, that is, it will use united atom types.

form

int eslc_molecule_copy_hydrogensuppressedmolecule ( ehandle molecule_handle_old, ehandle molecule_handle_new, ehandle *atom_structure_handle_new )
input
molecule_handle_old
molecule_handle_new
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

eslc_molecule_copy_essentialatomsonlymolecule
Copy the data of a molecule object into a second molecule object that has previously been created. The second molecule will feature only heavy atoms and essential hydrogens, that is, it will use united atom types for apolar heavy atoms (carbon or silicon) and explicit hydrogens in all other cases.

form

int eslc_molecule_copy_essentialatomsonlymolecule ( ehandle molecule_handle_old, ehandle molecule_handle_new, ehandle *atom_structure_handle_new )
input
molecule_handle_old
molecule_handle_new
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

eslc_molecule_create_taff_water
Create a molecule object that contains one molecule of water. Use TAFF atom and bond type definitions for the molecule.

form

int eslc_molecule_create_taff_water ( ehandle *water_molecule_handle )
input
none
output
water_molecule_handle
return
TRUE:success

eslc_molecule_create_cvff_water
Create a molecule object that contains one molecule of water. Use CVFF atom and bond type definitions for the molecule.

form

int eslc_molecule_create_cvff_water ( ehandle *water_molecule_handle )
input
none
output
water_molecule_handle
return
TRUE:success

Molecule Attributes

eslc_set_molecule_name
Set the name of a molecule.

form

int eslc_set_molecule_name ( ehandle molecule_handle, char *molname )
input
molecule_handle
molecule name
output
none
return
TRUE:success
FALSE:failure

eslc_get_molecule_name
Get the name of a molecule.

form

int eslc_get_molecule_name ( ehandle molecule_handle, char *molname )
input
molecule_handle
output
molecule name
return
TRUE:success
FALSE:failure

eslc_bit_molecule_name
Verify the molecule name has been set.

form

int eslc_bit_molecule_name ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:name has been set
FALSE:name has not been set

eslc_set_molecule_forcefield
Set the forcefield name associated with the molecule. See forcefields.html for a list of force field definitions supported by the toolkit.

form

int eslc_set_molecule_forcefield ( ehandle molecule_handle, int forcefield )
input
molecule_handle
forcefield
output
none
return
TRUE:success
FALSE:failure

eslc_get_molecule_forcefield
Get the forcefield name associated with the molecule. See forcefields.html for a list of force field definitions supported by the toolkit.

form

int eslc_get_molecule_forcefield ( ehandle molecule_handle, int *forcefield )
input
molecule_handle
output
forcefield
return
TRUE:success
FALSE:failure

eslc_set_molecule_atomcount
Set the number of atoms in a molecule.

form

int eslc_set_molecule_atomcount ( ehandle molecule_handle, int atomcount )
input
molecule_handle
atomcount
output
none
return
TRUE:success
FALSE:failure

eslc_get_molecule_atomcount
Get the number of atoms in a molecule.

form

int eslc_get_molecule_atomcount ( ehandle molecule_handle, int *atomcount )
input
molecule_handle
output
atomcount
return
TRUE:success
FALSE:failure

eslc_bit_molecule_atomcount
Verify the molecule atomcount has been set.

form

int eslc_bit_molecule_atomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:atomcount has been set
FALSE:atomcount has not been set

eslc_molecule_create_atoms
Create an object containing the atoms for a molecule.

form

int eslc_molecule_create_atoms ( ehandle molecule_handle, ehandle *atom_structure_handle )
input
molecule_handle
output
atom_structure_handle
return
TRUE:success
FALSE:failure

eslc_get_molecule_atoms
Get the atom object handle for a molecule.

form

int eslc_get_molecule_atoms ( ehandle molecule_handle, ehandle *atom_structure_handle )
input
molecule_handle
output
atom_structure_handle
return
TRUE:success
FALSE:failure

eslc_bit_molecule_atoms
Verify the molecule atoms object has been created.

form

int eslc_bit_molecule_atoms ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:atoms object has been created
FALSE:atoms object has not been created

eslc_set_molecule_bondcount
Set the number of bonds in a molecule.

form

int eslc_set_molecule_bondcount ( ehandle molecule_handle, int bondcount )
input
molecule_handle
bondcount
output
none
return
TRUE:success
FALSE:failure

eslc_get_molecule_bondcount
Get the number of bonds in a molecule.

form

int eslc_get_molecule_bondcount ( ehandle molecule_handle, int *bondcount )
input
molecule_handle
output
bondcount
return
TRUE:success
FALSE:failure

eslc_bit_molecule_bondcount
Verify the molecule bondcount has been set or otherwise determined.

form

int eslc_bit_molecule_bondcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:bondcount has been set
FALSE:bondcount has not been set

Molecule Methods

eslc_molecule_create_atoms
Create an object containing the atoms for a molecule.

form

int eslc_molecule_create_atoms ( ehandle molecule_handle, ehandle *atom_structure_handle )
input
molecule_handle
output
atom_structure_handle
return
TRUE:success
FALSE:failure

eslc_molecule_delete_atoms
Delete the object containing the atoms for a molecule.

form

int eslc_molecule_delete_atoms ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_delete_specifiedatoms
Delete specified atoms in the object containing the atoms for a molecule.

form

int eslc_molecule_delete_specifiedatoms ( ehandle molecule_handle, int deletedatomcount, int *deletelist )
input
molecule_handle
deletedatomcount
output
deletelist
return
TRUE:success
FALSE:failure

eslc_molecule_verify_connections
Check the symmetry and other aspects of the connection matrix.

form

int eslc_molecule_verify_connections ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:connection matrix is OK
FALSE:connection matrix is flawed

eslc_molecule_calculate_molweight
Calculate the molecular weight of a molecule.

form

int eslc_molecule_calculate_molweight ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_get_molecule_molweight
Get the molcular weight of a molecule.

form

int eslc_get_molecule_molweight ( ehandle molecule_handle, float *molecularweight )
input
molecule_handle
output
molecularweight
return
TRUE:success
FALSE:failure

eslc_bit_molecule_molweight
Verify that the emolecular weight has been calculated.

form

int eslc_bit_molecule_molweight ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:molecular weight has been calculated
FALSE:molecular weight has not been calculated

eslc_calculate_molecule_formula
Calculate the molecular formula of a molecule.

form

int eslc_calculate_molecule_formula ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_find_formula_string
Find (and return as a string) the molecular formula of a molecule.

form

char *eslc_molecule_find_formula_string ( ehandle molecule_handle )
input
molecule_handle
output
none
return
a string in the format H(x)C(y)O(z)

eslc_bit_molecule_formula
Verify that the molecular formula has been calculated.

form

int eslc_bit_molecule_formula ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:molecular formula has been calculated
FALSE:molecular formula has not been calculated

eslc_molecule_find_all_waters
Find (and return) the count of water "molecules" in the molecule object.

form

int eslc_molecule_find_all_waters ( ehandle molecule_handle, int *waterlist )
input
molecule_handle
output
waterlist
return
water count

eslc_molecule_find_atomcount_by_atomicnumber
Find (and return) the count of atoms in the molecule object for the input atomic number (i.e., element).

form

int eslc_molecule_find_atomcount_by_atomicnumber ( ehandle molecule_handle, int atomicnumber )
input
molecule_handle
atomicnumber
output
none
return
atom count

eslc_molecule_find_heavyatomcount
Find (and return) the number of heavy, i.e., non-hydrogen, atoms in a molecule.

form

int eslc_molecule_find_heavyatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of heavy atoms

eslc_molecule_find_essentialatomcount
Find (and return) the number of essential atoms in a molecule. Hydrogen atoms bonded to carbon or silicon are not counted.

form

int eslc_molecule_find_essentialatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of heavy atoms

eslc_molecule_find_organicatomcount
Find (and return) the number of orgainic, i.e., H, B, C, N, O, F, Si, P, S, Cl, Br and I, atoms in a molecule.

form

int eslc_molecule_find_organicatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of organic atoms

eslc_molecule_find_nonorganicatomcount
Find (and return) the number of non-organic, i.e., not H, B, C, N, O, F, Si, P, S, Cl, Br and I, atoms in a molecule.

form

int eslc_molecule_find_nonorganicatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of non-organic atoms

eslc_molecule_find_alkalimetalatomcount
Find (and return) the number of alkali metal atoms (i.e., Li, Be, Na, etc.) in a molecule.

form

int eslc_molecule_find_alkalimetalatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of alkali metal atoms

eslc_molecule_find_transitionmetalatomcount
Find (and return) the number of transition metal (d-block) atoms in a molecule.

form

int eslc_molecule_find_transitionmetalatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of transition metal atoms

eslc_molecule_find_lanthanidemetalatomcount
Find (and return) the number of lanthanide metal (4f block) atoms in a molecule.

form

int eslc_molecule_find_lanthanidemetalatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of lanthanide metal atoms

eslc_molecule_find_actinidemetalatomcount
Find (and return) the number of actinide metal (5f block) atoms in a molecule.

form

int eslc_molecule_find_actinidemetalatomcount ( ehandle molecule_handle )
input
molecule_handle
output
none
return
count of actinide metal atoms

eslc_molecule_find_all_rotatablepolarhydrogens
Create a list of "rotatable" polar atoms containing hydrogens within the molecule. Rotatable polar atoms include -OH, -SH, -NH2 and -PH2. Each rotatable atom is specified by a torsion with two parameters: the anchor atom that is the end of the torsion attached to the rest of the molecule and the swing atom that the hydrogens are bonded to. These can be potentially rotated within the molecule to improve hydrogen-bond overlap intermolecularly or intramolecularly.

form

int eslc_molecule_find_all_rotatablepolarhydrogens ( ehandle molecule_handle, int *anchorlist, int *swinglist )
input
molecule_handle
output
swinglist
anchorlist
return
count of rotatable polar hydrogens

eslc_molecule_find_all_XR2
Find (and return) the number of XR2, where X=N and X=P atoms, in a molecule.

form

int eslc_molecule_find_all_XR2 ( ehandle molecule_handle, int *ionizationstates, int *anchorlist, int *swinglist )
input
molecule_handle
output
ionizationstates
anchorlist
swinglist
return
count of XR2 atoms:success

eslc_molecule_find_all_RXH
Find (and return) the number of RXH, where X=O and X=S, atoms in a molecule.

form

int eslc_molecule_find_all_RXH ( ehandle molecule_handle, int *ionizationstates, int *anchorlist, int *swinglist )
input
molecule_handle
output
ionizationstates
anchorlist
swinglist
return
count of RXH atoms:success

eslc_molecule_find_all_carboxylates
Find (and return) the number of carboxylate/carboxylic acid groups in a molecule. The two swing atoms are the two oxygen atoms of the group.

form

int eslc_molecule_find_all_carboxylates ( ehandle molecule_handle, int *ionizationstates, int *anchorlist, int *swinglist1, int *swinglist2 )
input
molecule_handle
output
ionizationstates
anchorlist
swinglist1
swinglist2
return
count of carboxylate atoms:success

eslc_molecule_calculate_taffatomtypes
Assign TAFF atom types to all atoms in the molecule based on the atomic and bond-order properties. See atomtypeid.html or atom.h for a description of the atom types.

form

int eslc_molecule_calculate_taffatomtypes ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_calculate_cvffatomtypes
Assign CVFF atom types to all atoms in the molecule based on the atomic and bond-order properties. See atomtypeid.html or atom.h for a description of the atom types.

form

int eslc_molecule_calculate_cvffatomtypes ( ehandle molecule_handle )
input
molecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_translate
Translate all atoms in the molecule object by the input x, y and z values.

form

int eslc_molecule_translate ( ehandle molecule_handle, float x, float y, float z )
input
molecule_handle
x
y
z
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_rotate
Rotate all atoms in the molecule object by the input alpha, beta and gamma angles. Important notes: 1) These angles are in radians, not degrees (2 pi = 360o); b) alpha is defined as the angle of rotation around the x axis (positive alpha is rotation from the y axis towards the z axis), beta is defined as the angle of rotation around the y axis (positive beta is rotation from the z axis towards the x axis), gamma is defined as the angle of rotation around the z axis (positive gamma is rotation from the x axis towards the y axis).

form

int eslc_molecule_rotate ( ehandle molecule_handle, float alpha, float beta, float gamma )
input
molecule_handle
alpha
beta
gamma
output
none
return
TRUE:success
FALSE:failure

eslc_molecule_calculate_centerofgravity
Calculate and return the center of gravity for the molecule object. If weighting is on (TRUE), then this is a true center of gravity, i.e., including the atomic masses; if weighting is off (FALSE), then only the atomic positions are used in the calculation.

form

int eslc_molecule_calculate_centerofgravity ( ehandle molecule_handle, int weighting, float *xcen, float *ycen, float *zcen )
input
molecule_handle
weighting
output
xcen
ycen
zcen
return
TRUE:success
FALSE:failure

eslc_molecule_range_find_atomcount
Calculate and return the number of atoms in the target molecule that are within a specified maxrange (Angstroms) from the atoms of the source molecule.

form

int eslc_molecule_range_find_atomcount ( ehandle sourcemolecule_handle, ehandle targetmolecule_handle, float maxrange )
input
sourcemolecule_handle
targetmolecule_handle
maxrange
output
none
return
count of atoms

eslc_molecule_range_find_allatoms
Calculate and return a list of atoms (and the corresponding ranges) in the target molecule that are within a specified maxrange (Angstroms) from the atoms of the source molecule.

form

int eslc_molecule_range_find_allatoms ( ehandle sourcemolecule_handle, ehandle targetmolecule_handle, float maxrange, int *list, float *range )
input
sourcemolecule_handle
targetmolecule_handle
maxrange
output
list
range return
count of atoms

eslc_molecule_range_find_monomercount
Find and return the number of monomers in the target biomolecule that are within "maxrange" of the atoms in the source molecule.

form

int eslc_molecule_range_find_monomercount ( ehandle sourcemolecule_handle, ehandle targetbiomolecule_handle, float maxrange )
input
sourcemolecule_handle
targetbiomolecule_handle
maxrange
output
none
return
count of monomers

eslc_molecule_range_find_allmonomers
Find and return a list of monomer (handles) in the target biomolecule that are within "maxrange" of the atoms in the source molecule.

form

int eslc_molecule_range_find_allmonomers ( ehandle sourcemolecule_handle, ehandle targetbiomolecule_handle, float maxrange, ehandle *monomerlist )
input
sourcemolecule_handle
targetbiomolecule_handle
maxrange
output
monomerlist
return
count of all monomers

eslc_molecule_range_find_allmonomernumbers
Find and return a list of monomer (numbers) in the target biomolecule that are within "maxrange" of the atoms in the source molecule.

form

int eslc_molecule_range_find_allmonomernumbers ( ehandle sourcemolecule_handle, ehandle targetbiomolecule_handle, float maxrange, int *monomernumberlist )
input
sourcemolecule_handle
targetbiomolecule_handle
maxrange
output
monomernumberlist
return
count

BioMolecule Objects

BioMolecule Creation

eslc_create_biomolecule
Create a new biomolecule object and add it to the registered molecules list.

form

int eslc_create_biomolecule ( ehandle *biomolecule_handle )
input
none
output
biomolecule_handle
return
TRUE:success
FALSE:failure

eslc_delete_biomolecule
Delete the specified biomolecule object. The disposition of the inherent biomolecule monomers is controlled by the monomerdisposition parameter. See monomer.h or monomersrc.html for more information.

form

int eslc_delete_biomolecule ( ehandle biomolecule_handle, int monomerdisposition )
input
biomolecule_handle
monomerdisposition
output
none
return
TRUE:success
FALSE:failure

eslc_biomolecule_copy_biomolecule
Copy the specified (old) biomolecule into a new biomolecule object. The disposition of the inherent biomolecule monomers is controlled by the monomerdisposition parameter. See monomer.h or monomersrc.html for more information.

form

int eslc_biomolecule_copy_biomolecule ( ehandle biomolecule_handle_old, ehandle biomolecule_handle_new, int monomerdisposition, ehandle *atom_structure_handle_new )
input
biomolecule_handle_old
biomolecule_handle_new
monomerdisposition
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

eslc_biomolecule_copy_hydrogensuppressedbiomolecule
Copy the data of a biomolecule object into a second biomolecule object that has previously been created. The second biomolecule will be hydrogen-suppressed, that is, it will use united atom types.

form

int eslc_biomolecule_copy_hydrogensuppressedbiomolecule ( ehandle biomolecule_handle_old, ehandle biomolecule_handle_new, ehandle *atom_structure_handle_new )
input
biomolecule_handle_old
biomolecule_handle_new
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

eslc_biomolecule_copy_essentialatomsonlybiomolecule
Copy the data of a biomolecule object into a second biomolecule object that has previously been created. The second biomolecule will feature only heavy atoms and essential hydrogens, that is, it will use united atom types for apolar heavy atoms (carbon or silicon) and explicit hydrogens in all other cases.

form

int eslc_biomolecule_copy_essentialatomsonlybiomolecule ( ehandle biomolecule_handle_old, ehandle biomolecule_handle_new, ehandle *atom_structure_handle_new )
input
biomolecule_handle_old
biomolecule_handle_new
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

eslc_biomolecule_copy_specifiedmonomersbiomolecule
Copy the data of specified monomers in a biomolecule object into a second biomolecule object that has previously been created.

form

int eslc_biomolecule_copy_specifiedmonomersbiomolecule ( ehandle biomolecule_handle_old, ehandle biomolecule_handle_new, int monomercount, ehandle *monomerlist, ehandle *atom_structure_handle_new )
input
biomolecule_handle_old
biomolecule_handle_new
monomercount
monomerlist
output
atom_structure_handle_new
return
TRUE:success
FALSE:failure

BioMolecule Attributes

eslc_set_biomolecule_name
Set the name of a biomolecule.

form

int eslc_set_biomolecule_name ( ehandle biomolecule_handle, char *molname )
input
biomolecule_handle
molname
output
none
return
TRUE:success
FALSE:failure

eslc_get_biomolecule_name
Get the name of a biomolecule.

form

int eslc_get_biomolecule_name ( ehandle biomolecule_handle, char *molname )
input
biomolecule_handle
output
molname
return
TRUE:success
FALSE:failure

eslc_bit_biomolecule_name
Verify the biomolecule name has been set.

form

int eslc_bit_biomolecule_name ( ehandle biomolecule_handle )
input
molecule_handle
output
none
return
TRUE:name has been set
FALSE:name has not been set

eslc_set_biomolecule_forcefield
Set the forcefield name associated with the biomolecule. See forcefields.html for a list of force field definitions supported by the toolkit.

form

int eslc_set_biomolecule_forcefield ( ehandle biomolecule_handle, int forcefield )
input
biomolecule_handle
forcefield
output
none
return
TRUE:success
FALSE:failure

eslc_get_biomolecule_forcefield
Get the forcefield name associated with the biomolecule. See forcefields.html for a list of force field definitions supported by the toolkit.

form

int eslc_get_biomolecule_forcefield ( ehandle biomolecule_handle, int *forcefield )
input
biomolecule_handle
output
forcefield
return
TRUE:success
FALSE:failure

eslc_set_biomolecule_atomcount
Set the number of atoms in a biomolecule.

form

int eslc_set_biomolecule_atomcount ( ehandle biomolecule_handle, int atomcount )
input
biomolecule_handle
atomcount
output
none
return
TRUE:success
FALSE:failure

eslc_get_biomolecule_atomcount
Get the number of atoms in a biomolecule.

form

int eslc_get_biomolecule_atomcount ( ehandle biomolecule_handle, int *atomcount )
input
biomolecule_handle
output
atomcount
return
TRUE:success
FALSE:failure

eslc_bit_biomolecule_atomcount
Verify the biomolecule atomcount has been set.

form

int eslc_bit_biomolecule_atomcount ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
TRUE:atomcount has been set
FALSE:atomcount has not been set

eslc_get_biomolecule_atoms
Get the atom object handle for a biomolecule.

form

int eslc_get_biomolecule_atoms ( ehandle biomolecule_handle, ehandle *atom_structure_handle )
input
biomolecule_handle
output
atom_structure_handle
return
TRUE:success
FALSE:failure

eslc_bit_biomolecule_atoms
Verify the biomolecule atoms object has been created.

form

int eslc_bit_biomolecule_atoms ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
TRUE:atoms object has been created
FALSE:atoms object has not been created

eslc_set_biomolecule_bondcount
Set the number of bonds in a biomolecule.

form

int eslc_set_biomolecule_bondcount ( ehandle biomolecule_handle, int bondcount )
input
biomolecule_handle
bondcount
output
none
return
TRUE:success
FALSE:failure

eslc_get_biomolecule_bondcount
Get the number of bonds in a biomolecule.

form

int eslc_get_biomolecule_bondcount ( ehandle biomolecule_handle, int *bondcount )
input
biomolecule_handle
output
bondcount
return
TRUE:success
FALSE:failure

eslc_bit_biomolecule_bondcount
Verify the biomolecule bondcount has been set or otherwise determined.

form

int eslc_bit_biomolecule_bondcount ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
TRUE:bondcount has been set
FALSE:bondcount has not been set

eslc_set_biomolecule_monomercount
Set the number of monomers in a biomolecule.

form

int eslc_set_biomolecule_monomercount ( ehandle biomolecule_handle, int monomercount )
input
biomolecule_handle
monomercount
output
none
return
TRUE:success
FALSE:failure

eslc_get_biomolecule_monomercount
Get the number of monomers in a biomolecule.

form

int eslc_get_biomolecule_monomercount ( ehandle biomolecule_handle, int *monomercount )
input
biomolecule_handle
output
monomercount
return
TRUE:success
FALSE:failure

eslc_bit_biomolecule_monomercount
Verify the biomolecule monomercount has been set or otherwise determined.

form

int eslc_bit_biomolecule_monomercount ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
TRUE:monomercount has been set
FALSE:monomercount has not been set

eslc_get_biomolecule_all_monomers
Get the handles for all monomers in the biomolecule object.

form

int eslc_get_biomolecule_all_monomers ( ehandle biomolecule_handle, ehandle *monomers )
input
biomolecule_handle
output
monomers
return
TRUE:success
FALSE:failure

eslc_get_biomolecule_monomer
Get the handle for a monomer in the biomolecule object.

form

int eslc_get_biomolecule_monomer ( ehandle biomolecule_handle, int monomernumber, ehandle *monomer )
input
biomolecule_handle
monomernumber
output
monomer
return
TRUE:success
FALSE:failure

BioMolecule Methods

eslc_biomolecule_create_atoms
Create an object containing the atoms for a biomolecule.

form

int eslc_biomolecule_create_atoms ( ehandle biomolecule_handle, ehandle *atom_structure_handle )
input
biomolecule_handle
output
atom_structure_handle
return
TRUE:success
FALSE:failure

eslc_biomolecule_delete_atoms
Delete the object containing the atoms for a biomolecule.

form

int eslc_biomolecule_delete_atoms ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
TRUE:success
FALSE:failure

eslc_biomolecule_verify_connections
Check the symmetry and other aspects of the connection matrix.

form

int eslc_biomolecule_verify_connections ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
TRUE:connection matrix is OK
FALSE:connection matrix is flawed

eslc_biomolecule_find_molweight
Find (and return) the molcular weight of a biomolecule, i.e., the sum of the molecular weights of the monomers in the biomolecule.

form

float eslc_biomolecule_find_molweight ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
molecularweight
eslc_biomolecule_find_formula_string
Find (and return as a string) the molecular formula of a biomolecule.

form

char *eslc_biomolecule_find_formula_string ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
a string in the format H(x)C(y)O(z)

eslc_biomolecule_find_heavyatomcount
Find (and return) the number of heavy, i.e., non-hydrogen, atoms in a biomolecule.

form

int eslc_biomolecule_find_heavyatomcount ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
count of heavy atoms

eslc_biomolecule_find_essentialatomcount
Find (and return) the number of essential, i.e., non-hydrogen and polar hydrogen, atoms in a biomolecule. Hydrogen atoms bonded to carbon or silicon are not counted.

form

int eslc_biomolecule_find_essentialatomcount ( ehandle biomolecule_handle )
input
biomolecule_handle
output
none
return
count of heavy atoms

eslc_biomolecule_find_all_waters
Find (and return) a list of water molecule monomers in the biomolecule object.

form

int eslc_biomolecule_find_all_waters ( ehandle biomolecule_handle, int *waterlist )
input
biomolecule_handle
output
waterlist
return
count of water monomers

eslc_biomolecule_find_all_monomers_by_typeid
Find (and return) a list of monomer (handles) of the type specified by monomertype_id in the biomolecule object.

form

int eslc_biomolecule_find_all_monomers_by_typeid ( ehandle biomolecule_handle, int monomertype_id, ehandle *monomerlist )
input
biomolecule_handle
monomertype_id
output
monomerlist
return
count of monomers

eslc_biomolecule_find_all_monomernumbers_by_typeid
Find (and return) a list of monomer (numbers) of the type specified by monomertype_id in the biomolecule object.

form

int eslc_biomolecule_find_all_monomernumbers_by_typeid ( ehandle biomolecule_handle, int monomertype_id, int *monomernumberlist )
input
biomolecule_handle
monomertype_id
output
monomernumberlist
return
count of monomers

eslc_biomolecule_find_all_monomers_by_terminationtype
Find (and return) a list of monomer (handles) with the termination specified by terminationtype in the biomolecule object. See monomer.h or monomerprop.html for more information about monomer termination.

form

int eslc_biomolecule_find_all_monomers_by_terminationtype ( ehandle biomolecule_handle, int terminationtype, ehandle *monomerlist )
input
biomolecule_handle
terminationtype
output
monomerlist
return
count of monomers

eslc_biomolecule_find_all_monomernumbers_by_terminationtype
Find (and return) a list of monomer (numbers) with the termination specified by terminationtype in the biomolecule object. See monomer.h or monomerprop.html for more information about monomer termination.

form

int eslc_biomolecule_find_all_monomernumbers_by_terminationtype ( ehandle biomolecule_handle, int terminationtype, int *monomernumberlist )
input
biomolecule_handle
terminationtype
output
monomernumberlist
return
count of monomers

eslc_biomolecule_create_monomer
Create a new monomer object associated with the biomolecule object. The new monomer has a default of zero atoms.

form

int eslc_biomolecule_create_monomer ( ehandle biomolecule_handle, ehandle *monomer_handle )
input
biomolecule_handle
output
monomer_handle
return
TRUE:success
FALSE:failure

eslc_biomolecule_delete_monomer
Delete a monomer object associated with the biomolecule object. Note that this will not remove references to the monomer that may exist in the atom records.

form

int eslc_biomolecule_delete_monomer ( ehandle biomolecule_handle, ehandle monomer_handle )
input
biomolecule_handle
monomer_handle
output
none
return
TRUE:success
FALSE:failure

eslc_biomolecule_add_molecule_as_monomer
Add the specified (small) molecule to an existing biomolecule as a monomer. This is useful, for example, when one wants to create a solvent array of water or othe rmolecules.

form

int eslc_biomolecule_add_molecule_as_monomer ( ehandle biomolecule_handle, ehandle addedmolecule_handle, ehandle *monomer_handle )
input
biomolecule_handle
addedmolecule_handle
output
monomer_handle
return
TRUE:success
FALSE:failure

eslc_biomolecule_find_all_rotatablepolarhydrogens
Create a list of "rotatable" polar atoms containing hydrogens within the biomolecule. Rotatable polar atoms include -OH, -SH, -NH2 and -PH2. Each rotatable atom is specified by a torson with two parameters: the anchor atom where the torsion is attached to the rest of the molecule and the swing atom that the hydrogens are bonded to. These can be potentially rotated within the biomolecule to improve hydrogen-bond overlap intermolecularly or intramolecularly.

form

int eslc_biomolecule_find_all_rotatablepolarhydrogens ( ehandle biomolecule_handle, int *anchorlist, int *swinglist )
input
biomolecule_handle
output
anchorlist
swinglist
return
count of rotatable polar hydrogens

eslc_biomolecule_translate
Translate all atoms in the biomolecule object by the input x, y and z values.

form

int eslc_biomolecule_translate ( ehandle biomolecule_handle, float x, float y, float z )
input
biomolecule_handle
x
y
z
output
none
return
TRUE:success
FALSE:failure

eslc_biomolecule_rotate
Rotate all atoms in the biomolecule object by the input alpha, beta and gamma angles. Important notes: 1) These angles are in radians, not degrees (2 pi = 360o); b) alpha is defined as the angle of rotation around the x axis (positive alpha is rotation from the y axis towards the z axis), beta is defined as the angle of rotation around the y axis (positive beta is rotation from the z axis towards the x axis), gamma is defined as the angle of rotation around the z axis (positive gamma is rotation from the x axis towards the y axis).

form

int eslc_biomolecule_rotate ( ehandle biomolecule_handle, float alpha, float beta, float gamma )
input
biomolecule_handle
alpha
beta
gamma
output
none
return
TRUE:success
FALSE:failure

eslc_biomolecule_calculate_centerofgravity
Calculate and return the center of gravity for the biomolecule object. If weighting is on (TRUE), then this is a true center of gravity, i.e., including the atomic masses; if weighting is off (FALSE), then only the atomic positions are used in the calculation.

form

int eslc_biomolecule_calculate_centerofgravity ( ehandle biomolecule_handle, int weighting, float *xcen, float *ycen, float *zcen )
input
biomolecule_handle
weighting
output
xcen
ycen
zcen
return
TRUE:success
FALSE:failure

eslc_biomolecule_range_find_allmonomers
Find and return a list of monomer (handles) in the target biomolecule that are within "maxrange" of the atoms in the source biomolecule.

form

int eslc_biomolecule_range_find_allmonomers ( ehandle sourcebiomolecule_handle, ehandle targetbiomolecule_handle, float maxrange, ehandle *monomerlist )
input
sourcebiomolecule_handle
targetbiomolecule_handle
maxrange
output
monomerlist
return
count of all monomers

eslc_biomolecule_range_find_allmonomernumbers
Find and return a list of monomer (numbers) in the target biomolecule that are within "maxrange" of the atoms in the source biomolecule.

form

int eslc_biomolecule_range_find_allmonomernumbers ( ehandle sourcebiomolecule_handle, ehandle targetbiomolecule_handle, float maxrange, int *monomernumberlist )
input
sourcebiomolecule_handle
targetbiomolecule_handle
maxrange
output
monomernumberlist
return
count