You are here

Results of enzyme_design not consistent with Resfile

7 posts / 0 new
Last post
Results of enzyme_design not consistent with Resfile
Hi all, I am running the enzyme_design application with one input Resfile and no cstfile. I know for the fact that the Resfie is being read based on the output, part of which is shown here: **** protocols.enzdes.EnzdesTaskOperations: Reading resfile input from: mutations.resfile protocols.enzdes.EnzdesTaskOperations: Design Interface: detected 0 design-shell residues and 68 repack-shell residues, shell sizes cut1-4 used were 0 0 10 12 **** The relevant part of options file (the indentation is correct in the original file): **** -resfile mutations.resfile -enzdes -detect_design_interface -cut1 6.0 -cut2 8.0 -cut3 10.0 -cut4 12.0 **** A portion of Resfile: **** 74 A NOTAA A EX 1 EX 2 328 A NOTAA A EX 1 EX 2 437 A NOTAA L EX 1 EX 2 **** I am expecting the output files to not have residue A at position 74 based on the above inputs. However, all of output PDBs have the native residues A, A, and L at 74, 328 and 437 respectively. Note that these are native residues so the input PDB file has them. Am I missing something? Any possible explanation? Also, what is the difference between the options, NATAA ("allow only the natural amino acid") and ALLAA ("allow all 20 amino acids INCLUDING the cystein amino acid")? Thanks in advance!
flags.txt357 bytes
mutations.resfile.txt126 bytes
out.log_.txt21.6 KB
Post Situation: 
Thu, 2013-02-14 15:56

The design interface detection is run several times in the code, some where design is turned off. I wouldn't say that "shell sizes cut1-4 used were 0 0 10 12" is immediately an issue, unless it's always "0 0 10 12". Are there any similar lines elsewhere where it's "6 8 10 12"?

I'm not sure why your resfile doesn't seem to be obeyed. Are you using the flag -use_input_sc? If so, it might be that it's the native rotamer that's coming through from that flag. Another thing to check is if the resfile is being correctly applied. The EnzdesTaskOperation should print out a list of the residues it's designing and repacking. Try overriding behavior in the resfile (e.g. setting a residue that normally repacks to NATRO (no repacking), or a residue that's normally outside the shell to ALLAA, and see if it shows up in the design/repack lists.)

I'm not quite sure how to answer your last question. The resfile (and from it the packer task) controls which residues can repack and which can be redesigned. If you use a resfile command of NATRO, you turn off all packing and design - the rotamer (chi angles) after packing will be the same as those before packing (enzyme design also has minimization, so that's not true of the entire process, but it's close). NATAA allows packing, but it turns off design - the chi angles of the residue may change majorly, but the identity of the amino acid should be unchanged. ALLAA allows complete design - Rosetta will consider all 20 amino acids to substitute at that position, and will keep the best one. This may be the original amino acid, or it may be some other one.

Thu, 2013-02-14 16:49

I think the statement ' protocols.enzdes.EnzdesTaskOperations: Design Interface: detected 0 design-shell residues and 68 repack-shell residues, shell sizes cut1-4 used were 0 0 10 12' is the problem. This flat out says 0 design-shell residues. It seems likely that enzyme design forbids design outside the design-shell. If your three positions are outside the design-shell, then they can't be designed no matter what the resfile says, so they are forced into repacking and keep their original sequence.

To put this another way: Rosetta ignores the resfile's command to design away from native because Rosetta is also commanded (by the fact that these residues are not in the design shell) to not design _at all_, so it just repacks. A command to repack only takes precedence over a command to design.

The solution is to either ensure that those residues are inside the design shell (I don't know how to do that but I think it's the right solution), or predesign those three with fixbb to whatever sequence you DO want (which I think anticipates the problem; NOTAA implies you want to search those three).

The "natural" in NATAA refers to the "naturally occurring amino acid at that position." It would be clearer if it said native, not natural. I changed the documentation to reflect that.

NATRO = NATive ROtamer, do not repack at all
NATAA = NATive Amino Acid, do not design but do repacl
ALLAA = ALL Amino Acids are ok

Fri, 2013-02-15 09:08

Thank you both for your prompt responses. I tried all permutations of commands, but the program always selects no design residues. Whichever cut values I specify, both cut1 and cut2 get changed to 0 for some reason. I have attached the most current resfile and the flags file in the original post. I would really appreciate any insight into why this might be happening.

I have also tried getting rid of detect_design_interface command and only specifying the resfile with either ALLAA or NATAA options. The residue specified as NATRO also gets selected for repacking. It is only excluded in the final repacking process which seems odd.

Thanks again!

Mon, 2013-02-18 10:25

Can you clarify more of what happens without -detect_design_interface? It is ignoring your resfile generally, or it appears to only ignore it during some stages?

Mon, 2013-02-18 10:48

I am not sure what different stages you are referring to. I only see initial setup, reading resfile, final design and final repack steps for each of the structure even after the mute command is removed.

This is a part of the output when the detect_design_interface command is commented out:

protocols.enzdes.EnzdesTaskOperations: Reading resfile input from: mutations.resfile
protocols.enzdes.EnzdesTaskOperations: Final Design Shell Residues:
protocols.enzdes.EnzdesTaskOperations: Final Repack Shell Residues: #All residues except one specified in resfile as NATRO

The output never mentions cuts used (although I am not sure why they would be used if detection of interface is not done).
So if I am not mistaken, the resfile is being read, but cuts are not used for some reason. I have attached the log file. Maybe that will be useful. Thanks!

Mon, 2013-02-18 11:42

By default the enzyme_design program doesn't do much. Each substage has to be enabled specifically. If you want it to design, you have to explicitly ask for the design stage with the -enzdes:cst_design flag.

Also, if you specify a resfile with enzyme_design and -enzdes:detect_design_interface, the interface detection will only happen at positions which have the AUTO command. All the positions with a specific command (e.g. ALLAA/NATAA/NATRO), or that default to a specific command should take on the behavior of that command, regardless of the interface detection. I'd recommend placing the AUTO command as the behavior in the default (top) section.

I also misspoke earlier. Looking at the code, it seems like all of the residues go through the interface detection, and are listed as repack/design based on that basis - although their actual behavior will be governed by the resfile commands, not their detection. (The results of the detection are effectively ignored, despite being printed.) So changing the resfile won't change what's printed in the "Design-shell Residues(pose-numbering)"/"Repack-shell Residues(pose-numbering)". The numbers printed in the "Final Design Shell Residues"/"Final Repack Shell Residues" lines, however, should represent the with-resfile results.

(Edited to correct Final/non-final distinction.)

Mon, 2013-02-18 11:33