NEWS.md
check_species_babelgene, check_agg_args, check_keep_popular, check_sparseMatrix, check_gene_map, check_gene_df_type, check_gene_output, check_bool_args, check_agg_opts (helper validation functions);map_orthologs_gprofiler non-chunked, chunked-serial, and chunked-parallel paths plus null/empty-input and same-source/target early returns and chunk_size validation;prepare_tree local-newick else-branch and age_max calibration paths;aggregate_mapped_genes transpose=TRUE, within-species, sort_rows, as_integers, and the early-exit “rename only” branch;infer_species test_species=NULL defaults and method-as-test_species expansion plus make_plot=FALSE;create_background use_intersect=FALSE (union), user-supplied bg, and within-species fast path;run_benchmark_once cache-hit, run_convert_orthologs=FALSE, and within-species (is_human) branches;aggregate_rows_monocle3 mean and count aggregation;rotate_clades, is_gha, load_rda, cache_dir, gconvert_target_opts, non121_strategy_opts, is_human, is_matrix/is_sparse_matrix, is_converted, add_rowcol_names, messager, format_species, methods_opts, gene_input_opts/gene_output_opts, invert_dictionary, and get_orgdb_gprofiler (use-local + use-remote) paths;filter_gene_df, aggregate_rows, map_orthologs, all_genes, and many2many_rows (aggregate_orthologs=FALSE).test-map_genes: replace message(e) with message(conditionMessage(e)) in the planarian (Schmidtea mediterranea) tryCatch error handler. Same pattern as the 1.17.4 fix to run_benchmark_once(): passing a condition object to message() re-signals it, and under testthat’s calling handlers an error condition signaled this way escapes the tryCatch and is reported as a test failure. This caused test-map_genes to fail on the GitHub Actions Windows runner whenever the planosphere mapping file failed to download. Same fix has been backported to RELEASE_3_23 as 1.18.1.NaN in JSON responses; unmatched genes are once again returned as "N/A". Examples and tests that test the default ortholog-mapping path now exercise g:Profiler honestly again — no method = "homologene" workarounds, no skip-on-error wrappers around explicit g:Profiler tests. The point of these tests is to catch an API regression, not to mask it.run_benchmark_once()’s message(conditionMessage(e)) fix — message(e) re-signals condition objects, which under testthat’s calling handlers escapes tryCatch as a test failure. Unrelated to the g:Profiler API issue and remains a real bug.test-infer_species tolerates ties in top_match. When two species (e.g. human and monkey via babelgene) tie at the top percent_match, infer_species() returns both; the test now passes as long as the expected species is among them.run_benchmark_once(): replace message(e) with message(conditionMessage(e)) inside the tryCatch error handlers. Passing a condition object to message() re-signals it, and under testthat’s calling handlers an error condition signaled this way escapes the tryCatch and is reported as a test failure — even though tryCatch did catch it. This caused test-run_benchmark to fail on GitHub Actions whenever the g:Profiler API returned malformed JSON, even though run_benchmark_once() was supposed to record NA and move on.convert_orthologs(), map_orthologs(), and all_genes() use method = "homologene" so they don’t depend on the g:Profiler API. The remote g:Profiler service has been intermittently returning JSON with literal NaN tokens, which jsonlite cannot parse, causing the Bioconductor R CMD check for examples to fail.test-aggregate_mapped_genes, test-convert_orthologs, test-infer_species) now request method = "homologene" explicitly.test-all_genes_gprofiler, the method = "gprofiler" block in test-convert_orthologs) now skip gracefully with a clear message when the API is unavailable, rather than halting the whole suite.test-run_benchmark: aggregate mean() checks now use na.rm = TRUE so a transient g:Profiler failure doesn’t NA-poison the benchmark assertions.test-infer_species: tolerate ties in top_match so that when two species are equally well-matched (e.g. human and monkey via babelgene), the test passes as long as the expected species is among them.all_genes: enable method/species-specific caching.run_benchmark_once: enable cachingcache_dir(): new function for consistencymap_orthologs_gprofiler: BIG upgrade! Can now rapidly query large gene lists via batching and parallelzation without server-side timeout errors.grr dep as it’s now deprecated #47usage/returns sections to gprofiler_orgs and gprofiler_namespace to avoid “WARNING: Empty or missing sections found in man page(s)”rworkflows::use_badges error.check_bool_args: Add check that boolean args are boolean, to avoid issues like https://github.com/neurogenomics/orthogene/issues/41
rworkflows to RELEASE_3_20map_genes() & test case added.remove_all_nas
plot_orthotree
clades_rotate
rotate_clades
add_columns
sort_rows_func
filter_gene_df
test-report_orthologs
test-convert_orthologs
map_genes_planosphere
convert_orthologs
set_gprofiler (to use beta version)map_genes
map_genes_planosphere.convert_orthologs
input_species==output species (after performing method-specific species mapping) AND standardise_genes==FALSE.add_synonyms
syn_map is NULL, will use the gene_map instead.map_orthologs_custom
if(input_species==output_species) return(NULL)
drop_non121
map_species
get_all_orgs: When species=NULL, now returns an extra columns called “scientific_name_formatted”.format_species_name: New args remove_parentheses, remove_subspecies, remove_subspecies_exceptions
report_orthologs
ref_genes once.report_orthologs_i instead of recursion to make this easier.map and report get rbound separately and returned according to the return_report arg.format_species
format_species_name.all_species:
EWCE::list_species, but decided to extend it and export it here.get_silhouettes
gather_images.plot_orthotree
clades
drop_non121
symbol_only to ONLY consider gene symbols (not ensemble IDs) when identifying non-121 orthologs.gather_images
rphylopic 1.0.0 which uses the new phylopic API.tryCatch for when the SVG is available but not the png.is_human
all_genes_babelgene
NA since it’s irrelevant for humans.dMcast
stats::pass –> stats::na.pass. Weirdly, only a problem on Linux. Did base R change a fundamental function name?Matrix.utils since it’s now deprecated.
dMcast function as a new internal function within orthogene, since that’s the only function I use from Matrix.utils.create_background:
bg gets used: https://github.com/neurogenomics/orthogene/issues/22
devtools::document doesn’t expect them to be exported objects.aggregate_mapped_genes:
map_genes.map_orthologs as a way to create gene_map automatically, when gene_map=NULL and input_species!=output_species.species into input_species and output_species args.method –> agg_method, and use method to pass to map_orthologs instead.map_orthologs.many2many_rows docs.as_integers: new arg that uses floor.FUN to agg_fun.gprofiler_namespace. Used to validate target= arg in gprofiler2 functions.aggregate_mapped_genes:
gene_map made by map_orthologs or map_genes.aggregate_mapped_genes_twice
non121_strategy and placed them in their own new own (agg_fun) since these options are no longer mutually exclusive due to many:many expansion/aggregation.as_DelayedArray
prepare_tree:
tree_source options: path / URL / OmaDB / UCSC / timetreemap_orthologs_babelgene
piggyback.use_old as an optional arg so I can switch to more recent versions of babelgene::orthologs_df if need be.babelgene::orthologs_df by default.babelgene does by default (even when babelgene::orthologs(min_support = 1)).convert_orthologs(method="babelgene") now gets gene mappings from all_genes_babelgene instead babelgene::orthologs (which doesn’t seem to work very well, despite being dedicated for this purpose).map_species:
common_species_names_dict now return “scientific_name” by default, instead of “taxonomy_id”map_species method to whatever method is being used in the function it’s wrapped within, to avoid dropping species due to naming differences.map_species_check_args.output_format when passing species to other functions.plot_orthotree: Automated plotting of phylogenetic trees with 1:1 ortholog report annotations. Includes several subfunctions:
prepare_tree (exported): Read, prune and standardise a phylogenetic tree.gather_images (internal): More robust way to find and import valid phylopic silhouettes. Will make PR requests to rphylopic and ggimage/ggtree to include this functionality.report_orthologs, especially when method="babelgene".templateR.all_genes_babelgene ortholog data to orthogene-specific cache instead of tempdir to avoid re-downloading every R session.create_background.infer_species.report_orthologs and convert_orthologs can now handle cases where input_species is the same as output_species.get_all_orgs to easily list all organisms from different packages.all_genes method “babelgene”.