You are here

Error when using Remodel on a protein with a chemically bound ligand

1 post / 0 new
Error when using Remodel on a protein with a chemically bound ligand
#1

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 files provided I get the following error message :

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?

Category: 
Post Situation: 
Wed, 2020-12-16 09:23
Pappmaschee