~ubuntu-branches/ubuntu/precise/ncbi-tools6/precise

« back to all changes in this revision

Viewing changes to biostruc/cdd/cdd.asn

  • Committer: Bazaar Package Importer
  • Author(s): Aaron M. Ucko
  • Date: 2005-03-27 12:00:15 UTC
  • mfrom: (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050327120015-embhesp32nj73p9r
Tags: 6.1.20041020-3
* Fix FTBFS under GCC 4.0 caused by inconsistent use of "static" on
  functions.  (Closes: #295110.)
* Add a watch file, now that we can.  (Upstream's layout needs version=3.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
--$Revision: 1.10 $
 
1
--$Revision: 1.24 $
2
2
--**********************************************************************
3
3
--
4
4
--  Definitions for CDD's 
22
22
 
23
23
BEGIN
24
24
 
25
 
EXPORTS  Cdd-id, Cdd-id-set, Cdd, Cdd-set, Cdd-tree, Cdd-tree-set;
 
25
EXPORTS  Cdd-id, Cdd-id-set, Cdd, Cdd-set, Cdd-tree, Cdd-tree-set, Cdd-pref-nodes, Cdd-Project;
26
26
 
27
 
IMPORTS  Date                  FROM NCBI-General
28
 
         Pub                   FROM NCBI-Pub
29
 
         Biostruc-annot-set    FROM MMDB
30
 
         Bioseq                FROM NCBI-Sequence
31
 
         Seq-annot             FROM NCBI-Sequence
32
 
         Seq-entry             FROM NCBI-Seqset
33
 
         Org-ref               FROM NCBI-Organism
34
 
         Seq-id                FROM NCBI-Seqloc
35
 
         Seq-interval          FROM NCBI-Seqloc
36
 
         Seq-loc               FROM NCBI-Seqloc
37
 
         Seq-feat              FROM NCBI-Seqfeat
38
 
         Score-set             FROM NCBI-Seqalign
 
27
IMPORTS  Date                    FROM NCBI-General
 
28
         Pub                     FROM NCBI-Pub
 
29
         Biostruc-annot-set      FROM MMDB
 
30
         Bioseq                  FROM NCBI-Sequence
 
31
         Seq-annot               FROM NCBI-Sequence
 
32
         Seq-entry               FROM NCBI-Seqset
 
33
         Org-ref                 FROM NCBI-Organism
 
34
         Seq-id                  FROM NCBI-Seqloc
 
35
         Seq-interval            FROM NCBI-Seqloc
 
36
         Seq-loc                 FROM NCBI-Seqloc
 
37
         Seq-feat                FROM NCBI-Seqfeat
 
38
         Score-set               FROM NCBI-Seqalign
39
39
         Cn3d-style-dictionary,
40
 
         Cn3d-user-annotations FROM NCBI-Cn3d;
 
40
         Cn3d-user-annotations   FROM NCBI-Cn3d
 
41
         PssmWithParameters      FROM NCBI-ScoreMat;
 
42
         
 
43
-- dealing with lists of preferred tax-nodes 
 
44
 
 
45
Cdd-org-ref ::= SEQUENCE {
 
46
  reference     Org-ref,
 
47
  active        BOOLEAN DEFAULT TRUE,
 
48
  parent-tax-id INTEGER OPTIONAL,
 
49
  rank          VisibleString OPTIONAL
 
50
}
 
51
Cdd-org-ref-set ::= SET OF Cdd-org-ref
 
52
 
 
53
Cdd-pref-node-descr ::= CHOICE {
 
54
  create-date      Date,
 
55
  description      VisibleString
 
56
}
 
57
 
 
58
Cdd-pref-node-descr-set ::= SET OF Cdd-pref-node-descr
 
59
 
 
60
Cdd-pref-nodes ::= SEQUENCE {
 
61
   preferred-nodes Cdd-org-ref-set,
 
62
   model-organisms Cdd-org-ref-set OPTIONAL,
 
63
   optional-nodes  Cdd-org-ref-set OPTIONAL,
 
64
   description     Cdd-pref-node-descr-set OPTIONAL
 
65
}        
41
66
 
42
67
-- Cdd's should not exist without a unique accession, but alternative id's may
43
68
-- be present as well. It is conceivable that a CD which is created as a merged
70
95
  avglen        INTEGER OPTIONAL        -- average repeat length
71
96
}
72
97
 
 
98
 
 
99
Cdd-book-ref ::= SEQUENCE {             -- record a link to Entrez Books
 
100
  bookname      VisibleString,          -- abbreviated book title
 
101
  textelement   ENUMERATED { unassigned(0),   -- type of element 
 
102
                             section(1),      -- a section or paragraph
 
103
                             figgrp(2),       -- a figure or set of figures
 
104
                             table(3),        -- a table
 
105
                             chapter(4),      -- a whole chapter
 
106
                             biblist(5),      -- a lisf of references
 
107
                             box(6),          -- an inserted box
 
108
                             glossary(7),     -- glossary
 
109
                             appendix(8),     -- appendix
 
110
                             other(255) },
 
111
  elementid    INTEGER,                 -- address of the text-element
 
112
  subelementid INTEGER OPTIONAL         -- exact address, used with section
 
113
}
 
114
 
73
115
-- The description of CDD's refers to the specific set of aligned sequences,
74
116
-- the region that is being aligned and the information contained in the
75
117
-- alignment. It may contain a lengthy comment
78
120
-- Crosslinks to reference papers available in PubMed are possible as well.
79
121
-- There can be as many of these as you want in the CDD.
80
122
 
81
 
 
82
123
Cdd-descr ::= CHOICE {
83
124
  othername     VisibleString,          -- alternative names for the CDD
84
125
                                        -- if domain has several common names
102
143
                          auto-updated(6),    -- update finished, no
103
144
                                              -- work necessary
104
145
                          claimed(7),         -- is earmarked for curation
 
146
                          curated-complete(8),-- public curated member of a
 
147
                                              -- completed family
105
148
                          other(255) },       -- for CD production?
106
149
  update-date   Date,                         -- Date of last version change
107
150
  scrapbook     SEQUENCE OF VisibleString,    -- for storing curation notes
108
151
                                              -- those won't make it into public
109
152
                                              -- distributions
110
153
  source-id     Cdd-id-set,                   -- for linking back to source db
111
 
  repeats       Cdd-repeat                    -- to record repeat counts
 
154
  repeats       Cdd-repeat,                   -- to record repeat counts
 
155
  old-root      Cdd-id-set,                   -- to record short-term history
 
156
  curation-status INTEGER { unassigned(0),    -- to record curation status
 
157
                            prein (1),        -- when CD is checked out from
 
158
                            ofc (2),          -- the tracking database, for 
 
159
                            iac (3),          -- use within curation software
 
160
                            ofv1 (4),
 
161
                            iav1 (5),
 
162
                            ofv2 (6),
 
163
                            iav2 (7),
 
164
                            postin (8),
 
165
                            other (255) },
 
166
  readonly-status INTEGER { unassigned(0),    -- to record read-only status
 
167
                            readonly (1),     -- when CD is checked out from
 
168
                            readwrite (2),    -- the tracking database, for
 
169
                            other (255) },     -- use within curation software
 
170
  book-ref      Cdd-book-ref
112
171
}
113
172
 
114
173
Cdd-descr-set ::= SET OF Cdd-descr
122
181
  name          VisibleString,          -- short name  copied from CD
123
182
  id            Cdd-id-set,             -- IDs         copied from CD
124
183
  description   Cdd-descr-set OPTIONAL, -- description copied from CD
125
 
  parents       Cdd-id-set OPTIONAL,    -- CD is the result of a split/merge
 
184
  parent        Cdd-id     OPTIONAL,    -- CD is the result of a split/merge
126
185
  children      Cdd-id-set OPTIONAL,    -- this CD has been split
127
186
  siblings      Cdd-id-set OPTIONAL,    -- related CDs (have common hits)
128
187
  neighbors     Cdd-id-set OPTIONAL     -- co-occurring CDs (non-overlapping 
201
260
  reference     Pub,                    -- evidence via a literature reference
202
261
  bsannot       Biostruc-annot-set,     -- evidence via Biostruc-features, such
203
262
                                        -- as structure superpositions 
204
 
  seqfeat       Seq-feat                -- evidence is a Sequence feature found
205
 
}                                       -- elsewhere
 
263
  seqfeat       Seq-feat,               -- evidence is a Sequence feature found
 
264
                                        -- elsewhere
 
265
  book-ref      Cdd-book-ref            -- evidence is a book chapter or figure
 
266
}
206
267
 
