$darkmode
|
DENOPTIM
|
Static Public Member Functions | |
| static void | checkElementalAnalysisAgainstFormula (File input, File output, Logger logger) throws DENOPTIMException, IOException |
Processes all molecules analyzing the composition of the structure in the chemical representation as compared to the molecular formula declared in the DENOPTIMConstants#FORMULASTR property, and extracts those molecules where the declared formula matches the composition of the chemical representation. More... | |
| static boolean | prepareMolToFragmentation (IAtomContainer mol, FragmenterParameters settings, int index) |
Do any pre-processing on a IAtomContainer meant to be fragmented. More... | |
| static void | filterStrucutresBySMARTS (File input, Set< String > smarts, File output, Logger logger) throws DENOPTIMException, IOException |
| Removes from the structures anyone that matches any of the given SMARTS queries. More... | |
| static boolean | fragmentationFromGraphs (File input, FragmenterParameters settings, File output, Logger logger) throws DENOPTIMException, Exception |
| Performs fragmentation from graphs, i.e., extracts existing fragments from graphs (stored in a file). More... | |
| static List< Vertex > | fragmentation (IAtomContainer mol, FragmenterParameters settings) throws DENOPTIMException |
| Performs fragmentation according to the given settings. More... | |
| static boolean | fragmentation (File input, FragmenterParameters settings, File output, Logger logger) throws CDKException, IOException, DENOPTIMException, IllegalArgumentException, UndetectedFileFormatException |
| Performs fragmentation according to the given cutting rules. More... | |
| static List< Vertex > | fragmentation (IAtomContainer mol, List< DGraph > templates, int maxBufferShellSize, Randomizer randomizer, Logger logger) throws DENOPTIMException |
| Chops one chemical structure by applying the given fragmentation templates. More... | |
| static List< Vertex > | fragmentation (IAtomContainer mol, List< CuttingRule > rules, Logger logger) throws DENOPTIMException |
| Chops one chemical structure by applying the given cutting rules. More... | |
| static void | manageFragmentCollection (File input, FragmenterParameters settings, File output, Logger logger) throws DENOPTIMException, IOException, IllegalArgumentException, UndetectedFileFormatException |
| Management of fragments: includes application of fragment filters, rejection rules, and collection rules (also of isomorphic fragments, thus management of duplicates) to manipulate collection of fragments. More... | |
| static void | manageFragmentCollection (Vertex frag, int fragCounter, FragmenterParameters settings, List< Vertex > collector, Logger logger) throws DENOPTIMException, IllegalArgumentException, UndetectedFileFormatException, IOException |
| Management of fragments: includes application of fragment filters, rejection rules, and collection rules (also of isomorphic fragments, thus management of duplicates) to manipulate collection of fragments. More... | |
| static boolean | filterFragment (Fragment frag, FragmenterParameters settings) |
| Filter fragments according to the criteria defined in the settings. More... | |
| static boolean | filterFragment (Fragment frag, FragmenterParameters settings, Logger logger) |
| Filter fragments according to the criteria defined in the settings. More... | |
| static String | getMWSlotIdentifier (Vertex frag, int slotSize) |
| Determines the name of the MW slot to use when comparing the given fragment with previously stored fragments. More... | |
| static Vertex | getRCVForAP (AttachmentPoint ap, APClass rcvApClass) throws DENOPTIMException |
Static Package Functions | |
| static Set< IAtom > | exploreHapticity (IAtom seed, IAtom centralAtom, ArrayList< IAtom > candidates, IAtomContainer mol) |
| Identifies non-central atoms involved in the same n-hapto ligand as the seed atom. More... | |
| static Set< IAtom > | exploreConnectivity (IAtom seed, IAtomContainer mol) |
| Explores the connectivity annotating which atoms have been visited. More... | |
| static Map< String, List< MatchedBond > > | getMatchingBondsAllInOne (IAtomContainer mol, List< CuttingRule > rules, Logger logger) |
| Identification of the bonds matching a list of SMARTS queries. More... | |
Static Private Member Functions | |
| static void | exploreDGraphForMappings (DGraph graph, IAtomContainer graphIAC, Fragment masterFrag, IAtomContainer masterFragIAC, IAtomContainer mol, Map< IAtom, IAtom > graphToMolMapping) throws DENOPTIMException |
| Recursive function to process edges at any level of embedding to remove the corresponding bonds and create the corresponding attachment points. More... | |
| static Point3d | findPointAlignedWithTmpl (AttachmentPoint ap, IAtom graphAtmSrc, IAtomContainer graphIAC, IAtomContainer masterFragIAC, IAtomContainer mol, Map< IAtom, IAtom > graphToMolMapping) throws DENOPTIMException |
| Finds the point on the master fragment that is aligned with the template geometry. More... | |
Definition at line 63 of file FragmenterTools.java.
|
static |
Processes all molecules analyzing the composition of the structure in the chemical representation as compared to the molecular formula declared in the DENOPTIMConstants#FORMULASTR property, and extracts those molecules where the declared formula matches the composition of the chemical representation.
| input | the source of chemical structures. |
| output | the file where to write extracted structures. |
| logger | a task-dedicated logger where we print messages for the user. |
| DENOPTIMException | |
| IOException |
Definition at line 82 of file FragmenterTools.java.
References denoptim.utils.FormulaUtils.compareFormulaAndElementalAnalysis(), denoptim.constants.DENOPTIMConstants.FORMULASTR, and denoptim.io.DenoptimIO.writeSDFFile().
Referenced by denoptim.fragmenter.FragmenterTask.call().
|
staticpackage |
Explores the connectivity annotating which atoms have been visited.
| seed | atom acting as starting point. |
| mol | the atom container that own all the atoms we work with. |
Definition at line 1212 of file FragmenterTools.java.
Referenced by denoptim.fragmenter.FragmenterTools.fragmentation(), and denoptim.fragmenter.FragmenterToolsTest.testExploreConnectivity().
|
staticprivate |
Recursive function to process edges at any level of embedding to remove the corresponding bonds and create the corresponding attachment points.
TODO: 1) deal with RCVs in the graph. 2) deal with multihapticity.
Definition at line 701 of file FragmenterTools.java.
References denoptim.fragmenter.FragmenterTools.exploreDGraphForMappings(), denoptim.fragmenter.FragmenterTools.findPointAlignedWithTmpl(), denoptim.utils.MoleculeUtils.getPoint3d(), and denoptim.graph.AttachmentPoint.setCutId().
Referenced by denoptim.fragmenter.FragmenterTools.exploreDGraphForMappings(), and denoptim.fragmenter.FragmenterTools.fragmentation().
|
staticpackage |
Identifies non-central atoms involved in the same n-hapto ligand as the seed atom.
| seed | atom acting as starting point. |
| centralAtom | the central atom (typically the metal) to which the seed is bonded as part of the multihapto system. |
| candidates | atoms that may belong to the multihapto ligand (i.e., atoms that have matches the cutting rule). |
| mol | the atom container that own all the atoms we work with. |
Definition at line 1172 of file FragmenterTools.java.
Referenced by denoptim.fragmenter.FragmenterTools.fragmentation(), and denoptim.fragmenter.FragmenterToolsTest.testExploreHapticity().
|
static |
Filter fragments according to the criteria defined in the settings.
Log is sent to logger in the FragmenterParameters argument.
| frag | the fragment to analyze. |
| settings | collection of settings including filtering criteria. |
true if the fragment should be kept, or false if any of the filtering criteria is offended and, therefore, the fragment should be rejected. Definition at line 1531 of file FragmenterTools.java.
References denoptim.fragmenter.FragmenterTools.filterFragment(), and denoptim.programs.RunTimeParameters.getLogger().
Referenced by denoptim.fragmenter.FragmenterTools.filterFragment(), denoptim.fragmenter.FragmenterTools.manageFragmentCollection(), and denoptim.fragmenter.FragmenterToolsTest.testFilterFragment().
|
static |
Filter fragments according to the criteria defined in the settings.
| frag | the fragment to analyze. |
| settings | collection of settings including filtering criteria. |
| logger | where to direct log messages. This is typically different from the logger registered in the FragmenterParameters, which is the master logger, as we want thread-specific logging. |
true if the fragment should be kept, or false if any of the filtering criteria is offended and, therefore, the fragment should be rejected. Definition at line 1550 of file FragmenterTools.java.
References denoptim.graph.Fragment.atoms(), denoptim.programs.fragmenter.FragmenterParameters.doRejectWeirdIsotopes, denoptim.constants.DENOPTIMConstants.DUMMYATMSYMBOL, denoptim.graph.Vertex.getAllAPClasses(), denoptim.graph.Fragment.getAttachmentPoints(), denoptim.utils.FormulaUtils.getElementalanalysis(), denoptim.programs.fragmenter.FragmenterParameters.getFragRejectionSMARTS(), denoptim.programs.fragmenter.FragmenterParameters.getFragRetentionSMARTS(), denoptim.graph.Fragment.getIAtomContainer(), denoptim.programs.fragmenter.FragmenterParameters.getMaxFragHeavyAtomCount(), denoptim.utils.ManySMARTSQuery.getMessage(), denoptim.programs.fragmenter.FragmenterParameters.getMinFragHeavyAtomCount(), denoptim.utils.ManySMARTSQuery.getNumMatchesOfQuery(), denoptim.utils.MoleculeUtils.getPoint3d(), denoptim.programs.fragmenter.FragmenterParameters.getRejectedAPClassCombinations(), denoptim.programs.fragmenter.FragmenterParameters.getRejectedAPClasses(), denoptim.programs.fragmenter.FragmenterParameters.getRejectedElements(), denoptim.programs.fragmenter.FragmenterParameters.getRejectedFormulaLessThan(), denoptim.programs.fragmenter.FragmenterParameters.getRejectedFormulaMoreThan(), denoptim.utils.MoleculeUtils.getSymbolOrLabel(), denoptim.utils.ManySMARTSQuery.hasProblems(), denoptim.utils.MoleculeUtils.isElement(), and denoptim.programs.fragmenter.FragmenterParameters.isWorkingIn3D().
|
static |
Removes from the structures anyone that matches any of the given SMARTS queries.
| input | the source of chemical structures. |
| smarts | the queries leading to rejection. |
| output | the file where to write extracted structures. |
| logger | a task-dedicated logger where we print messages for the user. |
| DENOPTIMException | |
| IOException |
Definition at line 233 of file FragmenterTools.java.
References denoptim.utils.ManySMARTSQuery.getAllMatches(), denoptim.utils.ManySMARTSQuery.getMessage(), denoptim.utils.ManySMARTSQuery.getProblem(), denoptim.utils.ManySMARTSQuery.hasProblems(), and denoptim.io.DenoptimIO.writeSDFFile().
Referenced by denoptim.fragmenter.FragmenterTask.call().
|
staticprivate |
Finds the point on the master fragment that is aligned with the template geometry.
| ap | the AP for which we do the alignement |
| graphAtmSrc | the atom in the template graph that is the source of the AP. It belongs to graphIAC. |
| graphIAC | the atom container corresonding to the template graph |
| masterFragIAC | the fragment being created by fragmentation (may be discontinuous). Must be consistent with mol. |
| mol | the molecule being fragmented |
| graphToMolMapping | the mapping between the atoms in the template graph (graphIAC) and the atoms in the molecule being fragmented (mol). |
| DENOPTIMException |
Definition at line 781 of file FragmenterTools.java.
References denoptim.utils.MathUtils.angle(), denoptim.constants.DENOPTIMConstants.FLOATCOMPARISONTOLERANCE, denoptim.utils.CartesianSpaceUtils.getNormalDirection(), denoptim.utils.MoleculeUtils.getPoint3d(), denoptim.utils.CartesianSpaceUtils.getVectorFromTo(), denoptim.utils.MoleculeUtils.makeSameAs(), and denoptim.utils.CartesianSpaceUtils.rotatedVectorWAxisAngle().
Referenced by denoptim.fragmenter.FragmenterTools.exploreDGraphForMappings().
|
static |
Performs fragmentation according to the given cutting rules.
| input | the source of chemical structures. |
| settings | configurations including cutting rules and filtration criteria. |
| output | the file where to write extracted structures. |
| logger | where to direct log messages. This is typically different from the logger registered in the FragmenterParameters, which is the master logger, as we want thread-specific logging. |
| DENOPTIMException | |
| IOException | |
| UndetectedFileFormatException | |
| IllegalArgumentException | |
| CDKException |
true if the fragmentation produced at least one fragment that survived post filtering, i.e., the output file does contain something. Definition at line 404 of file FragmenterTools.java.
References denoptim.io.IteratingAtomContainerReader.close(), denoptim.fragmenter.FragmenterTools.fragmentation(), denoptim.io.IteratingAtomContainerReader.hasNext(), denoptim.fragmenter.FragmenterTools.manageFragmentCollection(), denoptim.io.IteratingAtomContainerReader.next(), denoptim.files.FileFormat.VRTXSDF, and denoptim.io.DenoptimIO.writeVertexesToFile().
|
static |
Performs fragmentation according to the given settings.
| mol | the molecule to fragment |
| settings | the parameters controlling the fragmentation |
| DENOPTIMException |
Definition at line 366 of file FragmenterTools.java.
References denoptim.fragmenter.FragmenterTools.fragmentation().
Referenced by denoptim.fragmenter.FragmenterTask.call(), denoptim.fragmenter.FragmenterTools.fragmentation(), denoptim.gui.GUIVertexInspector.initialize(), and denoptim.ga.EAUtils.makeGraphFromFragmentationOfMol().
|
static |
Chops one chemical structure by applying the given cutting rules.
| mol | |
| rules | |
| logger |
| DENOPTIMException |
Definition at line 958 of file FragmenterTools.java.
References denoptim.graph.Fragment.addAPOnAtom(), denoptim.graph.Fragment.atoms(), denoptim.graph.Fragment.clone(), denoptim.constants.DENOPTIMConstants.DUMMYATMSYMBOL, denoptim.fragmenter.FragmenterTools.exploreConnectivity(), denoptim.fragmenter.FragmenterTools.exploreHapticity(), denoptim.graph.Fragment.getAtomCount(), denoptim.graph.Fragment.getAttachmentPoints(), denoptim.graph.Fragment.getIAtomContainer(), denoptim.fragmenter.FragmenterTools.getMatchingBondsAllInOne(), denoptim.utils.MoleculeUtils.getPoint3d(), denoptim.utils.MoleculeUtils.getSymbolOrLabel(), denoptim.graph.Fragment.removeAtoms(), denoptim.graph.AttachmentPoint.setCutId(), and denoptim.graph.Vertex.BBType.UNDEFINED.
|
static |
Chops one chemical structure by applying the given fragmentation templates.
| mol | the molecule to fragment |
| templates | the template graphs to use for fragmentation |
| maxBufferShellSize | the maximum number of buffer shells to consider, i.e., the number of bonds to consider for including atoms around topology-critical atoms when trying to find a unique mapping between the template graph and the molecular structure. |
| randomizer | the randomizer to use for the fragmentation. |
| logger | the logger to use for logging messages. |
| DENOPTIMException |
Definition at line 501 of file FragmenterTools.java.
References denoptim.graph.Fragment.atoms(), denoptim.graph.Fragment.clone(), denoptim.molecularmodeling.ThreeDimTreeBuilder.convertGraphTo3DAtomContainer(), denoptim.fragmenter.FragmenterTools.exploreConnectivity(), denoptim.fragmenter.FragmenterTools.exploreDGraphForMappings(), denoptim.utils.MoleculeUtils.findUniqueAtomMappings(), denoptim.graph.Fragment.getAtomCount(), denoptim.graph.Fragment.getAttachmentPoints(), denoptim.graph.Fragment.getIAtomContainer(), denoptim.fragmenter.TopoTemplateProducer.getTemplateWithBufferShell(), denoptim.graph.Fragment.removeAtoms(), and denoptim.graph.Vertex.BBType.UNDEFINED.
|
static |
Performs fragmentation from graphs, i.e., extracts existing fragments from graphs (stored in a file).
No cutting rule is applied.
| input | the source of graphs. |
| settings | configurations including filtration criteria. |
| output | the file where to write extracted structures. |
| logger | where to direct log messages. This is typically different from the logger registered in the FragmenterParameters, which is the master logger, as we want thread-specific logging. |
true if the extraction produced at least one fragment that survived post filtering, i.e., the output file does contain something. | Exception | |
| DENOPTIMException |
Definition at line 322 of file FragmenterTools.java.
References denoptim.fragmenter.FragmenterTools.manageFragmentCollection(), denoptim.io.DenoptimIO.readDENOPTIMGraphsFromFile(), denoptim.files.FileFormat.VRTXSDF, and denoptim.io.DenoptimIO.writeVertexesToFile().
Referenced by denoptim.fragmenter.FragmenterTask.call().
|
staticpackage |
Identification of the bonds matching a list of SMARTS queries.
| mol | chemical system to be analyzed |
| rules | priority-sorted list of cutting rules. |
| logger |
Definition at line 1247 of file FragmenterTools.java.
References denoptim.programs.fragmenter.MatchedBond.satisfiesRuleOptions.
Referenced by denoptim.fragmenter.FragmenterTools.fragmentation(), and denoptim.fragmenter.FragmenterToolsTest.testGetMatchingBonds().
|
static |
Determines the name of the MW slot to use when comparing the given fragment with previously stored fragments.
| frag | the fragment for which we want the MW slot identifier. |
| slotSize | the size of the MW slot. |
Definition at line 1835 of file FragmenterTools.java.
References denoptim.graph.Vertex.getIAtomContainer().
Referenced by denoptim.fragmenter.ConformerExtractorTask.ConformerExtractorTask(), denoptim.fragmenter.FragmenterTools.manageFragmentCollection(), and denoptim.fragmenter.FragmenterToolsTest.testGetMWSlotIdentifier().
|
static |
Definition at line 1849 of file FragmenterTools.java.
References denoptim.graph.Fragment.addAP(), denoptim.graph.Vertex.BBType.FRAGMENT, denoptim.utils.MoleculeUtils.getPoint3d(), denoptim.graph.rings.RingClosingAttractor.RCALABELPERAPCLASS, and denoptim.graph.Vertex.setAsRCV().
Referenced by denoptim.ga.EAUtils.appendVertexesToGraphFollowingEdges().
|
static |
Management of fragments: includes application of fragment filters, rejection rules, and collection rules (also of isomorphic fragments, thus management of duplicates) to manipulate collection of fragments.
Definition at line 1318 of file FragmenterTools.java.
References denoptim.fragmenter.FragmenterTools.manageFragmentCollection(), denoptim.graph.Vertex.BBType.UNDEFINED, denoptim.files.FileFormat.VRTXSDF, and denoptim.io.DenoptimIO.writeVertexesToFile().
Referenced by denoptim.fragmenter.FragmenterTask.call(), denoptim.fragmenter.FragmenterTools.fragmentation(), denoptim.fragmenter.FragmenterTools.fragmentationFromGraphs(), and denoptim.fragmenter.FragmenterTools.manageFragmentCollection().
|
static |
Management of fragments: includes application of fragment filters, rejection rules, and collection rules (also of isomorphic fragments, thus management of duplicates) to manipulate collection of fragments.
| frag | the fragment to analyze now. This is a fragment that is candidates to enter the collection of fragments. |
| fragCounter | fragment index. Used only for logging purposes. |
| settings | configuration of the filters and methods uses throughout the fragmentation and pre-/post-processing of fragments. |
| collector | where accepted fragments are collected. This is the collection of fragment where we want to put frag. |
| logger | where to direct all log. |
| DENOPTIMException | |
| IllegalArgumentException | |
| UndetectedFileFormatException | |
| IOException |
Definition at line 1380 of file FragmenterTools.java.
References denoptim.utils.DummyAtomHandler.addDummiesOnLinearities(), denoptim.fragmenter.FragmenterTools.filterFragment(), denoptim.utils.MoleculeUtils.getDimensions(), denoptim.graph.Fragment.getIAtomContainer(), denoptim.fragmenter.FragmenterTools.getMWSlotIdentifier(), denoptim.graph.Vertex.getProperty(), denoptim.constants.DENOPTIMConstants.ISOMORPHICFAMILYID, denoptim.io.DenoptimIO.readVertexes(), denoptim.graph.Vertex.setProperty(), denoptim.graph.Vertex.BBType.UNDEFINED, denoptim.files.FileFormat.VRTXSDF, and denoptim.io.DenoptimIO.writeVertexToFile().
|
static |
Do any pre-processing on a IAtomContainer meant to be fragmented.
These are DENOPTIM specific manipulations, in particular meant to comply to requirements to write SDF files: unset bond orders can only be used in query-type files. So types 4 and 8 are not expected to be found (but CSD uses them...). Also, it deals with implicit H formalism according to the given settings.
| mol | the system that this method prepares to fragmentation. |
| settings | the settings controlling how the molecule is prepared. |
| index | identifies the given IAtomContainer in a collection of systems to work on. This is used only for logging. |
Definition at line 162 of file FragmenterTools.java.
References denoptim.programs.fragmenter.FragmenterParameters.acceptUnsetToSingeBO(), denoptim.programs.fragmenter.FragmenterParameters.addExplicitH, denoptim.utils.MoleculeUtils.ensureNoUnsetBondOrders(), denoptim.utils.MoleculeUtils.explicitHydrogens(), denoptim.programs.RunTimeParameters.ParametersType.FRG_PARAMS, denoptim.programs.RunTimeParameters.getLogger(), and denoptim.utils.MoleculeUtils.setZeroImplicitHydrogensToAllAtoms().
Referenced by denoptim.gui.GUIGraphHandler.appendGraphsFromConvertingMolecule(), denoptim.ga.EAUtils.buildCandidateByFragmentingMolecule(), and denoptim.fragmenter.ParallelFragmentationAlgorithm.splitInputForThreads().