test_class.declarator: firstChain
test_class.modifier: private static
test_class.original_string: private static OakChain firstChain;
test_class.type: OakChain
test_class.var_name: firstChain
test_class.declarator: chainToModify
test_class.modifier: private static
test_class.original_string: private static OakChain chainToModify;
test_class.type: OakChain
test_class.var_name: chainToModify
test_class.declarator: anotherChain
test_class.modifier: private static
test_class.original_string: private static OakChain anotherChain;
test_class.type: OakChain
test_class.var_name: anotherChain
test_class.file: singa-structure/src/test/java/bio/singa/structure/model/oak/OakChainTest.java
test_class.identifier: OakChainTest
test_case.body: @Test
      void connectChainBackbone() {
          // should have happened at parsing
          final Optional<LeafSubstructure<?>> first = firstChain.getLeafSubstructure(new LeafIdentifier("2N5E", 1, "A", 108));
          final Optional<LeafSubstructure<?>> second = firstChain.getLeafSubstructure(new LeafIdentifier("2N5E", 1, "A", 109));
          if (!first.isPresent() || !second.isPresent()) {
              fail("Could not retrieve leafs to check connection");
          }
          final Optional<Atom> firstAtom = first.get().getAtomByName("C");
          final Optional<Atom> secondAtom = second.get().getAtomByName("N");
          if (!firstAtom.isPresent() || !secondAtom.isPresent()) {
              fail("Could not retrieve atoms to check connection");
          }
          final OakAtom source = (OakAtom) firstAtom.get();
          final OakAtom target = (OakAtom) secondAtom.get();
          assertTrue(source.getNeighbours().contains(target));
          assertTrue(target.getNeighbours().contains(source));
      }
