test_class.declarator: smilesParser
test_class.modifier: private
test_class.original_string: private SmilesParser           smilesParser;
test_class.type: SmilesParser
test_class.var_name: smilesParser
test_class.declarator: tautomerGenerator = new InChITautomerGenerator()
test_class.modifier: private
test_class.original_string: private InChITautomerGenerator tautomerGenerator = new InChITautomerGenerator();
test_class.type: InChITautomerGenerator
test_class.var_name: tautomerGenerator
test_class.file: tool/tautomer/src/test/java/org/openscience/cdk/tautomers/InChITautomerGeneratorTest.java
test_class.identifier: InChITautomerGeneratorTest
test_class.superclass: extends CDKTestCase
test_case.body: @Test
      public void testAdenine() throws CDKException, CloneNotSupportedException {
          IChemObjectBuilder builder = DefaultChemObjectBuilder.getInstance();
          IAtomContainer mol = builder.newInstance(IAtomContainer.class);
          IAtom a1 = builder.newInstance(IAtom.class, "N");
          mol.addAtom(a1);
          IAtom a2 = builder.newInstance(IAtom.class, "N");
          mol.addAtom(a2);
          IAtom a3 = builder.newInstance(IAtom.class, "N");
          mol.addAtom(a3);
          IAtom a4 = builder.newInstance(IAtom.class, "N");
          mol.addAtom(a4);
          IAtom a5 = builder.newInstance(IAtom.class, "N");
          mol.addAtom(a5);
          IAtom a6 = builder.newInstance(IAtom.class, "C");
          mol.addAtom(a6);
          IAtom a7 = builder.newInstance(IAtom.class, "C");
          mol.addAtom(a7);
          IAtom a8 = builder.newInstance(IAtom.class, "C");
          mol.addAtom(a8);
          IAtom a9 = builder.newInstance(IAtom.class, "C");
          mol.addAtom(a9);
          IAtom a10 = builder.newInstance(IAtom.class, "C");
          mol.addAtom(a10);
          IAtom a11 = builder.newInstance(IAtom.class, "H");
          mol.addAtom(a11);
          IAtom a12 = builder.newInstance(IAtom.class, "H");
          mol.addAtom(a12);
          IAtom a13 = builder.newInstance(IAtom.class, "H");
          mol.addAtom(a13);
          IAtom a14 = builder.newInstance(IAtom.class, "H");
          mol.addAtom(a14);
          IAtom a15 = builder.newInstance(IAtom.class, "H");
          mol.addAtom(a15);
          IBond b1 = builder.newInstance(IBond.class, a1, a6, IBond.Order.SINGLE);
          mol.addBond(b1);
          IBond b2 = builder.newInstance(IBond.class, a1, a9, IBond.Order.SINGLE);
          mol.addBond(b2);
          IBond b3 = builder.newInstance(IBond.class, a1, a11, IBond.Order.SINGLE);
          mol.addBond(b3);
          IBond b4 = builder.newInstance(IBond.class, a2, a7, IBond.Order.SINGLE);
          mol.addBond(b4);
          IBond b5 = builder.newInstance(IBond.class, a2, a9, IBond.Order.DOUBLE);
          mol.addBond(b5);
          IBond b6 = builder.newInstance(IBond.class, a3, a7, IBond.Order.DOUBLE);
          mol.addBond(b6);
          IBond b7 = builder.newInstance(IBond.class, a3, a10, IBond.Order.SINGLE);
          mol.addBond(b7);
          IBond b8 = builder.newInstance(IBond.class, a4, a8, IBond.Order.SINGLE);
          mol.addBond(b8);
          IBond b9 = builder.newInstance(IBond.class, a4, a10, IBond.Order.DOUBLE);
          mol.addBond(b9);
          IBond b10 = builder.newInstance(IBond.class, a5, a8, IBond.Order.SINGLE);
          mol.addBond(b10);
          IBond b11 = builder.newInstance(IBond.class, a5, a14, IBond.Order.SINGLE);
          mol.addBond(b11);
          IBond b12 = builder.newInstance(IBond.class, a5, a15, IBond.Order.SINGLE);
          mol.addBond(b12);
          IBond b13 = builder.newInstance(IBond.class, a6, a7, IBond.Order.SINGLE);
          mol.addBond(b13);
          IBond b14 = builder.newInstance(IBond.class, a6, a8, IBond.Order.DOUBLE);
          mol.addBond(b14);
          IBond b15 = builder.newInstance(IBond.class, a9, a12, IBond.Order.SINGLE);
          mol.addBond(b15);
          IBond b16 = builder.newInstance(IBond.class, a10, a13, IBond.Order.SINGLE);
          mol.addBond(b16);
          AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
  
          List<IAtomContainer> tautomers = tautomerGenerator.getTautomers(mol);
          Assert.assertEquals(8, tautomers.size());
      }
