Note: This documentation is far from being complete and perfect. So if you need a new functionality, want to clarify something, find something is not right, facing a weird bug when using this API etc. do not hesitate to open an issue. Nowadays, bioinformatics tools written in C/C++ are getting fewer and fewer, so I would be glad to help.
slow5curl is a library for fetching records from remote BLOW5 files. Compiling slow5curl requires a C compiler that conforms to at least c99 standard with X/Open 7, incorporating POSIX 2008 extension support.
The s5curl_t structure stores the url and the metadata of the remote BLOW5 file. This structure has the following form:
typedef struct {
char *url; // URL to the BLOW5 file
/* private struct members that are not supposed to be directly accessed are not shown.
the order of the members in this struct can subject to change.
*/
} s5curl_t;
The s5curl_mt_t is a struct intended to be used by multi-threaded fetches. This structure has the following form:
typedef struct {
int32_t num_thread; // number of threads dispatched per batch call
int num_retry; // number of retries on a fetch before aborting the method (default 1)
int retry_wait_sec; // number of seconds to wait before the next retry (default 1)
/* private struct members that are not supposed to be directly accessed are not shown.
the order of the members in this struct can subject to change.
*/
} s5curl_mt_t;
High-level API consists of following functions:
Please cite the following in your publications when using slow5curl/pyslow5curl:
Gamaarachchi, H., Samarakoon, H., Jenner, S.P. et al. Fast nanopore sequencing data analysis with SLOW5. Nat Biotechnol 40, 1026-1029 (2022). https://doi.org/10.1038/s41587-021-01147-4
@article{gamaarachchi2022fast,
title={Fast nanopore sequencing data analysis with SLOW5},
author={Gamaarachchi, Hasindu and Samarakoon, Hiruna and Jenner, Sasha P and Ferguson, James M and Amos, Timothy G and Hammond, Jillian M and Saadat, Hassaan and Smith, Martin A and Parameswaran, Sri and Deveson, Ira W},
journal={Nature biotechnology},
pages={1--4},
year={2022},
publisher={Nature Publishing Group}
}