Skip to topic | Skip to bottom
Home
BioGeometry
BioGeometry.OptimizingRosettar1.1 - 23 Nov 2005 - 16:45 - Main.guesttopic end

Start of topic | Skip to actions
Here are some ideas for optimizing Rosetta, with links to new pages for the ones that we actually experiment on, or carry out.
  • RotamerTrie - store rotamer sets in a trie to avoid repeating computations for repeated atoms.
  • SuperRotamers - include backbone motion. We keep this in mind as we work on the RotamerTrie.
  • ProteinVoid - can we add an estimation of void volume to the energy function used in Monte Carlo rotamer selection?
  • ParallelArraysToStructs? - FORTRAN has no structs, so uses parallel arrays. This spreads otherwise-related things in memory and can result in several page accesses instead of one for a struct, especially for large, randomly accessed vectors & tables such as atom descriptors.
  • ImproveHbonds.c - improved hydrogen bond calculations
  • UseInitializers - oh do I hate the use of code to initialize vectors and arrays one entry at a time.
  • ConstAndStatic? - static class constants, enums, etc. help the compiler to optimize without sacrificing the readability of the code.
  • SpeedSimulatedAnnealing - With some good bookkeeping, we can speed simulated annealing by a factor of 2.
  • ExplicitWaterRefactor - Rosetta creates additional rotamers with explicit water molecules attached. Each additional rotamer bloats the running time of the rotamer-pair-energy function, and also the size of the pair energy tables. If a single rotamer can have 4 attached water molecules, the explicit water functionality creates 15 additional rotamers, one for each combination of water molecules present. This scheme is wasteful. Jeffrey Gray at Hopkins uses explicit water for his calculations.

Links on optimization

Key advice: make sure something works before you even think about optimizing, and then test as you optimize that 1. it continues to work, and 2. that your optimizations really do improve things.

-- JackSnoeyink - 25 Mar 2005
to top


You are here: BioGeometry > ProgressReports > JackProgress > OptimizingRosetta

to top

Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback