SEXP report_hic_binned_pairs (SEXP num_in_chrs, SEXP bwidth, SEXP pairlen, SEXP chrs, SEXP pos, SEXP flag, SEXP cigar, SEXP mapqual, SEXP chimera_strict, SEXP chimera_span, SEXP minqual, SEXP do_dedup) try { simple_finder ff(num_in_chrs, bwidth); check_invalid_by_dist invchim(chimera_span); return internal_loop(&ff, &no_status_check, &invchim, pairlen, chrs, pos, flag, cigar, mapqual, chimera_strict, minqual, do_dedup); } catch (std::exception& e) { return mkString(e.what()); }
int main(void) { internal_setup(); while (true) { internal_loop(); } return 0; }
SEXP report_hic_pairs (SEXP start_list, SEXP end_list, SEXP pairlen, SEXP chrs, SEXP pos, SEXP flag, SEXP cigar, SEXP mapqual, SEXP chimera_strict, SEXP chimera_span, SEXP minqual, SEXP do_dedup) try { fragment_finder ff(start_list, end_list); check_invalid_by_fragid invfrag; // Bit clunky to define both, but easiest to avoid nested try/catch. check_invalid_by_dist invdist(chimera_span); const check_invalid_chimera* invchim=NULL; if (invdist.get_span()==NA_INTEGER) { invchim=&invfrag; } else { invchim=&invdist; } return internal_loop(&ff, &get_status, invchim, pairlen, chrs, pos, flag, cigar, mapqual, chimera_strict, minqual, do_dedup); } catch (std::exception& e) { return mkString(e.what()); }