Mercurial > repos > charles_s_test > seqsero2
diff libs/sratoolkit.2.8.0-centos_linux64/schema/ncbi/ncbi.vschema @ 3:38ad1130d077 draft
planemo upload commit a4fb57231f274270afbfebd47f67df05babffa4a-dirty
author | charles_s_test |
---|---|
date | Mon, 27 Nov 2017 11:21:07 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libs/sratoolkit.2.8.0-centos_linux64/schema/ncbi/ncbi.vschema Mon Nov 27 11:21:07 2017 -0500 @@ -0,0 +1,195 @@ +/*=========================================================================== +* +* PUBLIC DOMAIN NOTICE +* National Center for Biotechnology Information +* +* This software/database is a "United States Government Work" under the +* terms of the United States Copyright Act. It was written as part of +* the author's official duties as a United States Government employee and +* thus cannot be copyrighted. This software/database is freely available +* to the public for use. The National Library of Medicine and the U.S. +* Government have not placed any restriction on its use or reproduction. +* +* Although all reasonable efforts have been taken to ensure the accuracy +* and reliability of the software and data, the NLM and the U.S. +* Government do not and cannot warrant the performance or results that +* may be obtained by using this software or data. The NLM and the U.S. +* Government disclaim all warranties, express or implied, including +* warranties of performance, merchantability or fitness for any particular +* purpose. +* +* Please cite the author in any work or product based on this material. +* +* =========================================================================== +* +*/ + +/*========================================================================== + * VDB Schema intrinsic types and functions + */ +version 1; + +include 'vdb/vdb.vschema'; +include 'insdc/insdc.vschema'; + + +/*-------------------------------------------------------------------------- + * data types + */ + +// N-encoded phred has values limited to 1..63 and 0 used for N +typedef INSDC:quality:phred NCBI:quality:n_encoded:phred; +// N-encoded log-odds has values limite to -5..40 and -6 for N +typedef INSDC:quality:log_odds NCBI:quality:n_encoded:log_odds; + +// these types have been restated +alias INSDC:dna:text INSDC:fasta; +alias INSDC:4na:packed INSDC:dna:4na; +alias INSDC:2na:packed INSDC:dna:2na; +alias INSDC:2na:packed NCBI:2na; +alias INSDC:2cs:packed INSDC:color:2cs; +alias INSDC:2cs:packed NCBI:2cs; +alias INSDC:quality:phred NCBI:qual1; +alias NCBI:quality:n_encoded:phred NCBI:SRA:enc_qual1; + +// 16-bit integer sample data +typedef I16 NCBI:isamp1; + +// 32-bit floating point sample data +typedef F32 NCBI:fsamp1, NCBI:fsamp4 [ 4 ]; + +// ASN.1 +typedef B8 NCBI:asn:binary; +typedef ascii NCBI:asn:text; + +// GenInfo id - 64 bit because we are almost out of 32 bit ids +typedef U64 NCBI:gi; + +// Taxonomy id +typedef U32 NCBI:taxid; + +// Genbank status +typedef U32 NCBI:gb_state; + + +/*-------------------------------------------------------------------------- + * formats + * many of these formats are older than the current corresponding vdb fmts + */ + +fmtdef merged_t; +fmtdef fp_encoded_t; +fmtdef rl_encoded_t; +fmtdef NCBI:zlib_encoded_t; +fmtdef NCBI:fp_encoded_t; + + +/*-------------------------------------------------------------------------- + * functions + */ + + +/* merge + * split + * the original versions of these functions + * used a slightly different format giving them + * a different signature from their vdb counterparts. + * + * here to maintain backward compatibility for + * column schema functions + */ +extern function +merged_t NCBI:merge #1.0 ( any in, ... ); + +extern function +any NCBI:split #1.0 < U32 idx > ( merged_t in ) + = vdb:split; + + +/* cut + * paste + * these have no compiler type-checking + */ +extern function +any NCBI:cut #1.0 < U32 idx, ... > ( any in ) + = vdb:cut; + +extern function +any NCBI:paste #1.0 ( any in, ... ) + = vdb:paste; + + +/* pack + * unpack + * wildcard typed + */ +extern function +any NCBI:pack #1.0 < U32 from, U32 to > ( any in ); + +extern function +any NCBI:unpack #1.0 < U32 from, U32 to > ( any in ); + + +/* fp_decode + * OBSOLETE + * here to handle anything encoded with fp_encode + */ +extern function +any NCBI:fp_decode #1.0 ( fp_encoded_t in ); + + +/* fp_extend + * OBSOLETE + * here to handle anything encoded with fp_truncate + */ +extern function +any NCBI:fp_extend #1.0 < U32 bits > ( NCBI:fp_encoded_t in ); + + +/* run_length_encode + * run_length_decode + */ +extern function +rl_encoded_t NCBI:run_length_encode #1.0 ( any in ) + = vdb:rlencode; + +extern function +any NCBI:run_length_decode #1.0 ( rl_encoded_t in ) + = vdb:rldecode; + + +/* zlib + * unzip + * variation on the formatting + */ +extern function +NCBI:zlib_encoded_t NCBI:zlib #1.0 < * I32 strategy, I32 level > ( any in ) + = vdb:zip; + +extern function +any NCBI:unzip #1.0 ( NCBI:zlib_encoded_t in ); + + +/* zlib_huffman_compress + * invokes zlib in huffman + rle mode + */ +schema function +NCBI:zlib_encoded_t NCBI:zlib_huffman_compress #1.0 ( any in ) +{ + // named as Huffman, but apply RLE as well + return NCBI:zlib < Z_RLE > ( in ); +} + +/* zlib_compress + * standard zlib + */ +schema function +NCBI:zlib_encoded_t NCBI:zlib_compress #1.0 ( any in ) +{ + return NCBI:zlib < Z_DEFAULT_STRATEGY > ( in ); +} + +/* zlib_decompress + * alternate name for unzip + */ +alias NCBI:unzip NCBI:zlib_decompress;