You are here

rs filter for terms in .sc files

5 posts / 0 new
Last post
rs filter for terms in .sc files

I would like to apply a filter in rosetta scripts that checks for specific "score terms", ie numbers that are output to .sc files in various protocols. For instance, I would like to get these terms that are normally output from movers like FlexPepDock (pep_sc or I_sc) and InterfaceAnalyzerMover (dG_separated/dSASAx100, dSASA_int).

I figured out how to use the filter EnergyPerResidue to get term in the score function of my choice:
{EnergyPerResidue name=energy_per_res_filter scorefxn=score12 score_type=hbond_bb_sc res_num=81 energy_cutoff=-0.5 whole_interface=0 jump_number=1 interface_distance_cutoff=8.0 /}

However, FlexPepDock and InterfaceAnalyzer aren't score functions, but protocols, so how do I reference them. So how would I do something like
{EnergyPerResidue name=energy_per_res_filter scorefxn=InterfaceAnalyzer score_type=dG_separated/dSASAx100 res_num=81 energy_cutoff=-0.5 whole_interface=0 jump_number=1 interface_distance_cutoff=8.0 /}

In this case, it doesn't really make sense to have a per residue score of an interface metric... but what I want is the number for the whole structure that is output to a .sc file when I run the protocol.

I hope that makes sense :)

Post Situation: 
Sat, 2012-08-18 16:20

InterfaceAnalyzer should be useable directly from RosettaScripts, and it "knows" to dump its output into the scorefile (.sc) by default (make sure the tracer boolean is false). It dumps a dozen different numbers to the scorefile.

You can't filter on InterfaceAnalyzerMover, because it doesn't return a single value. If you knew which of its many returns you wanted to filter on, then you could write a filter that focuses on that specific quality of the protein interface. For example, ddg of binding:

I'm not sure what you mean by filtering by FlexPepDock at all, since it isn't just a simple analysis, it's a whole protocol. If you mean, filter by some quality it evaluates, the same advice stands.

Sat, 2012-08-18 17:50

Yes, I want to filter on a quality it evaluates. So I would write something similar to src/protocols/simple_filters/ .

Sun, 2012-08-19 13:24

Well, you might not have to write the C++ code, if the filter you want already exists, but in a nutshell, yes. When I said "write a filter" for DDG, I meant write it into your XML file, not write the new C++ class yourself.

Sun, 2012-08-19 13:27

After reading the available filters it seems it isn't possible just to "grab" a certain return from a mover and filter on this. This surprises me since some filters reference movers (e.g. which mover to use to relax) and specific score terms, like fa_pair. However these terms are part of a score functions.

I will try to use the available filters to reproduce the metrics that other protocols return. Filters can be combined in a linear combination with "CombinedValue", but it seems I can't multiple or divide them!

Sun, 2012-08-19 17:43