Created
November 16, 2012 10:21
-
-
Save johnmay/4086209 to your computer and use it in GitHub Desktop.
Current/Proposed SMILES parsing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IChemObjectBuilder builder = SilentChemObjectBuilder.getInstance(); | |
SmilesParser parser = new SmilesParser(builder); | |
IAtomContainer sodiumChloride = parser.parseSmiles("[Na+].[Cl-]"); | |
IAtomContainer adenine = parser.parseSmiles("n1c(c2c(nc1)ncn2)N"); | |
// if you want the separate parts | |
// import static org.openscience.cdk.graph.ConnectivityChecker.partitionIntoMolecules; | |
IAtomContainerSet sodiumChlorideSet = partitionIntoMolecules(sodiumChloride); | |
IAtomContainerSet adenineSet = partitionIntoMolecules(adenine); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IChemObjectBuilder builder = SilentChemObjectBuilder.getInstance(); | |
SmilesParser parser = new SmilesParser(builder); | |
IAtomContainerSet sodiumChlorideSet = builder.newInstance(IAtomContainerSet.class); | |
IAtomContainerSet adenineSet = builder.newInstance(IAtomContainerSet.class); | |
sodiumChlorideSet.addAtomContainer(parser.parseSmiles("[Na+].[Cl-]")); | |
while (parser.hasMoreMolecules()){ | |
sodiumChlorideSet.addAtomContainer(parser.getNextMolecule()); | |
} | |
adenineSet.addAtomContainer(parser.parseSmiles("n1c(c2c(nc1)ncn2)N")); | |
while (parser.hasMoreMolecules()){ | |
adenineSet.addAtomContainer(parser.getNextMolecule()); | |
} | |
// merge sets into single atom containers | |
IAtomContainer sodimChloride = builder.newInstance(IAtomContainer.class); | |
IAtomContainer adenin = builder.newInstance(IAtomContainer.class); | |
for(IAtomContainer part : sodiumChlorideSet.atomContainers()) { | |
sodimChloride.add(part); | |
} | |
for(IAtomContainer part : adenineSet.atomContainers()) { | |
adenin.add(part); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment