Crystallography and NMR System provides a flexible multi-level hierachical approach for the most commonly used algorithms in macromolecular structure determination. Highlights include heavy atom searching, experimental phasing (including MAD and MIR), density modification, crystallographic refinement with maximum likelihood targets, and NMR structure calculation using NOEs, J-coupling, chemical shift, and dipolar coupling data.
CNS was developed as a collaboration between several groups of researchers at different institutions. CNS website.
Version: 1.21
The advantage of using CNS on Biowulf is to utilize the parallel computations (multiple threads on a single node) or to run large numbers of independent jobs. A single job is most easily run on Helix.
Set up a batch script along the following lines:
#!/bin/csh #PBS -N CNS #PBS -m be source /usr/local/cns/cns_solve_env cd /data/user/myruns cns_solve < refine.inp > refine.out
Submit this job with
qsub -I -l nodes=1 myjobscript
This parallelized version of CNS v1.21 enables parallel computations for some steps (especially FFTs) in the crystallographic refinement process. By default, the cns_solve_env script is set to utilize all processors on a node by setting the variable OMP_NUM_THREADS to the appropriate value. Benchmark runs indicate that CNS runs with the best efficiency on a 2p or 4p node.
All benchmarks were run on a 2.8 GHz Intel EMT 64((E5462) with 8 GB of memory and 12 MB secondary cache. CNS was built with the Intel compiler and OpenMP. The programs in the benchmark runs were the standard input suite from CNS.
Bottom line: The efficiency of parallelization drops rapidly after 2p. For long jobs, it may be worth using 4p on a dual-core node.
| Program | 1p | 2p | 4p | 6p | 8p |
| Time in seconds (efficiency) | |||||
| nmr_calc/run/pmrefine_1 | 113 (100) | 81 ( 69) | 73 ( 38) | 68 ( 27) | 73 ( 19) |
| xtal_refine/run/ncs_average_map_2 | 72 (100) | 55 ( 65) | 46 ( 39) | 44 ( 27) | 43 ( 20) |
| xtal_mr/run/translation_1 | 208 (100) | 136 ( 76) | 94 ( 55) | 75 ( 46) | 75 ( 34) |
| xtal_phase/run/density_modify_1 | 98 (100) | 98 ( 50) | 98 ( 25) | 98 ( 16) | 98 ( 12) |
| xtal_twin/run/bgroup_twin | 30 (100) | 21 ( 71) | 17 ( 44) | 15 ( 33) | 15 ( 25) |
| xtal_refine/run/optimize_wa | 336 (100) | 196 ( 85) | 124 ( 67) | 106 ( 52) | 95 ( 44) |
| xtal_twin/run/model_map_twin | 21 (100) | 18 ( 58) | 17 ( 30) | 16 ( 21) | 16 ( 16) |
| xtal_util/run/fourier_map_1 | 11 (100) | 9 ( 61) | 9 ( 30) | 9 ( 20) | 8 ( 17) |
| xtal_twin/run/detwin_perfect | 14 (100) | 12 ( 58) | 10 ( 35) | 10 ( 23) | 10 ( 17) |
| xtal_mr/run/translation | 43 (100) | 30 ( 71) | 22 ( 48) | 19 ( 37) | 18 ( 29) |
| xtal_twin/run/water_pick_twin | 73 (100) | 53 ( 68) | 44 ( 41) | 41 ( 29) | 40 ( 22) |
| xtal_refine/run/ncs_average_map_1 | 67 (100) | 54 ( 62) | 48 ( 34) | 47 ( 23) | 45 ( 18) |
| xtal_twin/run/anneal_twin | 507 (100) | 342 ( 74) | 272 ( 46) | 248 ( 34) | 245 ( 25) |
| xtal_twin/run/model_stats_twin | 24 (100) | 21 ( 57) | 19 ( 31) | 18 ( 22) | 18 ( 16) |
| xtal_mr/run/translation_2 | 37 (100) | 26 ( 71) | 20 ( 46) | 17 ( 36) | 17 ( 27) |
| xtal_twin/run/bindividual_twin | 30 (100) | 21 ( 71) | 16 ( 46) | 15 ( 33) | 14 ( 26) |
| xtal_twin/run/minimize_twin | 150 (100) | 101 ( 74) | 79 ( 47) | 69 ( 36) | 66 ( 28) |
| xtal_phase/run/ir_phase_3 | 79 (100) | 52 ( 75) | 37 ( 53) | 34 ( 38) | 35 ( 28) |
| xtal_mr/run/cross_rotation | 386 (100) | 259 ( 74) | 187 ( 51) | 157 ( 40) | 165 ( 29) |
| nmr_calc/run/pmrefine | 185 (100) | 132 ( 70) | 95 ( 48) | 92 ( 33) | 86 ( 26) |
| xtal_twin/run/bdomain_twin | 29 (100) | 18 ( 80) | 16 ( 45) | 12 ( 40) | 14 ( 25) |
| xtal_refine/run/sa_omit_map | 11 (100) | 7 ( 78) | 5 ( 55) | 5 ( 36) | 5 ( 27) |
| xtal_refine/run/composite_omit_map | 340 (100) | 214 ( 79) | 147 ( 57) | 135 ( 41) | 126 ( 33) |
| xtal_refine/run/anneal | 41 (100) | 25 ( 82) | 17 ( 60) | 15 ( 45) | 13 ( 39) |
All at the CNS website.


