238 lines
7.5 KiB
Groff
238 lines
7.5 KiB
Groff
--$Revision: 1.15 $
|
|
--**********************************************************************
|
|
--
|
|
-- Definitions for Cn3D-specific data (rendering settings,
|
|
-- user annotations, etc.)
|
|
--
|
|
-- by Paul Thiessen
|
|
--
|
|
-- National Center for Biotechnology Information
|
|
-- National Institutes of Health
|
|
-- Bethesda, MD 20894 USA
|
|
--
|
|
-- asntool -m cn3d.asn -w 100 -o cn3d.h
|
|
-- asntool -B objcn3d -m cn3d.asn -G -w 100 -K cn3d.h -I mapcn3d.h \
|
|
-- -M ../mmdb1.asn,../mmdb2.asn,../mmdb3.asn
|
|
--**********************************************************************
|
|
|
|
NCBI-Cn3d DEFINITIONS ::=
|
|
-- Cn3D-specific information
|
|
|
|
BEGIN
|
|
|
|
EXPORTS Cn3d-style-dictionary, Cn3d-user-annotations;
|
|
|
|
IMPORTS Biostruc-id FROM MMDB
|
|
Molecule-id, Residue-id FROM MMDB-Chemical-graph;
|
|
|
|
|
|
-- values of enumerations must match those in cn3d/style_manager.hpp!
|
|
|
|
Cn3d-backbone-type ::= ENUMERATED { -- for different types of backbones
|
|
off (1),
|
|
trace (2),
|
|
partial (3),
|
|
complete (4)
|
|
}
|
|
|
|
Cn3d-drawing-style ::= ENUMERATED { -- atom/bond/object rendering styles
|
|
-- for atoms and bonds
|
|
wire (1),
|
|
tubes (2),
|
|
ball-and-stick (3),
|
|
space-fill (4),
|
|
wire-worm (5),
|
|
tube-worm (6),
|
|
-- for 3d-objects
|
|
with-arrows (7),
|
|
without-arrows (8)
|
|
}
|
|
|
|
Cn3d-color-scheme ::= ENUMERATED { -- available color schemes (not all
|
|
-- necessarily applicable to all objects)
|
|
element (1),
|
|
object (2),
|
|
molecule (3),
|
|
domain (4),
|
|
residue (20),
|
|
secondary-structure (5),
|
|
user-select (6),
|
|
-- different alignment conservation coloring (currently only for proteins)
|
|
aligned (7),
|
|
identity (8),
|
|
variety (9),
|
|
weighted-variety (10),
|
|
information-content (11),
|
|
fit (12),
|
|
block-fit (17),
|
|
block-z-fit (18),
|
|
block-row-fit (19),
|
|
-- other schemes
|
|
temperature (13),
|
|
hydrophobicity (14),
|
|
charge (15),
|
|
rainbow (16)
|
|
}
|
|
|
|
-- RGB triplet, interpreted (after division by the scale-factor) as floating
|
|
-- point values which should range from [0..1]. The default scale-factor is
|
|
-- 255, so that one can conveniently set integer byte values [0..255] for
|
|
-- colors with the scale-factor already set appropriately to map to [0..1].
|
|
-- An alpha value is allowed, but is currently ignored by Cn3D.
|
|
Cn3d-color ::= SEQUENCE {
|
|
scale-factor INTEGER DEFAULT 255,
|
|
red INTEGER,
|
|
green INTEGER,
|
|
blue INTEGER,
|
|
alpha INTEGER DEFAULT 255
|
|
}
|
|
|
|
Cn3d-backbone-style ::= SEQUENCE { -- style blob for backbones only
|
|
type Cn3d-backbone-type,
|
|
style Cn3d-drawing-style,
|
|
color-scheme Cn3d-color-scheme,
|
|
user-color Cn3d-color
|
|
}
|
|
|
|
Cn3d-general-style ::= SEQUENCE { -- style blob for other objects
|
|
is-on BOOLEAN,
|
|
style Cn3d-drawing-style,
|
|
color-scheme Cn3d-color-scheme,
|
|
user-color Cn3d-color
|
|
}
|
|
|
|
Cn3d-backbone-label-style ::= SEQUENCE { -- style blob for backbone labels
|
|
spacing INTEGER, -- zero means none
|
|
type ENUMERATED {
|
|
one-letter (1),
|
|
three-letter (2)
|
|
},
|
|
number ENUMERATED {
|
|
none (0),
|
|
sequential (1), -- from 1, by residues present, to match sequence
|
|
pdb (2) -- use number assigned by PDB
|
|
},
|
|
termini BOOLEAN,
|
|
white BOOLEAN -- all white, or (if false) color of alpha carbon
|
|
}
|
|
|
|
-- rendering settings for Cn3D (mirrors StyleSettings class)
|
|
Cn3d-style-settings ::= SEQUENCE {
|
|
name VisibleString OPTIONAL, -- a name (for favorites)
|
|
protein-backbone Cn3d-backbone-style, -- backbone styles
|
|
nucleotide-backbone Cn3d-backbone-style,
|
|
protein-sidechains Cn3d-general-style, -- styles for other stuff
|
|
nucleotide-sidechains Cn3d-general-style,
|
|
heterogens Cn3d-general-style,
|
|
solvents Cn3d-general-style,
|
|
connections Cn3d-general-style,
|
|
helix-objects Cn3d-general-style,
|
|
strand-objects Cn3d-general-style,
|
|
virtual-disulfides-on BOOLEAN, -- virtual disulfides
|
|
virtual-disulfide-color Cn3d-color,
|
|
hydrogens-on BOOLEAN, -- hydrogens
|
|
background-color Cn3d-color, -- background
|
|
-- floating point parameters - scale-factor applies to all the following:
|
|
scale-factor INTEGER,
|
|
space-fill-proportion INTEGER,
|
|
ball-radius INTEGER,
|
|
stick-radius INTEGER,
|
|
tube-radius INTEGER,
|
|
tube-worm-radius INTEGER,
|
|
helix-radius INTEGER,
|
|
strand-width INTEGER,
|
|
strand-thickness INTEGER,
|
|
-- backbone labels (no labels if not present)
|
|
protein-labels Cn3d-backbone-label-style OPTIONAL,
|
|
nucleotide-labels Cn3d-backbone-label-style OPTIONAL,
|
|
-- ion labels
|
|
ion-labels BOOLEAN OPTIONAL
|
|
}
|
|
|
|
Cn3d-style-settings-set ::= SET OF Cn3d-style-settings
|
|
|
|
Cn3d-style-table-id ::= INTEGER
|
|
|
|
Cn3d-style-table-item ::= SEQUENCE {
|
|
id Cn3d-style-table-id,
|
|
style Cn3d-style-settings
|
|
}
|
|
|
|
-- the global settings, and a lookup table of styles for user annotations.
|
|
Cn3d-style-dictionary ::= SEQUENCE {
|
|
global-style Cn3d-style-settings,
|
|
style-table SEQUENCE OF Cn3d-style-table-item OPTIONAL
|
|
}
|
|
|
|
-- a range of residues in a chain, identified by MMDB residue-id
|
|
-- (e.g., numbered from 1)
|
|
Cn3d-residue-range ::= SEQUENCE {
|
|
from Residue-id,
|
|
to Residue-id
|
|
}
|
|
|
|
-- set of locations on a particular chain
|
|
Cn3d-molecule-location ::= SEQUENCE {
|
|
molecule-id Molecule-id, -- MMDB molecule id
|
|
-- which residues; whole molecule implied if absent
|
|
residues SEQUENCE OF Cn3d-residue-range OPTIONAL
|
|
}
|
|
|
|
-- set of locations on a particular structure object (e.g., a PDB/MMDB
|
|
-- structure), which may include multiple ranges of residues each on
|
|
-- multiple chains.
|
|
Cn3d-object-location ::= SEQUENCE {
|
|
structure-id Biostruc-id,
|
|
residues SEQUENCE OF Cn3d-molecule-location
|
|
}
|
|
|
|
-- information for an individual user annotation
|
|
Cn3d-user-annotation ::= SEQUENCE {
|
|
name VisibleString, -- a (short) name for this annotation
|
|
description VisibleString OPTIONAL, -- an optional longer description
|
|
style-id Cn3d-style-table-id, -- how to draw this annotation
|
|
residues SEQUENCE OF Cn3d-object-location, -- which residues to cover
|
|
is-on BOOLEAN -- whether this annotation is to be turned on in Cn3D
|
|
}
|
|
|
|
-- a GL-ordered transformation matrix
|
|
Cn3d-GL-matrix ::= SEQUENCE {
|
|
m0 REAL, m1 REAL, m2 REAL, m3 REAL,
|
|
m4 REAL, m5 REAL, m6 REAL, m7 REAL,
|
|
m8 REAL, m9 REAL, m10 REAL, m11 REAL,
|
|
m12 REAL, m13 REAL, m14 REAL, m15 REAL
|
|
}
|
|
|
|
-- a floating point 3d vector
|
|
Cn3d-vector ::= SEQUENCE {
|
|
x REAL,
|
|
y REAL,
|
|
z REAL
|
|
}
|
|
|
|
-- parameters used to set up the camera in Cn3D
|
|
Cn3d-view-settings ::= SEQUENCE {
|
|
camera-distance REAL, -- camera on +Z axis this distance from origin
|
|
camera-angle-rad REAL, -- camera angle
|
|
camera-look-at-X REAL, -- X,Y of point in Z=0 plane camera points at
|
|
camera-look-at-Y REAL,
|
|
camera-clip-near REAL, -- distance of clipping planes from camera
|
|
camera-clip-far REAL,
|
|
matrix Cn3d-GL-matrix, -- transformation of objects in the scene
|
|
rotation-center Cn3d-vector -- center of rotation of whole scene
|
|
}
|
|
|
|
-- The list of annotations for a given CDD/mime. If residue regions overlap
|
|
-- between annotations that are turned on, the last annotation in this list
|
|
-- that contains these residues will be used as the display style for these
|
|
-- residues.
|
|
-- Also contains the current viewpoint, so that user's camera angle
|
|
-- can be stored and reproduced, for illustrations, on-line figures, etc.
|
|
Cn3d-user-annotations ::= SEQUENCE {
|
|
annotations SEQUENCE OF Cn3d-user-annotation OPTIONAL,
|
|
view Cn3d-view-settings OPTIONAL
|
|
}
|
|
|
|
END
|
|
|