Does Rosetta scoring function can distinguish good structure from bad one?

Member Site Forums PyRosetta PyRosetta – General Does Rosetta scoring function can distinguish good structure from bad one?

Viewing 2 reply threads
  • Author
    Posts
    • #1613
      Anonymous

        I use standard KIC script for a loop modeling by PyRosetta. However in some cases the generated loops do not have appropriate structures, especially in the middle of the loop, were the cut point is. Typically, I get loops with a good structures, however in several cases the loops have a bad chemical connections or even broken structures in the middle of these loops.
        I wanted to filter out these structures using Rosetta standard scoring function, but all scores for bad structures are in the same range or even better than the energy for good structures.
        It is difficult to explain why standard scoring function doesn’t work in that case?
        I am looking for any explanatory ideas how to filter out bad structures from good one using Rosetta scoring function (or functions)?

        Thank you, Victor

      • #8904
        Anonymous

          Hi Victor, are you getting breaks in the middle of the Loop? I looked at the script; it’s in the untested directory in source. I don’t think it uses the correct mover (should be LooopMover_Perturb_KIC), and instead it looks like it implements its own loop modelling protocol, heavily inspired by KIC. It’s also using the wrong scorefxn for low-res modelling. I would recommend using vanilla Rosetta3.4/3.5. https://www.rosettacommons.org/manuals/archive/rosetta3.4_user_guide/df/d39/kinematic_loopmodel.html

          -J

        • #8906
          Anonymous

            Regarding the bad structure, the typical Rosetta score function doesn’t really have terms to account for broken backbone connectivity.

            What you’ll want to do is turn on the “chainbreak” term in the score function, and then apply the CUTPOINT_LOWER and CUTPOINT_UPPER residue variant types to the residues on either side of the chainbreak. (using something like the function call “core.pose.add_variant_type_to_pose_residue( pose, core.chemical.CUTPOINT_LOWER, residue_number)” )

            This would only be necessary if you’re cobbling together your own protocol. A full-protocol mover which does loop remodeling should handle all that behind the scenes.

          • #8905
            Anonymous

              Hi J.

              Thank you for yours suggestions.

              I will try them.

              Victor

            • #8909
              Anonymous

                Hi rmoretti,

                Thank you for your advise,

                I will try it, as well.

                Victor

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