You are here

fixing disulfides in homolgy modeling

11 posts / 0 new
Last post
fixing disulfides in homolgy modeling
#1

Hi,

I am running Rosetta for predicting a structure of a protein (target) using a homologous protein (template). The template does not cover the whole target structure. The parts that are not covered contain cysteins. Is it possible to fix those residues in a disulfide bridge? When I use -in:fix_disulf option, I get an error message:

"core.conformation.Conformation: [ERROR] Residue 322 is out of range."

I think Rosetta is fixing residues in the template, but not in the target protein. Is it possible to fix disulfides in the target protein?
What do you think could be the reason for the message?

Thank you.

Post Situation: 
Wed, 2013-02-13 11:43
pdbb

Which application/flags are you using? There are a lot of uses of fix_disulf, so it's hard to track if this "should" work or not.

Wed, 2013-02-13 14:46
smlewis

What is probably happening is that it's attempting to fix the disulfides in both the template and the target. The -in:fix_disulf is applied to all the loaded structures. From a brief examination, I don't see a way to turn it off for specific structures.

One possible way around it is to use the disulfide criteria as a post-filter. That is, run the homology modeling without the disulfide, and then filter the resulting structures for those that can form the appropriate disulfide bonds. Another option is to encode the disulfide geometry as constraints, and use those constraints during homology modeling to simulate the disulfide bond.

Wed, 2013-02-13 14:54
rmoretti

I am running minirosetta.linuxgccrelease appliction.

Thu, 2013-02-28 07:27
pdbb

Thank you for the replies and suggestions. I am running minirosetta.linuxgccrelease appliction.See my flags options below.
Both the target and the template have cysteins that form disulfide bonds, but the locations of the cysteins in sequences are different for the target and template.
How do you think to best approach this? What application should I use to filter structures? If I encode constraints, will they apply to target or to both target and template?
Thanks.

flags:
-run:protocol threading
-in:file:alignment template_target.aln
-cm:aln_format general
-frag3 ./starting_files/fragments/aat000_03_05.200_v1_3.gz
-frag9 ./starting_files/fragments/aat000_09_05.200_v1_3.gz
-in:file:fasta target.fasta
-in:fix_disulf disulf.cc
-in:file:fullatom
-loops:frag_sizes 9 3 1
-loops:frag_files ./starting_files/fragments/aat000_09_05.200_v1_3.gz ./starting_files/fragments/aat000_03_05.200_v1_3.gz
-in:file:psipred_ss2 ./starting_files/t000_.psipred_ss2
-in:file:fullatom
-out:nstruct 10000
-in:file:template_pdb template.pdb
-database ../../programs/rosetta3.4/rosetta_database/
-loops:extended
-loops:build_initial
-loops:remodel quick_ccd
-loops:refine refine_ccd
-silent_decoytime
-random_grow_loops_by 4
-select_best_loop_from 1
-out:file:fullatom
-out:output
-out:level 400
-out:file:silent threaded_model.out
-out:file:silent_struct_type binary
-out:file:scorefile threaded_model.fasc
-run:constant_seed
-run:jran 1111111
-overwrite

Thu, 2013-02-28 07:52
pdbb

Homology modeling is not my area of expertise so hopefully Rocco can find advice from someone who uses it frequently.

"What application should I use to filter structures?"

Your scorefile (threaded_model.fasc) includes the scores for each output structure, which (along with biophysical intuition / looking at structures in a viewer) can guide you in choosing which is most physically plausible.

"If I encode constraints, will they apply to target or to both target and template?"

Constraints will apply only to the target; it wouldn't matter if they did apply to the template because the template is fixed and never modified or scored. If you choose to use constraints, be aware that the sulfur and hydrogens will clash in the absence of the disulfide bond, so your constraint may need to be strong to overcome that - exactly how strong is something you have to figure out empirically. An AmbiguousConstraint that has a gentle potential well far from the constraint, and a steep one closeby, may help.

