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 #ifndef _h_csra1_read_ 28 #define _h_csra1_read_ 29 30 typedef struct CSRA1_Read CSRA1_Read; 31 32 #ifndef NGS_READ 33 #define NGS_READ CSRA1_Read 34 #endif 35 36 #ifndef _h_sra_read_ 37 #include "SRA_Read.h" 38 #endif 39 40 41 #ifdef __cplusplus 42 extern "C" { 43 #endif 44 45 /*-------------------------------------------------------------------------- 46 * forwards 47 */ 48 49 /*-------------------------------------------------------------------------- 50 * CSRA1_Read 51 */ 52 53 /* Make 54 * a single read 55 */ 56 struct NGS_Read * CSRA1_ReadMake ( ctx_t ctx, const struct NGS_Cursor * curs, int64_t readId, const struct NGS_String * spec ); 57 58 /* IteratorMake 59 */ 60 struct NGS_Read * CSRA1_ReadIteratorMake ( ctx_t ctx, 61 const struct NGS_Cursor * curs, 62 const struct NGS_String * run_name, 63 bool wants_full, 64 bool wants_partial, 65 bool wants_unaligned ); 66 67 /* IteratorMakeRange 68 * all reads in the specified range of rowIds 69 */ 70 struct NGS_Read * CSRA1_ReadIteratorMakeRange ( ctx_t ctx, 71 const struct NGS_Cursor * curs, 72 const struct NGS_String * run_name, 73 uint64_t first, 74 uint64_t count, 75 bool wants_full, 76 bool wants_partial, 77 bool wants_unaligned ); 78 79 /* IteratorMakeReadGroup 80 * within the specified range of rowIds, will only return reads belonging to the specified read group (groupName) 81 */ 82 struct NGS_Read * CSRA1_ReadIteratorMakeReadGroup ( ctx_t ctx, 83 const struct NGS_Cursor * curs, 84 const struct NGS_String * run_name, 85 const struct NGS_String * group_name, 86 uint64_t first, 87 uint64_t count, 88 bool wants_full, 89 bool wants_partial, 90 bool wants_unaligned ); 91 92 #ifdef __cplusplus 93 } 94 #endif 95 96 #endif /* _h_csra1_read_ */ 97