When compile the program with scons, I don’t see any Makefile which says that which source files make the fixbb binary program. What should I do to see this kind of information? I want to see which files are involved with the fixbb design program. Thank you!
Scons is an alternative to make, and doesn’t use Makefiles at all. (BTW, our scons build system is rather scary – I wouldn’t recommend digging through it unless you absolutely have to.)
In general, the applications themselves are in rosetta_source/src/apps/public – for example, fixbb is located at rosetta_source/src/apps/public/design/fixbb.cc That’s a rather small wrapper around the Rosetta libraries, though, which are found mostly in rosetta_source/src/protocols (higher level things), and rosetta_source/src/core (lower level things), with some minor things in the other directories of rosetta_source/src/
We try to make the layout of the code self-evident. The namespaces should match up with the directory structure, and major classes should get eponymous named .cc and .hh files, so if you find a class or function, there’s usually strong hints as to where the implementation is located.
If you’re interested in how the fixbb algorithm works, have a look in rosetta_source/src/core/pack. pack_rotamers.cc contains the entry point into “the packer.” In the pack_rotamers function, rotamers are constructed, their pair energies evaluated and stored in tables, and then the rotamer assignment is optimized using a Monte Carlo with simulated annealing protocol. Code for these steps is in src/core/pack/rotamer_set/RotamerSet_.cc (rotamer building), src/core/scoring/ (energy calculation), and src/core/pack/annealer/FixbbSimAnnealer.cc (simulated annealing).