You are here

Error while running Enzyme Design

12 posts / 0 new
Last post
Error while running Enzyme Design
#1

Hello,
I am attempting to use the Enzyme Design application to redesign a ligand binding site to accept a different ligand. I am running the following command:

$ROSETTA33/bin/enzyme_design.linuxgccrelease -database $ROSETTA33/rosetta_database -in:file:s input.pdb -in:file:extra_res_fa LG2.cen.params LG2.fa.params LG1.cen.params LG1.fa.params -enzdes:cstfile constraints.cst -enzdes:detect_design_interface -enzdes:cst_design

where LG1 is a cofactor bound to the protein and LG2 is the ligand we are attempting to redesign the binding site for. When I run this, I am receiving the following error message:

core.init: Mini-Rosetta version Release 3.3, from SVN 42942 from https://svn.rosettacommons.org/source/branches/releases/rosetta-3.3/rosetta_source
core.init: command: /jgi/tools/edu_outreach/rosetta/3.3/rosetta_source/bin/enzyme_design.linuxgccrelease -database /jgi/tools/edu_outreach/rosetta/3.3/rosetta_database -in:file:s input.pdb -in:file:extra_res_fa LG2.cen.params LG2.fa.params LG1.cen.params LG1.fa.params -enzdes:cstfile constraints.cst -enzdes:detect_design_interface -enzdes:cst_design
core.init: 'RNG device' seed mode, using '/dev/urandom', seed=838643726 seed_offset=0 real_seed=838643726
core.init.random: RandomGenerator:init: Normal mode, seed=838643726 RG_type=mt19937
core.scoring.etable: Starting energy table calculation
core.scoring.etable: smooth_etable: changing atr/rep split to bottom of energy well
core.scoring.etable: smooth_etable: spline smoothing lj etables (maxdis = 6)
core.scoring.etable: smooth_etable: spline smoothing solvation etables (max_dis = 6)
core.scoring.etable: Finished calculating energy tables.
basic.io.database: Database file opened: pdb_pair_stats_fine
basic.io.database: Database file opened: scoring/score_functions/hbonds/standard_params/HBPoly1D.csv
basic.io.database: Database file opened: scoring/score_functions/hbonds/standard_params/HBFadeIntervals.csv
basic.io.database: Database file opened: scoring/score_functions/hbonds/standard_params/HBEval.csv
basic.io.database: Database file opened: env_log.txt
basic.io.database: Database file opened: cbeta_den.txt
basic.io.database: Database file opened: pair_log.txt
basic.io.database: Database file opened: cenpack_log.txt
basic.io.database: Database file opened: env_log.txt
basic.io.database: Database file opened: cbeta_den.txt
basic.io.database: Database file opened: pair_log.txt
basic.io.database: Database file opened: cenpack_log.txt
basic.io.database: Database file opened: CEN6_mem_env_log.txt
basic.io.database: Database file opened: CEN10_mem_env_log.txt
basic.io.database: Database file opened: memcbeta_den.txt
basic.io.database: Database file opened: mem_pair_log.txt
basic.io.database: Database file opened: P_AA
basic.io.database: Database file opened: P_AA_n
basic.io.database: Database file opened: P_AA_pp
basic.io.database: Database file opened: Rama_smooth_dyn.dat_ss_6.4
core.scoring.etable: Using alternate parameters: LJ_RADIUS_SOFT in Etable construction.
core.scoring.etable: Starting energy table calculation
core.scoring.etable: smooth_etable: changing atr/rep split to bottom of energy well
core.scoring.etable: smooth_etable: spline smoothing lj etables (maxdis = 6)
core.scoring.etable: smooth_etable: spline smoothing solvation etables (max_dis = 6)
core.scoring.etable: Finished calculating energy tables.

ERROR: Residue names must be unique!
ERROR:: Exit from: src/core/chemical/ResidueTypeSet.cc line: 374

Do you have any ideas as to what we might be doing wrong? Thanks!
Seth

Post Situation: 
Fri, 2011-10-21 15:46
saxen

It very likely means that your new residue types share a name either with each other, or some residue type already in the database. Post the top 5 lines or so of your param files and I can diagnose further, if that isn't enough to help you fix it.

Fri, 2011-10-21 16:18
smlewis

Hi Steven,
Here are the top 5 lines from each of my params files:

LG1.fa.params:
NAME RET
IO_STRING RET Z
TYPE LIGAND
AA UNK
ATOM C12 aroC X -0.05

LG1.cen.params:
NAME RET
IO_STRING RET Z
TYPE LIGAND
AA UNK
ATOM C12 CAbb X -0.05

LG2.fa.params:
NAME BCT
IO_STRING BCT Z
TYPE LIGAND
AA UNK
ATOM C1 COO X 0.33

LG2.cen.params:
NAME BCT
IO_STRING BCT Z
TYPE LIGAND
AA UNK
ATOM C1 CAbb X 0.33

Seth

Fri, 2011-10-21 16:27
saxen