test_case.class_method_signature: InChITautomerGeneratorTest.testAdenine()
test_case.full_signature: @Test public void testAdenine()
test_case.identifier: testAdenine
test_case.invocations: getInstance newInstance newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addAtom newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond newInstance addBond percieveAtomTypesAndConfigureAtoms getTautomers assertEquals size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testAdenine()
focal_class.declarator: LOGGER = LoggingToolFactory.createLoggingTool(InChITautomerGenerator.class)
focal_class.modifier: private final static
focal_class.original_string: private final static ILoggingTool LOGGER = LoggingToolFactory.createLoggingTool(InChITautomerGenerator.class);
focal_class.type: ILoggingTool
focal_class.var_name: LOGGER
focal_class.declarator: CANSMI = new SmilesGenerator(SmiFlavor.Canonical)
focal_class.modifier: private static final
focal_class.original_string: private static final SmilesGenerator CANSMI = new SmilesGenerator(SmiFlavor.Canonical);
focal_class.type: SmilesGenerator
focal_class.var_name: CANSMI
focal_class.declarator: KETO_ENOL      = 0x1
focal_class.modifier: public static final
focal_class.original_string: public static final int KETO_ENOL      = 0x1;
focal_class.type: int
focal_class.var_name: KETO_ENOL
focal_class.declarator: ONE_FIVE_SHIFT = 0x2
focal_class.modifier: public static final
focal_class.original_string: public static final int ONE_FIVE_SHIFT = 0x2;
focal_class.type: int
focal_class.var_name: ONE_FIVE_SHIFT
focal_class.declarator: flags
focal_class.modifier: private final
focal_class.original_string: private final int flags;
focal_class.type: int
focal_class.var_name: flags
focal_class.file: tool/tautomer/src/main/java/org/openscience/cdk/tautomers/InChITautomerGenerator.java
focal_class.identifier: InChITautomerGenerator
focal_class.class_method_signature: InChITautomerGenerator.InChITautomerGenerator(int flags)
focal_class.full_signature: public  InChITautomerGenerator(int flags)
focal_class.identifier: InChITautomerGenerator
focal_class.modifiers: public
focal_class.parameters: (int flags)
focal_class.signature:  InChITautomerGenerator(int flags)
focal_class.class_method_signature: InChITautomerGenerator.InChITautomerGenerator()
focal_class.full_signature: public  InChITautomerGenerator()
focal_class.identifier: InChITautomerGenerator
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  InChITautomerGenerator()
focal_class.class_method_signature: InChITautomerGenerator.getTautomers(IAtomContainer mol)
focal_class.full_signature: public List<IAtomContainer> getTautomers(IAtomContainer mol)
focal_class.identifier: getTautomers
focal_class.modifiers: public
focal_class.parameters: (IAtomContainer mol)
focal_class.return: List<IAtomContainer>
focal_class.signature: List<IAtomContainer> getTautomers(IAtomContainer mol)
focal_class.class_method_signature: InChITautomerGenerator.getTautomers(IAtomContainer mol, String inchi)
focal_class.full_signature: @Deprecated public List<IAtomContainer> getTautomers(IAtomContainer mol, String inchi)
focal_class.identifier: getTautomers
focal_class.modifiers: @Deprecated public
focal_class.parameters: (IAtomContainer mol, String inchi)
focal_class.return: List<IAtomContainer>
focal_class.signature: List<IAtomContainer> getTautomers(IAtomContainer mol, String inchi)
focal_class.class_method_signature: InChITautomerGenerator.getTautomers(IAtomContainer mol, String inchi, long[] amap)
focal_class.full_signature: private List<IAtomContainer> getTautomers(IAtomContainer mol, String inchi, long[] amap)
focal_class.identifier: getTautomers
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer mol, String inchi, long[] amap)
focal_class.return: List<IAtomContainer>
focal_class.signature: List<IAtomContainer> getTautomers(IAtomContainer mol, String inchi, long[] amap)
focal_class.class_method_signature: InChITautomerGenerator.getElementsByPosition(String inputInchi, IAtomContainer inputMolecule)
focal_class.full_signature: private Map<Integer, IAtom> getElementsByPosition(String inputInchi, IAtomContainer inputMolecule)
focal_class.identifier: getElementsByPosition
focal_class.modifiers: private
focal_class.parameters: (String inputInchi, IAtomContainer inputMolecule)
focal_class.return: Map<Integer, IAtom>
focal_class.signature: Map<Integer, IAtom> getElementsByPosition(String inputInchi, IAtomContainer inputMolecule)
focal_class.class_method_signature: InChITautomerGenerator.connectAtoms(String inputInchi, IAtomContainer inputMolecule,
              Map<Integer, IAtom> inchiAtomsByPosition)
