R/RcppExports.R

Defines functions validate_recombination_rates_cpp random_ibd ibd_log10_pr_cpp FFT_T FFT_p multi_ibd_patterns_df multi_ibd_patterns_by_v_df get_multi_ibd_patterns_by_v minimal_pattern get_ibd_states_by_v get_founder_labels_for_v get_ibd_state get_detailed_Jacquard_state get_Jacquard_state get_joint_ibd_state get_kappa_state get_ibd_state_2p get_ibd_state_1p v_prior_with_f_cpp pmf_of_sum cumulative_simpson_cpp find_index_of_first_non_zero find_index_of_last_non_zero d_fraction_ibd_state precompute_V_lbeta pr_always_in_state pr_never_in_state log10_ibd_segment_pr_vectorised_cpp log10_ibd_segment_pr_cpp pr_stay_and_leave pr_number_of_segments_by_n pr_number_of_intervals_in_state_by_n get_unique_masks_and_count one_F_step_segment_count one_F_step Q_matrix q_step one_p_step

# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

one_p_step <- function(a_prev, a_next, stay_in_ibd, ibd_state_by_v, number_of_transmissions, masks) {
    invisible(.Call(`_ibdsegments_one_p_step`, a_prev, a_next, stay_in_ibd, ibd_state_by_v, number_of_transmissions, masks))
}

q_step <- function(a0, number_of_transmissions, number_of_fixed_transmissions, masks) {
    .Call(`_ibdsegments_q_step`, a0, number_of_transmissions, number_of_fixed_transmissions, masks)
}

Q_matrix <- function(number_of_transmissions, number_of_fixed_transmissions, masks) {
    .Call(`_ibdsegments_Q_matrix`, number_of_transmissions, number_of_fixed_transmissions, masks)
}

one_F_step <- function(F, F_next, stay_in_ibd, ibd_state_by_v, number_of_transmissions, number_of_fixed_transmissions, unique_masks, unique_masks_count) {
    invisible(.Call(`_ibdsegments_one_F_step`, F, F_next, stay_in_ibd, ibd_state_by_v, number_of_transmissions, number_of_fixed_transmissions, unique_masks, unique_masks_count))
}

one_F_step_segment_count <- function(F, F_next, stay_in_ibd, ibd_state_by_v, number_of_transmissions, number_of_fixed_transmissions, unique_masks, unique_masks_count) {
    invisible(.Call(`_ibdsegments_one_F_step_segment_count`, F, F_next, stay_in_ibd, ibd_state_by_v, number_of_transmissions, number_of_fixed_transmissions, unique_masks, unique_masks_count))
}

get_unique_masks_and_count <- function(masks) {
    .Call(`_ibdsegments_get_unique_masks_and_count`, masks)
}

pr_number_of_intervals_in_state_by_n <- function(ibd_state, ibd_state_by_v, n_max, number_of_transmissions, masks) {
    .Call(`_ibdsegments_pr_number_of_intervals_in_state_by_n`, ibd_state, ibd_state_by_v, n_max, number_of_transmissions, masks)
}

pr_number_of_segments_by_n <- function(ibd_state, ibd_state_by_v, n_max, number_of_transmissions, masks) {
    .Call(`_ibdsegments_pr_number_of_segments_by_n`, ibd_state, ibd_state_by_v, n_max, number_of_transmissions, masks)
}

pr_stay_and_leave <- function(stay_in_ibd, max_number_of_steps, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks) {
    .Call(`_ibdsegments_pr_stay_and_leave`, stay_in_ibd, max_number_of_steps, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks)
}

log10_ibd_segment_pr_cpp <- function(obs_cM, obs_ibd, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks) {
    .Call(`_ibdsegments_log10_ibd_segment_pr_cpp`, obs_cM, obs_ibd, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks)
}

log10_ibd_segment_pr_vectorised_cpp <- function(sample, chromosome, obs_cM, obs_ibd, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks) {
    .Call(`_ibdsegments_log10_ibd_segment_pr_vectorised_cpp`, sample, chromosome, obs_cM, obs_ibd, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks)
}

pr_never_in_state <- function(V, n_pr, n_max) {
    .Call(`_ibdsegments_pr_never_in_state`, V, n_pr, n_max)
}

pr_always_in_state <- function(V, n_pr, n_max) {
    .Call(`_ibdsegments_pr_always_in_state`, V, n_pr, n_max)
}

precompute_V_lbeta <- function(V) {
    .Call(`_ibdsegments_precompute_V_lbeta`, V)
}

d_fraction_ibd_state <- function(s, L, n_pr, V, V_lbeta, point_mass_0, point_mass_1) {
    .Call(`_ibdsegments_d_fraction_ibd_state`, s, L, n_pr, V, V_lbeta, point_mass_0, point_mass_1)
}

find_index_of_last_non_zero <- function(x, eps) {
    .Call(`_ibdsegments_find_index_of_last_non_zero`, x, eps)
}

find_index_of_first_non_zero <- function(x, eps) {
    .Call(`_ibdsegments_find_index_of_first_non_zero`, x, eps)
}

cumulative_simpson_cpp <- function(fx) {
    .Call(`_ibdsegments_cumulative_simpson_cpp`, fx)
}

