comparison libs/sratoolkit.2.8.0-centos_linux64/schema/sra/ion-torrent.vschema @ 3:38ad1130d077 draft

planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
author charles_s_test
date Mon, 27 Nov 2017 11:21:07 -0500
parents
children
comparison
equal deleted inserted replaced
2:0d65b71ff8df 3:38ad1130d077
1 /*===========================================================================
2 *
3 * PUBLIC DOMAIN NOTICE
4 * National Center for Biotechnology Information
5 *
6 * This software/database is a "United States Government Work" under the
7 * terms of the United States Copyright Act. It was written as part of
8 * the author's official duties as a United States Government employee and
9 * thus cannot be copyrighted. This software/database is freely available
10 * to the public for use. The National Library of Medicine and the U.S.
11 * Government have not placed any restriction on its use or reproduction.
12 *
13 * Although all reasonable efforts have been taken to ensure the accuracy
14 * and reliability of the software and data, the NLM and the U.S.
15 * Government do not and cannot warrant the performance or results that
16 * may be obtained by using this software or data. The NLM and the U.S.
17 * Government disclaim all warranties, express or implied, including
18 * warranties of performance, merchantability or fitness for any particular
19 * purpose.
20 *
21 * Please cite the author in any work or product based on this material.
22 *
23 * ===========================================================================
24 *
25 */
26
27 /*==========================================================================
28 * NCBI Ion Torrent Sequence Read Archive schema
29 */
30 version 1;
31
32 include 'ncbi/sra.vschema';
33 include 'ncbi/spotname.vschema';
34 include 'ncbi/clip.vschema';
35
36
37 /*--------------------------------------------------------------------------
38 * functions
39 */
40
41
42 /* tokenize_spot_name
43 * scans name on input
44 * tokenizes into parts
45 */
46 extern function NCBI:SRA:spot_name_token
47 NCBI:SRA:IonTorrent:tokenize_spot_name #1 ( ascii name );
48
49
50 /*--------------------------------------------------------------------------
51 * table
52 */
53
54 physical INSDC:position:one NCBI:SRA:IonTorrent:encoding:POSITION #1
55 {
56 decode
57 {
58 I32 pos_1st_deriv = iunzip ( @ );
59 return ( INSDC:position:one ) < I32 > integral ( pos_1st_deriv );
60 }
61 encode
62 {
63 I32 pos_1st_deriv = < I32 > deriv ( @ );
64 return izip ( pos_1st_deriv );
65 }
66 }
67
68 /* IonTorrent:tbl
69 *
70 * history:
71 * 1.0.1 - updated ancestry
72 * 1.0.2 - updated ancestry
73 * 1.0.3 - updated ancestry
74 */
75 table NCBI:SRA:IonTorrent:tbl:v2 #1.0.3
76 = INSDC:SRA:tbl:sra #1.0.3
77 , NCBI:SRA:tbl:sra_nopos #2.1.3
78 , NCBI:tbl:base_space #2.0.3
79 , NCBI:tbl:phred_quality #2.0.3
80 , NCBI:SRA:tbl:clip #1.0.2
81 {
82 /* PLATFORM is always ION_TORRENT */
83 ascii platform_name
84 = < ascii > echo < "ION_TORRENT" > ();
85
86 /* NAME tokenizing and coordinates
87 * most work happens in skeyname table
88 */
89 NCBI:SRA:spot_name_token out_spot_name_tok
90 = NCBI:SRA:IonTorrent:tokenize_spot_name ( _out_name );
91
92 NCBI:SRA:spot_name_token in_spot_name_tok
93 = NCBI:SRA:IonTorrent:tokenize_spot_name ( NAME );
94
95 // special sequences
96 column < INSDC:dna:text > zip_encoding FLOW_CHARS;
97 column < INSDC:dna:text > zip_encoding KEY_SEQUENCE;
98
99 // position stored as normal 1-based coordinate
100 INSDC:position:one out_position = .POSITION;
101 physical column NCBI:SRA:IonTorrent:encoding:POSITION
102 .POSITION = POSITION;
103
104
105 // clips
106 physical column < INSDC:coord:one > izip_encoding
107 .CLIP_ADAPTER_LEFT = CLIP_ADAPTER_LEFT;
108 physical column < INSDC:coord:one > izip_encoding
109 .CLIP_ADAPTER_RIGHT = CLIP_ADAPTER_RIGHT;
110 physical column < INSDC:coord:one > izip_encoding
111 .CLIP_QUALITY_LEFT = CLIP_QUALITY_LEFT;
112 physical column < INSDC:coord:one > izip_encoding
113 .CLIP_QUALITY_RIGHT = CLIP_QUALITY_RIGHT;
114
115 // signal
116 column < NCBI:isamp1 > izip_encoding SIGNAL;
117 };