Functions | |
unsigned int | phoenix::aHeavyCount (AtomKey a) |
unsigned int | phoenix::aHCount (AtomKey a) |
unsigned int | phoenix::aLPCount (AtomKey a) |
Return the number of lonepairs(explicit). | |
bool | phoenix::aPolar (AtomKey a) |
Return true if not all adjacent atoms C or H. | |
bool | phoenix::aMetall (AtomKey a) |
Return true if a is a metall atom. | |
void | phoenix::CorrectGraphByTopology (ChainList cl) |
Fix small problems in the graph, so that type perception works well. |
unsigned int phoenix::aHeavyCount | ( | AtomKey | a | ) |
Return the number of bonded heavy atoms.
unsigned int phoenix::aHCount | ( | AtomKey | a | ) |
Return the number of bonded hydrogen.
unsigned int phoenix::aLPCount | ( | AtomKey | a | ) |
Return the number of lonepairs(explicit).
Return the number of lonepairs.
bool phoenix::aPolar | ( | AtomKey | a | ) |
Return true if not all adjacent atoms C or H.
Return true if at least one of the adjacent atoms is not C or H. Otherwise return false.
bool phoenix::aMetall | ( | AtomKey | a | ) |
Return true if a is a metall atom.
Return true if a is a metall. Matalls are: Li, Na, Mg, Al, K, Ca, Mn, Fe, Co, Ni, Cu, Zn
void phoenix::CorrectGraphByTopology | ( | ChainList | cl | ) |
Fix small problems in the graph, so that type perception works well.
This function only uses connection informations. It depends on correct hydrogens and knows nothing about anorganic compounds.
Procedure:
1. delete lone pairs
2. remove all bonds from metals (Li, Na, Mg, Al, K, Ca, Fe, Zn, Pb, U)
3. atoms with no bonds are interpreted as ions
4. simple atoms with 1 bond are examined
5. simple atoms with 4 bond are examined
6. hydroxy/thiol ether/thioether group
7. carboxylic acid and nitro group
8. amide group and peptide bonds(but not cyclic)
9. guanidino group