[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-dev] NBL cleanup and other small patches



Since by now things are a bit mixed up, here is a monster diff.

The changes that I remember are:
API Changes:
- There are now just AllNonbondedListScoreState and BipartiteNonbondedListScoreState. The default algorithm should be the best currently available in your build.
- The level of checks can now be set at runtime using the methods  
set_check_level and get_check_level. Valid values for the levels are  
NONE, CHEAP, EXPENSIVE. NDEBUG works as before in that it permentantly  
turns off various checks but the speed difference compared to running  
with NONE appears to be small. I suggest that python code be run with  
cheap checks and interactive python run with expensive checks.
- The ChainBondedList went away as the speed advantage didn't seem to  
be worth having an extra class.
- A new class BondCoverScoreState is added which adds x,y,z,r to bonds  
passed to it in order cover the bonds with spheres for collision  
detection purposes.
- there is now  BD optimizer. The tests for it suck and occasionally  
fail. I am not sure of a good way to test such stochastic things.
- the previously mentioned WLCEnergy unary function has been added


Internal API changes:
- ScoreStates should now implement do_before_evaluate and do_after_evaluate instead of update and after_evaluate. Model calls before_evaluate and after_evaluate which check the iteration numbers as mentioned before and calls the internal methods if appropriate.
- I tried to roll back Ben's disabling of some tests which had been  
failing, but didn't try very hard, so they might not all be back.
- The default check level should probably always be cheap and the unit  
test should turn on expensive tests. I don't know how to add code to  
all IMP unit tests.
- there is code in restraints and things to return how much memory  
they used. I added that when I was having problems with running out of  
memory (due to, as it turned out, the nonbonded lists growing too  
large). Having something like that in our code is great.  
Unfortunately, I'll bet that it will slowly atrophy with time. Anyway,  
it is there for now as it doesn't hurt anything.

I am sure there are other changes which I forgot.

Attachment: monster_diff
Description: Binary data




On May 12, 2008, at 3:42 PM, Ben Webb wrote:

Andrej would prefer to avoid commercial-license code in IMP, and it
would surely be a pain to remove this code in future if it became
incompatible with our license. But he prefers more to save time now, so
he's OK with linking against something like CGAL. So I can commit this
patch in essentially its current form, provided that it applies against current SVN (it doesn't right now, e.g. because it's missing some files).
	Ben
--
ben@salilab.org                      http://salilab.org/~ben/
"It is a capital mistake to theorize before one has data."
	- Sir Arthur Conan Doyle
_______________________________________________
IMP-dev mailing list
IMP-dev@salilab.org
https://salilab.org/mailman/listinfo/imp-dev