Mercurial > repos > charles_s_test > seqsero2
comparison libs/sratoolkit.2.8.0-centos_linux64/schema/ncbi/clip.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 Sequence Read Archive schema | |
29 */ | |
30 version 1; | |
31 | |
32 include 'ncbi/sra.vschema'; | |
33 include 'ncbi/spotname.vschema'; | |
34 | |
35 | |
36 /*-------------------------------------------------------------------------- | |
37 * NCBI:SRA:tbl:clip | |
38 * common clip column processing | |
39 * shared by 454 and ion-torrent | |
40 * | |
41 * uses spotdesc because it has a dependency upon spot_len | |
42 * | |
43 * history: | |
44 * 1.0.1 - base explicitly upon spotdesc #1.0.1 | |
45 * 1.0.2 - base explicitly upon spotdesc #1.0.2 | |
46 */ | |
47 table NCBI:SRA:tbl:clip #1.0.2 = INSDC:SRA:tbl:spotdesc #1.0.2 | |
48 { | |
49 /* CLIP_ADAPTER_LEFT, CLIP_ADAPTER_RIGHT | |
50 * adapter clips in 1-based coordinates | |
51 * when value is 0, implies that they are NOT SET | |
52 */ | |
53 column INSDC:coord:one CLIP_ADAPTER_LEFT = out_clip_adapt_left; | |
54 column INSDC:coord:one CLIP_ADAPTER_RIGHT = out_clip_adapt_right; | |
55 | |
56 // casts are required to allow multple storage formats | |
57 INSDC:coord:one out_clip_adapt_left = cast ( .CLIP_ADAPTER_LEFT ); | |
58 INSDC:coord:one out_clip_adapt_right = cast ( .CLIP_ADAPTER_RIGHT ); | |
59 | |
60 | |
61 /* CLIP_QUALITY_LEFT, CLIP_QUALITY_RIGHT | |
62 * quality clips in 1-based coordinates | |
63 * when value is 0, implies that they are NOT SET | |
64 */ | |
65 column INSDC:coord:one CLIP_QUALITY_LEFT = out_clip_qual_left; | |
66 column INSDC:coord:one CLIP_QUALITY_RIGHT = out_clip_qual_right; | |
67 | |
68 // casts are required to allow multple storage formats | |
69 INSDC:coord:one out_clip_qual_left | |
70 = cast ( .CLIP_QUALITY_LEFT ) | |
71 | < INSDC:coord:one > echo < 1 > (); | |
72 INSDC:coord:one out_clip_qual_right | |
73 = cast ( .CLIP_QUALITY_RIGHT ) | |
74 | cast ( spot_len ); | |
75 | |
76 // support for reading 16-bit clips, as in v1 schema | |
77 readonly column U16 CLIP_ADAPTER_LEFT | |
78 = .CLIP_ADAPTER_LEFT | |
79 | cast ( out_clip_adapt_left ); | |
80 readonly column U16 CLIP_ADAPTER_RIGHT | |
81 = .CLIP_ADAPTER_RIGHT | |
82 | cast ( out_clip_adapt_right ); | |
83 readonly column U16 CLIP_QUALITY_LEFT = cast ( out_clip_qual_left ); | |
84 readonly column U16 CLIP_QUALITY_RIGHT = cast ( out_clip_qual_right ); | |
85 | |
86 | |
87 /* CLIP-MANIA | |
88 */ | |
89 | |
90 // 1-based fully-closed right edge is row-length | |
91 INSDC:coord:one spot_right = ( INSDC:coord:one ) spot_len; | |
92 | |
93 // processed 1-based coordinates >= 1 | |
94 INSDC:coord:one lim_clip_adapt_left | |
95 = < INSDC:coord:one > clip < 1, 0x7FFFFFFF > ( out_clip_adapt_left ); | |
96 INSDC:coord:one max_clip_adapt_right | |
97 = < INSDC:coord:one, INSDC:coord:one > map < 0, 0x7FFFFFFF > ( out_clip_adapt_right ); | |
98 INSDC:coord:one lim_clip_adapt_right | |
99 = < INSDC:coord:one > min ( spot_right, max_clip_adapt_right ); | |
100 INSDC:coord:one lim_clip_qual_left | |
101 = < INSDC:coord:one > clip < 1, 0x7FFFFFFF > ( out_clip_qual_left ); | |
102 INSDC:coord:one max_clip_qual_right | |
103 = < INSDC:coord:one, INSDC:coord:one > map < 0, 0x7FFFFFFF > ( out_clip_qual_right ); | |
104 INSDC:coord:one lim_clip_qual_right | |
105 = < INSDC:coord:one > min ( spot_right, max_clip_qual_right ); | |
106 | |
107 // read-only columns with 0-based coordinates | |
108 readonly column INSDC:coord:zero CLIP_ADAPTER_LEFT | |
109 = ( INSDC:coord:zero ) < I32 > diff < 1 > ( lim_clip_adapt_left ); | |
110 readonly column INSDC:coord:zero CLIP_ADAPTER_RIGHT | |
111 = ( INSDC:coord:zero ) < I32 > diff < 1 > ( lim_clip_adapt_right ); | |
112 readonly column INSDC:coord:zero CLIP_QUALITY_LEFT | |
113 = ( INSDC:coord:zero ) < I32 > diff < 1 > ( lim_clip_qual_left ); | |
114 readonly column INSDC:coord:zero CLIP_QUALITY_RIGHT | |
115 = ( INSDC:coord:zero ) < I32 > diff < 1 > ( lim_clip_qual_right ); | |
116 | |
117 // combined clips | |
118 INSDC:coord:one max_clip_left | |
119 = < INSDC:coord:one > max ( lim_clip_adapt_left, lim_clip_qual_left ) | |
120 | lim_clip_adapt_left | |
121 | lim_clip_qual_left; | |
122 INSDC:coord:zero max_zclip_left | |
123 = ( INSDC:coord:zero ) < I32 > diff < 1 > ( max_clip_left ); | |
124 INSDC:coord:one min_clip_right | |
125 = < INSDC:coord:one > min ( lim_clip_adapt_right, lim_clip_qual_right ) | |
126 | lim_clip_adapt_right | |
127 | lim_clip_qual_right; | |
128 | |
129 | |
130 /* TRIMMED SEQUENCE | |
131 * need to find the 0-based trim_start and trim_len | |
132 */ | |
133 INSDC:coord:zero bio_start | |
134 = NCBI:SRA:bio_start ( out_read_start, out_read_type ); | |
135 INSDC:coord:zero trim_start | |
136 = < INSDC:coord:zero > max ( bio_start, max_zclip_left ) | |
137 | bio_start; | |
138 | |
139 INSDC:coord:zero bio_end | |
140 = NCBI:SRA:bio_end < false > ( out_read_start, out_read_type, out_read_len ); | |
141 | |
142 I32 trim_stop | |
143 = < I32 > max ( min_clip_right, trim_start ) | |
144 | spot_right; | |
145 INSDC:coord:len trim_len | |
146 = ( INSDC:coord:len ) < I32 > diff ( trim_stop, trim_start ); | |
147 }; |