public static int getBondCount(ISetOfAtomContainers set_Renamed)
 {
     int count = 0;
     IAtomContainer[] acs = set_Renamed.AtomContainers;
     for (int i = 0; i < acs.Length; i++)
     {
         count += acs[i].getBondCount();
     }
     return count;
 }
 public static System.Collections.IList getAllChemObjects(ISetOfAtomContainers set_Renamed)
 {
     System.Collections.ArrayList list = new System.Collections.ArrayList();
     list.Add(set_Renamed);
     IAtomContainer[] acs = set_Renamed.AtomContainers;
     for (int i = 0; i < acs.Length; i++)
     {
         list.Add(acs[i]); // don't recurse into AC's for now
     }
     return(list);
 }
        /// <summary> Puts all the AtomContainers of this set together in one
        /// AtomCcntainer.
        ///
        /// </summary>
        /// <returns>  The AtomContainer with all the AtomContainers of this set
        ///
        /// </returns>
        /// <deprecated> This method has a serious performace impact. Try to use
        /// other methods.
        /// </deprecated>
        public static IAtomContainer getAllInOneContainer(ISetOfAtomContainers set_Renamed)
        {
            IAtomContainer container = set_Renamed.Builder.newAtomContainer();

            IAtomContainer[] acs = set_Renamed.AtomContainers;
            for (int i = 0; i < acs.Length; i++)
            {
                container.add(acs[i]);
            }
            return(container);
        }
 public static IAtomContainer getRelevantAtomContainer(ISetOfAtomContainers containerSet, IBond bond)
 {
     IAtomContainer[] containers = containerSet.AtomContainers;
     for (int i = 0; i < containers.Length; i++)
     {
         if (containers[i].contains(bond))
         {
             return(containers[i]);
         }
     }
     return(null);
 }
        /// <returns> The summed formal charges of all atoms in this set.
        /// </returns>
        public static double getTotalFormalCharge(ISetOfAtomContainers set_Renamed)
        {
            int charge = 0;

            for (int i = 0; i < set_Renamed.AtomContainerCount; i++)
            {
                int    thisCharge = AtomContainerManipulator.getTotalFormalCharge(set_Renamed.getAtomContainer(i));
                double stoich     = set_Renamed.getMultiplier(i);
                charge = (int)(charge + stoich * thisCharge);
            }
            return(charge);
        }
        /// <summary>  Adds all atomContainers in the SetOfAtomContainers to this container.
        ///
        /// </summary>
        /// <param name="atomContainerSet"> The SetOfAtomContainers
        /// </param>
        public virtual void add(ISetOfAtomContainers atomContainerSet)
        {
            IAtomContainer[] mols = atomContainerSet.AtomContainers;
            for (int i = 0; i < mols.Length; i++)
            {
                addAtomContainer(mols[i]);
            }

            /*
             *  notifyChanged() is called by addAtomContainer()
             */
        }
 public static System.Collections.ArrayList getAllIDs(ISetOfAtomContainers set_Renamed)
 {
     System.Collections.ArrayList idList = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(10));
     if (set_Renamed != null)
     {
         if (set_Renamed.ID != null)
         {
             idList.Add(set_Renamed.ID);
         }
         for (int i = 0; i < set_Renamed.AtomContainerCount; i++)
         {
             idList.Add(AtomContainerManipulator.getAllIDs(set_Renamed.getAtomContainer(i)));
         }
     }
     return(idList);
 }
 public static void removeElectronContainer(ISetOfAtomContainers set_Renamed, IElectronContainer electrons)
 {
     IAtomContainer[] acs = set_Renamed.AtomContainers;
     for (int i = 0; i < acs.Length; i++)
     {
         IAtomContainer container = acs[i];
         if (container.contains(electrons))
         {
             container.removeElectronContainer(electrons);
             IMolecule[] molecules = ConnectivityChecker.partitionIntoMolecules(container).Molecules;
             if (molecules.Length > 1)
             {
                 set_Renamed.removeAtomContainer(container);
                 for (int k = 0; k < molecules.Length; k++)
                 {
                     set_Renamed.addAtomContainer(molecules[k]);
                 }
             }
             return;
         }
     }
 }
 public static void removeElectronContainer(ISetOfAtomContainers set_Renamed, IElectronContainer electrons)
 {
     IAtomContainer[] acs = set_Renamed.AtomContainers;
     for (int i = 0; i < acs.Length; i++)
     {
         IAtomContainer container = acs[i];
         if (container.contains(electrons))
         {
             container.removeElectronContainer(electrons);
             IMolecule[] molecules = ConnectivityChecker.partitionIntoMolecules(container).Molecules;
             if (molecules.Length > 1)
             {
                 set_Renamed.removeAtomContainer(container);
                 for (int k = 0; k < molecules.Length; k++)
                 {
                     set_Renamed.addAtomContainer(molecules[k]);
                 }
             }
             return;
         }
     }
 }
 /// <summary> Returns all the AtomContainer's of a SetOfMolecules.</summary>
 public static IAtomContainer[] getAllAtomContainers(ISetOfAtomContainers set_Renamed)
 {
     return(set_Renamed.AtomContainers);
 }
 /// <summary> Returns all the AtomContainer's of a SetOfMolecules.</summary>
 public static IAtomContainer[] getAllAtomContainers(ISetOfAtomContainers set_Renamed)
 {
     return set_Renamed.AtomContainers;
 }
 public static System.Collections.IList getAllChemObjects(ISetOfAtomContainers set_Renamed)
 {
     System.Collections.ArrayList list = new System.Collections.ArrayList();
     list.Add(set_Renamed);
     IAtomContainer[] acs = set_Renamed.AtomContainers;
     for (int i = 0; i < acs.Length; i++)
     {
         list.Add(acs[i]); // don't recurse into AC's for now
     }
     return list;
 }
 public static IAtomContainer getRelevantAtomContainer(ISetOfAtomContainers containerSet, IBond bond)
 {
     IAtomContainer[] containers = containerSet.AtomContainers;
     for (int i = 0; i < containers.Length; i++)
     {
         if (containers[i].contains(bond))
         {
             return containers[i];
         }
     }
     return null;
 }
 public static void setAtomProperties(ISetOfAtomContainers set_Renamed, System.Object propKey, System.Object propVal)
 {
     if (set_Renamed != null)
     {
         for (int i = 0; i < set_Renamed.AtomContainerCount; i++)
         {
             AtomContainerManipulator.setAtomProperties(set_Renamed.getAtomContainer(i), propKey, propVal);
         }
     }
 }
 public static System.Collections.ArrayList getAllIDs(ISetOfAtomContainers set_Renamed)
 {
     System.Collections.ArrayList idList = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(10));
     if (set_Renamed != null)
     {
         if (set_Renamed.ID != null)
             idList.Add(set_Renamed.ID);
         for (int i = 0; i < set_Renamed.AtomContainerCount; i++)
         {
             idList.Add(AtomContainerManipulator.getAllIDs(set_Renamed.getAtomContainer(i)));
         }
     }
     return idList;
 }
 /// <returns> The summed implicit hydrogens of all atoms in this set.
 /// </returns>
 public static int getTotalHydrogenCount(ISetOfAtomContainers set_Renamed)
 {
     int hCount = 0;
     for (int i = 0; i < set_Renamed.AtomContainerCount; i++)
     {
         hCount += AtomContainerManipulator.getTotalHydrogenCount(set_Renamed.getAtomContainer(i));
     }
     return hCount;
 }
 /// <returns> The summed formal charges of all atoms in this set.
 /// </returns>
 public static double getTotalFormalCharge(ISetOfAtomContainers set_Renamed)
 {
     int charge = 0;
     for (int i = 0; i < set_Renamed.AtomContainerCount; i++)
     {
         int thisCharge = AtomContainerManipulator.getTotalFormalCharge(set_Renamed.getAtomContainer(i));
         double stoich = set_Renamed.getMultiplier(i);
         charge = (int)(charge + stoich * thisCharge);
     }
     return charge;
 }
 /// <summary>  Adds all atomContainers in the SetOfAtomContainers to this container.
 /// 
 /// </summary>
 /// <param name="atomContainerSet"> The SetOfAtomContainers
 /// </param>
 public virtual void add(ISetOfAtomContainers atomContainerSet)
 {
     IAtomContainer[] mols = atomContainerSet.AtomContainers;
     for (int i = 0; i < mols.Length; i++)
     {
         addAtomContainer(mols[i]);
     }
     /*
     *  notifyChanged() is called by addAtomContainer()
     */
 }
