def makeSer(segID, N, CA, C, O, geo):
    '''Creates a Serine 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_OG_length=geo.CB_OG_length
    CA_CB_OG_angle=geo.CA_CB_OG_angle
    N_CA_CB_OG_diangle=geo.N_CA_CB_OG_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")
    oxygen_g= calculateCoordinates(N, CA, CB, CB_OG_length, CA_CB_OG_angle, N_CA_CB_OG_diangle)
    OG= Atom("OG", oxygen_g, 0.0, 1.0, " ", " OG", 0, "O")

    ##Create Reside Data Structure
    res= Residue((' ', segID, ' '), "SER", '    ')
    res.add(N)
    res.add(CA)
    res.add(C)
    res.add(O)
    res.add(CB)
    res.add(OG)

    ##print(res)
    return res
def makeSer ( segID , N , CA , C , O , geo ) : 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_OG_length = geo . CB_OG_length CA_CB_OG_angle = geo . CA_CB_OG_angle N_CA_CB_OG_diangle = geo . N_CA_CB_OG_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" ) oxygen_g = calculateCoordinates ( N , CA , CB , CB_OG_length , CA_CB_OG_angle , N_CA_CB_OG_diangle ) OG = Atom ( "OG" , oxygen_g , 0.0 , 1.0 , " " , " OG" , 0 , "O" ) res = Residue ( ( ' ' , segID , ' ' ) , "SER" , '    ' ) res . add ( N ) res . add ( CA ) res . add ( C ) res . add ( O ) res . add ( CB ) res . add ( OG ) return res
Creates a Serine residue