pl.poznan.put.pdb.analysis.ResidueInformationProvider Maven / Gradle / Ivy
package pl.poznan.put.pdb.analysis;
import pl.poznan.put.torsion.TorsionAngleType;
import java.util.List;
/**
* A provider of detailed information about a residue (its type, expected atoms, torsion angles
* etc).
*/
public interface ResidueInformationProvider {
/** @return The type of molecule of this residue (RNA or protein). */
MoleculeType moleculeType();
/** @return The list of components this residue consists of. */
List moleculeComponents();
/** @return A one letter name to describe this type of residue. */
char oneLetterName();
/** @return The list of all names this residues may be found in PDB and mmCIF files. */
List aliases();
/** @return The list of torsion angle types defined for this residue. */
List torsionAngleTypes();
/** @return The default name of this residue. */
default String defaultName() {
return aliases().stream().findFirst().orElse("UNK");
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy