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 }; |
