Beispiel #1
0
        /// <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
     }
 }
Beispiel #3
0
        /// <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);
            }
        }