test_class.declarator: sp
test_class.modifier: static
test_class.original_string: static SmilesParser sp;
test_class.type: SmilesParser
test_class.var_name: sp
test_class.file: descriptor/qsarmolecular/src/test/java/org/openscience/cdk/qsar/descriptors/molecular/SpiroAtomCountDescriptorTest.java
test_class.identifier: SpiroAtomCountDescriptorTest
test_class.superclass: extends MolecularDescriptorTest
test_case.body: @Test
      public void testTriSpiro() throws Exception {
          IAtomContainer mol = sp.parseSmiles("C1OOC[Fe]1123COOC1.C2OOC3"); // ethanol
          DescriptorValue value = descriptor.calculate(mol);
          Assert.assertEquals(1, ((IntegerResult) value.getValue()).intValue());
      }
test_case.class_method_signature: SpiroAtomCountDescriptorTest.testTriSpiro()
test_case.full_signature: @Test public void testTriSpiro()
test_case.identifier: testTriSpiro
test_case.invocations: parseSmiles calculate assertEquals intValue getValue
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testTriSpiro()
focal_class.declarator: NAMES = {"nSpiroAtoms"}
focal_class.modifier: private final static
focal_class.original_string: private final static String[] NAMES = {"nSpiroAtoms"};
focal_class.type: String[]
focal_class.var_name: NAMES
focal_class.file: descriptor/qsarmolecular/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/SpiroAtomCountDescriptor.java
focal_class.identifier: SpiroAtomCountDescriptor
focal_class.interfaces: implements IMolecularDescriptor
focal_class.class_method_signature: SpiroAtomCountDescriptor.SpiroAtomCountDescriptor()
focal_class.full_signature: public  SpiroAtomCountDescriptor()
focal_class.identifier: SpiroAtomCountDescriptor
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  SpiroAtomCountDescriptor()
focal_class.class_method_signature: SpiroAtomCountDescriptor.initialise(IChemObjectBuilder builder)
focal_class.full_signature: @Override public void initialise(IChemObjectBuilder builder)
focal_class.identifier: initialise
focal_class.modifiers: @Override public
focal_class.parameters: (IChemObjectBuilder builder)
focal_class.return: void
focal_class.signature: void initialise(IChemObjectBuilder builder)
focal_class.class_method_signature: SpiroAtomCountDescriptor.getSpecification()
focal_class.full_signature: @Override public DescriptorSpecification getSpecification()
focal_class.identifier: getSpecification
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: DescriptorSpecification
focal_class.signature: DescriptorSpecification getSpecification()
focal_class.class_method_signature: SpiroAtomCountDescriptor.setParameters(Object[] params)
focal_class.full_signature: @Override public void setParameters(Object[] params)
focal_class.identifier: setParameters
focal_class.modifiers: @Override public
focal_class.parameters: (Object[] params)
focal_class.return: void
focal_class.signature: void setParameters(Object[] params)
focal_class.class_method_signature: SpiroAtomCountDescriptor.getParameters()
focal_class.full_signature: @Override public Object[] getParameters()
focal_class.identifier: getParameters
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Object[]
focal_class.signature: Object[] getParameters()
focal_class.class_method_signature: SpiroAtomCountDescriptor.getDescriptorNames()
focal_class.full_signature: @Override public String[] getDescriptorNames()
focal_class.identifier: getDescriptorNames
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String[]
focal_class.signature: String[] getDescriptorNames()
focal_class.class_method_signature: SpiroAtomCountDescriptor.traverseRings(IAtomContainer mol, IAtom atom, IBond prev)
focal_class.full_signature: private static void traverseRings(IAtomContainer mol, IAtom atom, IBond prev)
focal_class.identifier: traverseRings
focal_class.modifiers: private static
focal_class.parameters: (IAtomContainer mol, IAtom atom, IBond prev)
focal_class.return: void
focal_class.signature: void traverseRings(IAtomContainer mol, IAtom atom, IBond prev)
focal_class.class_method_signature: SpiroAtomCountDescriptor.getSpiroDegree(IAtomContainer mol, IAtom atom)
focal_class.full_signature: private static int getSpiroDegree(IAtomContainer mol, IAtom atom)
focal_class.identifier: getSpiroDegree
focal_class.modifiers: private static
focal_class.parameters: (IAtomContainer mol, IAtom atom)
focal_class.return: int
focal_class.signature: int getSpiroDegree(IAtomContainer mol, IAtom atom)
focal_class.class_method_signature: SpiroAtomCountDescriptor.calculate(IAtomContainer atomContainer)
focal_class.full_signature: @Override public DescriptorValue calculate(IAtomContainer atomContainer)
focal_class.identifier: calculate
focal_class.modifiers: @Override public
focal_class.parameters: (IAtomContainer atomContainer)
focal_class.return: DescriptorValue
focal_class.signature: DescriptorValue calculate(IAtomContainer atomContainer)
focal_class.class_method_signature: SpiroAtomCountDescriptor.getDescriptorResultType()
focal_class.full_signature: @Override public IDescriptorResult getDescriptorResultType()
focal_class.identifier: getDescriptorResultType
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: IDescriptorResult
focal_class.signature: IDescriptorResult getDescriptorResultType()
focal_class.class_method_signature: SpiroAtomCountDescriptor.getParameterNames()
focal_class.full_signature: @Override public String[] getParameterNames()
focal_class.identifier: getParameterNames
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String[]
focal_class.signature: String[] getParameterNames()
focal_class.class_method_signature: SpiroAtomCountDescriptor.getParameterType(String name)
focal_class.full_signature: @Override public Object getParameterType(String name)
focal_class.identifier: getParameterType
focal_class.modifiers: @Override public
focal_class.parameters: (String name)
focal_class.return: Object
focal_class.signature: Object getParameterType(String name)
focal_class.class_method_signature: SpiroAtomCountDescriptor.getDummyDescriptorValue(Exception exception)
focal_class.full_signature: private DescriptorValue getDummyDescriptorValue(Exception exception)
focal_class.identifier: getDummyDescriptorValue
focal_class.modifiers: private
focal_class.parameters: (Exception exception)
focal_class.return: DescriptorValue
focal_class.signature: DescriptorValue getDummyDescriptorValue(Exception exception)
focal_class.superclass: extends AbstractMolecularDescriptor
focal_method.body: @Override
      public DescriptorValue calculate(IAtomContainer atomContainer) {
          int nSpiro = 0;
  
          try {
              IAtomContainer local = atomContainer.clone();
              Cycles.markRingAtomsAndBonds(local);
              for (IAtom atom : local.atoms()) {
                  if (getSpiroDegree(local, atom) != 0)
                      nSpiro++;
              }
              return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(),
                      new IntegerResult(nSpiro), getDescriptorNames());
          } catch (CloneNotSupportedException e) {
              return getDummyDescriptorValue(e);
          }
      }
focal_method.class_method_signature: SpiroAtomCountDescriptor.calculate(IAtomContainer atomContainer)
focal_method.full_signature: @Override public DescriptorValue calculate(IAtomContainer atomContainer)
focal_method.identifier: calculate
focal_method.invocations: clone markRingAtomsAndBonds atoms getSpiroDegree getSpecification getParameterNames getParameters getDescriptorNames getDummyDescriptorValue
focal_method.modifiers: @Override public
focal_method.parameters: (IAtomContainer atomContainer)
focal_method.return: DescriptorValue
focal_method.signature: DescriptorValue calculate(IAtomContainer atomContainer)