focal_class.full_signature: private IAtomContainer connectAtoms(String inputInchi, IAtomContainer inputMolecule,
              Map<Integer, IAtom> inchiAtomsByPosition)
focal_class.identifier: connectAtoms
focal_class.modifiers: private
focal_class.parameters: (String inputInchi, IAtomContainer inputMolecule,
              Map<Integer, IAtom> inchiAtomsByPosition)
focal_class.return: IAtomContainer
focal_class.signature: IAtomContainer connectAtoms(String inputInchi, IAtomContainer inputMolecule,
              Map<Integer, IAtom> inchiAtomsByPosition)
focal_class.class_method_signature: InChITautomerGenerator.mapInputMoleculeToInchiMolgraph(IAtomContainer inchiMolGraph, IAtomContainer mol)
focal_class.full_signature: private void mapInputMoleculeToInchiMolgraph(IAtomContainer inchiMolGraph, IAtomContainer mol)
focal_class.identifier: mapInputMoleculeToInchiMolgraph
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer inchiMolGraph, IAtomContainer mol)
focal_class.return: void
focal_class.signature: void mapInputMoleculeToInchiMolgraph(IAtomContainer inchiMolGraph, IAtomContainer mol)
focal_class.class_method_signature: InChITautomerGenerator.parseMobileHydrogens(List<Integer> mobHydrAttachPositions, String inputInchi)
focal_class.full_signature: private int parseMobileHydrogens(List<Integer> mobHydrAttachPositions, String inputInchi)
focal_class.identifier: parseMobileHydrogens
focal_class.modifiers: private
focal_class.parameters: (List<Integer> mobHydrAttachPositions, String inputInchi)
focal_class.return: int
focal_class.signature: int parseMobileHydrogens(List<Integer> mobHydrAttachPositions, String inputInchi)
focal_class.class_method_signature: InChITautomerGenerator.constructTautomers(IAtomContainer inputMolecule, List<Integer> mobHydrAttachPositions,
              int totalMobHydrCount)
focal_class.full_signature: private List<IAtomContainer> constructTautomers(IAtomContainer inputMolecule, List<Integer> mobHydrAttachPositions,
              int totalMobHydrCount)
focal_class.identifier: constructTautomers
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer inputMolecule, List<Integer> mobHydrAttachPositions,
              int totalMobHydrCount)
focal_class.return: List<IAtomContainer>
focal_class.signature: List<IAtomContainer> constructTautomers(IAtomContainer inputMolecule, List<Integer> mobHydrAttachPositions,
              int totalMobHydrCount)
focal_class.class_method_signature: InChITautomerGenerator.removeDuplicates(List<IAtomContainer> tautomers)
focal_class.full_signature: private List<IAtomContainer> removeDuplicates(List<IAtomContainer> tautomers)
focal_class.identifier: removeDuplicates
focal_class.modifiers: private
focal_class.parameters: (List<IAtomContainer> tautomers)
focal_class.return: List<IAtomContainer>
focal_class.signature: List<IAtomContainer> removeDuplicates(List<IAtomContainer> tautomers)
focal_class.class_method_signature: InChITautomerGenerator.combineHydrogenPositions(List<Integer> taken, List<List<Integer>> combinations,
              IAtomContainer skeleton, int totalMobHydrCount, List<Integer> mobHydrAttachPositions)
