#/home/farminf/Programas/PepDice/Examples/outputs/1gab_amber_example04_extended.pdb

system = Molecule()
name = 'poliALa_from_sequence'
TRAJECTORY = name+'_traj'
system.name = name
system.build_peptide_from_sequence (
                                     sequence    = 'AAAAAAAA',
                                     _type       = 'amber'       ,
                                     force_field = 'ff03ua.labio',
                                     overwrite   = True          ,
                                     )
system.set_energy_model('RAW')

                                                    #AAAAAAAA
system.import_SS_restraints_from_string (      ss = 'HHHHHHHH', 
                                            w_ss  = '99999999', log= True)
print system.compute_SS_energy(log = True)

system.energy_components['SS_RESTRAINT'][1]  = 100.0 
system.energy_components['SIZE'          ][1]= 0.0
system.energy_components['CONSTANT'      ][1]= 0.0
system.energy_components['ANGLE'         ][1]= 0.0
system.energy_components['BOND'          ][1]= 0.0
system.energy_components['DIHED'         ][1]= 0.0
system.energy_components['EEL'           ][1]= 0.0
system.energy_components['EELEC'         ][1]= 0.0
system.energy_components['EGB'           ][1]= 0.0
system.energy_components['EKtot'         ][1]= 0.0
system.energy_components['EPtot'         ][1]= 0.0
system.energy_components['ESURF'         ][1]= 0.0
system.energy_components['Etot'          ][1]= 0.0
#/home/farminf/Programas/PepDice/Examples/outputs/1gab_amber_example04_extended.pdb

system = Molecule()
name = 'poliALa_1GAB_from_sequence_CMAP_SSrest_restraints'
TRAJECTORY = name+'_traj'
system.name = name
system.build_peptide_from_sequence (
                                     sequence    = 'TIDQWLLKNAKEDAIAELKKAGITSDFYFNAINKAKTVEEVNALKNEILKAHA',
                                     _type       = 'amber'       ,
                                     force_field = 'ff03ua.labio',
                                     overwrite   = True          ,
                                     )
system.set_energy_model('RAW')

                                                    #AAAAAAAA
system.import_SS_restraints_from_string (      ss = 'CCHHHHHHHHHHHHHHHHHHCCCCCHHHHHHHHHCCCHHHHHHHHHHHHHHCC', 
                                            w_ss  = '00023456788888654320000000034565400000023456789654000', log= True)
print system.compute_SS_energy(log = True)

system.energy_components['SS_RESTRAINT']  [1]= 1.0 
system.energy_components['SIZE'          ][1]= 0.0
system.energy_components['CONSTANT'      ][1]= 0.0
system.energy_components['ANGLE'         ][1]= 0.0
system.energy_components['BOND'          ][1]= 0.0
system.energy_components['DIHED'         ][1]= 0.0
system.energy_components['EEL'           ][1]= 0.0
system.energy_components['EELEC'         ][1]= 0.0
system.energy_components['EGB'           ][1]= 0.0
system.energy_components['EKtot'         ][1]= 0.0
system.energy_components['EPtot'         ][1]= 0.0
system.energy_components['ESURF'         ][1]= 0.0
system.energy_components['Etot'          ][1]= 0.0
system.load_PDB_to_system      (filename = os.path.join(PEPDICE_EXAMPLES , 'LABIO_set/1GAB/1GAB_A_AMBER_minimized.pdb'   )   )   
system.import_AMBER_parameters (top      = os.path.join(PEPDICE_EXAMPLES , 'LABIO_set/1GAB/1GAB_A_AMBER.top')   ,   
                                torsions = os.path.join(PEPDICE_PARAMETER, 'amber/AMBER_rotamers.dat') )   



print system.compute_R_gy_Calpha()
#print system.compute_SS_energy(log = True)
#cmap = CMAP(pdb = os.path.join(PEPDICE_EXAMPLES ,  'Itasser_set/IT1af7__/native_A_AMBER_minimized.pdb'), cutoff = 6.5, log = True)
#system.load_PDB_to_system      (filename = os.path.join(PEPDICE_EXAMPLES , 'Itasser_set/IT1af7__/native_A_AMBER_minimized.pdb') )
#system.import_AMBER_parameters (top      = os.path.join(PEPDICE_EXAMPLES , 'Itasser_set/IT1af7__/native_A_AMBER.top') , 
#                                torsions = os.path.join(PEPDICE_PARAMETER, 'amber/AMBER_rotamers.dat') )   
#


system.import_SS_restraints_from_string (      ss = 'CCHHHHHHHHHHHHHHHHHHCCCCCHHHHHHHHHCCCHHHHHHHHHHHHHHCC', 
                                            w_ss  = '00000123345553221111000000001234432100012342335556110', log= True)
print system.compute_SS_energy(log = True)

#restraint = {
#                    'Kd'            : 40.0,
#                    'resi_i'        : 1   , #starts at ZERO
#                    'resi_j'        : 5   , 
#                    'atom_name_i'   : 'CA',
#                    'atom_name_j'   : 'CA',
#                    'distance'      : 10.0,
#                    }
#
#system.hamonical_potential_restraint_list.append(restraint)

print system.compute_harmonical_restraint_energies(log = True)