207
268
Align-annot ::= SEQUENCE {
208
269
  location      Seq-loc,                -- points to a location in one of the
218
279
 
219
280
Align-annot-set ::= SEQUENCE OF Align-annot
220
281
 
 
282
-- the Domain-parent records an evolutionary relationship which may not be
 
283
-- as simple as a classical parent-child relationship in a typical hierarchy,
 
284
-- i.e. where a CD is merely a specific subgroup ("child") of a more general
 
285
-- diverse alignment model ("parent"). A CD alignment model may be the result
 
286
-- of an ancient fusion event, combining two or more domains into a bigger unit
 
287
-- which has subsequently undergone a divergent evolutionary process similar to
 
288
-- what may have happened to a single "domain". A CD alignment model may 
 
289
-- also reflect the result of a deletion event, where a specific subgroup
 
290
-- lacks part of a (set of) domain(s), but where the part present is found to
 
291
-- be highly similar to a putative "parent", with some added evidence for
 
292
-- an actual deletion, like from the distribution of truncated copies in phylogenetic
 
293
-- lineages. Deletion events which affect different parts of a set of
 
294
-- duplicated domain architectures may be indistinguishable from actual
 
295
-- fission events, which means that we may want to represent the latter as
 
296
-- deletions after duplication and do not need a special case for fissions.
 
297
 
 
298
Domain-parent ::= SEQUENCE {
 
299
 
 
300
  parent-type    INTEGER { classical           (0), -- the classification of parent child relations
 
301
                           fusion              (1),
 
302
                           deletion            (2),
 
303
                           permutation         (3),
 
304
                           other               (255) },
 
305
  parentid       Cdd-id,                -- identify the section parent by accession
 
306
  seqannot       Seq-annot OPTIONAL     -- contains the sequence alignment linking
 
307
                                        -- CD alignment models, should align the 
 
308
                                        -- masters/representatives of each CD
 
309
}
 
310
 
 
311
 
 
312
-- record sequence trees generated by a suitable algorithm.
 
313
 
 
314
Sequence-tree ::= SEQUENCE {
 
315
  cdAccession    VisibleString OPTIONAL,
 
316
  algorithm      Algorithm-type,
 
317
  isAnnotated    BOOLEAN DEFAULT FALSE,
 
318
  root           SeqTree-node
 
319
}
 
320
 
 
321
SeqTree-node ::= SEQUENCE {
 
322
  isAnnotated    BOOLEAN DEFAULT FALSE,
 
323
  name           VisibleString           OPTIONAL,
 
324
  distance       REAL                    OPTIONAL,
 
325
  children       CHOICE {
 
326
    children SEQUENCE OF SeqTree-node,
 
327
    footprint SEQUENCE {
 
328
      seqRange   Seq-interval,
 
329
      rowId      INTEGER OPTIONAL
 
330
    }
 
331
  },
 
332
  annotation     Node-annotation         OPTIONAL
 
333
}
 
334
 
 
335
Algorithm-type ::= SEQUENCE {
 
336
  scoring-Scheme    INTEGER { unassigned           (0),
 
337
                              percent-id           (1),
 
338
                              kimura-corrected     (2),
 
339
                              aligned-score        (3),
 
340
                              aligned-score-ext    (4),
 
341
                              aligned-score-filled (5),
 
342
                              blast-footprint      (6),
 
343
                              blast-full           (7),
 
344
                              other           (255) },
 
345
  clustering-Method INTEGER { unassigned             (0),
 
346
                              single-linkage         (1),
 
347
                              neighbor-joining       (2),
 
348
                              fast-minimum-evolution (3),
 
349
                              other                (255) },
 
350
  score-Matrix      INTEGER { unassigned (0),
 
351
                              blosum45   (1),
 
352
                              blosum62   (2),
 
353
                              blosum80   (3),
 
354
                              pam30      (4),
 
355
                              pam70      (5),
 
356
                              pam250     (6),
 
357
                              other    (255) } OPTIONAL,
 
358
  gapOpen           INTEGER OPTIONAL,
 
359
  gapExtend         INTEGER OPTIONAL,
 
360
  gapScaleFactor    INTEGER OPTIONAL,
 
361
  nTerminalExt      INTEGER OPTIONAL,
 
362
  cTerminalExt      INTEGER OPTIONAL
 
363
}
 
364
 
 
365
Node-annotation ::= SEQUENCE {
 
366
  presentInChildCD VisibleString OPTIONAL,
 
367
  note             VisibleString OPTIONAL
 
368
}
 
369
 
221
370
-- the Cdd is the basic ASN.1 object storing an annotated and curated set of
222
371
-- alignments (formulated as a set of pairwise master-slave alignments). 
223
372
-- The alignment data are contained in Seq-annots, and a special type of
233
382
  name          VisibleString,          -- a short name (can be the accession..)
234
383
  id            Cdd-id-set,             -- this CD's Ids
235
384
  description   Cdd-descr-set OPTIONAL, -- status, references, etc.
236
 
  seqannot      SEQUENCE OF Seq-annot OPTIONAL,    -- contains the CD alignment
237
 
  features      Biostruc-annot-set OPTIONAL,       -- contains structure
238
 
                                                   -- alignment data
239
 
                                                   -- or "core" definitions
240
 
  sequences     Seq-entry OPTIONAL,     -- store as bioseq-set inside seq-entry
241
 
  profile-range Seq-interval OPTIONAL,  -- profile for this region only
 
385
  seqannot      SEQUENCE OF Seq-annot    OPTIONAL,  -- contains the CD alignment
 
386
  features      Biostruc-annot-set       OPTIONAL,  -- contains structure
 
387
                                                    -- alignment data
 
388
                                                    -- or "core" definitions
 
389
  sequences     Seq-entry     OPTIONAL, -- store as bioseq-set inside seq-entry
 
390
  profile-range Seq-interval  OPTIONAL, -- profile for this region only
242
391
                                        -- also stores the Seq-id of the master
243
 
  trunc-master  Bioseq OPTIONAL,        -- holds the truncated master, which
 
392
  trunc-master  Bioseq        OPTIONAL, -- holds the truncated master, which
244
393
                                        -- may be something like a consensus,
245
394
                                        -- uses the same sequence coordinate
246
395
                                        -- frame as the profile-range
247
 
  posfreq       Matrix OPTIONAL,        -- relative residue frequencies
248
 
  scoremat      Matrix OPTIONAL,        -- Position dependent score matrix
249
 
  distance      Triangle OPTIONAL,      -- pairwise distances for all seqs.
250
 
  parents       Cdd-id-set OPTIONAL,    -- this CD is the result of
251
 
                                        -- a split (or merge)
252
 
  children      Cdd-id-set OPTIONAL,    -- this CD has been split
253
 
  siblings      Cdd-id-set OPTIONAL,    -- related CDs (common hits)
254
 
  neighbors     Cdd-id-set OPTIONAL,    -- co-occurring CDs
255
 
  pending       SEQUENCE OF Update-align OPTIONAL, -- contains alignments from
256
 
                                                   -- update or "lower panel"
257
 
  rejects       SEQUENCE OF Reject-id OPTIONAL,    -- SeqIds of rejected CD-
258
 
                                                   -- members, ignore in update
 
396
  posfreq       Matrix        OPTIONAL, -- relative residue frequencies
 
397
  scoremat      Matrix        OPTIONAL, -- Position dependent score matrix
 
398
  distance      Triangle      OPTIONAL, -- pairwise distances for all seqs.
 
399
  parent        Cdd-id        OPTIONAL, -- this CD is the result of a split
 
400
  children      Cdd-id-set    OPTIONAL, -- this CD has been split, not used
 
401
  siblings      Cdd-id-set    OPTIONAL, -- related CDs (common hits), not used
 
402
  neighbors     Cdd-id-set    OPTIONAL, -- co-occurring CDs, not used
 
403
  pending       SEQUENCE OF Update-align OPTIONAL,  -- contains alignments from
 
404
                                                    -- update or "lower panel"
 
405
  rejects       SEQUENCE OF Reject-id    OPTIONAL,  -- SeqIds of rejected CD-
 
406
                                                    -- members, ignore in update
259
407
  master3d      SET OF Seq-id OPTIONAL, -- record if CD has a 3D representative
260
 
  alignannot    Align-annot-set OPTIONAL,          -- alignment annotation
261
 
  style-dictionary Cn3d-style-dictionary OPTIONAL, -- record rendering styles
262
 
  user-annotations Cn3d-user-annotations OPTIONAL  -- user annotations in Cn3D
 
408
  alignannot    Align-annot-set OPTIONAL,           -- alignment annotation
 
409
  style-dictionary Cn3d-style-dictionary OPTIONAL,  -- record rendering styles
 
410
  user-annotations Cn3d-user-annotations OPTIONAL,  -- user annotations in Cn3D
 
411
  ancestors     SEQUENCE OF Domain-parent OPTIONAL, -- list of parents
 
412
  scoreparams   PssmWithParameters       OPTIONAL,
 
413
  seqtree       Sequence-tree            OPTIONAL
263
414
}
264
415
 
