The code is at
rosetta/main/source/src/apps/public/scenarios/beta_strand_homodimer/ ; there's an integration test at
rosetta/main/tests/integration/tests/beta_strand_homodimer/ . However if you want to actually use the code you should look at the demo:
This code was written for a relatively singular application: finding proteins with surface exposed beta-strands, then trying to make and design a homodimer that will form via that beta-strand. It could be used for general homodimer design but has not been tested.
The below is coppied verbatim from the paper given above: We defined a beta-strand as surface-exposed if it met three criteria. 1) Five sequential residues had beta-strand secondary structure as judged by DSSP. 2) There were no backbone-backbone hydrogen bonds formed by every other residue in the strand. 3) Every other residue had fewer than 16 neighboring residues, or had 16 to 30 neighbors and a solvent-accessible surface area (SASA) per atom greater than 2.0 Å2. Residues are defined as neighbors if their Cbeta to Cbeta distance is < 10Å. An example command line used to find the exposed strands follows:
The output from the above is then used to put together the command line for the construction of the potential homodimers. The procedure is as follows: The axis of an exposed beta-strand was defined as a vector from the Calpha atom on the first residue of the strand to the Calpha atom on the final residue of the strand. Another vector is defined at the center residue of the strand from the carbonyl carbon to carbonyl oxygen. A final vector is drawn perpendicular to the two vectors described through the Calpha atom of the residue at center of the strand. The anti-parallel homodimer is constructed by copying the protein and rotating the copy 180° about this axis. The copied chain is then translated away from the original by 6.0 Å to create a starting point for evaluation. The copied chain was then translated along the axis of the exposed strand in steps of 7 Å to identify alternate conformations that have no clashing backbone atoms. As a final filter, we check to make sure there are no backbone-backbone clashes between the two chains. The identification of exposed beta-strands generated from the above protocol was used as input for the next step.
The homodimer model generated above was used to generate the symmetry definition and starting structure for interface design. First, the protein is symmetrically docked against itself to sample rigid body degrees of freedom. After the docking step, all residues within 8 Å of the other chain were symmetrically designed. Finally, the backbone and side chains of all interface residues were minimized.
See the demo at:
App specific options
Allow alignment of a found strand to some target protein (optional):
homodimer_design options General options:
Other useful options
These protocols are specific for one method of finding exposed beta-strands and designing that protein to be a homodimer. We are not sure how easily it could be used for other purposes.
See the full description in
The demo located in
rosetta/main/demos/public/beta_strand_homodimer_design/ has a full description of how to handle outputs.
3.4 is the first release of this code. - stranges