You are here

Rotamer Library Generation in Rosetta3

6 posts / 0 new
Last post
Rotamer Library Generation in Rosetta3

I have been stuck on the problem of generating rotamer libraries for a while now as I try to repeat the process for non-canonical residues (starting with the test case of ornithine [C40]).  The original documentation for this process is provided at the following address:

Some of the commands, as well as flags for the executable have changed since the original demos and the publication that generated this work, so I had to work out a new command line option that is written as follows:

/scratch/Rosetta/demos/public/make_rot_lib/outputs$ /scratch/Rosetta/main/source/bin/MakeRotLib.default.linuxgccdebug  -database /scratch/Rosetta/main/database 
-make_rot_lib::options_file  /scratch/Rosetta/demos/public/make_rot_lib/inputs/

Running this, however, produces the following error:

protocols.evaluation.ChiWellRmsdEvaluatorCreator: Evaluation Creator active ...
protocols.make_rot_lib.MakeRotLibJobInputter: Instantiate MakeRotLibJobInputter
terminate called after throwing an instance of 'std::length_error'
  what():  vector::_M_default_append
Aborted (core dumped)

I played with the make rotamer input file (attached), and nothing seems to make a difference. This same error always occurs.

Adding addition flag options as have been suggested in other online reports about these problems have only yielded larger and more complex errors.
Other attempted fixes include moving the C40.param file to directory:

But if I try to call it directly:

-database /scratch/Rosetta/main/database/chemical/residue_type_sets/fa_standard/residue_types/l-ncaa/

I get an exception:

caught exception

[ERROR] EXCN_utility_exit has been thrown from: src/core/scoring/ line: 2679
ERROR: Unable to open weights/patch file. None of (./)talaris2014 or (./)talaris2014.wts or
/scratch/Rosetta/main/database/chemical/residue_type_sets/fa_standard/residue_types/l-ncaa/C40.params/scoring/weights/talaris2014 or
/scratch/Rosetta/main/database/chemical/residue_type_sets/fa_standard/residue_types/l-ncaa/C40.params/scoring/weights/talaris2014.wts exist

If there is anyone who has managed to actually produce rotamer libraries using Rosetta3 and can tell me what my commands are missing, or if you can provide me with some sample files that are able to function properly, I would really appreciate the help.

This problem has held me up for quite some time and I am really hoping someone has been able to make use of this protocol (or an alternative protocol that can make non-canonical residues like alpha-amino acids and peptoids) since it was published.

C40_rot_lib_options_-60_-40.txt860 bytes
Post Situation: 
Wed, 2016-11-30 07:34

You may have more luck with the process described in the documentation; I believe the demo is out of date. I wasn't aware the demo had become out of date, actually, so I'll probably try to update it sometime soon. Thanks for letting us know.

Wed, 2016-11-30 07:38

/Rosetta/main/source/bin/MakeRotLib.default.linuxgccdebug  -database  /Rosetta/main/database/  -make_rot_lib::options_file

The problem (at least the one being reported in running the code) is that the MakeRotLibJobInputter fails to identify a bb_range due to a failure at line 156 in

        // sanity check                                                                                                                                               / line 153
        runtime_assert( mrlod_->get_omg_range().step != 0 ); // results in infinite loop
        for ( core::Size i = 1; i <= n_bb; ++i ) {
                runtime_assert( mrlod_->get_bb_range( i ).step != 0 ); // results in infinite loop /////// <<<< ------- HERE IS WHERE THE ERROR IS CALLED
        runtime_assert( mrlod_->get_eps_range().step != 0 ); // results in infinite loop
        //TR << "Sanity checks on step size nonzero passed." << std::endl;                                           / line 159

When I add in some std::cout statements to get the values for n_bb, mrlod_, and the omg_range() and eps_range() I get the following:

n_bb : 2

mrlod_ : 0x1ed8540 (address)

mrlod_->get_omg_range() : (high) 180, (low) 180

mrlod_->get_eps_range(): (high) 180, (low) 180


Within the sanity check region of lines 153-159:

mrlod_->get_bb_range(i).step:  0 (from WITHIN the loop),


I attached the file from the documentation.


When I run with the original file in the inputs folder of the demo, the MakeRotLibJobInputter fails to generate mrlod_. The difference between the two files is the presence of NUM_BB 2 and TEMPERATURE 1 (also the example in the documentation has only XXX and YYY for the phi and psi ranges.

When I make an amalgam (keeping values for phi and psi as well as NUM_BB and TEMPERATURE) and run the following command:

/Rosetta/main/source/bin/MakeRotLib.default.linuxgccdebug  -database  /Rosetta/main/database/  -make_rot_lib::options_file  C40_rot_lib_options_XXX_YYY.inputin (see attached C40_rot_lib_options_XXX_YYY.inputsin.txt)

The execution goes further, but the error is now in the file:  src/core/pack/rotamers/ line 166


[ERROR] Exception caught by JobDistributor for job C40_0001

[ERROR] EXCN_utility_exit has been thrown from: src/core/pack/rotamers/ line: 166
ERROR: Error!  Could not open file ncaa_rotamer_libraries/alpha_amino_acid/C40.rotlib for read.


Why am I supposed to have originated the .rotlib file already? This code is supposed to generate this by the end of the process yet it seems to be looking for it at this earlier stage.
Should there be a folder within the /Rosetta/main/database/ directory called ncaa_rotamer_libraries/ ?

Should I declare another pathway?

Can anyone tell me what is missing?

Thu, 2016-12-01 08:11

I have the same error now 

when I write this comment “MakeRotLib.mpi.linuxgccrelease -database $ROSETTA3_DB -options_file>& C40_rot_lib_options_-60_-40.log &”,   I get the attached error.  


When I write this comment "MakeRotLib.mpi.linuxgccrelease -database $ROSETTA3_DB -rot_lib_options_file"I get the fowolling error.  

File: src/utility/options/ 

Option matching -rot_lib_options_file not found in command line top-level context caught exception 

I played a lot with this comment. However,I don't know how to fix it .

 ​If you could help me, I would be very grateful.

Fri, 2020-12-11 06:43

`-rot_lib_options_file` will never work. The full option name is `-make_rot_lib:options_file` (though you can possibly shorten it to -options_file.

It's hard to say about what the issue is from the attached log, but my best guess is that there's some formatting issue with the options file. Double check it with a fine-tooth comb to see if you have an accidental typo in it. Try retyping it from scratch (don't copy/paste) - sometimes there are non-printable characters in files which cause things to mess up. You may also want to play around with trying simplified options files, to see if you can get a minimal option file which works. (And then slowly grow in complexity from there.)

Tue, 2021-02-09 11:52

Just saw this post. Not sure if you were able to get it to work yet, but I had issues with the makerotlib protocol as well. I don't know how to fix it with the current version of rosetta, but I managed to work around it by installing an older version and running it there. In particular, I walked all the way back to Rosetta3.4 which was used around the time the original paper by Renfrew was published. I'm not sure it's necessary to walk it back that far, but I was able to run the makerotlib protocol as outlined in the paper using that version of the software.

Thu, 2017-01-05 17:07