rs filter for terms in .sc files

Member Site Forums Rosetta 3 Rosetta 3 – General rs filter for terms in .sc files

Viewing 3 reply threads
  • Author
    Posts
    • #1378
      Anonymous

        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 :)

      • #7628
        Anonymous

          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.

          http://www.rosettacommons.org/manuals/archive/rosetta3.4_user_guide/Movers_%28RosettaScripts%29#InterfaceAnalyzerMover

          http://www.rosettacommons.org/manuals/archive/rosetta3.4_user_guide/df/dc8/_interface_analyzer_doc.html

          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: http://www.rosettacommons.org/manuals/archive/rosetta3.4_user_guide/Filters_%28RosettaScripts%29#Ddg

          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.

        • #7630
          Anonymous

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

          • #7632
            Anonymous

              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!

            • #7631
              Anonymous

                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.

            Viewing 3 reply threads
            • You must be logged in to reply to this topic.