How to use SAXS energy score in PyRosetta

Member Site Forums PyRosetta PyRosetta – General How to use SAXS energy score in PyRosetta

  • This topic has 7 replies, 3 voices, and was last updated 9 years ago by Anonymous.
Viewing 1 reply thread
  • Author
    Posts
    • #2502
      Anonymous

        Hi,

        I am trying to import SAXS energy function in PyRosetta, However, I failed to call it in python. The code I tried is: 

        >>> from rosetta import *

        >>> rosetta.init()

        >>> from toolbox import cleanATOM

        >>> cleanATOM(“1YY8.pdb”)

        >>> pose = pose_from_pdb(“1YY8.clean.pdb”)

        >>> ### try saxs

        >>> scorefxn2 = ScoreFunction()

        >>> scorefxn2.set_weight(fastsaxs, 1.0)

        >>> print scorefxn2(pose)

        core.scoring.saxs.FastSAXSEnergy: Loading SAXS spectrum

        core.scoring.saxs.FastSAXSEnergy: [ ERROR ] No SAXS spectrum specified!

        I got warning message: 

        core.scoring.saxs.FastSAXSEnergy: Loading SAXS spectrum

        core.scoring.saxs.FastSAXSEnergy: [ ERROR ] No SAXS spectrum specified!

        So I want try to import SAXS spectrum file, but when I tried 

        >>> rosetta.core.scoring.saxs

        I got error message:

        >>> rosetta.core.scoring.saxs

        Traceback (most recent call last):

          File “<stdin>”, line 1, in <module>

        AttributeError: ‘module’ object has no attribute ‘saxs’

         

        However, I can see the python main file under PyRosetta.ScientificLinux-r55981.64Bit/rosetta/core/scoring/saxs/, how can I call import saxs data file and  saxs energy function in PyRosetta. 

        The PyRosetta version I used is: PyRosetta.ScientificLinux-r55981.64Bit

         

        Thanks.

      • #11827
        Anonymous

          A large number of the protocols in Rosetta are build around the assumption that they’ll be accessed from the commandline. We’re trying to move away from that, but a number of these assumptions remain.

          In this case, the FastSAXSEnergy object is expecting that the SAXS spectum data will be provided by the “-score:saxs:ref_spectrum” commandline option. There’s ways to set the option system from within PyRosetta, but they’re not necessarily as clean as one would like.

        • #11834
          Anonymous

            The easiest way to set options in PyRosetta is to pass a string of the options during init.   I just updated the PyRosetta FAQ with this info.  For example:

            rosetta.init( “-ex1 -ex2 -include_sugars -write_pdb_link_records” )

          • #11838
            Anonymous

              Dear rmoretti,

               

              thanks for the help. I successfully import SAXS profile and get the saxs energy score from pose by 

              rosetta.basic.options.set_file_option(‘score:saxs:ref_spectrum’, ‘test.dat’)

              scorefxn = ScoreFunction()

              scorefxn.set_weight(fastsaxs, 1.0)

              print scorefxn(pose)

               

              Another question: I found the fastsaxs energy term only works for full atom pose, but failed in centroid pose during Monte Carlo sampling, for example, when I tried to convert the pose to centroid Mover type as:

              to_centroid = SwitchResidueTypeSetMover(‘centroid’)

              to_fullatom = SwitchResidueTypeSetMover(‘fa_standard’)

               

              to_centroid.apply(pose)

              print scorefxn(pose)

              I will get energy as:  nan

              But when I converted it to full atom:

              to_fullatom.apply(pose)

              print scorefxn(pose)

              Then I will get energy term 35.6

               

              Does this mean I can not apply fastsaxs energy on centroid pose?

              Thanks

               

            • #11839
              Anonymous

                Dear jadolfbr,

                 

                Thanks for the info. I tested it, and it works pretty well. Could you help check my new question about how to apply SAXS fitting energy on centroid pose?  I couldn’t get SAXS energy score after converting pose into centroid type. 

                 

                thanks

              • #11951
                Anonymous

                  Yes, it does look like the fast_saxs scoreterm is fullatom-specific.

                  There’s another score term which is centroid-specific, though, and that is “saxs_score” (aka “saxs_cen_score”).  (There’s also a related “saxs_fa_score” for full atom poses.)

                   

                • #12472
                  Anonymous

                    Yes, it does look like the fast_saxs scoreterm is fullatom-specific.

                    There’s another score term which is centroid-specific, though, and that is “saxs_score” (aka “saxs_cen_score”).  (There’s also a related “saxs_fa_score” for full atom poses.)

                     

                  • #12993
                    Anonymous

                      Yes, it does look like the fast_saxs scoreterm is fullatom-specific.

                      There’s another score term which is centroid-specific, though, and that is “saxs_score” (aka “saxs_cen_score”).  (There’s also a related “saxs_fa_score” for full atom poses.)

                       

                  Viewing 1 reply thread
                  • You must be logged in to reply to this topic.