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; }
/// <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); }
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); }
/// <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; }
public virtual IChemSequence getChemSequence(int number) { return(currentChemFile.getChemSequence(number)); }