test_class.declarator: descriptor
test_class.original_string: IPAtomicHOSEDescriptor  descriptor;
test_class.type: IPAtomicHOSEDescriptor
test_class.var_name: descriptor
test_class.declarator: sp      = new SmilesParser(DefaultChemObjectBuilder.getInstance())
test_class.modifier: private
test_class.original_string: private SmilesParser    sp      = new SmilesParser(DefaultChemObjectBuilder.getInstance());
test_class.type: SmilesParser
test_class.var_name: sp
test_class.declarator: lpcheck = new LonePairElectronChecker()
test_class.original_string: LonePairElectronChecker lpcheck = new LonePairElectronChecker();
test_class.type: LonePairElectronChecker
test_class.var_name: lpcheck
test_class.file: descriptor/qsaratomic/src/test/java/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicHOSEDescriptorTest.java
test_class.identifier: IPAtomicHOSEDescriptorTest
test_class.superclass: extends AtomicDescriptorTest
test_case.body: @Test
      public void testIPDescriptor_3() throws Exception {
  
          IAtomContainer mol = sp.parseSmiles("C-C-C-I");
          AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
          addExplicitHydrogens(mol);
          lpcheck.saturate(mol);
  
          double result = ((DoubleResult) descriptor.calculate(mol.getAtom(3), mol).getValue()).doubleValue();
          double resultAccordingNIST = 9.27;
  
          Assert.assertEquals(resultAccordingNIST, result, 0.02);
      }
test_case.class_method_signature: IPAtomicHOSEDescriptorTest.testIPDescriptor_3()
test_case.full_signature: @Test public void testIPDescriptor_3()
test_case.identifier: testIPDescriptor_3
test_case.invocations: parseSmiles percieveAtomTypesAndConfigureAtoms addExplicitHydrogens saturate doubleValue getValue calculate getAtom assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIPDescriptor_3()
focal_class.declarator: NAMES = {"ipAtomicHOSE"}
focal_class.modifier: private static final
focal_class.original_string: private static final String[] NAMES = {"ipAtomicHOSE"};
focal_class.type: String[]
focal_class.var_name: NAMES
focal_class.declarator: maxSpheresToUse = 10
focal_class.original_string: int                           maxSpheresToUse = 10;
focal_class.type: int
focal_class.var_name: maxSpheresToUse
focal_class.declarator: db              = new IPdb()
focal_class.modifier: private
focal_class.original_string: private IPdb                  db              = new IPdb();
focal_class.type: IPdb
focal_class.var_name: db
focal_class.file: descriptor/qsaratomic/src/main/java/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicHOSEDescriptor.java
focal_class.identifier: IPAtomicHOSEDescriptor
focal_class.class_method_signature: IPAtomicHOSEDescriptor.IPAtomicHOSEDescriptor()
focal_class.full_signature: public  IPAtomicHOSEDescriptor()
focal_class.identifier: IPAtomicHOSEDescriptor
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  IPAtomicHOSEDescriptor()
focal_class.class_method_signature: IPAtomicHOSEDescriptor.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: IPAtomicHOSEDescriptor.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: IPAtomicHOSEDescriptor.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: IPAtomicHOSEDescriptor.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: IPAtomicHOSEDescriptor.calculate(IAtom atom, IAtomContainer container)
focal_class.full_signature: @Override public DescriptorValue calculate(IAtom atom, IAtomContainer container)
focal_class.identifier: calculate
focal_class.modifiers: @Override public
focal_class.parameters: (IAtom atom, IAtomContainer container)
focal_class.return: DescriptorValue
focal_class.signature: DescriptorValue calculate(IAtom atom, IAtomContainer container)
focal_class.class_method_signature: IPAtomicHOSEDescriptor.familyHalogen(IAtom atom)
focal_class.full_signature: private boolean familyHalogen(IAtom atom)
focal_class.identifier: familyHalogen
focal_class.modifiers: private
focal_class.parameters: (IAtom atom)
focal_class.return: boolean
focal_class.signature: boolean familyHalogen(IAtom atom)
focal_class.class_method_signature: IPAtomicHOSEDescriptor.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: IPAtomicHOSEDescriptor.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: IPAtomicHOSEDescriptor.extractInfo(String str)
focal_class.full_signature: private static List<String> extractInfo(String str)
focal_class.identifier: extractInfo
focal_class.modifiers: private static
focal_class.parameters: (String str)
focal_class.return: List<String>
focal_class.signature: List<String> extractInfo(String str)
focal_class.superclass: extends AbstractAtomicDescriptor
focal_method.body: @Override
      public DescriptorValue calculate(IAtom atom, IAtomContainer container) {
          double value;
          // FIXME: for now I'll cache a few modified atomic properties, and restore them at the end of this method
          String originalAtomtypeName = atom.getAtomTypeName();
          Integer originalNeighborCount = atom.getFormalNeighbourCount();
          Integer originalValency = atom.getValency();
          Double originalBondOrderSum = atom.getBondOrderSum();
          Order originalMaxBondOrder = atom.getMaxBondOrder();
          IAtomType.Hybridization originalHybridization = atom.getHybridization();
  
          if (!isCachedAtomContainer(container)) {
              try {
                  AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(container);
                  LonePairElectronChecker lpcheck = new LonePairElectronChecker();
                  lpcheck.saturate(container);
              } catch (CDKException e) {
                  return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(
                          Double.NaN), NAMES, e);
              }
  
          }
          value = db.extractIP(container, atom);
          // restore original props
          atom.setAtomTypeName(originalAtomtypeName);
          atom.setFormalNeighbourCount(originalNeighborCount);
          atom.setValency(originalValency);
          atom.setHybridization(originalHybridization);
          atom.setMaxBondOrder(originalMaxBondOrder);
          atom.setBondOrderSum(originalBondOrderSum);
  
          return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), new DoubleResult(value),
                                     NAMES);
  
      }
focal_method.class_method_signature: IPAtomicHOSEDescriptor.calculate(IAtom atom, IAtomContainer container)
focal_method.full_signature: @Override public DescriptorValue calculate(IAtom atom, IAtomContainer container)
focal_method.identifier: calculate
focal_method.invocations: getAtomTypeName getFormalNeighbourCount getValency getBondOrderSum getMaxBondOrder getHybridization isCachedAtomContainer percieveAtomTypesAndConfigureAtoms saturate getSpecification getParameterNames getParameters extractIP setAtomTypeName setFormalNeighbourCount setValency setHybridization setMaxBondOrder setBondOrderSum getSpecification getParameterNames getParameters
focal_method.modifiers: @Override public
focal_method.parameters: (IAtom atom, IAtomContainer container)
focal_method.return: DescriptorValue
focal_method.signature: DescriptorValue calculate(IAtom atom, IAtomContainer container)