Skip to content

004A Optimize, Copy and Move Coordinates

Jordy Homing Lam edited this page Jul 13, 2020 · 1 revision

ICM provides functions to change coordinates of a wide range of biomolecules and generic chemicals. The underlying back-end for these functions are usually the ICM Monte Carlo, which is default coupled with ICM Minimization. There are also functions that change coordinates without Energy Sampling. Most importantly, it is packaged with heuristics that ensure validity For example, the following is called automatically to assure flat peptide plane.

[206] OMEGA= 74 reset to 180. for v_5w0pNoT506End3.PTH1R/^A554/omg

ICM Monte Carlo

ICM Monte Carlo operates on discrete combinations of internal coordinates. This reduces the amount of variables to be sampled. Intuitively, from 6N to 6(N-1) assuming a long chain with 6 parameters each edge, usually even less. Each random step is required to change at least 8 variable values following a restrained multivariate normal. It is a versatile technique to tunnel through low-energy conformations.

  • ICM Monte Carlo is by default coupled with minimisation, which could be run as a standalone.
    • If not specified, only the best conformation is kept. Therefore, it is effectively looking for the global minimum.
  • ICM Monte Carlo is packaged with useful Heuristics for quick fix-up of practical scenarios.
  • The behaviour of Monte Carlo can be fine-tuned with hyperparameters. A Recipe Tree is provided to facilitate the choices; they are explained in Hyperparameters.
    • Note. These hyperparameters come as defined globals - it means ICM will remember the change unless they are defined again. So, it is important to reset them back to default once your own monte carlo is completed.

All application commands observe the following format.

  • montecarlo choice_of_heuristics choice_of_atom_selection

Some of the most common heuristics and corresponding command lines are demonstrated below.

Further Heuristics

ICM can also handle the following scenarios with heuristics.

  • Move lighter part of Termini (reverse superimpose)
    • Note local cannot be used with reverse
  • Getting all explored local minima

Debug

  • The lower right corner of GUI should display a progress bar with "Monte Carlo".
  • If the following table is not printed, there could be good sign that Parameter choices are not correct (e.g. resulting in no acceptance). The most important is the Info line; it summarises the experimental AcceptRatio out of number of steps. Once it turns close to zero, it means we are in a wide minima likely the global.

1 2 3 4 5 6 7 8 9 10 11 12 13 14
DY Visi 600 16 gln xi3 70 -98 94 -322.04 -324.56 35 4.87 51559
__ __ 600 32 ile BPMC ipt ipt ipt -324.56 -290.80 18 65.72 51577
_Y Visi 600 16 gln BPMC qmm qmt qmm -324.56 -323.93 41 3.78 51618
Info> 4 stack conformations saved to def.cnf [3 compressed]
Info> nSteps= 74, nTrials= 80, AcceptRatio= 0.92500,
Info> BestEnergy= -6.01, Step 37; nCalls= 2009, eachMcVar = 1.88

  • The table above could also be the cause of failure as it burdens the display. You can suppress it by mute.
  • ICM Minimization thread safety (???)

Recipe Tree for Hyperparameters

Note it is advisable to reset all of these to default right after performing Monte Carlo, because they are unfortunately global. See below

  • System
  • nProc = 4;randomSeed = 2493059372
  • Unchanged
  • Peptide length - Lengths of residue
  • <10 residues: mnvisits = 50;mnconf = mnvisits;mncallsMC = 100000
  • >10 residues: mnvisits = 100;mnconf = mnvisits;mncallsMC = 5000000
  • Escape difficulty - Getting stuck could be high or low energy
  • Not-difficult: visitsAction = "heat";highEnergyAction = "stackjump";temperature = 300;tempCycle = {310.,300.,2.,0.}
  • Difficult: visitsAction = "random";highEnergyAction = "random";temperature = 600;tempCycle = {3000.,600.,2.,0.}
  • Defaults - Make sure to reset after performing MC

mnvisits = 50;mnconf = mnvisits;mncallsMC = 1000;visitsAction = "heat";highEnergyAction = "stackjump";temperature = 300;tempCycle = {310.,300.,2.,0.}

ICM Minimisation

Superimpose

Superimpose by Mouse Clicks

  • superimposeSelection Nof(as_graph) > 0 ? Obj( as_graph ) : a_*. no
  • align number a_5w0pNoT506End.PTH1R/1:535 27 Renumber a chain resid

Grafting Conformation

This recipe may apply when a part of your protein is missing some residues and you want to build up model by grafting conformation from another protein structure.

  • Build Quick Model with the C-tail by Homology
  • Bioinfo > Make Multiple Sequence Alignment. (3 sequence: A long one containing all the parts, a short one containing model 1 for part 1 model2 for part 2) make sequence Mol( as_graph ) s_out=Name("aln", unique) alignSeqSel s_out
  • set occupancy 1.0 a_*.*
  • Highlight on MSA result for the meeting point e.g. 2-3 residue. Right click Superimpose in MSA panel. Thread through tether.
  • Twist to ensure no collision
  • Bonus: Impose distance restraint in selected places, energy sample the terminus

Symmetrise a set of chains

This recipe is useful when you want to assert symmetry among chains of same atomic content.

Clone this wiki locally