Skip to content

Commit

Permalink
Fix sumstat_file() with ms (#190)
Browse files Browse the repository at this point in the history
* Fix #188

* Use Rcpp native routines registration
  • Loading branch information
paulstaab authored Oct 30, 2017
1 parent f918742 commit 2de4c88
Show file tree
Hide file tree
Showing 7 changed files with 348 additions and 348 deletions.
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: coala
Version: 0.5.1
Version: 0.5.2
License: MIT + file LICENSE
Title: A Framework for Coalescent Simulation
Authors@R: c(
Expand Down
7 changes: 7 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
coala 0.5.2
===========

* Fix sumstat_file() with ms (#188). Thanks to @acottin for reporting this issue!



coala 0.5.1
===========

Expand Down
198 changes: 99 additions & 99 deletions R/RcppExports.R
Original file line number Diff line number Diff line change
@@ -1,99 +1,99 @@
# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

parse_ms_positions <- function(line) {
.Call(coala_parse_ms_positions, line)
}

parse_ms_output <- function(file_names, sample_size, loci_number) {
.Call(coala_parse_ms_output, file_names, sample_size, loci_number)
}

parse_seqgen_output <- function(output, individuals, locus_length, locus_number, outgroup_size, calc_segsites = TRUE) {
.Call(coala_parse_seqgen_output, output, individuals, locus_length, locus_number, outgroup_size, calc_segsites)
}

generate_trio_trees <- function(trees, trio_dists, file_names) {
.Call(coala_generate_trio_trees, trees, trio_dists, file_names)
}

#' @describeIn segsites Creates segregating sites
#'
#' @param snps The SNP Matrix (see Details).
#' @param positions A numeric vector indicating the relative positions of each
#' SNP on the locus (see Details).
#' @param trio_locus If the locus consists of a locus trio (see Details).
#' @param check Whether non-segregating sites are removed from the segregating
#' sites (\code{TRUE}) or not (\code{FALSE}).
#' @export
#'
create_segsites <- function(snps, positions, trio_locus = numeric(0), check = TRUE) {
.Call(coala_create_segsites, snps, positions, trio_locus, check)
}

#' @describeIn segsites Returns the SNP matrix from a segregating sites
#' object.
#'
#' @param segsites The segregating sites object
#' @export
get_snps <- function(segsites) {
.Call(coala_get_snps, segsites)
}

#' @describeIn segsites Returns the SNP's positions from a segregating
#' sites object.
#' @export
get_positions <- function(segsites) {
.Call(coala_get_positions, segsites)
}

#' @describeIn segsites Sets the SNP's positions in a segregating
#' sites object.
#' @export
set_positions <- function(segsites, positions) {
.Call(coala_set_positions, segsites, positions)
}

#' @describeIn segsites Returns the trio locus positions from a
#' segregating sites object.
#' @export
get_trio_locus <- function(segsites) {
.Call(coala_get_trio_locus, segsites)
}

#' @describeIn segsites Sets the trio locus in a segregating sites
#' object.
#' @export
set_trio_locus <- function(segsites, trio_locus) {
.Call(coala_set_trio_locus, segsites, trio_locus)
}

calc_four_gamete_stat <- function(seg_sites_list, individuals, locus_length, ploidy = 1L) {
.Call(coala_calc_four_gamete_stat, seg_sites_list, individuals, locus_length, ploidy)
}

#' Calculates the Joint Site Frequency Spectrum
#'
#' @param segsites_list List of segregating sites
#' @param ind_per_pop A list of integer vector, where each entry gives the
#' index of the haploids that belong the corresponding population.
#'
#' @author Paul Staab & Dirk Metzler
#' @return The Joint Site Frequency Spectrum, as a matrix.
#' @keywords internal
calc_jsfs <- function(segsites_list, ind_per_pop) {
.Call(coala_calc_jsfs, segsites_list, ind_per_pop)
}

calc_mcmf <- function(seg_sites, individuals, has_trios = TRUE, expand_mcmf = FALSE, type_expand = 1L, ploidy = 1L, locus_length = matrix(0)) {
.Call(coala_calc_mcmf, seg_sites, individuals, has_trios, expand_mcmf, type_expand, ploidy, locus_length)
}

calc_nucleotide_div <- function(segsites_list, individuals) {
.Call(coala_calc_nucleotide_div, segsites_list, individuals)
}

unphase_segsites <- function(seg_sites_list, ploidy, samples_per_ind) {
.Call(coala_unphase_segsites, seg_sites_list, ploidy, samples_per_ind)
}

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

parse_ms_positions <- function(line) {
.Call(`_coala_parse_ms_positions`, line)
}

parse_ms_output <- function(file_names, sample_size, loci_number) {
.Call(`_coala_parse_ms_output`, file_names, sample_size, loci_number)
}

parse_seqgen_output <- function(output, individuals, locus_length, locus_number, outgroup_size, calc_segsites = TRUE) {
.Call(`_coala_parse_seqgen_output`, output, individuals, locus_length, locus_number, outgroup_size, calc_segsites)
}

generate_trio_trees <- function(trees, trio_dists, file_names) {
.Call(`_coala_generate_trio_trees`, trees, trio_dists, file_names)
}

#' @describeIn segsites Creates segregating sites
#'
#' @param snps The SNP Matrix (see Details).
#' @param positions A numeric vector indicating the relative positions of each
#' SNP on the locus (see Details).
#' @param trio_locus If the locus consists of a locus trio (see Details).
#' @param check Whether non-segregating sites are removed from the segregating
#' sites (\code{TRUE}) or not (\code{FALSE}).
#' @export
#'
create_segsites <- function(snps, positions, trio_locus = numeric(0), check = TRUE) {
.Call(`_coala_create_segsites`, snps, positions, trio_locus, check)
}

#' @describeIn segsites Returns the SNP matrix from a segregating sites
#' object.
#'
#' @param segsites The segregating sites object
#' @export
get_snps <- function(segsites) {
.Call(`_coala_get_snps`, segsites)
}

#' @describeIn segsites Returns the SNP's positions from a segregating
#' sites object.
#' @export
get_positions <- function(segsites) {
.Call(`_coala_get_positions`, segsites)
}

#' @describeIn segsites Sets the SNP's positions in a segregating
#' sites object.
#' @export
set_positions <- function(segsites, positions) {
.Call(`_coala_set_positions`, segsites, positions)
}

#' @describeIn segsites Returns the trio locus positions from a
#' segregating sites object.
#' @export
get_trio_locus <- function(segsites) {
.Call(`_coala_get_trio_locus`, segsites)
}

#' @describeIn segsites Sets the trio locus in a segregating sites
#' object.
#' @export
set_trio_locus <- function(segsites, trio_locus) {
.Call(`_coala_set_trio_locus`, segsites, trio_locus)
}

calc_four_gamete_stat <- function(seg_sites_list, individuals, locus_length, ploidy = 1L) {
.Call(`_coala_calc_four_gamete_stat`, seg_sites_list, individuals, locus_length, ploidy)
}

#' Calculates the Joint Site Frequency Spectrum
#'
#' @param segsites_list List of segregating sites
#' @param ind_per_pop A list of integer vector, where each entry gives the
#' index of the haploids that belong the corresponding population.
#'
#' @author Paul Staab & Dirk Metzler
#' @return The Joint Site Frequency Spectrum, as a matrix.
#' @keywords internal
calc_jsfs <- function(segsites_list, ind_per_pop) {
.Call(`_coala_calc_jsfs`, segsites_list, ind_per_pop)
}

calc_mcmf <- function(seg_sites, individuals, has_trios = TRUE, expand_mcmf = FALSE, type_expand = 1L, ploidy = 1L, locus_length = matrix(0)) {
.Call(`_coala_calc_mcmf`, seg_sites, individuals, has_trios, expand_mcmf, type_expand, ploidy, locus_length)
}

calc_nucleotide_div <- function(segsites_list, individuals) {
.Call(`_coala_calc_nucleotide_div`, segsites_list, individuals)
}

unphase_segsites <- function(seg_sites_list, ploidy, samples_per_ind) {
.Call(`_coala_unphase_segsites`, seg_sites_list, ploidy, samples_per_ind)
}

2 changes: 1 addition & 1 deletion R/simulator_ms.R
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ ms_class <- R6Class("ms", inherit = simulator_class,
}

# Add the file if needed
if (requires_files(model)) output$file <- result$file
if (requires_files(model)) output$files <- result$file
else unlink(result$file)

# Add the simulation cmd
Expand Down
46 changes: 0 additions & 46 deletions src/R_init_pkg.c

This file was deleted.

Loading

0 comments on commit 2de4c88

Please sign in to comment.