Exemplo n.º 1
0
 public static void PerceiveDativeBonds(IReaction reaction)
 {
     foreach (var mol in ReactionManipulator.GetAllMolecules(reaction))
     {
         AtomContainerManipulator.PerceiveDativeBonds(mol);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// get all Molecules object from a set of Reactions.
        /// </summary>
        /// <param name="set">The set of reaction to inspect</param>
        /// <returns>The IAtomContanerSet</returns>
        public static IChemObjectSet <IAtomContainer> GetAllMolecules(IReactionSet set)
        {
            var moleculeSet = set.Builder.NewAtomContainerSet();

            foreach (var reaction in set)
            {
                var molecules = ReactionManipulator.GetAllMolecules(reaction);
                foreach (var ac in molecules)
                {
                    bool contain = false;
                    foreach (var atomContainer in moleculeSet)
                    {
                        if (atomContainer.Equals(ac))
                        {
                            contain = true;
                            break;
                        }
                    }
                    if (!contain)
                    {
                        moleculeSet.Add(ac);
                    }
                }
            }
            return(moleculeSet);
        }
Exemplo n.º 3
0
        public void TestGetAllMolecules_IReaction()
        {
            var       builder  = ChemObjectBuilder.Instance;
            IReaction reaction = builder.NewReaction();

            reaction.Reactants.Add(builder.NewAtomContainer());
            reaction.Reactants.Add(builder.NewAtomContainer());
            reaction.Reactants.Add(builder.NewAtomContainer());
            reaction.Products.Add(builder.NewAtomContainer());
            reaction.Products.Add(builder.NewAtomContainer());
            Assert.AreEqual(5, ReactionManipulator.GetAllMolecules(reaction).Count());
        }