docs: def makeGlu(segID, N, CA, C, O, geo):
      '''Creates a Glutamic Acid residue'''
      ##R-Group
      CA_CB_length=geo.CA_CB_length
      C_CA_CB_angle = geo.C_CA_CB_angle
      N_C_CA_CB_diangle=geo.N_C_CA_CB_diangle
      
      CB_CG_length=geo.CB_CG_length
      CA_CB_CG_angle=geo.CA_CB_CG_angle
      N_CA_CB_CG_diangle=geo.N_CA_CB_CG_diangle
  
      CG_CD_length=geo.CG_CD_length
      CB_CG_CD_angle=geo.CB_CG_CD_angle
      CA_CB_CG_CD_diangle=geo.CA_CB_CG_CD_diangle
  
      CD_OE1_length=geo.CD_OE1_length
      CG_CD_OE1_angle=geo.CG_CD_OE1_angle
      CB_CG_CD_OE1_diangle=geo.CB_CG_CD_OE1_diangle
  
      CD_OE2_length=geo.CD_OE2_length
      CG_CD_OE2_angle=geo.CG_CD_OE2_angle
      CB_CG_CD_OE2_diangle=geo.CB_CG_CD_OE2_diangle
  
      carbon_b= calculateCoordinates(N, C, CA, CA_CB_length, C_CA_CB_angle, N_C_CA_CB_diangle)
      CB= Atom("CB", carbon_b, 0.0 , 1.0, " "," CB", 0,"C")
      carbon_g= calculateCoordinates(N, CA, CB, CB_CG_length, CA_CB_CG_angle, N_CA_CB_CG_diangle)
      CG= Atom("CG", carbon_g, 0.0, 1.0, " ", " CG", 0, "C")
      carbon_d= calculateCoordinates(CA, CB, CG, CG_CD_length, CB_CG_CD_angle, CA_CB_CG_CD_diangle)
      CD= Atom("CD", carbon_d, 0.0, 1.0, " ", " CD", 0, "C")
      oxygen_e1= calculateCoordinates(CB, CG, CD, CD_OE1_length, CG_CD_OE1_angle, CB_CG_CD_OE1_diangle)
      OE1= Atom("OE1", oxygen_e1, 0.0, 1.0, " ", " OE1", 0, "O")
      oxygen_e2= calculateCoordinates(CB, CG, CD, CD_OE2_length, CG_CD_OE2_angle, CB_CG_CD_OE2_diangle)
      OE2= Atom("OE2", oxygen_e2, 0.0, 1.0, " ", " OE2", 0, "O")
  
      ##Create Residue Data Structure
      res= Residue((' ', segID, ' '), "GLU", '    ')
      
      res.add(N)
      res.add(CA)
      res.add(C)
      res.add(O)
      res.add(CB)
      res.add(CG)
      res.add(CD)
      res.add(OE1)
      res.add(OE2)
      return res