test_class.declarator: structuralMotif
test_class.modifier: private static
test_class.original_string: private static StructuralMotif structuralMotif;
test_class.type: StructuralMotif
test_class.var_name: structuralMotif
test_class.file: singa-structure/src/test/java/bio/singa/structure/model/oak/StructuralMotifsTest.java
test_class.identifier: StructuralMotifsTest
test_case.body: @Test
      void shouldAssignExchanges() {
          StructuralMotifs.assignComplexExchanges(structuralMotif, MatcherFamily.GUTTERIDGE);
          assertTrue(MatcherFamily.GUTTERIDGE.stream()
                  .map(MatcherFamily::getMembers)
                  .flatMap(Collection::stream)
                  .collect(Collectors.toSet()).containsAll(structuralMotif.getAllAminoAcids()
                          .stream()
                          .map(AminoAcid::getExchangeableFamilies)
                          .flatMap(Collection::stream)
                          .collect(Collectors.toSet())));
      }
test_case.class_method_signature: StructuralMotifsTest.shouldAssignExchanges()
test_case.full_signature: @Test void shouldAssignExchanges()
test_case.identifier: shouldAssignExchanges
test_case.invocations: assignComplexExchanges assertTrue containsAll collect flatMap map stream toSet collect flatMap map stream getAllAminoAcids toSet
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldAssignExchanges()
focal_class.file: singa-structure/src/main/java/bio/singa/structure/model/oak/StructuralMotifs.java
focal_class.identifier: StructuralMotifs
focal_class.class_method_signature: StructuralMotifs.StructuralMotifs()
focal_class.full_signature: private  StructuralMotifs()
focal_class.identifier: StructuralMotifs
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  StructuralMotifs()
focal_class.class_method_signature: StructuralMotifs.assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_class.full_signature: public static void assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_class.identifier: assignComplexExchanges
focal_class.modifiers: public static
focal_class.parameters: (StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_class.return: void
focal_class.signature: void assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_class.class_method_signature: StructuralMotifs.calculateRmsdMatrix(List<StructuralMotif> structuralMotifs,
                                                                                boolean idealSuperimposition)
focal_class.full_signature: public static LabeledSymmetricMatrix<StructuralMotif> calculateRmsdMatrix(List<StructuralMotif> structuralMotifs,
                                                                                boolean idealSuperimposition)
focal_class.identifier: calculateRmsdMatrix
focal_class.modifiers: public static
focal_class.parameters: (List<StructuralMotif> structuralMotifs,
                                                                                boolean idealSuperimposition)
focal_class.return: LabeledSymmetricMatrix<StructuralMotif>
focal_class.signature: LabeledSymmetricMatrix<StructuralMotif> calculateRmsdMatrix(List<StructuralMotif> structuralMotifs,
                                                                                boolean idealSuperimposition)
focal_class.class_method_signature: StructuralMotifs.calculateRmsdMatrix(List<StructuralMotif> structuralMotifs,
                                                                                Predicate<Atom> atomFilter,
                                                                                boolean idealSuperimposition)
focal_class.full_signature: public static LabeledSymmetricMatrix<StructuralMotif> calculateRmsdMatrix(List<StructuralMotif> structuralMotifs,
                                                                                Predicate<Atom> atomFilter,
                                                                                boolean idealSuperimposition)
focal_class.identifier: calculateRmsdMatrix
focal_class.modifiers: public static
focal_class.parameters: (List<StructuralMotif> structuralMotifs,
                                                                                Predicate<Atom> atomFilter,
                                                                                boolean idealSuperimposition)
focal_class.return: LabeledSymmetricMatrix<StructuralMotif>
focal_class.signature: LabeledSymmetricMatrix<StructuralMotif> calculateRmsdMatrix(List<StructuralMotif> structuralMotifs,
                                                                                Predicate<Atom> atomFilter,
                                                                                boolean idealSuperimposition)
focal_method.body: public static void assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup) {
          for (LeafSubstructure leafSubstructure : structuralMotif.getAllLeafSubstructures()) {
              familyGroup.stream()
                      .filter(family -> family.getMembers().contains(leafSubstructure.getFamily()))
                      .forEach(familyMember -> structuralMotif.addExchangeableFamily(leafSubstructure.getIdentifier(),
                              familyMember));
          }
      }
focal_method.class_method_signature: StructuralMotifs.assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_method.full_signature: public static void assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_method.identifier: assignComplexExchanges
focal_method.invocations: getAllLeafSubstructures forEach filter stream contains getMembers getFamily addExchangeableFamily getIdentifier
focal_method.modifiers: public static
focal_method.parameters: (StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)
focal_method.return: void
focal_method.signature: void assignComplexExchanges(StructuralMotif structuralMotif, EnumSet<MatcherFamily> familyGroup)