Changelog

Follow up on the latest improvements and updates.

RSS

Improved
  • Quick Compare chart labels now remain horizontal when there is sufficient space, improving readability on larger displays.
  • Filters dropdown menus now open leftward to prevent being cut off on smaller displays.

new

improved

fixed

Client Library

onecodex client library release v1.2.0

New
  • Added support for pandas 3. pandas 2 remains supported.
  • Added filtered readcount metrics (
    filtered_readcount
    ,
    filtered_readcount_w_children
    , and their normalized variants), which are computed after artifact filtering and are consistent across samples with and without abundance estimates.
  • Added
    Jobs.publish()
    for publishing draft Workflows.
  • Added
    onecodex analyses files
    and
    onecodex analyses download
    CLI commands for listing and downloading an analysis's output files.
  • Added
    onecodex jobs publish
    CLI command.
  • Added
    description
    argument to
    Jobs.run()
    .
  • Added
    --description
    option to
    onecodex jobs run
    CLI command.
  • Added
    --gzip-output
    and
    --gzip-output-compresslevel
    to
    onecodex scripts subset_reads
    .
  • Added a
    nextflow_version
    argument to
    Jobs.create()
    and
    Jobs.update()
    , and a
    --nextflow-version
    option to the
    onecodex jobs create
    and
    onecodex jobs update
    CLI commands. Defaults to the latest supported Nextflow version.
    Jobs.details()
    reports the version a workflow runs.
  • Added a
    metric
    argument to
    FunctionalProfiles.table()
    which filters results to a single metric (e.g.,
    cpm
    ,
    rpk
    , etc.). To preserve backwards compatibility, this argument defaults to
    "all"
    which returns all metrics available for an annotation.
  • Added
    Analyses.cancel()
    and
    onecodex analyses cancel
    CLI command for canceling an in-progress Custom Workflow run.
  • Added
    tax_ids
    argument to
    Samples.where()
    for filtering samples by taxa. Only samples containing all the listed taxa are returned.
Changed
  • Nextflow Workflows no longer accept an image URI. Use
    nextflow_version
    (
    --nextflow-version
    ) instead.
    image_uri
    (
    --image-uri
    ) is still required for shell script Workflows.
  • Renamed the
    Metric.is_filtered_readcount_metric
    property to
    Metric.is_abundance_sensitive
    to better describe what it flags.
  • In
    plot_metadata(width="container", ...)
    , boxplot width is now dynamically adjusted based on the number of boxes
  • Improved speed of
    onecodex scripts subset_reads
    by around 20%.
  • FunctionalProfiles.table()
    and
    filtered_table()
    raise a
    OneCodexException
    when results are unavailable, instead of returning an empty DataFrame. They also raise when a metric is not valid for the requested annotation.
  • Column dtypes on
    FunctionalProfiles.table()
    and
    filtered_table()
    are now fixed: text columns use the nullable
    string
    dtype,
    taxa_stratified
    uses
    boolean
    , and
    value
    is always
    float64
    (it could previously come back as
    int64
    ). Missing values are
    pd.NA
    and empty results now have these same dtypes.
  • FunctionalProfiles.table()
    now returns a fresh, ordered zero-based index. It previously returned a filtered slice of the full results table, which kept original indices.
  • ocx.Assemblies
    and
    ocx.Genomes
    now use the more performant, cursor-based pagination method (like
    ocx.Samples
    and
    ocx.Metadata
    ).
  • plot_heatmap()
    legend title now defaults to the metric's display name (e.g., "Readcount With Children") instead of its field name.
  • to_functional_df(taxa_stratified=True)
    columns are now a MultiIndex of
    (feature_id, taxon_id)
    , matching the layout of
    to_classification_df()
    .
Removed
  • Removed the
    unfiltered_readcount
    metrics (
    Metric.UnfilteredReadcount
    ,
    Metric.NormalizedUnfilteredReadcount
    , etc.) in favor of the new
    filtered_readcount
    metrics. Note the semantics differ: unfiltered readcounts were computed before artifact filtering, whereas filtered readcounts are computed after.
