vmd

Default Representation/Drawing method in VMD


In VMD I want to load every new file with the drawing method CPK. This doesn't seem not to be an option in the .vmdrc file for some technical reasons.

How can I do this from the VMD command line (so that I can make a script)? Or is there some other solution/workaround/hack to make this work?


Solution

  • There are several ways to achieve what you want:

    (1) put the following line in the correct location of your .vmdrc

        mol default style CPK
    

    (2) use the VMD Preferences Panel (last item in the Extensions menu of the main window) to generate a .vmdrc file that meets your expectations(s). The setting you're looking for is in the Representations tab.

    (3) for more advanced settings (i.e. default settings applied to molecules already loaded when vmd read the startup .vmdrc file), you can use the following (works for me on VMD 1.9.2):

    proc reset_viz {molid} {
      # operate only on existing molecules
      if {[lsearch [molinfo list] $molid] >= 0} {
        # delete all representations
        set numrep [molinfo $molid get numreps]
        for {set i 0} {$i < $numrep} {incr i} {
          mol delrep $i $molid
        }
        # add new representations
        mol representation CPK
        # add other representation stuff you want here
        mol addrep $molid
      } 
    }
    
    proc reset_viz_proxy {args} {
      foreach {fname molid rw} $args {}
      eval "after idle {reset_viz $molid}"
    }
    
    ## put a trace on vmd_initialize_structure
    trace variable vmd_initialize_structure w reset_viz_proxy
    
    after idle {
      if { 1 } {
        foreach molid [molinfo list] {
          reset_viz $molid
        }
      }
    }
    

    This piece of code is adapted from this Axel Kohlmeyer website.

    HTH,