This should have been more obvious to me from your command line...

You've passed ALL your parameters, centroid and fullatom, to extra_res_fa. This duplicates RET and BCT in the fullatom set. Pass the centroid versions to -extra_res_cen instead. (I think.)

Fri, 2011-10-21 16:34
smlewis

Standard enzyme design doesn't need centroid parameters - it's a full-atom only protocol. (There are some (currently unpublished, I believe) extensions which include things like loop remodeling which do go through centroid mode, though.)

Of course, including centroid parameters with -extra_res_cen shouldn't hurt, even if they aren't needed.

Sat, 2011-10-22 11:32
rmoretti

Thanks Steven and rmoretti,
That problem was indeed caused by passing the centroid params to extra_res_fa. So I removed the centroid params files and reran it, and I'm getting a different error now:
core.init: Mini-Rosetta version Release 3.3, from SVN 42942 from https://svn.rosettacommons.org/source/branches/releases/rosetta-3.3/rosetta_source
core.init: command: /jgi/tools/edu_outreach/rosetta/3.3/rosetta_source/bin/enzyme_design.linuxgccrelease -database /jgi/tools/edu_outreach/rosetta/3.3/rosetta_database -in:file:s input.pdb -in:file:extra_res_fa LG2.fa.params LG1.fa.params -enzdes:cstfile constraints.cst -enzdes:detect_design_interface -enzdes:cst_design
core.init: 'RNG device' seed mode, using '/dev/urandom', seed=1335275468 seed_offset=0 real_seed=1335275468
core.init.random: RandomGenerator:init: Normal mode, seed=1335275468 RG_type=mt19937
core.scoring.etable: Starting energy table calculation
core.scoring.etable: smooth_etable: changing atr/rep split to bottom of energy well
core.scoring.etable: smooth_etable: spline smoothing lj etables (maxdis = 6)
core.scoring.etable: smooth_etable: spline smoothing solvation etables (max_dis = 6)
core.scoring.etable: Finished calculating energy tables.
basic.io.database: Database file opened: pdb_pair_stats_fine
basic.io.database: Database file opened: scoring/score_functions/hbonds/standard_params/HBPoly1D.csv
basic.io.database: Database file opened: scoring/score_functions/hbonds/standard_params/HBFadeIntervals.csv
basic.io.database: Database file opened: scoring/score_functions/hbonds/standard_params/HBEval.csv
basic.io.database: Database file opened: env_log.txt
basic.io.database: Database file opened: cbeta_den.txt
basic.io.database: Database file opened: pair_log.txt
basic.io.database: Database file opened: cenpack_log.txt
basic.io.database: Database file opened: env_log.txt
basic.io.database: Database file opened: cbeta_den.txt
basic.io.database: Database file opened: pair_log.txt
basic.io.database: Database file opened: cenpack_log.txt
basic.io.database: Database file opened: CEN6_mem_env_log.txt
basic.io.database: Database file opened: CEN10_mem_env_log.txt
basic.io.database: Database file opened: memcbeta_den.txt
basic.io.database: Database file opened: mem_pair_log.txt
basic.io.database: Database file opened: P_AA
basic.io.database: Database file opened: P_AA_n
basic.io.database: Database file opened: P_AA_pp
basic.io.database: Database file opened: Rama_smooth_dyn.dat_ss_6.4
core.scoring.etable: Using alternate parameters: LJ_RADIUS_SOFT in Etable construction.
core.scoring.etable: Starting energy table calculation
core.scoring.etable: smooth_etable: changing atr/rep split to bottom of energy well
core.scoring.etable: smooth_etable: spline smoothing lj etables (maxdis = 6)
core.scoring.etable: smooth_etable: spline smoothing solvation etables (max_dis = 6)
core.scoring.etable: Finished calculating energy tables.
core.chemical.ResidueTypeSet: Finished initializing fa_standard residue type set. Created 4220 residue types
protocols.jobdist.JobDistributors: Looking for an available job: 1 1 input.pdb 1
apps.public.enzdes.enzyme_design: Starting input_0001 ...
core.conformation.Conformation: [ WARNING ] missing heavyatom: OXT on residue SER_p:CtermProteinFull 259
core.pack.task: Packer task: initialize from command line()
protocols.enzdes.EnzdesFixBBProtocol: starting apply function...
core.pack.dunbrack: Dunbrack library took 0.02 seconds to load from binary
protocols.toolbox.match_enzdes_util.EnzConstraintIO: read enzyme constraints from retinalconstraints.cst ... done, 1 cst blocks were read.
protocols.toolbox.match_enzdes_util.EnzConstraintIO: Generating constraints for pose...
Error: residue RET260found in pdb header is not allowed by data in cstfile.
ERROR:: Exit from: src/protocols/toolbox/match_enzdes_util/EnzCstTemplateRes.cc line: 272
protocols.toolbox.match_enzdes_util.EnzConstraintIO: checking cst data consistency for block 1...
protocols.toolbox.match_enzdes_util.EnzConstraintIO: WARNING: Message(s) above was printed in the end instead of proper place because this Tracer object has some contents left in inner buffer when destructor was called. Explicit call Tracer::flush() or end your IO with std::endl to disable this warning.