Example #19
0
 public static int getBondCount(ISetOfAtomContainers set_Renamed)
 {
     return(SetOfAtomContainersManipulator.getBondCount(set_Renamed));
 }
Example #20
0
        /// <summary> Labels the Atom's and Bond's in each AtomContainer using the a1, a2, b1, b2
        /// scheme often used in CML. It will also set id's for all AtomContainers, naming
        /// them m1, m2, etc.
        /// It will not the SetOfAtomContainers itself.
        /// </summary>
        public virtual void createIDs(ISetOfAtomContainers containerSet)
        {
            if (tabuList == null)
                tabuList = SetOfAtomContainersManipulator.getAllIDs(containerSet);

            if (containerSet.ID == null)
            {
                moleculeCount++;
                while (tabuList.Contains("molSet" + moleculeCount))
                    moleculeCount++;
                containerSet.ID = "molSet" + moleculeCount;
            }

            IAtomContainer[] containers = containerSet.AtomContainers;
            for (int i = 0; i < containers.Length; i++)
            {
                IAtomContainer container = containers[i];
                if (container.ID == null)
                {
                    createIDs(container);
                }
            }
        }
 /// <summary> Puts all the AtomContainers of this set together in one 
 /// AtomCcntainer.
 /// 
 /// </summary>
 /// <returns>  The AtomContainer with all the AtomContainers of this set
 /// 
 /// </returns>
 /// <deprecated> This method has a serious performace impact. Try to use
 /// other methods.
 /// </deprecated>
 public static IAtomContainer getAllInOneContainer(ISetOfAtomContainers set_Renamed)
 {
     IAtomContainer container = set_Renamed.Builder.newAtomContainer();
     IAtomContainer[] acs = set_Renamed.AtomContainers;
     for (int i = 0; i < acs.Length; i++)
     {
         container.add(acs[i]);
     }
     return container;
 }