You are here

Bug in Loop Modeling

3 posts / 0 new
Last post
Bug in Loop Modeling
#1

Hi,

I found a bug in the loop modeling protocol (Rosetta 3.1).
When the loop contains Gly and this residue is chosen as cutpoint, the program exits stating sth like "Atom CB not found in residue GLY".

The reason for this is that in the function "filter_loop_neighbors_by_distance" in src/protocols/loops/loops_main.cc the two lines

if ( pose.residue( i ).name() == "GLY" ) and

if ( pose.residue( j ).name() == "GLY" )

don't apply to Gly when Glycine is a cutpoint residue (it's then called "GLY_p:......")

If one replaces these two lines by

if ( pose.residue( i ).name().substr(0,3) == "GLY" ) and

if ( pose.residue( j ).name().substr(0,3) == "GLY" )

it works.

Cheers,

Daniel

Thu, 2010-09-23 05:55
dseelig

> Hi,
>
> I found a bug in the loop modeling protocol when using -refine_kic (Rosetta 3.1).
> When the loop contains Gly and this residue is chosen as cutpoint, the program exits stating sth like "Atom CB not found in residue GLY".
>
> The reason for this is that in the function "filter_loop_neighbors_by_distance" in src/protocols/loops/loops_main.cc the two lines
>
> if ( pose.residue( i ).name() == "GLY" ) and
>
> if ( pose.residue( j ).name() == "GLY" )
>
> don't apply to Gly when Glycine is a cutpoint residue (it's then called "GLY_p:......")
>
> If one replaces these two lines by
>
> if ( pose.residue( i ).name().substr(0,3) == "GLY" ) and
>
> if ( pose.residue( j ).name().substr(0,3) == "GLY" )
>
> it works.
>
> Cheers,
>
> Daniel
>

Thu, 2010-09-23 06:02
dseelig

Thanks for pointing this out! In case you're curious, replacing name() with name3() would also solve the problem. This bug was fixed (in a different and slightly more effective way) 10/21/09 in the internal version, but it never got patched to the release version.

Thu, 2010-09-23 07:13
smlewis