From: Andrew Dalke (dalke_at_acm.org)
Date: Tue Mar 20 2001 - 22:45:49 CST

Yunfeng Hu asked:
>Can vmd read the rasmol script? Thanks.

No, it cannot. I started to write a translator from
RasMol's language to VMD's, but there were enough
differences in meaning to make it very hard to do.

I remember two off-hand. One was trying to emulate
RasMol's ability to allow a bond to be on even if
only one of it's atoms is selected. VMD requires
both atoms to be selected. This may be seen as a
feature lack in VMD, though that there are other
(more cumbersome) ways to get the same behaviour.

More difficult to emulate was RasMol's "active"
selection, where selections keep modifying the existing
selection. That is possible in VMD, but the
selection command gets longer, and longer, and
longer, and the selection is recalculated every time,
so the selection performance gets slower and slower.

Hmmm, since then I added the selection command to
reference another selection through a Tcl variable.
Don't know if that ability is still present, but
that provides a way to do say

  set sel1 [atomselect 0 "protein"]
  set sel2 [atomselect 0 "@sel1 and name CA"]
  set rasmol $sel2

then in the graphics form
  mol modselect 0 0 "@rasmol"

I think this selection feature was done after my
attempt at reading Rasmol script which is why I
didn't try it.

However, manual translation from Rasmol to VMD should
be pretty easy. One of the outcomes of my attempt
was the ability to parse Rasmol's atom selection
primitives. Looking at the documentation I see there's
barely a mention of its existence.

Briefly, it can be used to parse things like:
  cys
  as?
  *120
  *.n? -- nitrogen atoms
  cys.sg -- Sulphur atoms in cysteine residues

but not more complicated expressions like
  5-8

for those you need to use VMD's commands, as in
  index 5 to 8

(However, I could be wrong. It's been a long time
since I really looked at that code or used it. And
no one has really tested it that I know of.)

Still, it may come in handy for doing a manual
translation.

                    Andrew
                    ex-VMD developer
                    dalke_at_acm.org