/// <summary> /// Apply an aromaticity model to a molecule and set the aromatic flags /// </summary> /// <param name="mol"></param> /// <returns></returns> public static bool ApplyAromaticity( IAtomContainer mol) { bool isAromatic = ApplyAromaticity(mol, ElectronDonation.cdk(), Cycles.cdkAromaticSet()); return(isAromatic); }
public static void Main(string[] args) { { #region ElectronDonation model = ElectronDonation.CDKModel; #endregion } }
/// <summary> /// ApplyAromaticity /// /// Mimics the CDKHuckelAromaticityDetector /// Aromaticity aromaticity = new Aromaticity(ElectronDonation.cdk(), Cycles.cdkAromaticSet()); /// /// Mimics the DoubleBondAcceptingAromaticityDetector /// Aromaticity aromaticity = new Aromaticity(ElectronDonation.cdkAllowingExocyclic(), Cycles.cdkAromaticSet()); /// /// A good model for writing SMILES /// Aromaticity aromaticity = new Aromaticity(ElectronDonation.daylight(), Cycles.all()); /// /// A good model for writing MDL/Mol2 /// Aromaticity aromaticity = new Aromaticity(ElectronDonation.piBonds(), Cycles.all()); /// /// </summary> /// <param name="mol"></param> /// <param name="electronDonation"></param> /// <param name="cycleFinder"></param> /// <returns></returns> public static bool ApplyAromaticity( IAtomContainer mol, ElectronDonation electronDonation, CycleFinder cycleFinder) { Aromaticity aromaticity = new Aromaticity(electronDonation, cycleFinder); try { bool isAromatic = aromaticity.apply(mol); return(isAromatic); } catch (Exception e) { string msg = e.Message; // cycle computation was intractable return(false); } }