My goal is to insert a linker fragment into a protein which has a chemically bound ligand. To do that, I have relaxed the structure with the chemically bound ligand and am now trying to insert the linker fragment into my protein using Remodel. The ligand is bound to a CYX residue (modified Cystein) in my protein.
The part of the blueprint file which has the Remodel instructions looks like this:
124 K .
125 R L PIKAA R
0 x L PIKAA G
0 x L PIKAA G
0 x L PIKAA T
0 x L PIKAA G
0 x L PIKAA G
0 x L PIKAA S
0 x L PIKAA G
0 x L PIKAA G
0 x L PIKAA T
0 x L PIKAA G
0 x L PIKAA G
0 x L PIKAA S
0 x L PIKAA G
0 x L PIKAA G
0 x L PIKAA S
126 D L PIKAA D
127 C .
At the end of the blueprint file we also have the ligand:
159 Z .
When I run rosetta/main/source/bin/remodel.mpi.linuxgccrelease
with the both the CYX.params
and ligand.params
ERROR: Assertion `res2.is_bonded(res1)` failed.
This does not happen when I only supply the CYX.params
file (however, then the ligand is then "deformed" (not properly modelled) by Remodel). So it has to do with the ligand.
It seems to have something to do with symmetry, I guess. The respective C++ code (src/core/scoring/etable/count_pair/CountPairFactory.cc
, line 222) which causes the error clearly says that it checks for symmetry of bonding:
CPResidueConnectionType
213 CountPairFactory::determine_residue_connection(
214 conformation::Residue const & res1,
215 conformation::Residue const & res2
216 )
217 {
218 if ( res1.is_pseudo_bonded( res2.seqpos() ) ) {
219 return CP_MULTIPLE_BONDS_OR_PSEUDOBONDS;
220 } else if ( res1.is_bonded(res2) ) {
221 // We can run into some odd cases when bonding isn't symmetrical
222 runtime_assert( res2.is_bonded(res1) );
223 if ( res1.connections_to_residue( res2 ).size() == 1 ) {
224 return CP_ONE_BOND;
225 } else {
226 return CP_MULTIPLE_BONDS_OR_PSEUDOBONDS;
227 }
228 }
229
230 return CP_NO_BONDS;
231 }
The flags I use for the run are:
-in:file:s input/protein.pdb
-remodel:blueprint input/build_linker.blueprint
-run:chain A
-remodel:num_trajectory 16
-nstruct 1
-packing:linmem_ig 10
-use_input_sc
-use_clusters false
-ex1
-ex2
-packing:extrachi_cutoff 3
-out:path:all output
-out:file:scorefile output/score.sc
-no_optH false
-find_neighbors
-extra_res_path input/parameters/
-cst_fa_file input/parameters/chemical_bonds_new.cst
The -cst_fa_file
describes the bonding between the CYX and the ligand.
Does somebody have an idea what causes this issue?