On your crash in general: residue 322 is in pose numbering, not PDB numbering. What is the sequence at position 322 of your FASTA input sequence? I wonder if you are trying to use the PDB numbering relative to the template instead of index-from-1 numbering of the FASTA file? (I also wonder which you _should_ use, but it's something to try).

Thu, 2013-02-28 10:16
smlewis

As mentioned before, the -in:fix_disulf flag applies to all PDBs read in, even the template, so pose versus PDB numbering isn't going to make a difference here (as the template file doesn't have the pertinent residues).

Regarding post-filtering for disulfides, you probably can do that with the score or score_jd2 applications. Take your output models generated without disulfides, rescore them with the -in:fix_disulf flag and without any constraints, and then rank and filter based on the output total score and disulfide energy. Depending on what sort of results you get, you may want to relax the structures (using the relax application) with the -in:fix_disulf flag on to bring the structures into better disulfide geometry.

Thu, 2013-02-28 11:30
rmoretti

"As mentioned before, the -in:fix_disulf flag applies to all PDBs read in, even the template, so pose versus PDB numbering isn't going to make a difference here (as the template file doesn't have the pertinent residues)."

I missed the indirect call in file_data.cc, instead focusing on the call in comparative_modeling (which I think eventually gets called from minirosetta with threading).

To pdbb: you may be able to comment out line 903 of rosetta_source/src/core/io/pdb/file_data.cc (put two // in front of " core::pose::initialize_disulfide_bonds(pose);" and recompile. That will prevent Rosetta from ever fixing disulfides in anything read from PDBs, which is bad, but it may work as a temporary hack for your present bug.

Thu, 2013-02-28 12:18
smlewis

Separately, don't do this:

-run:constant_seed
-run:jran 1111111

That is for debugging, to ensure that Rosetta _always_ takes the same trajectory and produces the same results - a situation you probably want to avoid. *Do* use -constant_seed -jran ##### with different value to jran if you start many experiments simultaneously on a cluster, otherwise ignore those flags.

Thu, 2013-02-28 10:17
smlewis

Hi
I am new to rosetta and I would like to become proficient in running rosetta. As a start I need to find out if it is feasible to force disulfide bonds on the N and C terminal of a protein that does not have any disulfide bonds in nature but will be relevant for fusing into another protein structure that forms disulfide bonds such as the fusion occurs at the disulfide bond branch. My template sequence and target are of different length and so i ran into the problem raised in #1 above. I did a work around using smlewis suggestion and I was able to run the job. However the best output models do not have the disulfide bond I was trying to force. here are my flags that i used to run minirosetta.linuxgcc on rosetta 3.5
-run:protocol threading
-in:file:fasta file.fasta
-in:file:alignment file.ali
-in:file:template_pdb temp.pdb
-in:file:fullatom
-cm:aln_format general
-in:file:psipred_ss2 file.psipred_ss2
-in:fix_disulf file.ss
-loops:frag_files file.frag9 file.frag3 none
-loops:frag_sizes 9 3 1
-idealize_after_loop_close
-loops:extended
-loops:build_initial
-loops:remodel quick_ccd
-loops:refine refine_ccd
-loops:relax fastrelax
-relax:default_repeats 8
-out:nstruct 100
-out:file:silent out/out.silent.${SGE_TASK_ID}
-out:file:fullatom
-run:seed_offset ${SGE_TASK_ID}
I have several questions
1. Does commenting out "core::pose::initialize_disulfide_bonds(pose); " and recompiling affect future modeling jobs where the template structure has disulfide bonds and if so what is the best way to make use of the work around if needed without compromising future modeling jobs
2. I recompiled by reinstalling rosetta but i believe this is unnecessary. What is the best way to recompile after minor code change
3. What flags would be essential to add in order to generate models with enforced disulfide bonds
4. I ran the job without first relaxing the template(1.35 Å  resolution) and I am strategizing on doing so before performing the threading. Is this a good strategy and in general when is it necessary
5. How do you improve modeling speed without compromising accuracy

I appreciate any help and suggestion.
Thank you for your time

Mon, 2014-09-22 09:42
kamau
Mon, 2014-09-22 09:39
kamau