1--- $Id: trackmgr.asn 575548 2018-11-30 16:06:02Z evgeniev $
2---
3--- Definitions for the TrackManager service
4---
5
6NCBI-TrackManager DEFINITIONS ::=
7BEGIN
8
9EXPORTS TMgr-Request, TMgr-Reply, TMgr-GenomeContext, TMgr-Status,
10        TMgr-ClientInfo, TMgr-DisplayTrackRequest,
11        TMgr-DisplayTrackReply, TMgr-AssemblySpec,TMgr-AttrSpec,
12        TMgr-BlastRIDDetail, TMgr-Assembly, TMgr-Attribute, TMgr-DisplayTrack,
13        TMgr-DTrackId, TMgr-DatasetItem, TMgr-DisplayTrackChoice,
14        TMgr-CreateUserTrackRequest, TMgr-CreateUserTrackReply, TMgr-Identity,
15        TMgr-TrackAttrValueRequest, TMgr-TrackAttrValueReply,
16        TMgr-RetrieveTracksetRequest, TMgr-RetrieveTracksetReply,
17        TMgr-CreateTracksetRequest, TMgr-CreateTracksetReply,
18        TMgr-AttrRequest, TMgr-AttrReply, TMgr-ValueRequest, TMgr-AttrValueReply,
19        TMgr-TrackAttributes, TMgr-MessageLevel, TMgr-Message, TMgr-DatasetItemSeq,
20        TMgr-CreateRemoteTrackReply, TMgr-CreateRemoteTrackRequest;
21
22IMPORTS Seq-id FROM NCBI-Seqloc
23        Dbtag FROM NCBI-General;
24---
25--- Top-level request/reply
26---
27TMgr-Request ::= CHOICE {
28    display-tracks TMgr-DisplayTrackRequest,
29    switch-display-tracks TMgr-SwitchTrackContextRequest,
30    track-attr-values TMgr-TrackAttrValueRequest,
31    blast-tracks TMgr-BlastRIDRequest,
32    create-user-tracks TMgr-CreateUserTrackRequest,
33    create-remote-tracks TMgr-CreateRemoteTrackRequest,
34    resolve-track-items TMgr-ItemResolverRequest,
35    remove-user-tracks TMgr-RemoveUserTrackRequest,
36    retrieve-tracksets TMgr-RetrieveTracksetRequest,
37    create-trackset TMgr-CreateTracksetRequest,
38    rename-trackset TMgr-RenameMyNCBICollectionRequest,
39    supported-assemblies TMgr-SupportedAssembliesRequest
40}
41
42TMgr-Reply ::= CHOICE {
43    display-tracks TMgr-DisplayTrackReply,
44    switch-display-tracks TMgr-SwitchTrackContextReply,
45    track-attr-values TMgr-TrackAttrValueReply,
46    blast-tracks TMgr-BlastRIDReply,
47    create-user-tracks TMgr-CreateUserTrackReply,
48    create-remote-tracks TMgr-CreateRemoteTrackReply,
49    resolve-track-items TMgr-ItemResolverReply,
50    remove-user-tracks TMgr-RemoveUserTrackReply,
51    retrieve-tracksets TMgr-RetrieveTracksetReply,
52    create-trackset TMgr-CreateTracksetReply,
53    rename-trackset TMgr-RenameMyNCBICollectionReply,
54    supported-assemblies TMgr-SupportedAssembliesReply
55}
56
57TMgr-GenomeContext ::= CHOICE {
58    assembly TMgr-AssemblySpec,
59    sequence Seq-id,
60    refseqgene NULL,
61    all NULL,
62    assembly-and-sequence SEQUENCE {
63      assembly TMgr-AssemblySpec,
64      sequence Seq-id
65    }
66}
67
68TMgr-ClientInfo ::= SEQUENCE {
69    client-name VisibleString,
70    context VisibleString OPTIONAL,
71    inhouse BOOLEAN DEFAULT FALSE,
72    context-attrs SET OF TMgr-AttrSpec OPTIONAL
73    --permission keys etc
74}
75
76TMgr-TrackACL-Authorization ::= SEQUENCE {
77    access-level TMgr-ACL-AccessLevel OPTIONAL,
78    access-key VisibleString OPTIONAL
79}
80
81TMgr-DisplayTrackRequest ::= SEQUENCE {
82    client TMgr-ClientInfo,
83    genome-context TMgr-GenomeContext,
84    attrs SET OF TMgr-AttrSpec OPTIONAL,
85    identity TMgr-Identity OPTIONAL,
86    authorization TMgr-TrackACL-Authorization OPTIONAL,
87    flags SEQUENCE {
88        include-stats BOOLEAN DEFAULT FALSE,
89        include-default-tracks BOOLEAN DEFAULT FALSE,
90        include-track-items BOOLEAN DEFAULT FALSE,
91        expanded-rid-details BOOLEAN DEFAULT FALSE,
92        include-track-hubs BOOLEAN DEFAULT FALSE,
93        include-TMS-tracks BOOLEAN DEFAULT TRUE,
94        include-user-tracks BOOLEAN DEFAULT TRUE,
95        include-remote-tracks BOOLEAN DEFAULT TRUE,
96        use-multiple-containers BOOLEAN DEFAULT FALSE
97    } OPTIONAL
98}
99
100TMgr-DisplayTrackReply ::= SEQUENCE {
101    messages SEQUENCE OF TMgr-Message OPTIONAL,
102    display-tracks SET OF TMgr-DisplayTrack OPTIONAL,
103    blast-tracks SET OF TMgr-BlastRIDDetail OPTIONAL,
104    user-tracks SET OF TMgr-DisplayTrack OPTIONAL,
105    remote-tracks SET OF TMgr-DisplayTrack OPTIONAL,
106    hubs SET OF TMgr-DisplayTrack OPTIONAL
107}
108
109TMgr-DTrackId ::= Dbtag
110TMgr-DHubId ::= Dbtag
111
112TMgr-SeqTrackIdRequest ::= SEQUENCE {
113    seq-accession VisibleString
114}
115
116TMgr-SeqTrackIdReply ::= SEQUENCE {
117    status TMgr-Status,
118    messages SET OF TMgr-Message OPTIONAL,
119    dtrack-id TMgr-DTrackId OPTIONAL
120}
121
122TMgr-SwitchTrackContextRequest ::= SEQUENCE {
123    client TMgr-ClientInfo,
124    new-genome-context TMgr-GenomeContext,
125    current-dtrack-ids SET OF TMgr-DTrackId,
126    annotation-release-number INTEGER OPTIONAL
127}
128
129TMgr-SwitchTrackContextReply ::= SEQUENCE {
130    messages SET OF TMgr-Message OPTIONAL,
131    display-tracks SET OF TMgr-DisplayTrackChoice OPTIONAL
132}
133
134TMgr-TrackAttrValueRequest ::= SEQUENCE {
135    track-type-list NULL OPTIONAL,          -- request all track type names
136    attr-list TMgr-AttrRequest OPTIONAL,    -- request attributes associated
137                                            -- with all or some track types
138    value-list TMgr-ValueRequest OPTIONAL   -- request values associated with
139                                            -- attribute list
140}
141
142TMgr-AttrRequest ::= CHOICE {
143    all-attrs NULL,                         -- request all attributes
144    track-type-list SET OF VisibleString    -- request attributes associated
145                                            -- with track types in list
146}
147
148TMgr-ValueRequest ::= SET OF VisibleString  -- list of attributes to return
149                                            -- values for
150
151TMgr-TrackAttrValueReply ::= SEQUENCE {
152    track-type-list SET OF VisibleString OPTIONAL,   -- list of track types
153    attr-list TMgr-AttrReply OPTIONAL,
154    value-list SET OF TMgr-AttrValueReply OPTIONAL
155}
156
157TMgr-AttrReply ::= CHOICE {
158    all-attrs SET OF VisibleString,             -- list of attributes
159    track-attr-list SET OF TMgr-TrackAttributes
160}
161
162TMgr-TrackAttributes ::= SEQUENCE {
163    track-name VisibleString,        -- track type name
164    attributes SET OF VisibleString  -- list of attributes associated with track type name
165}
166
167TMgr-AttrValueReply ::= SEQUENCE {
168    attr-name VisibleString,
169    value-list SET OF VisibleString
170}
171
172TMgr-SwitchTrackExceptionCode ::= INTEGER {
173    track-not-found (0), -- corresponding track not found in new genome context
174    other (255)
175}
176
177TMgr-SwitchTrackException ::= SEQUENCE {
178    dtrack-id TMgr-DTrackId,
179    code TMgr-SwitchTrackExceptionCode OPTIONAL
180}
181
182TMgr-AssemblySpec ::= CHOICE {
183    name SEQUENCE {
184        tax-id INTEGER,
185        name VisibleString
186    },
187    accession VisibleString,
188    all-assemblies NULL
189}
190
191TMgr-AttrSpec ::= SEQUENCE {
192    key VisibleString,
193    value UTF8String
194}
195
196TMgr-Assembly ::= SEQUENCE {
197    accession VisibleString,
198    name UTF8String,
199    short-name UTF8String OPTIONAL,
200    description UTF8String OPTIONAL,
201    is-complete BOOLEAN OPTIONAL
202}
203
204TMgr-Attribute ::= SEQUENCE {
205    key VisibleString,
206    value UTF8String
207}
208
209---
210--- Meta data for TMS, TMSUser, TMSRemote (tracks and hubs)
211---
212TMgr-DisplayTrack ::= SEQUENCE {
213    -- hub-ids, tms-ids, user-ids, remote-ids and must be distinguishable
214    dtrack-id TMgr-DTrackId,
215    name UTF8String,
216    attrs SET OF TMgr-Attribute OPTIONAL,
217    seqs SET OF TMgr-DatasetItemSeq OPTIONAL,
218    items SET OF TMgr-DatasetItem OPTIONAL
219}
220
221TMgr-DatasetItem ::= SEQUENCE {
222    name UTF8String,
223    attrs SET OF TMgr-Attribute OPTIONAL,
224    seqs SET OF TMgr-DatasetItemSeq OPTIONAL
225}
226
227TMgr-DatasetItemSeq ::= SEQUENCE {
228    seq-id Seq-id,
229    counts TMgr-AnnotCounts OPTIONAL,
230    seq-id2 Seq-id OPTIONAL
231}
232
233TMgr-DisplayTrackChoice ::= CHOICE {
234    track TMgr-DisplayTrack,
235    switch-exception TMgr-SwitchTrackException
236}
237
238TMgr-MessageLevel ::= INTEGER {
239    warning (0),
240    error (1),
241    info (2),
242    diagnostic (3)
243}
244
245TMgr-Message ::= SEQUENCE {
246    level TMgr-MessageLevel,
247    message VisibleString
248}
249
250TMgr-BlastRIDRequest ::= SEQUENCE {
251    rid VisibleString
252}
253
254TMgr-BlastQuerySeq ::= SEQUENCE {
255    query-number INTEGER,
256    label VisibleString -- accession or seq-id string
257}
258
259TMgr-BlastRIDDetail ::= SEQUENCE {
260    rid VisibleString,
261    title VisibleString OPTIONAL,
262    query-sequences SEQUENCE OF TMgr-BlastQuerySeq OPTIONAL,
263    created INTEGER OPTIONAL, -- seconds since unix epoch, 00:00:00 UTC on 1 January 1970
264    database VisibleString OPTIONAL,
265    program VisibleString OPTIONAL
266}
267
268TMgr-BlastRIDReply ::= SEQUENCE {
269    messages SEQUENCE OF TMgr-Message OPTIONAL,
270    rid-detail TMgr-BlastRIDDetail OPTIONAL
271}
272
273TMgr-CreateUserDataItem ::= SEQUENCE {
274    datakey VisibleString,
275    seqids SET OF VisibleString,
276    attrs SET OF TMgr-Attribute OPTIONAL,
277    seqs SET OF TMgr-DatasetItemSeq OPTIONAL
278}
279
280TMgr-IdentityId ::= SEQUENCE {
281    id VisibleString,
282    id-type TMgr-IdentityIdType
283}
284
285TMgr-IdentityIdType ::= INTEGER {
286    myncbi-id (0),
287    ncbi-sid (1)
288}
289
290TMgr-Identity ::= SEQUENCE {
291    ids SET OF TMgr-IdentityId
292}
293
294TMgr-ACL-AccessLevel ::= INTEGER {
295    public (0),
296    private (1),
297    ncbi (2),
298    nih (3)
299}
300
301TMgr-TrackACL-Permission ::= SEQUENCE {
302    access-level TMgr-ACL-AccessLevel DEFAULT public,
303    access-key VisibleString OPTIONAL
304}
305
306TMgr-CreateUserTrackRequest ::= SEQUENCE {
307    identity TMgr-Identity,
308    track-name VisibleString OPTIONAL, -- User-provided track name
309    track-descr VisibleString OPTIONAL, -- User-provided data description
310    assembly-acc VisibleString OPTIONAL,
311    attrs SET OF TMgr-Attribute OPTIONAL,
312    data-items SET OF TMgr-CreateUserDataItem,
313    access-perms TMgr-TrackACL-Permission
314}
315
316TMgr-CreateUserTrackReply ::= SEQUENCE {
317    messages SEQUENCE OF TMgr-Message OPTIONAL,
318    display-tracks SET OF TMgr-DisplayTrack OPTIONAL
319}
320
321---
322--- Used to remove user tracks, remote tracks and hubs
323---
324TMgr-RemoveUserTrackRequest ::= SEQUENCE {
325    identity TMgr-Identity,
326    dtrack-ids SET OF TMgr-DTrackId,
327    hub-id TMgr-DHubId OPTIONAL,
328    client TMgr-ClientInfo OPTIONAL
329}
330
331TMgr-TypeTrackType ::= INTEGER {
332    hub (0),
333    altGraphX(2),
334    bam(3),
335    bed(4),
336    bed5FloatScore(5),
337    bedGraph(6),
338    bedRnaElements(7),
339    bigBarChart(8),
340    bigBed(9),
341    bigPsl(10),
342    bigChain(11),
343    bigMaf(12),
344    bigWig(13),
345    broadPeak(14),
346    chain(15),
347    clonePos(16),
348    coloredExon(17),
349    ctgPos(18),
350    downloadsOnly(19),
351    encodeFiveC(20),
352    expRatio(21),
353    factorSource(22),
354    genePred(23),
355    gvf(24),
356    ld2(25),
357    narrowPeak(26),
358    netAlign(27),
359    peptideMapping(28),
360    psl(29),
361    rmsk(30),
362    snake(31),
363    vcfTabix(32),
364    wig(33),
365    wigMaf(34),
366    multiWig(35)
367}
368
369TMgr-Hub ::= SEQUENCE {
370    hub VisibleString, -- hub entry from hub.txt file
371    short-label VisibleString, -- shortLabel entry from hub.txt file
372    long-label VisibleString,  -- longLabel entry from hub.txt file
373    assembly-db-name SET OF VisibleString, --- genome entries in genomes.txt file
374    trackdb-url VisibleString OPTIONAL --- trackDb entry in genomes.txt file associated with assembly_acc
375}
376
377TMgr-HubTrack ::= SEQUENCE {
378    short-label VisibleString, -- shortLabel entry from trackDB.txt file
379    long-label VisibleString,  -- longLabel entry from trackDB.txt file
380    hub-id TMgr-DHubId--- used to associate a track with a hub
381}
382
383
384---
385--- Used to create remote tracks, hubs and tracks in hubs
386---
387TMgr-CreateRemoteTrackRequest ::= SEQUENCE {
388    -- common to hubs and tracks
389    identity TMgr-Identity, -- identity of user
390    assembly-acc VisibleString, --  NCBI assembly accession
391    url VisibleString, -- url to track data or hub.txt
392    type TMgr-TypeTrackType,
393
394    -- track specific, i.e., when type != hub
395    track-name VisibleString OPTIONAL,
396    index-url VisibleString OPTIONAL, -- for tracks only, not hubs
397
398    -- Hub Track Database specific fields
399    track-db CHOICE {
400        hub TMgr-Hub,
401        track TMgr-HubTrack
402    } OPTIONAL,
403
404    attrs SET OF TMgr-Attribute OPTIONAL, -- future use
405    client TMgr-ClientInfo OPTIONAL       -- Client information
406}
407
408---
409--- Used to return created hubs, remote tracks, and tracks in hubs
410---
411TMgr-CreateRemoteTrackReply ::= SEQUENCE {
412    messages SEQUENCE OF TMgr-Message OPTIONAL,
413    display-tracks SET OF TMgr-DisplayTrack OPTIONAL
414}
415
416TMgr-Status ::= INTEGER {
417    success (0),
418    failure (1)
419}
420
421---
422--- Response to removing user tracks, remote tracks, hubs and tracks in hubs
423---
424TMgr-RemoveUserTrackReply ::= SEQUENCE {
425    messages SEQUENCE OF TMgr-Message OPTIONAL
426}
427
428TMgr-ItemResolverRequest ::= SEQUENCE {
429    dtrack-ids SET OF TMgr-DTrackId,
430    client TMgr-ClientInfo,
431    genome-context TMgr-GenomeContext,
432    attrs SET OF TMgr-AttrSpec OPTIONAL,
433    sequence Seq-id OPTIONAL, -- resolve specifically for this top-level sequence
434    flags SEQUENCE {
435        include-stats BOOLEAN DEFAULT FALSE
436    } OPTIONAL
437}
438
439TMgr-TrackItems ::= SEQUENCE {
440    dtrack-id TMgr-DTrackId,
441    data SET OF TMgr-DatasetItem
442}
443
444TMgr-ItemResolverReply ::= SEQUENCE {
445    messages SEQUENCE OF TMgr-Message OPTIONAL,
446    track-items SET OF TMgr-TrackItems OPTIONAL
447}
448
449TMgr-AnnotType ::= INTEGER {
450    total (0),
451    feat (1),
452    feat-gene (100),
453    feat-cdregion (101),
454    feat-prot (102),
455    feat-rna (103),
456    feat-imp (104),
457    feat-region (105),
458    feat-clone (106),
459    feat-variation (107),
460    feat-user (108),
461    seq-table (2),
462    graph (3),
463    align (4),
464    ids (5),
465    locs (6)
466}
467
468TMgr-PositionStats ::= SEQUENCE {
469    min INTEGER,
470    max INTEGER
471}
472
473TMgr-LengthStats ::= SEQUENCE {
474    min INTEGER,
475    max INTEGER,
476    mean INTEGER OPTIONAL
477}
478
479TMgr-TypeStat ::= SEQUENCE {
480    type TMgr-AnnotType,
481    count INTEGER,
482    length-stats TMgr-LengthStats OPTIONAL,
483    position-stats TMgr-PositionStats OPTIONAL
484}
485
486TMgr-AnnotCounts ::= SEQUENCE {
487    counts SET OF TMgr-TypeStat
488}
489
490TMgr-TrackSetType ::= INTEGER {
491    tms (0),
492    myncbi-collection (1)
493}
494
495TMgr-TrackSet ::= SEQUENCE {
496    type TMgr-TrackSetType,
497    id VisibleString, -- internal identifier
498    genome-context TMgr-GenomeContext,
499    name UTF8String,
500    description UTF8String OPTIONAL,
501    tracks SEQUENCE OF TMgr-DisplayTrack
502}
503
504TMgr-RetrieveTracksetRequest ::= SEQUENCE {
505    genome-context TMgr-GenomeContext,
506    identity TMgr-Identity OPTIONAL
507}
508
509TMgr-RetrieveTracksetReply ::= SEQUENCE {
510    messages SEQUENCE OF TMgr-Message OPTIONAL,
511    tracksets SET OF TMgr-TrackSet OPTIONAL,
512    flags SEQUENCE {
513        include-track-items BOOLEAN DEFAULT FALSE
514    } OPTIONAL
515}
516
517TMgr-CreateTracksetRequest ::= SEQUENCE {
518    identity TMgr-Identity OPTIONAL,
519    genome-context TMgr-GenomeContext,
520    name UTF8String,
521    description UTF8String OPTIONAL,
522    tracks SEQUENCE OF TMgr-DTrackId
523}
524
525TMgr-CreateTracksetReply ::= SEQUENCE {
526    messages SEQUENCE OF TMgr-Message OPTIONAL,
527    status TMgr-Status,
528    trackset-id VisibleString OPTIONAL
529}
530
531TMgr-RenameMyNCBICollectionRequest ::= SEQUENCE {
532    collection-id VisibleString,
533    name VisibleString
534}
535
536TMgr-RenameMyNCBICollectionReply ::= SEQUENCE {
537    messages SEQUENCE OF TMgr-Message OPTIONAL,
538    status TMgr-Status
539}
540
541TMgr-SupportedAssembliesRequest ::= CHOICE {
542    assembly-acc VisibleString
543    --tax-id INTEGER (0..MAXINT)
544}
545
546TMgr-SupportedAssembliesReply ::= SEQUENCE {
547    messages SEQUENCE OF TMgr-Message OPTIONAL,
548    reply CHOICE {
549        assembly-acc BOOLEAN
550        --tax-id SET OF VisibleString
551    } OPTIONAL
552}
553
554END
555
556