You are here

Any progress on getting intermediate structures during a design?

3 posts / 0 new
Last post
Any progress on getting intermediate structures during a design?

I'm wondering if there is yet any way to output some fraction of structures during a design trajectory?  For instance, get 100 structures over the course of fastDesign.

I know there is the dumpPdb mover ( but this seems to be useful for dumping at different steps during a protocol, but in the case of using with fastDesign, would only be able to output before the design or after (e.g. the final design step, no intermediate ones).


I heard of some work using the score reporting to essentially report a custom "score" which was just the structure ( but at least at the time of that post the issue is that one couldn't limit this to say, every 1000 Monte-Carlo steps, and so it can't be used in a lot of situations due to dramatic performance limitations.


If there isn't yet a way using the standard rosetta_scripts approaches, is this the kind of thing that would be better tackled using PyRosetta?




Post Situation: 
Mon, 2020-03-16 06:46

Yes, there's a way to do this.  There's a scoreterm called dump_trajectory which (a) returns 0 for its energy (i.e. doesn't alter scoring), but (b) dumps a PDB file every Nth time that it's used to score a pose.  This allows you to use it for exactly this just by adding an additional scoreterm to the energy function used for design.

Note that normally, the packing (design) steps in FastDesign do not generate whole poses and rescore them.  Packing only considers molecular geometry for its precalculation, then operates (very efficiently) on a precomputed graph of pairwise interaction energies, building a full structure only for the final solution that it finds at the end.  So adding the dump_trajectory energy greatly slows down the design process, since the steps that result in a structure being written out have to build molecular geometry and write it to disk.  You wouldn't want to do this routinely for normal production runs, but it can be useful to do it once to visualize what's going on (e.g. to debug something or to make animations for a talk or whatnot).

Tue, 2020-03-17 11:28

To do this in RosettaScripts:

<ScoreFunction name="scorefxn" weights="ref2015" >
    <Reweight scoretype="dump_trajectory" weight="1" />

Then use that scorefunction for your FastDesign mover.

At the commandline, these flags control the dumping of structures:

-dump_trajectory:prefix <string> #How the files that are dumped are named.
-dump_trajectory:gz <bool>  #Should the dumped PDBs be gzipped?

-dump_trajectory:stride <int> #Dump structures with every Nth call to scoring.  SET THIS HIGH for packing trajectories, since there will be millions of rotamer combinations attempted.

Tue, 2020-03-17 11:35