Problems when inserting spin-label R1A

Member Site Forums PyRosetta PyRosetta – General Problems when inserting spin-label R1A

  • This topic has 2 replies, 2 voices, and was last updated 10 years ago by Anonymous.
Viewing 2 reply threads
  • Author
    Posts
    • #1938
      Anonymous

        Dear all,

        I would like to use the spin-lable R1A (implemented as part of Rosetta EPR).

        In database/chemical/residue_type_sets/fa_standard/residue_types.txt I activated the needed lines


        ## Spin label types
        # kills my unit tests???
        residue_types/spin_labels/R1A.params

        Although the “kills my unit tests???” comment is not very encouraging:=)

        The problem is:

        When I try to generate a pose from sequence and create an alpha-helix, the helix is terminated at the spin label position. Here is an example IPython notebook demonstrating the problem. Does anybody have a suggestion on how to get this working?

      • #10137
        Anonymous

          So it looks like when your structure is being created, it’s being made as three separate chains. You can see this by doing a “print pose.num_jump()” and “print pose”. You’ll see that you have a foldtree which connects 1-5 with a polymeric connection (-1), as well as 7-11, but residue 6 is connected via jumps, or non-polymeric connections.

          The source of this issue is that the pose_from_sequence() assumes that any non-canonical residue type automatically means that you need to make it a separate residue.

          The easiest way of dealing with this is probably to make a pose without your R1A residue, and then replace the residue with your new residue type. Something like the following would likely work:



          seq = ‘R’*(5 +1 + 5); print seq
          pose = r.pose_from_sequence(seq, res_type=”fa_standard”)

          r1a_pose = r.pose_from_sequence(“Z[R1A]”, res_type=”fa_standard”)
          r1a_res = r1a_pose.residue(1)

          #Replace position 6 with the residue, orienting it on the backbone
          pose.replace_residue( 6, r1a_res, True)

          # Now do your backbone manipulation, packing and scoring



          (Note that I tried manipulating the FoldTree directly, but the bond length/angles are messed up from loading, so a simple foldtree manipulation doesn’t work as well as just avoiding it in the first place.)

        • #10148
          Anonymous

            Thank you, this works very well!

            In the same spirit I tried


            #Make mutation
            mut = r.MutateResidue(6 , 'R1A')
            mut.apply(pose)

            Which also works and is bit less typing;) I updated the notebook with both workarounds.

            Best regards,

            Ajasja

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