test_class.file: legacy/src/test/java/org/openscience/cdk/smsd/algorithm/mcsplus/MCSPlusTest.java
test_class.identifier: MCSPlusTest
test_case.body: @Test
      public void testSomeMethod() throws CDKException {
  
          // TODO review the generated test code and remove the default call to fail.
          assertNotNull(new MCSPlus().getOverlaps(new AtomContainer(), new AtomContainer(), true));
  
      }
test_case.class_method_signature: MCSPlusTest.testSomeMethod()
test_case.full_signature: @Test public void testSomeMethod()
test_case.identifier: testSomeMethod
test_case.invocations: assertNotNull getOverlaps
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSomeMethod()
focal_class.declarator: timeManager = null
focal_class.modifier: private static
focal_class.original_string: private static TimeManager timeManager = null;
focal_class.type: TimeManager
focal_class.var_name: timeManager
focal_class.file: legacy/src/main/java/org/openscience/cdk/smsd/algorithm/mcsplus/MCSPlus.java
focal_class.identifier: MCSPlus
focal_class.class_method_signature: MCSPlus.MCSPlus()
focal_class.full_signature: public  MCSPlus()
focal_class.identifier: MCSPlus
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  MCSPlus()
focal_class.class_method_signature: MCSPlus.getTimeout()
focal_class.full_signature: protected synchronized static double getTimeout()
focal_class.identifier: getTimeout
focal_class.modifiers: protected synchronized static
focal_class.parameters: ()
focal_class.return: double
focal_class.signature: double getTimeout()
focal_class.class_method_signature: MCSPlus.getTimeManager()
focal_class.full_signature: protected synchronized static TimeManager getTimeManager()
focal_class.identifier: getTimeManager
focal_class.modifiers: protected synchronized static
focal_class.parameters: ()
focal_class.return: TimeManager
focal_class.signature: TimeManager getTimeManager()
focal_class.class_method_signature: MCSPlus.setTimeManager(TimeManager aTimeManager)
focal_class.full_signature: protected synchronized static void setTimeManager(TimeManager aTimeManager)
focal_class.identifier: setTimeManager
focal_class.modifiers: protected synchronized static
focal_class.parameters: (TimeManager aTimeManager)
focal_class.return: void
focal_class.signature: void setTimeManager(TimeManager aTimeManager)
focal_class.class_method_signature: MCSPlus.getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_class.full_signature: protected List<List<Integer>> getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_class.identifier: getOverlaps
focal_class.modifiers: protected
focal_class.parameters: (IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_class.return: List<List<Integer>>
focal_class.signature: List<List<Integer>> getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_class.class_method_signature: MCSPlus.isTimeOut()
focal_class.full_signature: public synchronized static boolean isTimeOut()
focal_class.identifier: isTimeOut
focal_class.modifiers: public synchronized static
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isTimeOut()
focal_method.body: protected List<List<Integer>> getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
              throws CDKException {
          Stack<List<Integer>> maxCliqueSet = null;
          List<List<Integer>> mappings = new ArrayList<List<Integer>>();
          try {
              GenerateCompatibilityGraph gcg = new GenerateCompatibilityGraph(ac1, ac2, shouldMatchBonds);
              List<Integer> compGraphNodes = gcg.getCompGraphNodes();
  
              List<Integer> cEdges = gcg.getCEgdes();
              List<Integer> dEdges = gcg.getDEgdes();
  
              //            System.err.println("**************************************************");
              //            System.err.println("CEdges: " + CEdges.size());
              //            System.out.println("DEdges: " + DEdges.size());
  
              BKKCKCF init = new BKKCKCF(compGraphNodes, cEdges, dEdges);
              maxCliqueSet = init.getMaxCliqueSet();
  
              //            System.err.println("**************************************************");
              //            System.err.println("Max_Cliques_Set: " + maxCliqueSet.size());
              //            System.out.println("Best Clique Size: " + init.getBestCliqueSize());
  
              //clear all the compatibility graph content
              gcg.clear();
              while (!maxCliqueSet.empty()) {
                  List<Integer> cliqueList = maxCliqueSet.peek();
                  int cliqueSize = cliqueList.size();
                  if (cliqueSize < ac1.getAtomCount() && cliqueSize < ac2.getAtomCount()) {
                      McGregor mgit = new McGregor(ac1, ac2, mappings, shouldMatchBonds);
                      mgit.startMcGregorIteration(mgit.getMCSSize(), cliqueList, compGraphNodes);
                      mappings = mgit.getMappings();
                      mgit = null;
                  } else {
                      mappings = ExactMapping.extractMapping(mappings, compGraphNodes, cliqueList);
                  }
                  maxCliqueSet.pop();
                  if (isTimeOut()) {
                      break;
                  }
              }
          } catch (IOException ex) {
              Logger.getLogger(MCSPlus.class.getName()).log(Level.SEVERE, null, ex);
          }
          return mappings;
      }
focal_method.class_method_signature: MCSPlus.getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_method.full_signature: protected List<List<Integer>> getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_method.identifier: getOverlaps
focal_method.invocations: getCompGraphNodes getCEgdes getDEgdes getMaxCliqueSet clear empty peek size getAtomCount getAtomCount startMcGregorIteration getMCSSize getMappings extractMapping pop isTimeOut log getLogger getName
focal_method.modifiers: protected
focal_method.parameters: (IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)
focal_method.return: List<List<Integer>>
focal_method.signature: List<List<Integer>> getOverlaps(IAtomContainer ac1, IAtomContainer ac2, boolean shouldMatchBonds)