test_class.file: descriptor/qsarmolecular/src/test/java/org/openscience/cdk/qsar/descriptors/molecular/FMFDescriptorTest.java
test_class.identifier: FMFDescriptorTest
test_class.superclass: extends MolecularDescriptorTest
test_case.body: @Test
      public void testCarbinoxamine() throws Exception {
          SmilesParser sp = new SmilesParser(DefaultChemObjectBuilder.getInstance());
          IAtomContainer mol = sp.parseSmiles("CN(C)CCOC(C1=CC=C(Cl)C=C1)C1=CC=CC=N1");
          AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol);
          Aromaticity.cdkLegacy().apply(mol);
          DoubleResult result = (DoubleResult) descriptor.calculate(mol).getValue();
          Assert.assertEquals(0.65, result.doubleValue(), 0.01);
      }
test_case.class_method_signature: FMFDescriptorTest.testCarbinoxamine()
test_case.full_signature: @Test public void testCarbinoxamine()
test_case.identifier: testCarbinoxamine
test_case.invocations: getInstance parseSmiles percieveAtomTypesAndConfigureAtoms apply cdkLegacy getValue calculate assertEquals doubleValue
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCarbinoxamine()
focal_class.file: descriptor/qsarmolecular/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/FMFDescriptor.java
focal_class.identifier: FMFDescriptor
focal_class.interfaces: implements IMolecularDescriptor
focal_class.class_method_signature: FMFDescriptor.FMFDescriptor()
focal_class.full_signature: public  FMFDescriptor()
focal_class.identifier: FMFDescriptor
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  FMFDescriptor()
focal_class.class_method_signature: FMFDescriptor.calculate(IAtomContainer container)
focal_class.full_signature: @Override public DescriptorValue calculate(IAtomContainer container)
focal_class.identifier: calculate
focal_class.modifiers: @Override public
focal_class.parameters: (IAtomContainer container)
focal_class.return: DescriptorValue
focal_class.signature: DescriptorValue calculate(IAtomContainer container)
focal_class.class_method_signature: FMFDescriptor.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: FMFDescriptor.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: FMFDescriptor.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: FMFDescriptor.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: FMFDescriptor.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: FMFDescriptor.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: FMFDescriptor.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.superclass: extends AbstractMolecularDescriptor
focal_method.body: @Override
      public DescriptorValue calculate(IAtomContainer container) {
  
          container = clone(container); // don't mod original
  
          MurckoFragmenter fragmenter = new MurckoFragmenter(true, 3);
          DoubleResult result;
          try {
              fragmenter.generateFragments(container);
              IAtomContainer[] framework = fragmenter.getFrameworksAsContainers();
              IAtomContainer[] ringSystems = fragmenter.getRingSystemsAsContainers();
              if (framework.length == 1) {
                  result = new DoubleResult(framework[0].getAtomCount() / (double) container.getAtomCount());
              } else if (framework.length == 0 && ringSystems.length == 1) {
                  result = new DoubleResult(ringSystems[0].getAtomCount() / (double) container.getAtomCount());
              } else
                  result = new DoubleResult(0.0);
          } catch (CDKException e) {
              result = new DoubleResult(Double.NaN);
          }
          return new DescriptorValue(getSpecification(), getParameterNames(), getParameters(), result,
                  getDescriptorNames());
  
      }
focal_method.class_method_signature: FMFDescriptor.calculate(IAtomContainer container)
focal_method.full_signature: @Override public DescriptorValue calculate(IAtomContainer container)
focal_method.identifier: calculate
focal_method.invocations: clone generateFragments getFrameworksAsContainers getRingSystemsAsContainers getAtomCount getAtomCount getAtomCount getAtomCount getSpecification getParameterNames getParameters getDescriptorNames
focal_method.modifiers: @Override public
focal_method.parameters: (IAtomContainer container)
focal_method.return: DescriptorValue
focal_method.signature: DescriptorValue calculate(IAtomContainer container)