mutant.descriptors
Class AromaticAmineSubstituentsDescriptor

java.lang.Object
  extended by mutant.descriptors.SubstituentsDescriptor
      extended by mutant.descriptors.AromaticAmineSubstituentsDescriptor
All Implemented Interfaces:
org.openscience.cdk.qsar.IDescriptor, org.openscience.cdk.qsar.IMolecularDescriptor

public class AromaticAmineSubstituentsDescriptor
extends SubstituentsDescriptor

returns "MR","LSTM","B1STM","B5STM" for substituents at postitions 1 to 6 (amine group at 1 position). TODO verify how substituted amine group should be treated (params of amine group + substituent, only substituent, largest substituent, average, etc.)

  1. the functional amino group is always in position 1, additional amino groups are treated as substituents;
  2. if more than one amino group is present, the -N with lowest steric hindrance ( 1. primary amines; 2. secondary amines; 3. tertiary amines; in increasing steric hindrance order) is considered to be the functional group;
  3. if more than one amino group is present, and all of them have the same steric hindrance on the -N, the one that is considered to be the functional group is that which has a substituent in an adjacent position (ortho-substituent).
  4. if two amino groups in ortho position are present and there are other substituents attached to the ring, the amino group that is considered to be the functional group is that which allow to assign the minimum position number to the substituent
  5. when the numbering can go in two opposite directions, the substituent position with highest steric hindrance is given the lowest substitution number
  6. in case the amino group is attached to more then one aromatic ring, the more extended aromatic system is to be considered as the one bearing the functional amino group;
  7. in case the amino group is attached to more than one aromatic ring, with the aromatic systems equally extended, the ring bearing the functional amino group is chosen in such a way that the sterimol is the highest possible."

Author:
Nina Jeliazkova

Field Summary
protected static java.lang.String AromAmine
           
protected static java.lang.String H
           
protected  MoleculesFile lookup
           
protected static java.lang.String MR
           
protected static java.lang.String N
           
protected static java.lang.String R
           
protected  int[] reverse_numbers
           
 
Fields inherited from class mutant.descriptors.SubstituentsDescriptor
descriptorNames, extractor, logger, paramNames
 
Constructor Summary
AromaticAmineSubstituentsDescriptor()
           
 
Method Summary
static org.openscience.cdk.isomorphism.matchers.QueryAtomContainer aromaticAmine(java.lang.String mark)
           
 org.openscience.cdk.qsar.DescriptorValue calculate(org.openscience.cdk.interfaces.IAtomContainer a)
           
 org.openscience.cdk.qsar.DescriptorValue calculate(org.openscience.cdk.interfaces.IAtomContainerSet substituents, java.lang.String mark)
           
protected  double[] getAminoGroupOrder(org.openscience.cdk.interfaces.IAtomContainerSet substituents, java.lang.String mark)
          If more than one amino group is present, the -N with lowest steric hindrance ( 1.
protected  org.openscience.cdk.interfaces.IMolecule getAminoGroupSubstituents(org.openscience.cdk.interfaces.IAtomContainer ac, int natom)
           
 org.openscience.cdk.qsar.DescriptorSpecification getSpecification()
           
protected  void iterateSubstituents(org.openscience.cdk.interfaces.IAtomContainerSet substituents, java.lang.String mark, mutant.descriptors.ISubstituentAction<java.lang.Double> action, double[] positions)
           
 java.lang.String select(java.util.Hashtable<java.lang.String,org.openscience.cdk.interfaces.IAtomContainerSet> substituents)
           
 
Methods inherited from class mutant.descriptors.SubstituentsDescriptor
getDescriptorNames, getDescriptorResultType, getParameterNames, getParameters, getParameterType, getRingQuery, setDescriptorNames, setParameterNames, setParameters, setRingQuery, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

AromAmine

protected static java.lang.String AromAmine

MR

protected static java.lang.String MR

H

protected static java.lang.String H

N

protected static java.lang.String N

R

protected static java.lang.String R

lookup

protected MoleculesFile lookup

reverse_numbers

protected int[] reverse_numbers
Constructor Detail

AromaticAmineSubstituentsDescriptor

public AromaticAmineSubstituentsDescriptor()
Method Detail

getSpecification

public org.openscience.cdk.qsar.DescriptorSpecification getSpecification()
Specified by:
getSpecification in interface org.openscience.cdk.qsar.IDescriptor
Overrides:
getSpecification in class SubstituentsDescriptor

calculate

public org.openscience.cdk.qsar.DescriptorValue calculate(org.openscience.cdk.interfaces.IAtomContainer a)
Specified by:
calculate in interface org.openscience.cdk.qsar.IMolecularDescriptor
Overrides:
calculate in class SubstituentsDescriptor

calculate

public org.openscience.cdk.qsar.DescriptorValue calculate(org.openscience.cdk.interfaces.IAtomContainerSet substituents,
                                                          java.lang.String mark)
                                                   throws org.openscience.cdk.exception.CDKException
Specified by:
calculate in class SubstituentsDescriptor
Throws:
org.openscience.cdk.exception.CDKException

getAminoGroupSubstituents

protected org.openscience.cdk.interfaces.IMolecule getAminoGroupSubstituents(org.openscience.cdk.interfaces.IAtomContainer ac,
                                                                             int natom)
                                                                      throws org.openscience.cdk.exception.CDKException
Throws:
org.openscience.cdk.exception.CDKException

select

public java.lang.String select(java.util.Hashtable<java.lang.String,org.openscience.cdk.interfaces.IAtomContainerSet> substituents)
                        throws org.openscience.cdk.exception.CDKException
Specified by:
select in class SubstituentsDescriptor
Throws:
org.openscience.cdk.exception.CDKException

getAminoGroupOrder

protected double[] getAminoGroupOrder(org.openscience.cdk.interfaces.IAtomContainerSet substituents,
                                      java.lang.String mark)
If more than one amino group is present, the -N with lowest steric hindrance ( 1. primary amines; 2. secondary amines; 3. tertiary amines; in increasing steric hindrance order) is considered to be the functional group;
If more than one amino group is present, and all of them have the same steric hindrance on the -N, the one that is considered to be the functional group is that which has a substituent in an adjacent position (ortho-substituent).

Parameters:
substituents -
mark - the name of the property under which the substituent number is stored
Returns:
number, ordering the amino group as explained above. The number is composed as A + 1/B, where A = 10, 20 or 30 for primary, secondary or tertiary amine. B = 1 if there are no ortho substituents to amine group; B=2 if there is one ortho substituents and B=3 if there are two ortho substituents. The size of ortho substituents is not taken into account. This number effectively orders the amino groups as explained above.

iterateSubstituents

protected void iterateSubstituents(org.openscience.cdk.interfaces.IAtomContainerSet substituents,
                                   java.lang.String mark,
                                   mutant.descriptors.ISubstituentAction<java.lang.Double> action,
                                   double[] positions)

aromaticAmine

public static org.openscience.cdk.isomorphism.matchers.QueryAtomContainer aromaticAmine(java.lang.String mark)


Copyright © 2004-2012 Ideaconsult Ltd.. All Rights Reserved.