Produces a set of rotamers from a given residue

Member Site Forums Rosetta 3 Rosetta 3 – General Produces a set of rotamers from a given residue

Viewing 3 reply threads
  • Author
    Posts
    • #2715
      Anonymous

        Dear Rosettaers

        I would like to dock Individual residues against the target surface on my protein. In this way, I have to produce a set of individual hydrophobic rotamers which can bind to a hydrophobic pocket on my protein. 

        I used this RosettaScript to generate inverse rotamers:

        <ROSETTASCRIPTS>

            <FILTERS>

                <EnergyPerResidue name=”energy” pdb_num=”102H” energy_cutoff=”1.0″/>

                <Ddg name=”ddg” threshold=”-1.0″/>

            </FILTERS>

            <MOVERS>

                <TryRotamers name=”try” pdb_num=”102H” shove=”102H”/>

            </MOVERS>

            <APPLY_TO_POSE>

            </APPLY_TO_POSE>

            <PROTOCOLS>

                <Add mover_name=”try”/>

                <Add filter_name=”energy”/>

                <Add filter_name=”ddg”/>

            </PROTOCOLS>

        </ROSETTASCRIPTS>

        but after some seconds it will failed and gives this error:

        ERROR: Conformation: fold_tree nres should match conformation nres. conformation nres: 312 fold_tree nres: 219

        ERROR:: Exit from: src/core/conformation/Conformation.cc line: 761

         

         

         

        I included log file in attachments.

        For your information, I did relax and refinement successfully. Also, I removed water and heteroattom from my PDB. There are some missing residues in the PDB.

        Should I includ fold_tree?

        How can I solve this error?

         

         

      • #13674
        Anonymous

          Try adding `automatic_connection=”false”` to the tag for TryRotamers.  

          By default TryRotamers attempts to set up an “inverse rotamer fold tree” (https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/TryRotamersMover) — It looks like the automatic setup for this doesn’t work with the pose as you have it. It appears it’s not recognizing all the chains in your structure, and thus the FoldTree it sets up is only for the first chain.

          You probably don’t actually need this, so you can turn it off.

          • #13675
            Anonymous

              It works now, but It gave me new error:

              protocols.protein_interface_design.movers.TryRotamers: current fold-tree:

              FOLD_TREE  EDGE 1 218 -1  EDGE 1 219 1  EDGE 219 312 -1

              core.pack.dunbrack.RotamerLibrary: Using Dunbrack library binary file ‘/home/ali-linux/linux_program/rosetta/main/database/rotamer/bbdep02.May.sortlib.Dunbrack02.lib.bin’.

              core.pack.dunbrack.RotamerLibrary: Dunbrack library took 0.038552 seconds to load from binary

              protocols.protein_interface_design.movers.TryRotamers: building rotamer set of 163 different rotamers …

              TryRotamers passed the final_filter

              protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN FILTER =======================

              protocols.rosetta_scripts.ParsedProtocol: =======================END FILTER =======================

              protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER NullMover – NULL_MOVER=======================

              protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN FILTER energy=======================

              protocols.simple_filters.EnergyPerResidueFilter: Apply Filter Scoretype total_score total of 312: 102+

              basic.io.database: Database file opened: scoring/score_functions/disulfides/fa_SS_distance_score

              protocols.simple_filters.EnergyPerResidueFilter: Scoretype total_score for residue: 102 TYR is 902.342

              protocols.rosetta_scripts.ParsedProtocol: =======================END FILTER energy=======================

              protocols.rosetta_scripts.ParsedProtocol: Filter energy reports failure!

              protocols.jd2.JobDistributor: 1cz8-2_0001 reported failure 1 times and will no longer retry (permanent failure)

              protocols.jd2.JobDistributor: no more batches to process…

              protocols.jd2.JobDistributor: 1 jobs considered, 1 jobs attempted in 6 seconds

              Error: ERROR: Exception caught by rosetta_scripts application:1 jobs failed; check output for error messages

              Error:

               

              Let's give you more details. I'd like to create inverse rotamers from just one residue. I used three different PDBs: 

              1. In first try, I kept both proteins which had interaction and wrote in InverseRotamers.xml to produce Inverse Rotamers from one residue.

              2. In second try, I used a PDB containing protein 1 and just one residue from protein 2 which had interaction with protein 1.

              3. In third try, I used one residue from protein 2 with 2 residue before and 2 residue after mentioned residue.

               

              In all tries, it gave me above error.

               

              I think its due to energy filter or energy_cutoff. I changed energy_cutoff but the error still remain.

               

            • #13677
              Anonymous

                That error is somewhat expected – it’s doing what you want it to do. You’re imposing a rotamer, then immediately checking the energy of that rotamer, with a hard absolute cutoff of +1.0 REU. It turns out that the rotamer you’ve imposed has issues, and has a really bad energy of +902.342. (Not to surprising, as you’re just imposing a rotamer without any consideration for what’s around it — this is likely to lead to a clash.) As such, the filter fails and RosettaScripts cancels the output for that rotatmer.

                If this isn’t what you want to happen, then you either need to remove the filter, change the threshold of the filter, or do some sort of packing/minimization of surounding residues between the TryRotamers imposition and the filtering step in order to alieviate any clashes/issues with that rotamer.

                Keep in mind that TryRotamers is rather simple, just iterating through the availible rotamers, imposing each in turn without any sort of optimization. Also note that “each in turn” refers to different nstruct. Typically with TryRotamers you don’t want just one output structure, but want to increase the -nstruct to something high. TryRotamers will iterate through each rotamer in turn, each output structure getting a different rotamer until it runs out, at which point it will stop. (Or rather, result in errors for any additional nstruct.) As such, you typically crank -nstruct rather high on TryRotamers runs to make sure you cover everything.

                 

                I’m not quite understanding your full protocol. How are you attempting to use the models produces here?

                You say “inverse rotamers”, but is that what you want? Normal rotamers have a fixed backbone, and the sidechain varies based on the rotamer. An “inverse rotamer” flips this, fixing the location of certain atoms on the sidechain, and allowing the position of the backbone to vary.  I think TryRotamers can do this, but it may take a bit of parameter tweaking.

                I’d recommend simplifying your protocol to start with to *just* the TryRotamers mover – get rid of the filters, at least to begin with. Run your TryRotamers with a large -nstruct and examine the models produced. Make sure the variation for that residue looks like you want it to, and your ensemble is being built correctly. Tweak the TryRotamers parameters until you get a rotamer ensemble you like. *Then* go back and add in filters and minimization, etc. to adjust which rotamers you keep and which you throw out.

                Typically you’re not going to want all the -nstruct to pass – you’re going to select a subset of the rotamers, which will give you output structures, and the rest of the runs (the output structures) will result in an “error” and not give any structure output.

                 

            • #13684
              Anonymous

                Dear. Moretti

                I am going to produce inverse rotamer from a hot-spot residue for protein binder design. For this aim, is it necessary to add `automatic_connection=”false”` to the tag for TryRotamers?

                I did many sort of packing/minimization and also docking refinement and now total minimization score is about -570 REU. I think this score is good to continue.

                Also, in a Protein-Protein interaction and for Inverserotamer.xml, I used cutoff of +100.0 REU in and nstruct 500,000. Finally, Rosetta gave me just 13 rotamers, which had a bit structural differences.

                I don’t know, Should I use these rotamers? Or is there any other way to improve and increase the output?

                 

                 

                 

                 

              • #13781
                Anonymous

                  I have a problem with inverse rotamers generation after re-installation of ROSETTA. Actually, I the latest weekly release of ROSETTA 3.8 for using new score function, but I couldn't generate inverse rotamers and gave me following error: 

                   

                   

                  ali-linux@alilinux-Lenovo-Y50-70:~/Desktop/peptide_design/1CZ8/docking_stubs/1_HR1-W108/W108/4_rotamers/1$ ~/linux_program/rosetta/main/source/bin/rosetta_scripts.default.linuxgccrelease -database ~/linux_program/rosetta/main/database/ -ignore_zero_occupancy false -ignore_unrecognized_res -use_input_sc -nstruct 50000 -s 1cz8_W108_0005_H.pdb -ex1 -ex2 -parser:protocol  InverseRotamers.xml -restore_pre_talaris_2013_behavior

                   

                  core.init: Rosetta version unknown:exported  from http://www.rosettacommons.org

                  core.init: command: /home/ali-linux/linux_program/rosetta/main/source/bin/rosetta_scripts.default.linuxgccrelease -database /home/ali-linux/linux_program/rosetta/main/database/ -ignore_zero_occupancy false -ignore_unrecognized_res -use_input_sc -nstruct 50000 -s 1cz8_W108_0005_H.pdb -ex1 -ex2 -parser:protocol InverseRotamers.xml -restore_pre_talaris_2013_behavior

                  core.init: ‘RNG device’ seed mode, using ‘/dev/urandom’, seed=-1057562819 seed_offset=0 real_seed=-1057562819

                  core.init.random: RandomGenerator:init: Normal mode, seed=-1057562819 RG_type=mt19937

                  protocols.jd2.PDBJobInputter: Instantiate PDBJobInputter

                  protocols.jd2.PDBJobInputter: PDBJobInputter::fill_jobs

                  protocols.jd2.PDBJobInputter: pushed 1cz8_W108_0005_H.pdb nstruct indices 1 – 50000

                  protocols.evaluation.ChiWellRmsdEvaluatorCreator: Evaluation Creator active …

                  protocols.jd2.JobDistributor: Parser is present.  Input mover will be overwritten with whatever the parser creates.

                  protocols.jd2.PDBJobInputter: PDBJobInputter::pose_from_job

                  protocols.jd2.PDBJobInputter: filling pose from PDB 1cz8_W108_0005_H.pdb

                  core.chemical.GlobalResidueTypeSet: Finished initializing fa_standard residue type set.  Created 74 residue types

                  core.chemical.GlobalResidueTypeSet: Total time to initialize 0.047058 seconds.

                  core.import_pose.import_pose: File ‘1cz8_W108_0005_H.pdb’ automatically determined to be of type PDB

                  protocols.rosetta_scripts.RosettaScriptsParser: dock_design_filename=InverseRotamers.xml

                  protocols.rosetta_scripts.RosettaScriptsParser: Generating XML Schema for rosetta_scripts…

                  protocols.rosetta_scripts.RosettaScriptsParser: …done

                  protocols.rosetta_scripts.RosettaScriptsParser: Initializing schema validator…

                  protocols.rosetta_scripts.RosettaScriptsParser: …done

                  protocols.rosetta_scripts.RosettaScriptsParser: Validating input script…

                  protocols.rosetta_scripts.RosettaScriptsParser: …done

                  protocols.rosetta_scripts.RosettaScriptsParser: Parsed script:

                   

                  <ROSETTASCRIPTS>

                      <FILTERS>

                          <EnergyPerResidue energy_cutoff=”1.0″ name=”energy” pdb_num=”1H”/>

                          <Ddg name=”ddg” threshold=”-1.0″/>

                      </FILTERS>

                      <MOVERS>

                          <TryRotamers name=”try” pdb_num=”1H” shove=”1H”/>

                      </MOVERS>

                      <APPLY_TO_POSE/>

                      <PROTOCOLS>

                          <Add mover_name=”try”/>

                          <Add filter_name=”energy”/>

                          <Add filter_name=”ddg”/>

                      </PROTOCOLS>

                  </ROSETTASCRIPTS>

                   

                  core.scoring.ScoreFunctionFactory: SCOREFUNCTION: pre_talaris_2013_standard.wts

                  core.scoring.ScoreFunctionFactory: SCOREFUNCTION PATCH: score12

                  core.scoring.etable: Starting energy table calculation

                  core.scoring.etable: smooth_etable: changing atr/rep split to bottom of energy well

                  core.scoring.etable: smooth_etable: spline smoothing lj etables (maxdis = 6)

                  core.scoring.etable: smooth_etable: spline smoothing solvation etables (max_dis = 6)

                  core.scoring.etable: Finished calculating energy tables.

                  basic.io.database: Database file opened: scoring/score_functions/PairEPotential/pdb_pair_stats_fine

                  basic.io.database: Database file opened: scoring/score_functions/hbonds/score12_params/HBPoly1D.csv

                  basic.io.database: Database file opened: scoring/score_functions/hbonds/score12_params/HBFadeIntervals.csv

                  basic.io.database: Database file opened: scoring/score_functions/hbonds/score12_params/HBEval.csv

                  basic.io.database: Database file opened: scoring/score_functions/P_AA_pp/P_AA

                  basic.io.database: Database file opened: scoring/score_functions/P_AA_pp/P_AA_n

                  basic.io.database: Database file opened: scoring/score_functions/P_AA_pp/P_AA_pp

                  basic.io.database: Database file opened: scoring/score_functions/rama/Rama_smooth_dyn.dat_ss_6.4

                  core.scoring.etable: Using alternate parameters: LJ_RADIUS_SOFT in Etable construction.

                  core.scoring.etable: Starting energy table calculation

                  core.scoring.etable: smooth_etable: changing atr/rep split to bottom of energy well

                  core.scoring.etable: smooth_etable: spline smoothing lj etables (maxdis = 6)

                  core.scoring.etable: smooth_etable: spline smoothing solvation etables (max_dis = 6)

                  core.scoring.etable: Finished calculating energy tables.

                  basic.io.database: Database file opened: scoring/score_functions/InterchainPotential/interchain_env_log.txt

                  basic.io.database: Database file opened: scoring/score_functions/InterchainPotential/interchain_pair_log.txt

                  basic.io.database: Database file opened: scoring/score_functions/EnvPairPotential/env_log.txt

                  basic.io.database: Database file opened: scoring/score_functions/EnvPairPotential/cbeta_den.txt

                  basic.io.database: Database file opened: scoring/score_functions/EnvPairPotential/pair_log.txt

                  basic.io.database: Database file opened: scoring/score_functions/EnvPairPotential/cenpack_log.txt

                  protocols.simple_filters.EnergyPerResidueFilter: EnergyPerResidueFilter for residue 1 of score_type total_score with cutoff 1

                  protocols.rosetta_scripts.RosettaScriptsParser: Defined filter named “energy” of type EnergyPerResidue

                  protocols.simple_filters.DdgFilter: ddg filter with threshold -1 repeats=1 and scorefxn commandline over jump 1extreme_value_removal: 0 and repack 1

                  protocols.rosetta_scripts.RosettaScriptsParser: Defined filter named “ddg” of type Ddg

                  protocols.protein_interface_design.movers.TryRotamers: Using shove atomtype for 1H

                  TryRotamers was instantiated using scorefxn=commandline, jump_number=1, solo_res=0, clash_check=0, include_current=1, and explosion=0

                  protocols.rosetta_scripts.RosettaScriptsParser: Defined mover named “try” of type TryRotamers

                  protocols.rosetta_scripts.ParsedProtocol: ParsedProtocol mover with the following movers and filters

                  protocols.rosetta_scripts.ParsedProtocol: added mover “try” with filter “true_filter”

                  protocols.rosetta_scripts.ParsedProtocol: added mover “NULL_MOVER” with filter “energy”

                  protocols.rosetta_scripts.ParsedProtocol: added mover “NULL_MOVER” with filter “ddg”

                  protocols.jd2.PDBJobInputter: PDBJobInputter::pose_from_job

                  protocols.jd2.PDBJobInputter: filling pose from saved copy 1cz8_W108_0005_H.pdb

                  protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER TryRotamers – try=======================

                  protocols.protein_interface_design.movers.TryRotamers: current fold-tree:

                  FOLD_TREE  EDGE 1 1 -1

                  Segmentation fault (core dumped)

                   

                  I googled this errors and somebody says this could be doe to that ROSETTA can not access to some parts of the ROSETTA. Then, I reinstalled previous version of ROSETTA, which had perfectly worked with inverse rotamer generation. Also, I prepared the samples with same version of rosetta and then I intended to generate inverse rotamers, but again had same error.

                  I don't know whats wrong? Can you help me?

                   

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