From c8040a72f34ba5fe5a288c065d32013aeb0c4098 Mon Sep 17 00:00:00 2001 From: Joel Wallace Date: Tue, 18 Nov 2025 11:26:41 +0000 Subject: [PATCH] Implemented class Residue and enum ResidueName. TODO: validate data with ResidueName. --- src/protein/residue.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/protein/residue.py diff --git a/src/protein/residue.py b/src/protein/residue.py new file mode 100644 index 0000000..62bb23a --- /dev/null +++ b/src/protein/residue.py @@ -0,0 +1,40 @@ +from enum import Enum +import numpy as np + +class ResidueName(Enum): + GLY = "GLY" + ALA = "ALA" + VAL = "VAL" + LEU = "LEU" + ILE = "ILE" + SER = "SER" + THR = "THR" + PHE = "PHE" + TYR = "TYR" + HIS = "HIS" + TRP = "TRP" + CYS = "CYS" + MET = "MET" + ARG = "ARG" + GLU = "GLU" + GLN = "GLN" + ASN = "ASN" + LYS = "LYS" + ASP = "ASP" + PRO = "PRO" + +class Residue(): + + def __init__(self, name: ResidueName): + self.name = name + + self.backbone = { + atoms: { "N": None, "CA": None, "C": None, "O": None }, + phi: None, + psi: None + } + + self.sidechain = { + atoms: {}, + chis: [] + }