265
416
Cdd-set ::= SET OF Cdd
266
417
 
 
418
 
 
419
-- Cdd projects store a set of CDs, typically related to each other
 
420
-- relationships would be specified using the ancestors fields in the
 
421
-- individual CD objects. For use with CD-Tree, a program to visualize
 
422
-- curated CD hierarchies and evidence for hierarchical family structures.
 
423
 
 
424
Cdd-Viewer-Rect ::= SEQUENCE {
 
425
  top           INTEGER,           -- top coordinate
 
426
  left          INTEGER,           -- left  coordinate
 
427
  width         INTEGER,           -- width 
 
428
  height        INTEGER            -- height
 
429
}
 
430
 
 
431
Cdd-Viewer ::= SEQUENCE {
 
432
  ctrl          INTEGER {                   -- viewer type
 
433
                  unassigned          (0),
 
434
                  cd-info             (1),
 
435
                  align-annot         (2),
 
436
                  seq-list            (3),
 
437
                  seq-tree            (4),
 
438
                  merge-preview       (5),
 
439
                  cross-hits          (6),
 
440
                  notes               (7),
 
441
                  tax-tree            (8),
 
442
                  dart                (9),
 
443
                  dart-selected-rows (10),
 
444
                  other (255)
 
445
                },
 
446
  rect          Cdd-Viewer-Rect OPTIONAL,  -- viewer rectangle
 
447
  accessions    SEQUENCE OF VisibleString  -- list of accessions associated with a viewer
 
448
}
 
449
 
 
450
Cdd-Script ::= SEQUENCE {
 
451
  type          INTEGER {
 
452
                  unassigned (0),
 
453
                  user-recorded (1),
 
454
                  server-generated (2),
 
455
                  other (255)
 
456
                } OPTIONAL,
 
457
  name          VisibleString OPTIONAL,   -- user assigned name/description
 
458
  commands      VisibleString             -- actual script commands
 
459
}
 
460
 
 
461
 
 
462
-- cd colors are as:  0000FF for red, 00FF00 for green, FF0000 for blue
 
463
 
 
464
Cdd-Project ::= SEQUENCE {
 
465
  cds           SEQUENCE OF Cdd ,         -- cds
 
466
  cdcolor       SEQUENCE OF INTEGER,      -- colors  
 
467
  viewers       SEQUENCE OF Cdd-Viewer,   -- Sequence viewers
 
468
  log           VisibleString,            -- log
 
469
  scripts       SEQUENCE OF Cdd-Script OPTIONAL    -- command scripts
 
470
}
 
471
 
267
472
END