[Chimera-users] multiple (redundant) distances in command line >file.txt
Eric Pettersen
pett at cgl.ucsf.edu
Tue Aug 4 17:34:03 PDT 2015
Hi Olexandr.
To continue past errors, you would have to use a true Python script rather than a Chimera command script. Such a script wouldn't be very complicated though, something like this:
from chimera import runCommand
cmds = [
"dist :540 at ca/pdbSegment=A :573 at ca/pdbSegment=A",
"dist :453 at ca/pdbSegment=B :479 at ca/pdbSegment=B",
"dist :695 at ca/pdbSegment=B :395 at ca/pdbSegment=A",
"dist :2059 at ca/pdbSegment=B :1421 at ca/pdbSegment=B",
"dist :426 at ca/pdbSegment=B :944 at ca/pdbSegment=B",
"dist :2059 at ca/pdbSegment=B :1514 at ca/pdbSegment=D",
"dist :2059 at ca/pdbSegment=B :1417 at ca/pdbSegment=B",
"dist :1421 at ca/pdbSegment=B :2059 at ca/pdbSegment=B",
"dist :421 at ca/pdbSegment=C :439 at ca/pdbSegment=C",
"dist :453 at ca/pdbSegment=B :487 at ca/pdbSegment=B",
]
for cmd in cmds:
try:
runCommand(cmd)
except:
# ignore errors
pass
You would put the above in a file whose name ends in ".py" (preserving the indentation, which matters in Python) and run it simply by opening the file with the "open" command.
--Eric
Eric Pettersen
UCSF Computer Graphics Lab
On Aug 4, 2015, at 5:44 AM, Olexandr Dybkov wrote:
> Dear UCSF Chimera team,
>
> I am trying to measure and draw multiple distances by pasting into the command line respective commands. As outcome I would like to have:
> 1. the dashed lines between each pair of atoms that I am checking
> 2. the distances shown above/on the lines
> 3. a log or a file with all the distances checked (one line per each distance command I executed)
>
> For example,
> dist :540 at ca/pdbSegment=A :573 at ca/pdbSegment=A
> dist :453 at ca/pdbSegment=B :479 at ca/pdbSegment=B
> dist :695 at ca/pdbSegment=B :395 at ca/pdbSegment=A
> dist :2059 at ca/pdbSegment=B :1421 at ca/pdbSegment=B
> dist :426 at ca/pdbSegment=B :944 at ca/pdbSegment=B
> dist :2059 at ca/pdbSegment=B :1514 at ca/pdbSegment=D
> dist :2059 at ca/pdbSegment=B :1417 at ca/pdbSegment=B
> dist :1421 at ca/pdbSegment=B :2059 at ca/pdbSegment=B
> dist :421 at ca/pdbSegment=C :439 at ca/pdbSegment=C
> dist :453 at ca/pdbSegment=B :487 at ca/pdbSegment=B
> and so on
>
> Resulting in
> Distance between #50 LYS 540 CA and #50 LYS 573 CA: 13.0
> Distance between #35 LYS 453.B CA and #35 LYS 479.B CA: 22.7
> Distance between #35 LYS 695.B CA and #50 LYS 395 CA: 8.8
> Distance between #35 LYS 2059.B CA and #35 LYS 1421.B CA: 20.5
> Distance between #35 LYS 426.B CA and #35 LYS 944.B CA: 25.7
> Distance between #35 LYS 2059.B CA and #53 LYS 1514.T CA: 115.7
> Distance between #35 LYS 2059.B CA and #35 LYS 1417.B CA: 15.2
> Distance monitor already exists
>
> That is, 8 out of 10 distances were checked. Since the 8th line was a swap of atom1 and atom2 of 4th, the Chimera Error window popped up and execution of further commands was stopped
>
> Similarly, the execution is interrupted if:
> - one or both atoms are missing
> - one or both atoms are present in multiple copies
> - if such distance was checked already
>
> Is there a way to ignore/skip this kind of check points and just report such cases in the log?
> I used to do this in pymol and the python script reported all distances (even redundant) and errors (atom 1 or/and atom 2 are missing) without stopping. At the end I had a txt file with exactly one line for each command. It would be nice to have the same functionality in UCSF Chimera as well.
>
> Thank you very much for your help!
>
> Kind regards,
> Olexandr
>
> --
> -----------------------------------------------------------------
> Dr. Olexandr Dybkov
>
> Max-Planck-Institute for Biophysical Chemistry
> Department of Cellular Biochemistry
> Am Fassberg 11
> 37077 Göttingen
> Germany
> Tel. ++49-551-201 1979
> Fax ++49-551-201 1197
> email: odybkov at gwdg.de
> ----------------------------------------------------------------
>
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
>
More information about the Chimera-users
mailing list