Le 12/09/14 19:59, Ben Webb a écrit :
> On 9/12/14, 6:05 AM, Yannick SPILL wrote:
>> angles = ff.create_angles(bonds)
>> dihedrals = ff.create_dihedrals(bonds)
>>
>> Why is this last line so much slower than the others? It's sad, because
>> it takes up most of the time in the construction of a protein hierarchy.
>
> It shouldn't be any slower than create_angles() - both iterate over
> all bonds and extend them at one end (for angles) or both ends (for
> dihedrals). How much is "so much slower"? Where does profiling say
> time is being spent?
>
> Ben
pdb_name='6LYZ.pdb'
#read in protein
a=time.time()
model = IMP. Model()
mhd = IMP.atom.read_pdb(pdb_name, model,
IMP.atom.NonWaterNonHydrogenPDBSelector())
ff = IMP.atom.get_heavy_atom_CHARMM_parameters()
top = ff.create_topology(mhd)
top.add_atom_types(mhd)
bonds = top.add_bonds(mhd)
c=time.time()
angles = ff.create_angles(bonds)
d=time.time()
dihedrals = ff.create_dihedrals(bonds)
e=time.time()
print "init",c-a
print "angles",d-c
print "dihedrals",e-d
512 [yannick@lap-2 lysozyme]$ impf python test.py
init 0.135031938553
angles 0.0178110599518
dihedrals 0.414628982544