MoleculeSignature extends AbstractGraphSignature { public static IAtomContainer fromSignatureString(String signatureString, IChemObjectBuilder coBuilder) { ColoredTree tree = AtomSignature.parse(signatureString); MoleculeFromSignatureBuilder builder = new MoleculeFromSignatureBuilder(coBuilder); builder.makeFromColoredTree(tree); return builder.getAtomContainer(); } MoleculeSignature(IAtomContainer molecule);  MoleculeSignature(IAtomContainer molecule, int height); @Override /** {@inheritDoc} */ String signatureStringForVertex(int vertexIndex); @Override /** {@inheritDoc} */ String signatureStringForVertex(int vertexIndex, int height); @Override /** {@inheritDoc} */ AbstractVertexSignature signatureForVertex(int vertexIndex); List<Orbit> calculateOrbits(); static IAtomContainer fromSignatureString(String signatureString, IChemObjectBuilder coBuilder); String toCanonicalSignatureString(int height);  }
@Test public void fromSignatureStringTest() { String signatureString = molSig.toCanonicalString(); IAtomContainer reconstructed = MoleculeSignature.fromSignatureString(signatureString, builder); Assert.assertEquals(mol.getAtomCount(), reconstructed.getAtomCount()); }