The full optimization of representation (and complete sampling in the optimal representation) can be performed using the master scripts incremental_coarse_grain.py (cluster version) and incremental_coarse_grain_local.py (desktop multi-core version).
The master scripts use the following component scripts.
They require the stats_helper module from the file stats_helper.py found in the optrep module's utilities folder. To import this module, you can just copy this file to the working directory from where you run the master scripts.
-
sample_rigid_to_snake.pyis the sampling script when one protein's structure is known and its representation is kept fixed ("rigid"), and the representation of the other protein with unknown structure ("snake") is optimized with non-uniform resolution, flexible beads. -
sample_rigid_to_rigid.pyis a similar script to be used when both subunit structures are known, but one protein's representation is fixed while the other protein's representation is optimized.
These scripts are called by the master scripts (incremental_coarse_grain_local.py or
incremental_coarse_grain.py).
There is also a script to test the Monte Carlo acceptance values for different runs (useful for generating approximate move sizes for differentsized beads).
Note that one cannot set non-uniform resolutions in PMI1, hence the older scripts had to be adapted to PMI2. The patches are found in tfiih/prereqs and need to be added to the PMI module's pyext/src directory.
The full sequence of steps is outlined in the tfiih_list_of_steps.sh file.
It uses the following component scripts.
These scripts are for performing limited sampling at every coarse-graining iteration during the representation optimization, and finally complete sampling with the optimal representation.
job_sample_wrapper.shis the master script that takes as argument the resolution (i.e. coarse-grained bead size: 10,30, or 50 in this case), number of steps to run sampling for, number of independent sampling runs, and type of job script depending on the queue used. It calls the cluster job scriptsjob_sample_all.shorjob_sample_labq.shdepending on the queue.
The job scripts inturn call sample_multires.py (which uses restraints.py): these two are adapted versions of the TFIIH scripts to work with PMI2.
There is also a script to test the Monte Carlo acceptance values for different runs (useful for generating approximate move sizes for different sized beads).
These scripts are for calculating the bead-wise sampling precision at every coarse-graining iteration during the representation optimization.
precision_wrapper.shis the master script that takes as argument the number of cores for calculating precision (usually 4), resolution (i.e. coarse-grained bead size: 10,30, or 50 in this case), and number of steps that sampling was run for (7000 here). It calls the cluster job scriptjob_precision.shwhich in turn callsestimate_sampling_precision.pyfrom theoptrepmodule.
chimera_densities.pyis used for visualizing density files in the results.