- Expanded the BioSample anatomy ontology using vocabulary identified in legume data and aligned canonical terms against the Plant OntologyTM
- Expanded BioSample value normalisation to strip
WT,wild type, andwildtypedescriptors before anatomy classification - Added numeric affix stripping to recover anatomy terms from encoded values such as
root1
- Regenerated examples and fixtures for the revised behaviour
- Confirmed the test suite passes with the updated fixtures
- Added Entrez UIDs to the cached profiles produced by
summarise_biosample_availability()to further support diagnostics
- Updated roxygen documentation and the GAMA user guide accordingly
- Updated testthat coverage for the revised BioSample cached profile structure
- Regenerated examples and fixtures for the revised output structure
- Confirmed the test suite passes with the updated fixtures
- Added raw and normalised SRA strategy values to the cached profile produced by
summarise_sra_availability()to support diagnostics extract_assembly_metadata()now retains all records tied at the highest assembly level and N50 whenbest = TRUE- Expanded the BioSample anatomy ontology using terms from parasitic plant data
- Updated roxygen documentation and the GAMA user guide accordingly
- Updated testthat coverage for the revised cached profile and tied assembly handling
- Regenerated examples and fixtures for the revised behaviour
- Confirmed the test suite passes with the updated fixtures
- Renamed
extract_biosample_metadata()output columnstissue_rawandtissue_normtovalue_rawandvalue_norm
- Added raw and normalised BioSample source values to the cached anatomy profile produced by
summarise_biosample_availability()to support diagnostics - Expanded the BioSample anatomy ontology using gymnosperm, pteridophyte, and bryophyte data
- Updated roxygen documentation and the GAMA user guide accordingly
- Updated testthat coverage for the revised column names and cached anatomy profile
- Regenerated examples and fixtures for the revised output structure
- Confirmed the test suite passes with the updated fixtures
- Updated Assembly and SRA plot labels to use the word 'records' rather than 'accessions' or 'experiments'
- Updated the roxygen, README, and GAMA user guide terminology to align with the revised wording and converted the user guide from PDF to Markdown
- Added a shared test helper for retrieving the active GAMA version in synthetic test fixtures
- Confirmed 501 passing tests and
devtools::check()with 0 errors, 0 warnings, and 0 notes
- Added BioSample replication-skew analysis via
summarise_biosample_skew()andplot_biosample_skew() - BioSample skew supports metadata interpretation by quantifying record distribution across BioProjects, optionally for a single
anatomy_class
- Added BioProject provenance to BioSample profile caches, enabling BioSample skew to run from cached summary outputs without re-querying NCBI
- Added
skew_id_recoverydiagnostics to SRA and BioSample skew outputs, making record inclusion, exclusion, and ID recovery explicit - Refined skew calculations to exclude records with missing skew-unit IDs after filtering
- Patched provenance retention in
extract_assembly_metadata()when filtering byspecies
- Standardised SRA and BioSample skew object naming across fixtures, examples, and tests
- Updated fixture-generation and example-generation workflows for new
BIO_SKEWobjects
- Updated the
plot_sra_skew()axis label to reference SRA records
- Updated roxygen documentation and the GAMA user guide accordingly
- Expanded test coverage for BioSample skew, skew diagnostics, validation, and cache provenance
- Confirmed
devtools::check()with 0 errors, 0 warnings, and 0 notes
- Added a BioSample tissue workflow via
summarise_biosample_availability(),plot_biosample_availability(), andextract_biosample_metadata(), completing the core Assembly/SRA/BioSample function family - BioSample records can now be classified and filtered by anatomy class, anatomy subclass, and anatomy term
- Added an SRA-BioSample interaction workflow via
summarise_interaction()andplot_interaction() - Interaction summaries link SRA sequencing modality with BioSample-derived anatomy profiles
- Added cached BioSample anatomy profiles to support downstream extraction and SRA-BioSample interaction analysis
- Strengthened cache validation across SRA, BioSample, and interaction workflows
- Improved object-aware validation across the expanded GAMA API
- Extended parameter validation and suggestion logic for modality, anatomy, plotting, and interaction arguments
- Added internal BioSample record-level parsing, normalisation, ontology-driven classification, and profile-collapsing logic
- Extended cached profile infrastructure for SRA-BioSample interaction analysis
- Refined shared validation helpers for incompatible objects, missing caches, invalid parameters, and close-match suggestions
- Updated roxygen documentation and the GAMA user guide for the new BioSample and interaction workflows
- Added a CRAN-level
testthatsuite covering the full GAMA workflow - Validated end-to-end object fixtures, core formulae, cache integrity, and parameter/error-message logic
- Added
summarise_assembly_availability()andplot_assembly_availability()to complete the NCBI Assembly workflow, bringing it into line with the SRA workflow
- Expanded object-aware error messaging across summary, plotting, and metadata workflows
- Improved parameter validation and suggestion logic for invalid user inputs
- Added shared helpers for recognised assembly levels, scoring, and
best_n50selection - Extended internal GAMA object tagging to support the new Assembly summary workflow
- Updated roxygen documentation and the GAMA user guide, including the addition of a new API map
- Tested the new Assembly summary and plotting workflow using real
query_species()outputs - Tested compatible and incompatible input paths to confirm the expanded error messaging
- Patched SRA modality subclass capitalisation so
otherandunknownare treated consistently as lower-case labels - Added clearer error messaging for invalid
class,subclass, andunitargument parameters, including suggestion logic
- Removed the
classesargument fromplot_sra_geo() plot_sra_geo()now uses a fixed GEO-oriented modality display set
- Updated roxygen documentation and the GAMA user guide accordingly
- Tested canonical, normalised, fuzzy, and unmatched parameter inputs using real
query_species()workflows
- Standardised input validation and error messaging across user-facing summary and plotting functions
- Added object-aware errors for incompatible GAMA and non-GAMA objects, missing columns, and missing cached profiles
- Added internal object-type tags to support downstream validation
- Centralised validation and cache-check logic in helpers
- Revised roxygen descriptions and updated the user guide accordingly
- Ran checks across compatible and incompatible input paths to confirm the new messaging logic and core functionality
- Added synonym-aware querying to
query_species()via a newsynonymsargument - Query results can now be collapsed under canonical species names across Assembly, SRA, and BioSample using unique database record identifiers
- Synonym-collapsed results are returned as one bucket per canonical species without double counting repeated record IDs
- Added internal helpers for synonym parsing, validation, canonical mapping, and search-result collapse
- Standardised collapsed search outputs so synonym-merged results retain a consistent internal structure for downstream workflows
- Expanded
query_infoto record queried terms and synonym groups in addition to tool version, query timestamp, and database names
- Expanded roxygen
@seealsocross-references across user-facing functions for clearer upstream/downstream navigation - Updated
query_species()roxygen to describe and demonstrate the newsynonymsargument - Updated the GAMA user guide to include the new argument
- Confirmed functionality with end-to-end workflow tests
- Renamed
extract_assembly_metadata()output columnaccessiontoentrez_uidfor semantic correctness
- Updated the user guide accordingly
- Replaced safe-search path with retrying
entrez_search()wrappers - Added
web_history-aware summary retrieval for large Entrez result sets
- Switched metadata retrieval to species-local batching
- Simplified NCBI configuration to API key support only
- Removed GAMA request throttling and related legacy code
- Eliminated redundant Assembly summary refetching during metadata extraction
- Removed redundant legacy SRA batch-size code
- Updated
query_species()to tick once per completed Assembly, SRA, and BioSample search
- Updated the GAMA user guide to reflect revised NCBI configuration and history-aware retrieval behaviour
- Confirmed functionality with end-to-end workflow tests
- Fixed filtering in
extract_sra_metadata(),plot_sra_availability(), andplot_sra_skew() - This bug occurred because
class,subclass, andspecieswere used both as function arguments and as metadata column names - Updated affected filters to use explicit
.env$...references
- Re-tested
extract_sra_metadata()and confirmed thatclass =andsubclass =filters now work correctly - Re-ran SRA availability, GEO overlay, and skew plotting workflows to confirm expected behaviour
- Renamed
plot_sra_geo_availability()toplot_sra_geo() - GEO linkage fields are now always cached in
summarise_sra_availability()output via the attachedsra_profile, regardless ofinclude_geo include_geo = TRUEnow acts only as an output visibility option, appending species-level GEO summary columns without changing what is cached
- Updated roxygen documentation and examples to reflect the revised GEO caching and
plot_sra_geo()workflow - Added
docs/GAMA_user_guide.pdfas a comprehensive reference for GAMA functions and methods
- Tested end-to-end SRA availability and GEO overlay workflow
- Centralised user-facing messaging via new helpers (
.gama_msg(),.gama_warn(),.gama_stop()) for consistent and informative console outputs - Standardised info/warning/error messaging style (and user-friendly
call. = FALSEprinting where appropriate) to reduce legacy drift - Updated provenance and print pathways to use the unified messaging style
- Reduced silent drops in availability workflows: summaries retain requested species and emit explicit messages when species have no data
plot_sra_geo_availability()now matchesplot_sra_availability()styling more closely:- prevents GEO-linked fraction label clipping (margin/placement adjustments)
- enforces clean 0–1 axis breaks and two-decimal tick labels
- Ran end-to-end availability and plotting workflows to confirm changes do not alter core functionality
- Added SRA skew workflow (
summarise_sra_skew()andplot_sra_skew()) to support BioProject/BioSample-level record aggregation - Diversity summaries include Inverse Simpson index (
eff, effective number):- low values indicate evidence dominated by a small number of projects/samples
- high values indicate broader, more balanced support
summarise_sra_availability()now caches parsed SRA profiles on outputs for reuse by downstream summaries/plots- Centralised progress-bar handling for more consistent reporting
- Added new Imports dependency
{rlang}
extract_sra_metadata()now returnsentrez_uid(replacingsra_id) and addsbiosampleandbioprojectcolumns
- Added/expanded roxygen documentation and examples for the SRA skew workflow
- Updated examples to reflect diversity-aware feasibility assessment workflows
- Conducted extended end-to-end tests to validate the new workflow
- Removed redundant code
- Improved internal structure and plotting logic
- Revised and expanded roxygen documentation
- Improved help page formatting and cross-references
- Conducted end-to-end workflow tests
- Validated plotting and metadata extraction functions
- Simplified internal scripts and removed redundant code
- Improved internal consistency and readability
- Validated behaviour against previous version using smoke tests
- Confirmed compatibility with existing saved result objects