1include 'ncbi/sra.vschema'; 2include 'align/seq.vschema'; 3 4extern function 5INSDC:4na:bin NCBI:align:seq_restore_read #1 ( INSDC:4na:bin cmp_rd, I64 align_id, 6 INSDC:coord:len read_len, INSDC:SRA:xread_type rd_type ) 7 = ALIGN:seq_restore_read; 8 9table NCBI:align:tbl:seq #1.0.0 = 10 NCBI:tbl:base_space #2.0.3, 11 NCBI:tbl:phred_quality #2.0, 12 NCBI:align:tbl:cmp_base_space #1, 13 NCBI:SRA:tbl:spotdesc #1.0.2, 14 NCBI:SRA:tbl:stats #1.2.0 15{ 16 // 128K 17 column default limit = 131072; 18 19 // gets primary record in alignment table (size of column is NREADS) 20 // if sorted - should used special encoding 21 extern column <I64> izip_encoding PRIMARY_ALIGNMENT_ID; 22 23 INSDC:coord:zero trim_start = < INSDC:coord:zero > echo < 0 > (); 24 INSDC:coord:len trim_len = _spot_len; 25 26 // size is NREADS 27 extern column < U8 > zip_encoding ALIGNMENT_COUNT; 28 29 // allow NAME to be set externally. otherwise, auto-generate name from row-id 30 physical column < ascii > zip_encoding .NAME = name_in; 31 ascii name_in = NAME; 32 ascii out_name_fmt = .NAME | < ascii > echo < '$R' > (); 33 34 // temparary column 35 extern column < U64 > izip_encoding TMP_KEY_ID; 36 37 // restored READ 38 INSDC:4na:bin out_dcmp_4na_bin 39 = NCBI:align:seq_restore_read (out_cmp_4na_bin, .PRIMARY_ALIGNMENT_ID, .READ_LEN, .READ_TYPE); 40 41 extern column < U64 > izip_encoding TI; 42}; 43 44database NCBI:align:db:alignment_sorted #1.3 45{ 46 table NCBI:align:tbl:seq #1.0 SEQUENCE; 47}; 48