Hello Rosetta devs,
I'm not sure that this is the right place to post a bug. If not, please let me know where to post.
I compiled both Rosetta 3.10 (and then 2019.07 release), and faced the following error when trying to predict cyclic peptides with terminal disulfide bonds using the simple_cycpep_predict protocol.
To be more specific, my peptide has a non-terminal CYS residue at the C-term, and I was using the
flag. When computing without a native structure, no error occured.
The backtrace pointed to the set_up_terminal_disulfide_cyclization_mover function (see attached file).
Looking at the source code, I found that the last residue index was sent to the set_up_terminal_disulfide_cyclization_mover function instead of the last CYS residue index. As a dirty fix, I added the following line
last_disulf_res = find_last_disulf_res( native_pose );
at line 2481 and changed the next line from
set_up_cyclization_mover( termini, native_pose, true, last_res );
set_up_cyclization_mover( termini, native_pose, true, last_disulf_res );
in the main/source/src/protocols/cyclic_peptide_predict/SimpleCycpepPredictApplication.cc file.
This solved my issue but I haven't further tested this fix (especially, I haven't tested the other cyclization types).