pl.poznan.put.rna.Nucleotide Maven / Gradle / Ivy
package pl.poznan.put.rna;
import pl.poznan.put.pdb.analysis.MoleculeType;
import pl.poznan.put.pdb.analysis.ResidueComponent;
import pl.poznan.put.pdb.analysis.ResidueInformationProvider;
import pl.poznan.put.torsion.TorsionAngleType;
import java.util.List;
/** A nucleotide (A, C, G, U or T) with all details regarding atoms, torsion angles, etc. */
public enum Nucleotide implements ResidueInformationProvider {
ADENINE(ImmutableAdenine.of()),
CYTOSINE(ImmutableCytosine.of()),
GUANINE(ImmutableGuanine.of()),
URACIL(ImmutableUracil.of()),
THYMINE(ImmutableThymine.of());
private final Nucleobase nucleobase;
Nucleotide(final Nucleobase nucleobase) {
this.nucleobase = nucleobase;
}
/** @return An instance of nucleobase in this nucleotide. */
public Nucleobase nucleobase() {
return nucleobase;
}
@Override
public MoleculeType moleculeType() {
return MoleculeType.RNA;
}
@Override
public List moleculeComponents() {
return nucleobase.moleculeComponents();
}
@Override
public char oneLetterName() {
return nucleobase.oneLetterName();
}
@Override
public List aliases() {
return nucleobase.aliases();
}
@Override
public List torsionAngleTypes() {
return nucleobase.torsionAngleTypes();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy