/*=========================================================================== * * 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. * * =========================================================================== * */ /*========================================================================== * NCBI Ion Torrent Sequence Read Archive schema */ version 1; include 'ncbi/sra.vschema'; include 'ncbi/spotname.vschema'; include 'ncbi/clip.vschema'; /*-------------------------------------------------------------------------- * functions */ /* tokenize_spot_name * scans name on input * tokenizes into parts */ extern function NCBI:SRA:spot_name_token NCBI:SRA:IonTorrent:tokenize_spot_name #1 ( ascii name ); /*-------------------------------------------------------------------------- * table */ physical INSDC:position:one NCBI:SRA:IonTorrent:encoding:POSITION #1 { decode { I32 pos_1st_deriv = iunzip ( @ ); return ( INSDC:position:one ) < I32 > integral ( pos_1st_deriv ); } encode { I32 pos_1st_deriv = < I32 > deriv ( @ ); return izip ( pos_1st_deriv ); } } /* IonTorrent:tbl * * history: * 1.0.1 - updated ancestry * 1.0.2 - updated ancestry * 1.0.3 - updated ancestry * 1.0.4 - updated ancestry * 2.0.0 - updated ancestry */ table NCBI:SRA:IonTorrent:tbl:v2 #2 = INSDC:SRA:tbl:sra #1.0.4 , NCBI:SRA:tbl:sra_nopos #2.1.4 , NCBI:tbl:base_space #3 , NCBI:tbl:phred_quality #2.0 , NCBI:SRA:tbl:clip #1.0.2 { /* PLATFORM is always ION_TORRENT */ ascii platform_name = < ascii > echo < "ION_TORRENT" > (); /* NAME tokenizing and coordinates * most work happens in skeyname table */ NCBI:SRA:spot_name_token out_spot_name_tok = NCBI:SRA:IonTorrent:tokenize_spot_name ( _out_name ); NCBI:SRA:spot_name_token in_spot_name_tok = NCBI:SRA:IonTorrent:tokenize_spot_name ( NAME ); // special sequences column < INSDC:dna:text > zip_encoding FLOW_CHARS; column < INSDC:dna:text > zip_encoding KEY_SEQUENCE; // position stored as normal 1-based coordinate INSDC:position:one out_position = .POSITION; physical column NCBI:SRA:IonTorrent:encoding:POSITION .POSITION = POSITION; // clips physical column < INSDC:coord:one > izip_encoding .CLIP_ADAPTER_LEFT = CLIP_ADAPTER_LEFT; physical column < INSDC:coord:one > izip_encoding .CLIP_ADAPTER_RIGHT = CLIP_ADAPTER_RIGHT; physical column < INSDC:coord:one > izip_encoding .CLIP_QUALITY_LEFT = CLIP_QUALITY_LEFT; physical column < INSDC:coord:one > izip_encoding .CLIP_QUALITY_RIGHT = CLIP_QUALITY_RIGHT; // signal column < NCBI:isamp1 > izip_encoding SIGNAL; };