1 #ifndef _h_libs_blast_reference_ 2 #define _h_libs_blast_reference_ 3 4 /*=========================================================================== 5 * 6 * PUBLIC DOMAIN NOTICE 7 * National Center for Biotechnology Information 8 * 9 * This software/database is a "United States Government Work" under the 10 * terms of the United States Copyright Act. It was written as part of 11 * the author's official duties as a United States Government employee and 12 * thus cannot be copyrighted. This software/database is freely available 13 * to the public for use. The National Library of Medicine and the U.S. 14 * Government have not placed any restriction on its use or reproduction. 15 * 16 * Although all reasonable efforts have been taken to ensure the accuracy 17 * and reliability of the software and data, the NLM and the U.S. 18 * Government do not and cannot warrant the performance or results that 19 * may be obtained by using this software or data. The NLM and the U.S. 20 * Government disclaim all warranties, express or implied, including 21 * warranties of performance, merchantability or fitness for any particular 22 * purpose. 23 * 24 * Please cite the author in any work or product based on this material. 25 * 26 * =========================================================================== 27 * 28 */ 29 30 #ifndef _h_ncbi_vdb_blast_ 31 #include <ncbi/vdb-blast.h> /* VdbBlastStatus */ 32 #endif 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 39 struct Core2na; 40 struct Core4na; 41 struct Data2na; 42 struct References; 43 struct RunSet; 44 45 46 uint32_t _Core2naDataRef(struct Core2na *self, 47 struct Data2na *data, VdbBlastStatus *status, 48 Packed2naRead *buffer, uint32_t buffer_length); 49 50 uint64_t _Core2naReadRef(struct Core2na *self, VdbBlastStatus *status, 51 uint64_t *read_id, uint8_t *buffer, size_t buffer_size); 52 53 54 const uint8_t* _Core4naDataRef(struct Core4na *self, const struct RunSet *runs, 55 uint32_t *status, uint64_t read_id, size_t *length); 56 57 size_t _Core4naReadRef(struct Core4na *self, const struct RunSet *runs, 58 uint32_t *status, uint64_t read_id, size_t starting_base, 59 uint8_t *buffer, size_t buffer_length); 60 61 62 const struct References* _RunSetMakeReferences 63 (struct RunSet *self, VdbBlastStatus *status); 64 65 void _ReferencesWhack(const struct References *self); 66 67 uint64_t _ReferencesGetNumSequences 68 (const struct References *self, VdbBlastStatus *status); 69 70 VdbBlastStatus _ReferencesGetReadId(const struct References *self, 71 const char *name_buffer, size_t bsize, uint64_t *read_id); 72 73 size_t CC _ReferencesGetReadName(const struct References *self, 74 uint64_t read_id, char *name_buffer, size_t bsize); 75 76 uint64_t _ReferencesGetTotalLength 77 (const struct References *self, VdbBlastStatus *status); 78 79 uint64_t _ReferencesGetReadLength 80 (const struct References *self, uint64_t read_id, VdbBlastStatus *status); 81 82 #ifdef __cplusplus 83 } 84 #endif 85 86 #endif /* _h_libs_blast_reference_ */ 87