the relax protocol in 3.2.1 doesn't seem to be recognizing my resfile. I want to relax my structure as close to the native as possible (rotamers, backbone) and slowly allow more freedom.
relax.mpi.linuxgccrelease -database /home/gw/rosetta3.2.1/rosetta_database/ -s input.pdb -ex1 -ex2 -use_input_sc -extra_res_fa /home/gw/rosetta3.2.1/rosetta_database/chemical/residue_type_sets/fa_standard/residue_types/water/TP5.params -relax:fast -resfile natro.txt -nstruct 250 -overwrite
Here is the resfile, natro.txt:
45 A NATRO #i45
46 A NATRO
47 A NATRO #n47
48 A NATRO
49 A NATRO #d49
51 A NATRO
53 A NATRO #m53
56 A NATRO
75 A NATRO
79 A NATRO #h79
112 A NATRO
1 B NATRO
2 B NATRO
I tested a point mutation resfile on fixbb and the resfile was recognized, but no point mutation appeared in the relax output structure.
Relax doesn't read resfiles. I think there's a way to do relax while keeping some residues fixed, would that work? I think you use the RosettaScripts relax script, which lets you set certain residues to fixed in the MoveMap.
Where can we find out how to do this? The FastRelax example in the RosettaScripts doc doesn't show how to fix residues at all.
<FastRelax name="&string" scorefxn=(score12 &string) repeats=(8 &int) task_operations=(&string, &string, &string >
<Chain number=(&integer) chi=(&bool) bb=(&bool)/>
<Jump number=(&integer) setting=(&bool)/>
<Span begin=(&integer) end=(&integer) chi=(&bool) bb=(&bool)/>
For instance, I have 3 identical chains in my protein (homotrimer), and I would like to relax a loop on all three monomer units. Let's say each chain has 400 residues, and I would like to keep all except residues 200-215 fixed. How could I use the above script to do this for each chain?
Here is how you would use the MoveMap in your example. I don't know how the MoveMap will react to each chain having the same numbering, e.g. if the MoveMap follows pdb_numbering or rosetta_numbering. You might have to renumber so each chain runs sequentially.
< FastRelax name="&string" scorefxn=(score12 &string) repeats=(8 &int) task_operations=(&string, &string, &string >
< Chain number=1 chi=0 bb=0 /> Turns of all degrees of freedom for chain A
< Chain number=2 chi=0 bb=0 /> Turns of all degrees of freedom for chain B
< Chain number=3 chi=0 bb=0 /> Turns of all degrees of freedom for chain C
< Jump number=1 setting=0/> Turns off minimization between chain A and B
< Jump number=2 setting=0/> Turns off minimization between chain B and C
< Span begin=200 end=215 chi=1 bb=1/> This line turns the side-chain (chi) and backbone (bb) freedoms back on
< Span begin=600 end=615 chi=1 bb=1/> If PDB had to be renumbered include this separately
< Span begin=1000 end=1015 chi=1 bb=1/> If PDB had to be renumbered include this separately
Also, try adding the -relax:constrain_relax_to_native_coords or -relax:constrain_relax_to_start_coords flag.
Including a constraints file for specific residues might also help. However, I'm not sure if that will be over-written by the relax protocol or if it even works at all.