Global Namespace¶
Overview¶
// typedefs
typedef enum rsx_status_t rsx_status_t;
typedef struct rsx_popmap_t rsx_popmap_t;
// enums
enum rsx_status_t;
// global functions
enum rsx_status_t rsx_process(const char* input_dir, const char* output_path, uint32_t n_threads, uint32_t min_depth);
enum rsx_status_t rsx_freq(const char* table_path, const char* output_path, uint32_t min_depth);
enum rsx_status_t rsx_distrib(const char* table_path, const char* popmap_path, const char* output_path, uint32_t min_depth, float signif_threshold, const char* group1, const char* group2, const char* correction, const char* test, bool output_bayes, double prior_probability, double linked_probability, double null_prevalence, double group1_linked_weight, double bf_group1_alpha, double bf_group1_beta, double bf_group2_alpha, double bf_group2_beta, double bf_null_alpha, double bf_null_beta, const char* posterior_linked_family, double posterior_linked_probability, double posterior_linked_alpha, double posterior_linked_beta, const char* posterior_null_family, double posterior_null_probability, double posterior_null_alpha, double posterior_null_beta);
enum rsx_status_t rsx_signif(const char* table_path, const char* popmap_path, const char* output_path, uint32_t min_depth, float signif_threshold, const char* group1, const char* group2, const char* correction, const char* test, bool output_fasta, bool output_bayes, double prior_probability, double linked_probability, double null_prevalence, double group1_linked_weight, double bf_group1_alpha, double bf_group1_beta, double bf_group2_alpha, double bf_group2_beta, double bf_null_alpha, double bf_null_beta, const char* posterior_linked_family, double posterior_linked_probability, double posterior_linked_alpha, double posterior_linked_beta, const char* posterior_null_family, double posterior_null_probability, double posterior_null_alpha, double posterior_null_beta);
enum rsx_status_t rsx_triage(const char* table_path, const char* popmap_path, const char* output_path, uint32_t min_depth, float signif_threshold, double posterior_threshold, double bayes_factor_threshold, double prior_probability, double linked_probability, double null_prevalence, double group1_linked_weight, double bf_group1_alpha, double bf_group1_beta, double bf_group2_alpha, double bf_group2_beta, double bf_null_alpha, double bf_null_beta, const char* group1, const char* group2, const char* posterior_linked_family, double posterior_linked_probability, double posterior_linked_alpha, double posterior_linked_beta, const char* posterior_null_family, double posterior_null_probability, double posterior_null_alpha, double posterior_null_beta);
enum rsx_status_t rsx_depth(const char* table_path, const char* popmap_path, const char* output_path, float min_frequency, bool streaming);
enum rsx_status_t rsx_merge(const char*const* input_files, uintptr_t n_files, const char* output_path, uintptr_t buffer_size, bool output_parquet);
enum rsx_status_t rsx_pca(const char* table_path, const char* output_dir, uint32_t min_depth, uintptr_t n_components);
enum rsx_status_t rsx_popmap_load(const char* path, struct rsx_popmap_t** out);
void rsx_popmap_free(struct rsx_popmap_t* popmap);
uint16_t rsx_popmap_n_individuals(const struct rsx_popmap_t* popmap);
const char* rsx_last_error(void);
// macros
#define BYTES_PER_CELL
#define DEFAULT_OVERHEAD
#define DEFAULT_SPILL_FRACTION
#define RSX_VERSION
#define RSX_VERSION_MAJOR
#define RSX_VERSION_MINOR
#define RSX_VERSION_PATCH
Detailed Documentation¶
Typedefs¶
typedef enum rsx_status_t rsx_status_t
Status codes returned by all C API functions.
typedef struct rsx_popmap_t rsx_popmap_t
Opaque handle to a loaded popmap.
Global Functions¶
enum rsx_status_t rsx_process(const char* input_dir, const char* output_path, uint32_t n_threads, uint32_t min_depth)
Run the process command.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_freq(const char* table_path, const char* output_path, uint32_t min_depth)
Run the freq command.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_distrib(const char* table_path, const char* popmap_path, const char* output_path, uint32_t min_depth, float signif_threshold, const char* group1, const char* group2, const char* correction, const char* test, bool output_bayes, double prior_probability, double linked_probability, double null_prevalence, double group1_linked_weight, double bf_group1_alpha, double bf_group1_beta, double bf_group2_alpha, double bf_group2_beta, double bf_null_alpha, double bf_null_beta, const char* posterior_linked_family, double posterior_linked_probability, double posterior_linked_alpha, double posterior_linked_beta, const char* posterior_null_family, double posterior_null_probability, double posterior_null_alpha, double posterior_null_beta)
Run the distrib command.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_signif(const char* table_path, const char* popmap_path, const char* output_path, uint32_t min_depth, float signif_threshold, const char* group1, const char* group2, const char* correction, const char* test, bool output_fasta, bool output_bayes, double prior_probability, double linked_probability, double null_prevalence, double group1_linked_weight, double bf_group1_alpha, double bf_group1_beta, double bf_group2_alpha, double bf_group2_beta, double bf_null_alpha, double bf_null_beta, const char* posterior_linked_family, double posterior_linked_probability, double posterior_linked_alpha, double posterior_linked_beta, const char* posterior_null_family, double posterior_null_probability, double posterior_null_alpha, double posterior_null_beta)
Run the signif command.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_triage(const char* table_path, const char* popmap_path, const char* output_path, uint32_t min_depth, float signif_threshold, double posterior_threshold, double bayes_factor_threshold, double prior_probability, double linked_probability, double null_prevalence, double group1_linked_weight, double bf_group1_alpha, double bf_group1_beta, double bf_group2_alpha, double bf_group2_beta, double bf_null_alpha, double bf_null_beta, const char* group1, const char* group2, const char* posterior_linked_family, double posterior_linked_probability, double posterior_linked_alpha, double posterior_linked_beta, const char* posterior_null_family, double posterior_null_probability, double posterior_null_alpha, double posterior_null_beta)
Run the triage command.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_depth(const char* table_path, const char* popmap_path, const char* output_path, float min_frequency, bool streaming)
Run the depth command.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_merge(const char*const* input_files, uintptr_t n_files, const char* output_path, uintptr_t buffer_size, bool output_parquet)
Run the merge command.
input_files is an array of n_files null-terminated C strings. buffer_size of 0 selects the default buffer.
Safety¶
input_files must point to n_files valid C string pointers and the remaining pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_pca(const char* table_path, const char* output_dir, uint32_t min_depth, uintptr_t n_components)
Run the pca command.
n_components of 0 selects the default number of components.
Safety¶
All string pointers must be valid null-terminated C strings.
enum rsx_status_t rsx_popmap_load(const char* path, struct rsx_popmap_t** out)
Load a popmap from a file path.
Safety¶
path must be a valid null-terminated C string.
void rsx_popmap_free(struct rsx_popmap_t* popmap)
Free a popmap handle.
Safety¶
popmap must have been created by rsx_popmap_load.
uint16_t rsx_popmap_n_individuals(const struct rsx_popmap_t* popmap)
Get the number of individuals in a popmap.
Safety¶
popmap must be a valid handle from rsx_popmap_load.
const char* rsx_last_error(void)
Retrieve a pointer to the last error message for the current thread.
The pointer is valid until the next call to any radsex_* function on the same thread.
Safety¶
This is intended to be called from C. The returned pointer must not be freed by the caller.
Macros¶
#define BYTES_PER_CELL
Bytes per depth cell. We always store u16 in the marker buffer regardless of the inbound Arrow type, so this is a fixed 2 bytes.
#define DEFAULT_OVERHEAD
Default overhead multiplier capturing arrow validity buffers, group masks, per-marker accumulators, intermediate Vecs. 6x is conservative for the largest commands (signif FDR, triage Bayesian, depth exact).
#define DEFAULT_SPILL_FRACTION
Default fraction of available RAM we are willing to use before switching to the spill path.