From: Stefano Guglielmo (
Date: Fri Jun 03 2016 - 03:01:50 CDT

Dear vmd users,
I am performing an rmsf calculation with the script reported. The machine I
use is a centOS 7 node with 32 cores and 64 GB ram, with vmd 1.9.2 LINUX_64
OpenGL, CUDA, TachyonL-OptiX
The task is not using all the cores available even though vmd can find all
of them. Is this one of those tasks running only on single core or is there
a way to force vmd using all the cores?
Here is the script:

package require timeline 2.0
mol new /home/sguglielmo/cdk/cdk_8bS/mod/cdk2_8bS_no_wt.psf type psf first
0 last -1 step 1 filebonds 1 autobonds 1 waitfor all
mol addfile /home/sguglielmo/cdk/cdk_8bS/mod/cdk2_8bS_no_wt.dcd type dcd
first 0 last -1 step 1 filebonds 1 autobonds 1 waitfor all
set myMolid 0
set outFilename cdk2_8b_per_res_rmsf.tml
proc myrmsfbatchcalc {filename molid} {
set usesFreeSelection 0
set dataTitle "res. RMSF (A)"
set firstFrame 0
set lastFrame 50004
set theChain "E"
set theSeg "ENZ"
set firstRes 1
set lastRes 298

set numFrames [expr $lastFrame - $firstFrame + 1]
set numSelectionGroups [expr $lastRes-$firstRes + 1]
if {$filename == "" } {
    die "usage: myrmsfbatchcalc FILENAME MOLID\n FILENAME\
           cannot be an empty string."

set outDataFile [open $filename w]
::timeline::writeDataFileHeader $outDataFile $molid $dataTitle $numFrames
$numSelectionGroups $usesFreeSelection
set chain $theChain
set seg $theSeg
for {set r $firstRes} {$r <= $lastRes} {incr r} {
  set sela [atomselect $molid "resid $r"]
  set selb [atomselect $molid "resid $r"]
  $sela frame 0
  for {set f $firstFrame} {$f<=$lastFrame} {incr f} {
    $selb frame $f
    display update
    set val [measure rmsf $selb]
    set resid $r
    puts $outDataFile "$resid $chain $seg $f $val"
close $outDataFile
myrmsfbatchcalc $outFilename $myMolid

Thanks in advance.

Assistant Professor of Medicinal Chemistry
Department of Drug Science and Technology
Via P. Giuria 9
10125 Turin, ITALY
ph. +39 (0)11 6707678
priva di virus.