test_class.file: singa-simulation/src/test/java/bio/singa/simulation/export/format/FormatFeatureTest.java
test_class.identifier: FormatFeatureTest
test_case.body: @Test
      void formatRates() {
  
          RateConstant c1 = RateConstant.create(1.0)
                  .forward().firstOrder()
                  .timeUnit(SECOND)
                  .build();
  
          RateConstant c2 = RateConstant.create(2.0)
                  .backward().secondOrder()
                  .concentrationUnit(PICO_MOLE_PER_LITRE)
                  .timeUnit(MINUTE)
                  .build();
  
          List<Feature> features = new ArrayList<>();
          features.add(c1);
          features.add(c2);
  
  
  
      }
test_case.class_method_signature: FormatFeatureTest.formatRates()
test_case.full_signature: @Test void formatRates()
test_case.identifier: formatRates
test_case.invocations: build timeUnit firstOrder forward create build timeUnit concentrationUnit secondOrder backward create add add
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void formatRates()
focal_class.file: singa-simulation/src/main/java/bio/singa/simulation/export/format/FormatFeature.java
focal_class.identifier: FormatFeature
focal_class.class_method_signature: FormatFeature.formatAllEvidence(Feature feature)
focal_class.full_signature: public static List<String> formatAllEvidence(Feature feature)
focal_class.identifier: formatAllEvidence
focal_class.modifiers: public static
focal_class.parameters: (Feature feature)
focal_class.return: List<String>
focal_class.signature: List<String> formatAllEvidence(Feature feature)
focal_class.class_method_signature: FormatFeature.formatEvidence(Object evidenceObject)
focal_class.full_signature: public static String formatEvidence(Object evidenceObject)
focal_class.identifier: formatEvidence
focal_class.modifiers: public static
focal_class.parameters: (Object evidenceObject)
focal_class.return: String
focal_class.signature: String formatEvidence(Object evidenceObject)
focal_class.class_method_signature: FormatFeature.formatRates(Reaction reaction)
focal_class.full_signature: public static Map<String, List<String>> formatRates(Reaction reaction)
focal_class.identifier: formatRates
focal_class.modifiers: public static
focal_class.parameters: (Reaction reaction)
focal_class.return: Map<String, List<String>>
focal_class.signature: Map<String, List<String>> formatRates(Reaction reaction)
focal_class.class_method_signature: FormatFeature.formatFeatures(UpdateModule module)
focal_class.full_signature: public static Map<String, List<String>> formatFeatures(UpdateModule module)
focal_class.identifier: formatFeatures
focal_class.modifiers: public static
focal_class.parameters: (UpdateModule module)
focal_class.return: Map<String, List<String>>
focal_class.signature: Map<String, List<String>> formatFeatures(UpdateModule module)
focal_method.body: public static Map<String, List<String>> formatRates(Reaction reaction) {
          Map<String, List<String>> rates = new HashMap<>();
          if (reaction.getKineticLaw() instanceof ReversibleKineticLaw) {
              ReversibleKineticLaw kineticLaw = (ReversibleKineticLaw) reaction.getKineticLaw();
  
              ForwardsRateConstant kf = kineticLaw.getRate(ForwardsRateConstant.class);
              String kfString = "$k_1$ = " + kf.getContent();
              List<String> kfEvidence = formatAllEvidence(kf);
              rates.put(kfString, kfEvidence);
  
              BackwardsRateConstant kb = kineticLaw.getRate(BackwardsRateConstant.class);
              String kbString = "$k_{-1}$ = " + kb.getContent();
              List<String> kbEvidence = formatAllEvidence(kb);
              rates.put(kbString, kbEvidence);
          } else if (reaction.getKineticLaw() instanceof IrreversibleKineticLaw) {
              IrreversibleKineticLaw kineticLaw = (IrreversibleKineticLaw) reaction.getKineticLaw();
  
              ForwardsRateConstant kf = kineticLaw.getRate(ForwardsRateConstant.class);
              String kfString = "$k_1$ = " + kf.getContent();
              List<String> kfEvidence = formatAllEvidence(kf);
              rates.put(kfString, kfEvidence);
          } else if (reaction.getKineticLaw() instanceof MichaelisMentenKineticLaw) {
              MichaelisConstant km = reaction.getFeature(MichaelisConstant.class);
              String kmString = "$K_m$ = " + km.getContent();
              List<String> kmEvidence = formatAllEvidence(km);
              rates.put(kmString, kmEvidence);
  
              TurnoverNumber kCat = reaction.getFeature(TurnoverNumber.class);
              String kCatString = "$k_{cat}$ = " + kCat.getContent();
              List<String> kCatEvidence = formatAllEvidence(kCat);
              rates.put(kCatString, kCatEvidence);
          } else {
              return new HashMap<>();
          }
          return rates;
      }
focal_method.class_method_signature: FormatFeature.formatRates(Reaction reaction)
focal_method.full_signature: public static Map<String, List<String>> formatRates(Reaction reaction)
focal_method.identifier: formatRates
focal_method.invocations: getKineticLaw getKineticLaw getRate getContent formatAllEvidence put getRate getContent formatAllEvidence put getKineticLaw getKineticLaw getRate getContent formatAllEvidence put getKineticLaw getFeature getContent formatAllEvidence put getFeature getContent formatAllEvidence put
focal_method.modifiers: public static
focal_method.parameters: (Reaction reaction)
focal_method.return: Map<String, List<String>>
focal_method.signature: Map<String, List<String>> formatRates(Reaction reaction)