pmf_of_sum <- function(x1, p1, x2, p2, eps) {
    .Call(`_ibdsegments_pmf_of_sum`, x1, p1, x2, p2, eps)
}

v_prior_with_f_cpp <- function(founder_masks, founder_f, number_of_transmissions, number_of_fixed_transmissions) {
    .Call(`_ibdsegments_v_prior_with_f_cpp`, founder_masks, founder_f, number_of_transmissions, number_of_fixed_transmissions)
}

get_ibd_state_1p <- function(x, id_idx) {
    .Call(`_ibdsegments_get_ibd_state_1p`, x, id_idx)
}

get_ibd_state_2p <- function(x, id_idx1, id_idx2) {
    .Call(`_ibdsegments_get_ibd_state_2p`, x, id_idx1, id_idx2)
}

get_kappa_state <- function(x, id_idx1, id_idx2) {
    .Call(`_ibdsegments_get_kappa_state`, x, id_idx1, id_idx2)
}

get_joint_ibd_state <- function(x, ids_idx) {
    .Call(`_ibdsegments_get_joint_ibd_state`, x, ids_idx)
}

get_Jacquard_state <- function(x, id_idx1, id_idx2) {
    .Call(`_ibdsegments_get_Jacquard_state`, x, id_idx1, id_idx2)
}

get_detailed_Jacquard_state <- function(x, id_idx1, id_idx2) {
    .Call(`_ibdsegments_get_detailed_Jacquard_state`, x, id_idx1, id_idx2)
}

get_ibd_state <- function(x, states_idx, ids_idx) {
    .Call(`_ibdsegments_get_ibd_state`, x, states_idx, ids_idx)
}

get_founder_labels_for_v <- function(v, number_of_ped_members, ped_row_is_founder_idx, from_allele_idx, to_allele_idx, number_of_fixed_transmissions, top_to_bottom_order) {
    .Call(`_ibdsegments_get_founder_labels_for_v`, v, number_of_ped_members, ped_row_is_founder_idx, from_allele_idx, to_allele_idx, number_of_fixed_transmissions, top_to_bottom_order)
}

get_ibd_states_by_v <- function(number_of_ped_members, ped_row_is_founder_idx, from_allele_idx, to_allele_idx, ids_idx, number_of_fixed_transmissions, top_to_bottom_order, states_idx) {
    .Call(`_ibdsegments_get_ibd_states_by_v`, number_of_ped_members, ped_row_is_founder_idx, from_allele_idx, to_allele_idx, ids_idx, number_of_fixed_transmissions, top_to_bottom_order, states_idx)
}

minimal_pattern <- function(x, id_idx_1_based) {
    .Call(`_ibdsegments_minimal_pattern`, x, id_idx_1_based)
}

get_multi_ibd_patterns_by_v <- function(number_of_ped_members, ped_row_is_founder_idx, from_allele_idx, to_allele_idx, ids_idx, number_of_fixed_transmissions, top_to_bottom_order, minimal = TRUE) {
    .Call(`_ibdsegments_get_multi_ibd_patterns_by_v`, number_of_ped_members, ped_row_is_founder_idx, from_allele_idx, to_allele_idx, ids_idx, number_of_fixed_transmissions, top_to_bottom_order, minimal)
}

multi_ibd_patterns_by_v_df <- function(unique_patterns, pattern_idx_by_v, ids, pr_v_constant, pr_v) {
    .Call(`_ibdsegments_multi_ibd_patterns_by_v_df`, unique_patterns, pattern_idx_by_v, ids, pr_v_constant, pr_v)
}

multi_ibd_patterns_df <- function(prob, multi_locus_m_idx, unique_patterns, ids) {
    .Call(`_ibdsegments_multi_ibd_patterns_df`, prob, multi_locus_m_idx, unique_patterns, ids)
}

FFT_p <- function(p, number_of_bits) {
    .Call(`_ibdsegments_FFT_p`, p, number_of_bits)
}

FFT_T <- function(number_of_v, theta, fixed_transmission_masks, number_of_transmissions, number_of_fixed_transmissions) {
    .Call(`_ibdsegments_FFT_T`, number_of_v, theta, fixed_transmission_masks, number_of_transmissions, number_of_fixed_transmissions)
}

ibd_log10_pr_cpp <- function(ibd_state_by_v, ibd_by_locus, recombination_rate_by_locus, number_of_transmissions, fixed_transmission_masks, pr_v_constant, pr_v_biased) {
    .Call(`_ibdsegments_ibd_log10_pr_cpp`, ibd_state_by_v, ibd_by_locus, recombination_rate_by_locus, number_of_transmissions, fixed_transmission_masks, pr_v_constant, pr_v_biased)
}

random_ibd <- function(n, chromosome_length, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks, state_stats = 1L, merge_ibd = TRUE) {
    .Call(`_ibdsegments_random_ibd`, n, chromosome_length, ibd_state_by_v, number_of_transmissions, fixed_transmission_masks, state_stats, merge_ibd)
}

validate_recombination_rates_cpp <- function(x) {
    invisible(.Call(`_ibdsegments_validate_recombination_rates_cpp`, x))
}

Try the ibdsegments package in your browser

Any scripts or data that you put into this service are public.

ibdsegments documentation built on June 8, 2025, 11:40 a.m.