Beispiel #1
0
        private static void ProcessChemFile(IChemFile chemFile, ISettings settings, FileUsage usage,
                                            MoleculeLoadingResults results, LoadingProgress progress)
        {
            MoleculeProcessingProgress molProcessing = new MoleculeProcessingProgress(progress);

            progress.MoveToNextProcess(molProcessing);

            // calc size
            int numModels = 0;

            for (int seq = 0; seq < chemFile.ChemSequenceCount; seq++)
            {
                IChemSequence chemSeq = chemFile.getChemSequence(seq);
                numModels += chemSeq.ChemModelCount;
            }
            float modelSz = 1.0f / (float)numModels;

            results.NumSequences = chemFile.ChemSequenceCount;
            for (int seq = 0; seq < chemFile.ChemSequenceCount; seq++)
            {
                IChemSequence chemSeq = chemFile.getChemSequence(seq);
                results.NumModels += chemSeq.ChemModelCount;
                for (int model = 0; model < chemSeq.ChemModelCount; model++)
                {
                    ProcessChemModel(chemSeq.getChemModel(model), settings, usage, results, molProcessing, modelSz);
                }
                molProcessing.Log("Processed Sequence", LogItem.ItemLevel.Success);
            }
            molProcessing.Log("Processed File", LogItem.ItemLevel.Success);
        }
 public static int getBondCount(IChemFile file)
 {
     int count = 0;
     for (int i = 0; i < file.ChemSequenceCount; i++)
     {
         count += ChemSequenceManipulator.getBondCount(file.getChemSequence(i));
     }
     return count;
 }
 /// <summary> Puts all the Molecules of this container together in one 
 /// AtomCcntainer.
 /// 
 /// </summary>
 /// <returns>  The AtomContainer with all the Molecules of this container
 /// 
 /// </returns>
 /// <deprecated> This method has a serious performace impact. Try to use
 /// other methods.
 /// </deprecated>
 public static IAtomContainer getAllInOneContainer(IChemFile file)
 {
     IAtomContainer container = file.Builder.newAtomContainer();
     for (int i = 0; i < file.ChemSequenceCount; i++)
     {
         IChemSequence sequence = file.getChemSequence(i);
         container.add(ChemSequenceManipulator.getAllInOneContainer(sequence));
     }
     return container;
 }
Beispiel #4
0
 /// <summary> Returns a List of all IChemObject in this ChemFile.
 ///
 /// </summary>
 /// <returns>  A list of all ChemObjects
 /// </returns>
 public static System.Collections.IList getAllChemObjects(IChemFile file)
 {
     System.Collections.ArrayList list = new System.Collections.ArrayList();
     list.Add(file);
     for (int i = 0; i < file.ChemSequenceCount; i++)
     {
         list.AddRange(ChemSequenceManipulator.getAllChemObjects(file.getChemSequence(i)));
     }
     return(list);
 }
Beispiel #5
0
        public static int getBondCount(IChemFile file)
        {
            int count = 0;

            for (int i = 0; i < file.ChemSequenceCount; i++)
            {
                count += ChemSequenceManipulator.getBondCount(file.getChemSequence(i));
            }
            return(count);
        }
Beispiel #6
0
        /// <summary> Puts all the Molecules of this container together in one
        /// AtomCcntainer.
        ///
        /// </summary>
        /// <returns>  The AtomContainer with all the Molecules of this container
        ///
        /// </returns>
        /// <deprecated> This method has a serious performace impact. Try to use
        /// other methods.
        /// </deprecated>
        public static IAtomContainer getAllInOneContainer(IChemFile file)
        {
            IAtomContainer container = file.Builder.newAtomContainer();

            for (int i = 0; i < file.ChemSequenceCount; i++)
            {
                IChemSequence sequence = file.getChemSequence(i);
                container.add(ChemSequenceManipulator.getAllInOneContainer(sequence));
            }
            return(container);
        }
 /// <summary> Returns a List of all IChemObject in this ChemFile.
 /// 
 /// </summary>
 /// <returns>  A list of all ChemObjects
 /// </returns>
 public static System.Collections.IList getAllChemObjects(IChemFile file)
 {
     System.Collections.ArrayList list = new System.Collections.ArrayList();
     list.Add(file);
     for (int i = 0; i < file.ChemSequenceCount; i++)
     {
         list.AddRange(ChemSequenceManipulator.getAllChemObjects(file.getChemSequence(i)));
     }
     return list;
 }
Beispiel #8
0
 public virtual IChemSequence getChemSequence(int number)
 {
     return(currentChemFile.getChemSequence(number));
 }