focal_class.full_signature: private void combineHydrogenPositions(List<Integer> taken, List<List<Integer>> combinations,
              IAtomContainer skeleton, int totalMobHydrCount, List<Integer> mobHydrAttachPositions)
focal_class.identifier: combineHydrogenPositions
focal_class.modifiers: private
focal_class.parameters: (List<Integer> taken, List<List<Integer>> combinations,
              IAtomContainer skeleton, int totalMobHydrCount, List<Integer> mobHydrAttachPositions)
focal_class.return: void
focal_class.signature: void combineHydrogenPositions(List<Integer> taken, List<List<Integer>> combinations,
              IAtomContainer skeleton, int totalMobHydrCount, List<Integer> mobHydrAttachPositions)
focal_class.class_method_signature: InChITautomerGenerator.findAtomByPosition(IAtomContainer container, int position)
focal_class.full_signature: private IAtom findAtomByPosition(IAtomContainer container, int position)
focal_class.identifier: findAtomByPosition
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer container, int position)
focal_class.return: IAtom
focal_class.signature: IAtom findAtomByPosition(IAtomContainer container, int position)
focal_class.class_method_signature: InChITautomerGenerator.tryDoubleBondCombinations(IAtomContainer container, int dblBondsAdded, int bondOffSet,
              int doubleBondMax, List<IAtom> atomsInNeedOfFix)
focal_class.full_signature: private List<Integer> tryDoubleBondCombinations(IAtomContainer container, int dblBondsAdded, int bondOffSet,
              int doubleBondMax, List<IAtom> atomsInNeedOfFix)
focal_class.identifier: tryDoubleBondCombinations
focal_class.modifiers: private
focal_class.parameters: (IAtomContainer container, int dblBondsAdded, int bondOffSet,
              int doubleBondMax, List<IAtom> atomsInNeedOfFix)
focal_class.return: List<Integer>
focal_class.signature: List<Integer> tryDoubleBondCombinations(IAtomContainer container, int dblBondsAdded, int bondOffSet,
              int doubleBondMax, List<IAtom> atomsInNeedOfFix)
focal_class.class_method_signature: InChITautomerGenerator.getConnectivity(IAtom atom, IAtomContainer container)
focal_class.full_signature: private int getConnectivity(IAtom atom, IAtomContainer container)
focal_class.identifier: getConnectivity
focal_class.modifiers: private
focal_class.parameters: (IAtom atom, IAtomContainer container)
focal_class.return: int
focal_class.signature: int getConnectivity(IAtom atom, IAtomContainer container)
focal_method.body: public List<IAtomContainer> getTautomers(IAtomContainer mol) throws CDKException, CloneNotSupportedException {
  
          String opt = "";
          if ((flags & KETO_ENOL) != 0)
              opt += " -KET";
          if ((flags & ONE_FIVE_SHIFT) != 0)
              opt += " -15T";
  
          InChIGenerator gen   = InChIGeneratorFactory.getInstance().getInChIGenerator(mol, opt);
          String         inchi = gen.getInchi();
          String         aux   = gen.getAuxInfo();
  
          long[] amap = new long[mol.getAtomCount()];
          InChINumbersTools.parseAuxInfo(aux, amap);
  
          if (inchi == null)
              throw new CDKException(InChIGenerator.class
                      + " failed to create an InChI for the provided molecule, InChI -> null.");
          return getTautomers(mol, inchi, amap);
      }
focal_method.class_method_signature: InChITautomerGenerator.getTautomers(IAtomContainer mol)
focal_method.full_signature: public List<IAtomContainer> getTautomers(IAtomContainer mol)
focal_method.identifier: getTautomers
focal_method.invocations: getInChIGenerator getInstance getInchi getAuxInfo getAtomCount parseAuxInfo getTautomers
focal_method.modifiers: public
focal_method.parameters: (IAtomContainer mol)
focal_method.return: List<IAtomContainer>
focal_method.signature: List<IAtomContainer> getTautomers(IAtomContainer mol)