The ddg_monomer application is a little tricky, as there’s a fair amount of setup/analysis it does which isn’t encapsulated by a PyRosetta-accessible Mover, though the main part of the calculation is done from within the `rosetta.protocols.ddg.ddGMover` mover. (Be careful: there’s a number of ddG movers in Rosetta – for the ddg_monomer application, it’s the one in rosetta.protocols.ddg that you want.)
There’s a number of options setting functions on that object, which correspond to the various options availible in ddg_monomer. For the constructor, it takes two scorefunctions (one for packing, one for minimization) and a Vector1 of rosetta.core.AA objects. This last is what specifies the mutations to use. This should be the same length as the Pose you’re using, with one entry per residue. A rosetta.core.chemical.aa_unk means no mutation, and some other setting means to mutate to that residue.
One of note it setting the wildtype comstuffparison. To do this, create another ddGMover object (with all `aa_unk`s), run it on the wildtype structure, and then take the result of wt_score_components() (wth no arguments) from the wildtype run and pass it to the wt_score_components() method of the ddGMover you’re using to do the mutations.
Once run on the mutant structure, you can pull the appropriate information out of ddG(), get_delta_energy_components(), and get_mutant_averaged_score_components().