Here is the header of the PDB file:
REMARK 666 MATCH TEMPLATE X RET 1 MATCH MOTIF A LYS 256 1 1

And here are the contents of the constraint file (The constraint file is only constraining the cofactor to be in a position where it would be covalently bound to the protein):
CST::BEGIN
TEMPLATE:: ATOM_MAP: 1 atom_name: NZ
TEMPLATE:: ATOM_MAP: 1 residue1: K

TEMPLATE:: ATOM_MAP: 2 atom_name: C15
TEMPLATE:: ATOM_MAP: 2 residue3: RET

CONSTRAINT:: distanceAB: 1.4 0.30 100.00 0 1
CST::END

Mon, 2011-10-24 11:50
saxen

hey seth,
i think the numbering in your cstfile is wrong.
in the remarks, the RET ligand is listed before the lysine, but in the cstfile, the lysine is template 1 and ret is template 2.

also, i think there are a few more problems with your setup
1) if you're constraining a covalent interaction, i would also constrain the angles in addition to the distance
2) if you're not marking the design positions in a resfile, you should specify values for the cut1-cut4 options (refer to documentation)
3) i'd add -cst_min -chi_bin -bb_min -ex1 -ex2 -use_input_sc -design_min_cycles 3 to your commandline (refer to documentation)

how are you placing the new ligand into the active site? the enzyme_design app won't do this for you, you have to either use the matcher or do it manually.

cheers,
florian

Mon, 2011-10-24 13:52
frichter

Hi Florian,
Thanks for the help! Changing the numbering in the cstfile did the trick. Also, I am using the other flags you specified, but I left them out during this trouble-shooting run to identify the minimal set of flags that produced the error.

The ligand we're trying to redesign the binding site for is bicarbonate, while the original ligand was chlorine. We just manually placed the bicarbonate where chlorine was in the active site. Do you think we should run the matcher anyways?

A few additional questions:
1) Should we prepack the starting structure before running it through enzyme design?
2) We're currently using the cut-offs -enzdes:cut1 6 -enzdes:cut2 8 -enzdes:cut3 10 -enzdes:cut4 12, but this causes the residue specified in our constraints which binds covalently to the cofactor to be repacked in the cst_min step. As a result, in the final structure, K265 has adopted a rotamer that places the amino group too far to covalently interact with the cofactor. Would you agree that the solution to this would be to also add a resfile that specifies the AUTO option and also specifies that this residue should not be repackable?
3) We turned on the option -cst_opt to optimize the location of the ligand before running the design cycles, and we get the following error:
protocols.enzdes.EnzdesFixBBProtocol: starting cst_opt minimization...
ERROR: unknown atom_name: BCT CA
ERROR:: Exit from: src/core/chemical/ResidueType.cc line: 1645

Any ideas why we are getting this error?

Thanks for your help!
Seth

Mon, 2011-10-24 17:21
saxen

hey seth,
sorry for taking so long to get back to you, i was out of town for a bit.
your questions

1) does the starting structure already have your ligand in it, i.e. you want to pack the native sequence with the design ligand? that's probably not necessary

2) there's another problem in your constraint file
your line
CONSTRAINT:: distanceAB: 1.4 0.30 100.00 0 1
does not decalre the constraint to be covalent, but you're clearly trying to enforce a covalent interaction. to declare the constraint covalent, you have to change the 4th column to 1 (refer to documentation), the line should read
CONSTRAINT:: distanceAB: 1.4 0.30 100.00 1 1
i would also add some angles to the constraint, to make sure you're specifying the right interaction.

3) how many ligands do you have in your pdb? you can also just email me your pdb+cstfile+params file and i'll take a look at it? the error you're getting means that rosetta is trying to mutate a non protein residue to ala

cheers,
florian

Thu, 2011-11-10 12:22
frichter

Hello
I was trying the enzyme design demo provided with the Rosetta package..
I came across this problem.-

core.pack.task: (1) Packer task: initialize from command line()
protocols.enzdes.EnzdesFixBBProtocol: (1) Finished after design unconstrained repack/minimization...
output file name: .//outdir_1/UM_1_D41H116K189_1tml_11_mocktim_1__DE_1.pdb
ERROR: Unable to open file: .//outdir_1/UM_1_D41H116K189_1tml_11_mocktim_1__DE_1.pdb
ERROR:: Exit from: src/protocols/jobdist/JobDistributors.cc line: 727

Kindly help me on this.

Fri, 2012-05-11 05:33
akpole

Does outdir_1 exist, and do you have write permissions for it? Rosetta generally can't make missing directories for output.

Fri, 2012-05-11 06:25
smlewis

Hello,
THanks for the reply.
I just created a dir 'outdir_1', and then it worked fine.
Thanks once again.

Tue, 2012-05-15 01:05
akpole