test_case.class_method_signature: OakChainTest.connectChainBackbone()
test_case.full_signature: @Test void connectChainBackbone()
test_case.identifier: connectChainBackbone
test_case.invocations: getLeafSubstructure getLeafSubstructure isPresent isPresent fail getAtomByName get getAtomByName get isPresent isPresent fail get get assertTrue contains getNeighbours assertTrue contains getNeighbours
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void connectChainBackbone()
focal_class.declarator: identifier
focal_class.modifier: private final
focal_class.original_string: private final String identifier;
focal_class.type: String
focal_class.var_name: identifier
focal_class.declarator: leafSubstructures
focal_class.modifier: private final
focal_class.original_string: private final TreeMap<LeafIdentifier, OakLeafSubstructure<?>> leafSubstructures;
focal_class.type: TreeMap<LeafIdentifier, OakLeafSubstructure<?>>
focal_class.var_name: leafSubstructures
focal_class.declarator: consecutiveIdentifiers
focal_class.modifier: private final
focal_class.original_string: private final Set<LeafIdentifier> consecutiveIdentifiers;
focal_class.type: Set<LeafIdentifier>
focal_class.var_name: consecutiveIdentifiers
focal_class.file: singa-structure/src/main/java/bio/singa/structure/model/oak/OakChain.java
focal_class.identifier: OakChain
focal_class.interfaces: implements Chain
focal_class.class_method_signature: OakChain.OakChain(String chainIdentifier)
focal_class.full_signature: public  OakChain(String chainIdentifier)
focal_class.identifier: OakChain
focal_class.modifiers: public
focal_class.parameters: (String chainIdentifier)
focal_class.signature:  OakChain(String chainIdentifier)
focal_class.class_method_signature: OakChain.OakChain(OakChain chain)
focal_class.full_signature: public  OakChain(OakChain chain)
focal_class.identifier: OakChain
focal_class.modifiers: public
focal_class.parameters: (OakChain chain)
focal_class.signature:  OakChain(OakChain chain)
focal_class.class_method_signature: OakChain.getChainIdentifier()
focal_class.full_signature: @Override public String getChainIdentifier()
focal_class.identifier: getChainIdentifier
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getChainIdentifier()
focal_class.class_method_signature: OakChain.getAllLeafSubstructures()
focal_class.full_signature: @Override public List<LeafSubstructure<?>> getAllLeafSubstructures()
focal_class.identifier: getAllLeafSubstructures
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<LeafSubstructure<?>>
focal_class.signature: List<LeafSubstructure<?>> getAllLeafSubstructures()
focal_class.class_method_signature: OakChain.getLeafSubstructure(LeafIdentifier leafIdentifier)
focal_class.full_signature: @Override public Optional<LeafSubstructure<?>> getLeafSubstructure(LeafIdentifier leafIdentifier)
focal_class.identifier: getLeafSubstructure
focal_class.modifiers: @Override public
focal_class.parameters: (LeafIdentifier leafIdentifier)
focal_class.return: Optional<LeafSubstructure<?>>
focal_class.signature: Optional<LeafSubstructure<?>> getLeafSubstructure(LeafIdentifier leafIdentifier)
focal_class.class_method_signature: OakChain.getFirstLeafSubstructure()
focal_class.full_signature: @Override public LeafSubstructure<?> getFirstLeafSubstructure()
focal_class.identifier: getFirstLeafSubstructure
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: LeafSubstructure<?>
focal_class.signature: LeafSubstructure<?> getFirstLeafSubstructure()
focal_class.class_method_signature: OakChain.addLeafSubstructure(OakLeafSubstructure leafSubstructure, boolean consecutivePart)
focal_class.full_signature: public void addLeafSubstructure(OakLeafSubstructure leafSubstructure, boolean consecutivePart)
focal_class.identifier: addLeafSubstructure
focal_class.modifiers: public
focal_class.parameters: (OakLeafSubstructure leafSubstructure, boolean consecutivePart)
focal_class.return: void
focal_class.signature: void addLeafSubstructure(OakLeafSubstructure leafSubstructure, boolean consecutivePart)
focal_class.class_method_signature: OakChain.addLeafSubstructure(OakLeafSubstructure leafSubstructure)
focal_class.full_signature: public void addLeafSubstructure(OakLeafSubstructure leafSubstructure)
focal_class.identifier: addLeafSubstructure
focal_class.modifiers: public
focal_class.parameters: (OakLeafSubstructure leafSubstructure)
focal_class.return: void
focal_class.signature: void addLeafSubstructure(OakLeafSubstructure leafSubstructure)
focal_class.class_method_signature: OakChain.removeLeafSubstructure(LeafIdentifier leafIdentifier)
focal_class.full_signature: @Override public boolean removeLeafSubstructure(LeafIdentifier leafIdentifier)
focal_class.identifier: removeLeafSubstructure
focal_class.modifiers: @Override public
focal_class.parameters: (LeafIdentifier leafIdentifier)
focal_class.return: boolean
focal_class.signature: boolean removeLeafSubstructure(LeafIdentifier leafIdentifier)
focal_class.class_method_signature: OakChain.getAtom(Integer atomIdentifier)
focal_class.full_signature: @Override public Optional<Atom> getAtom(Integer atomIdentifier)
focal_class.identifier: getAtom
focal_class.modifiers: @Override public
focal_class.parameters: (Integer atomIdentifier)
focal_class.return: Optional<Atom>
focal_class.signature: Optional<Atom> getAtom(Integer atomIdentifier)
focal_class.class_method_signature: OakChain.removeAtom(Integer atomIdentifier)
focal_class.full_signature: @Override public void removeAtom(Integer atomIdentifier)
focal_class.identifier: removeAtom
focal_class.modifiers: @Override public
focal_class.parameters: (Integer atomIdentifier)
focal_class.return: void
focal_class.signature: void removeAtom(Integer atomIdentifier)
focal_class.class_method_signature: OakChain.connectChainBackbone()
focal_class.full_signature: public void connectChainBackbone()
focal_class.identifier: connectChainBackbone
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void connectChainBackbone()
focal_class.class_method_signature: OakChain.connectPeptideBonds(OakAminoAcid source, OakAminoAcid target)
focal_class.full_signature: public void connectPeptideBonds(OakAminoAcid source, OakAminoAcid target)
focal_class.identifier: connectPeptideBonds
focal_class.modifiers: public
focal_class.parameters: (OakAminoAcid source, OakAminoAcid target)
focal_class.return: void
focal_class.signature: void connectPeptideBonds(OakAminoAcid source, OakAminoAcid target)
focal_class.class_method_signature: OakChain.connectNucleotideBonds(OakNucleotide source, OakNucleotide target)
focal_class.full_signature: public void connectNucleotideBonds(OakNucleotide source, OakNucleotide target)
focal_class.identifier: connectNucleotideBonds
focal_class.modifiers: public
focal_class.parameters: (OakNucleotide source, OakNucleotide target)
focal_class.return: void
focal_class.signature: void connectNucleotideBonds(OakNucleotide source, OakNucleotide target)
focal_class.class_method_signature: OakChain.getConsecutivePart()
focal_class.full_signature: public List<LeafSubstructure<?>> getConsecutivePart()
focal_class.identifier: getConsecutivePart
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<LeafSubstructure<?>>
focal_class.signature: List<LeafSubstructure<?>> getConsecutivePart()
focal_class.class_method_signature: OakChain.getNonConsecutivePart()
focal_class.full_signature: public List<LeafSubstructure<?>> getNonConsecutivePart()
focal_class.identifier: getNonConsecutivePart
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<LeafSubstructure<?>>
focal_class.signature: List<LeafSubstructure<?>> getNonConsecutivePart()
focal_class.class_method_signature: OakChain.getNextLeafIdentifier()
focal_class.full_signature: public LeafIdentifier getNextLeafIdentifier()
focal_class.identifier: getNextLeafIdentifier
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: LeafIdentifier
focal_class.signature: LeafIdentifier getNextLeafIdentifier()
focal_class.class_method_signature: OakChain.getCopy()
focal_class.full_signature: @Override public OakChain getCopy()
focal_class.identifier: getCopy
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: OakChain
focal_class.signature: OakChain getCopy()
focal_class.class_method_signature: OakChain.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: OakChain.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: OakChain.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public void connectChainBackbone() {
          OakLeafSubstructure<?> lastSubstructure = null;
          for (OakLeafSubstructure<?> currentSubstructure : leafSubstructures.values()) {
              if (lastSubstructure != null) {
                  if (lastSubstructure instanceof AminoAcid && currentSubstructure instanceof AminoAcid) {
                      connectPeptideBonds((OakAminoAcid) lastSubstructure, (OakAminoAcid) currentSubstructure);
                  } else if (lastSubstructure instanceof Nucleotide && currentSubstructure instanceof Nucleotide) {
                      connectNucleotideBonds((OakNucleotide) lastSubstructure, (OakNucleotide) currentSubstructure);
                  }
              }
              lastSubstructure = currentSubstructure;
          }
      }
focal_method.class_method_signature: OakChain.connectChainBackbone()
focal_method.full_signature: public void connectChainBackbone()
focal_method.identifier: connectChainBackbone
focal_method.invocations: values connectPeptideBonds connectNucleotideBonds
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void connectChainBackbone()