no visible binding for '..keep' NOTE in .gene_exons(): replaced
exons[, ..keep] with exons[, keep, with = FALSE].no visible binding for 'x' NOTE in .build_plot(): added x to
globalVariables() in globals.R.get_pseudo_correlation() example in \donttest{} to avoid
exceeding the CRAN 5-second example time limit.plot_exclusive_junctions() and plot_exclusive_junctions_event() now
accept RefSeq-style GTFs that lack gene_name / transcript_name
attributes. The internal attribute extractor tries gene_name ->
gene_id -> gene, and transcript_name -> transcript_id, so a
RefSeq annotation like NCBI's GCF_*_GRCh38 file works with no manual
preprocessing.splikit_junction_plot with components $plot (ggplot),
$info (tidy per-junction data.table), plus the underlying
exons / junctions / tx_order tables. The info data.table
includes gene_name, gene_id, transcript_name, transcript_id,
chr, strand, j_start, j_end, j_width, exclusive,
n_tx_with_junction, observed_in_eventdata, row_names_mtx, and
is_annot for straightforward downstream analysis.print() method for the new class: rendering the plot and
printing info when the object is auto-printed at the REPL..gtf_attr, .load_gene_gtf, .gene_exons,
.tx_junctions, .order_transcripts, .build_plot, .build_info)
so the GTF-only and eventdata-based plots now share a single
implementation path.print(summary_table) calls in make_junction_ab(),
make_gene_count(), and make_velo_count() with
message(paste(capture.output(...), collapse = "\n")). The summary now
respects suppressMessages() and stays behind the verbose = TRUE
guard. A stray if (verbose) cat(...) in make_m1() was likewise
converted to message() for consistency.plot_exclusive_junctions_event() - sibling of
plot_exclusive_junctions() that sources the drawn arcs from a
splikit eventdata table. Exon structure still comes from the GTF and
exclusivity is computed gene-wide from the annotation, but only junctions
whose (i.start, i.end) coordinates are observed in eventdata are
drawn. If eventdata lacks a gene_name column the function runs
make_eventdata_plus() internally using the supplied GTF path. The plot
is rendered directly to the current graphics device (no out_file).plot_exclusive_junctions() renders a gene model with one row per
transcript, exon rectangles, intron/junction arcs, and Ensembl ids
shown beneath transcript names on the y-axis. Junctions used by a
single transcript of the gene are highlighted as solid black arcs;
shared junctions render as thin grey arcs.show_exclusive (restrict to exclusive-owning transcripts),
transcript (pin the plot to one or more transcript names),
curvature (arc-height knob).plot_exclusive_junctions_pdf() writes a multi-page PDF: page 1 is
the full gene view, subsequent pages show each exclusive transcript
with its exclusive junction in black.data.table. ggplot2 is
declared under Suggests.make_eventdata_plus() gene_name extraction
sub('.*gene_name "([^"]+)".*', ...), which
returns the input unchanged when no match is found. Gene records
without a gene_name attribute (e.g. ~310 rows in Ensembl mouse
GRCm39.110) therefore ended up with a gene_name equal to the full
attribute blob.grepl()-guarded extractor that returns NA on
no-match, with a fallback to gene_id so downstream matching by
name keeps working. The function now emits a message() reporting
how many records required the fallback.Multi-threading Support: Added parallel processing capabilities for gene expression analysis
find_variable_genes() now supports n_threads parameter for faster computation with method = "sum_deviance"Intelligent Memory Management: Enhanced memory efficiency for large datasets
make_m2() now includes automatic detection of memory limitsbatch_size, memory_threshold, force_fast for fine-tuned controlEnhanced Pseudo-correlation Analysis
get_pseudo_correlation() now supports both Cox-Snell and Nagelkerke R² metricsmetric parameter for selecting correlation type (default: "CoxSnell")Improved Data Processing
make_junction_ab() enhanced with:
verbose parameter for detailed progress trackingkeep_multi_mapped_junctions option for including multi-mapped readsmake_m1() now includes:
min_counts parameter for filtering low-count eventsverbose option for progress monitoringEnhanced Logging: All major functions now support verbose output
make_m2()verbose = FALSE for critical stepsDocumentation Website: Added pkgdown support
multithread → multi_thread)None - all changes are backward compatible. Existing code will continue to work with default parameters.
This release includes contributions addressing issue #16, focusing on performance enhancements and multi-threading support. Special thanks to all users who provided feedback and testing.
# Install from GitHub
devtools::install_github("Arshammik/splikit")
# Load the package
library(splikit)
For questions or issues, please visit: https://github.com/Arshammik/splikit/issues