Fixed
  • plot_functional_heatmap()
    no longer raises a
    MergeError
    when the sample collection contains more than one sample without functional profile results. Samples lacking functional results are now dropped from the plot (they were never plotted anyway).
  • Plots no longer raise a
    ValueError
    when a metadata field name contains a colon character (
    :
    ).
  • Passing non-existing
    group_by
    to
    plot_bargraph
    should not throw an error.
  • Sample.{status,visiblity}
    query type corrected to
    EnumStrFilter
  • $icontains
    and
    $contains
    removed from
    EnumStrFilter
    -- substring matching behavior requires that the substring be a valid enum member which behaved unintuitively.
  • onecodex analyses <subcommand> --help
    (e.g.
    onecodex analyses logs --help
    ) no longer requires being logged in.
  • SampleCollection.plot_distance
    no longer incorrectly warns about non-comparable metrics when plotting with comparable metrics.
  • Samples.where()
    no longer raises an
    AttributeError
    when combining sample and metadata filters.
  • to_functional_df(taxa_stratified=True)
    now gives each contributing taxon its own column. Previously only one taxon's value was kept per feature.
  • Analyses.download_file()
    no longer decompresses files served with
    Content-Encoding: gzip
    , which previously resulted in
    .gz
    files containing uncompressed data.
Fixed
  • API now rejects paired-end uploads with duplicate filenames.
  • Improved error messaging when users attempt unsupported filters on enum fields in the API.
Improved
  • API responses are now gzipped for clients that support it, reducing response sizes for large payloads like metadata and sample lists.
  • FunctionalRunResource.results
    API endpoint now behaves consistently with
    ClassificationResource.results
    , for improved performance. Note: this returns results in the new condensed format.
New
  • Analysis Runs dashboard now has new filters: status, analysis type, and options to show draft and published analyses. Filter selections are saved to your user settings.
  • Users can now opt in to email notifications when launching workflows. After running analyses, you'll receive an email when they complete.
  • Workflow editor now provides a direct link (opens in a new tab) to upload new Assets. The editor auto-refreshes so newly uploaded Assets appear without reloading.
  • Analysis Runs dashboard UI updated with job colors and OCX icons for improved visual clarity.
  • Status tooltips for analysis runs simplified to show three states: Pending, Succeeded, and Failed.
New
  • Added pulsing pending badge to the Analyses navigation item that polls every 20 seconds to show when analyses are running. Includes a tooltip with more details.
Fixed
  • Alignment rows on Your Analyses page now link to the specific alignment run instead of the overview page.
New
  • One Codex analyses are now shown alongside workflow runs on the Workflow Runs dashboard page (https://app.onecodex.com/workflows/runs), accessible via "View Analyses" under the "Analyses" sub-menu on the left-hand navigation bar. This allows users to view all their analyses in one place.
  • Added pagination support to the assemblies and genomes API v1 endpoints for improved performance with large result sets.
Improved
  • Improved performance of the samples search endpoint when searching by UUID, and of v1 sample metadata list endpoint.
Fixed
  • Fix timezone handling in sample metadata imports to correctly apply client timezone offsets.
  • Updated dependencies for security.
  • Fixed an issue with the AMR report where the calculated mean depth for AMR markers was over-estimated.
New
  • API v1 now supports filtering samples by
    tax_id
    via the
    where
    parameter.
  • Split-action button on Run Workflow page allows users to choose whether to view their analysis run or launch another workflow after submitting.
Improved
  • Side menu reorganized with new "Analyses" section grouping workflow runs, workflow creation, and workflow management.
Fixed
  • Users now see a clear error message when attempting to upload a directory via drag-and-drop.
  • Fixed spacing issue in alignment run page display text.
Improved
  • Quick Compare search now returns closest matching sample names first when searching, improving relevance of results.
  • MLST View: Simplified SNP marker display by hiding cases with 0/0 required SNPs.
Fixed
  • Fixed Quick Compare search state issues that could cause stale or incorrect results to display.
Load More
→