1.5.4 (2023-09-19)

Bugs fixed

  • get file and content: fixed bug where file field names did not match API response (e.g. FilePath is now Path)
  • launch application: fixed bug where launches with file inputs would sometimes fail with the error "failed translating file ID"

1.5.3 (2022-12-15)

Bugs fixed

  • Fixed bug where successful commands (such as launch application) could be timed out while waiting for a response. The timeout for all commands has been extended to 6 minutes.
  • Fixed panic when downloading files containing a colon (:) on Windows
  • Fixed bug where some fields were not available for files when using the contents command

1.5.2 (2022-08-17)

Bugs fixed

  • Fixed bug where upload run failed setting run name (also known as instrument ID) and flow cell barcode. Values for these fields are parsed from RunInfo.xml by default, but can be overridden using --run-id and --flowcell.
  • Fixed bug where list flattened JSON array outputs when there was a single result. Output JSON (when using -f json) will now consistently be an array for list commands.
  • Fixed bug uploading filenames containing special characters such as plus (+), dollar ($) and ampersand (&)
  • Fixed a cause of occasional panic seen when uploading a run

1.5.1 (2021-12-16)

Bugs fixed

  • Performance and stability improvements

1.5.0 (2021-11-18)

New commands

  • appsession logs: list log files for an appsession, exposing their IDs which can then (for example) be used with download file to retrieve the log contents
# download all log files for a given appsession into the current working directory
$ bs appsession logs 123456 --terse | xargs -n1 bs download file --no-metadata -i
# download log files with a .log extension 
$ bs appsession logs 123456 --terse --extension log | xargs -n1 bs download file --no-metadata -i
  • appsession children: show the child appsessions for an analysis workflow or multi-node parent appsession
  • dataset copy: call the remote Sequence Hub copy function for FASTQ datasets, duplicating file data in a new project

Tweaks to existing commands

  • launch application:
    • added --no-defaults as an advanced option to prevent the CLI filling in default options for a launch
    • added --option-help to pull the tooltip text, if present, for a given launch option
$ bs launch application -n 'DRAGEN Germline' --app-version 3.9.5 --option-help project-id
+------------+-----------------------------------------------+
|   Option   |                     Help                      |
+------------+-----------------------------------------------+
| project-id | Select a project to save analysis results to. |
+------------+-----------------------------------------------+
  • download:
    • the default output location is now the current working directory (equivalent to -o .)
    • added a size check on completion of each file download
    • added a summary progress bar for large file sets (--summary)
  • upload run:
    • added ability to specify a path to the run parameters XML file (--run-parameters) which may be located outside of the run folder being uploaded

Bugs fixed

  • download: fixed regression introduced in v1.4.0 where files were queued before the download starts, delaying large downloads (such as runs) from starting while the file list was gathered

1.4.1 (2021-09-21)

Bugs fixed

  • upload dataset:
    • fixed bug where uploading large numbers of FASTQs to the same BioSample could hang the process
    • fixed bug with mismatched content signatures when uploading files with = or + in their filename
    • fixed bug where one or more empty FASTQ files could hang an upload
  • launch application:
    • fixed a rare edge case where the CLI may launch with a different default for a Select control than when launching via the web UI for some applications
    • fixed an issue when launching and supplying multiple options to a Tabular Fieldset control. For example, previously if 2 BioSamples were supplied the second may be ignored unless all other options on the Tabular Fieldset were also supplied. With this fix, defaults will now be filled to the length of the longest supplied option.
  • All commands: fixed bug deserialising very large integers on 32-bit platforms

1.4.0 (2021-06-23)

New commands

  • yield biosample returns the yields for all library prep kits for a given biosample:
> bs yield biosample -i 123456 
+--------------------+----------------+------------------+
|  LibraryPrep.Name  | LibraryPrep.Id | TotalActualYield |
+--------------------+----------------+------------------+
| TruSight Tumor 170 | 1425425        | 10938006090      |
+--------------------+----------------+------------------+

Tweaks to existing commands

  • upload,download and contents: added --include and --exclude flags for flexible subsetting of file sets using UNIX-style wildcard patterns:
> bs contents dataset -i ds.ad11a51e883f4f399a779dd86c8586ed --exclude '*' --include '*.vcf.*' --exclude '*.ploidy.*'
+-------------+-----------------------------------------------+
|     Id      |                   FilePath                    |
+-------------+-----------------------------------------------+
| 21100442038 | NA12878-PCRF450-1.cnv.vcf.gz                  |
| 21100442039 | NA12878-PCRF450-1.cnv.vcf.gz.md5sum           |
| 21100442040 | NA12878-PCRF450-1.cnv.vcf.gz.tbi              |
| 21100442048 | NA12878-PCRF450-1.hard-filtered.vcf.gz        |
| 21100442049 | NA12878-PCRF450-1.hard-filtered.vcf.gz.md5sum |
| 21100442050 | NA12878-PCRF450-1.hard-filtered.vcf.gz.tbi    |
| 21100442066 | NA12878-PCRF450-1.sv.vcf.gz                   |
| 21100442067 | NA12878-PCRF450-1.sv.vcf.gz.tbi               |
+-------------+-----------------------------------------------+
  • upload run:
    • Added --quiet flag to suppress all feedback on transfer progress (both progress bars and file-by-file completion)
    • Returns uploaded run metadata on completion
    • Removed --id flag
  • list appsession:
    • added --qc-status option to filter by QC status (e.g. bs list appsessions --qc-status QCFailed)
    • added --delivery-status option to filter by delivery status (e.g. bs list appsessions --delivery-status ReadyForDelivery)
  • update project: added the ability to edit a project's description: > bs update project --field-name description --field-content 'My new project description'
  • seqstats run: added additional metric fields

Bugs fixed

  • INFO and DEBUG log messages (enabled using -vvvv) are now written to standard error (stderr) rather than standard output

1.3.1 (2021-03-22)

Bugs fixed

  • upload: fix bug where temporary upload credentials may expire during very long uploads (more than 24 hours)
  • upload run: fix bug where an upload may fail, and the run is marked Upload Failed, but the CLI exits with a success exit code (0)

1.3.0 (2021-02-16)

New commands

  • download appsession downloads all the output datasets of a given appsession (and appsession contents lists an appsession's output files)

$ bs download appsession -i 123456 -o my-appsession

  • update dataset allows changing the QC Status of a dataset

$ bs update dataset -i ds.1234567abcdef --field-name qc-status --field-content QcPassed

Tweaks to existing commands

  • download: added --no-metadata flag to skip writing a metadata JSON file
  • upload: progress bars are now automatically turned off when uploading more than 1,000 files (common when uploading runs). This avoids issues seen with drawing huge numbers of progress bars. A lightweight file-by-file progress summary is shown instead.
  • contents: Added --filter-field and --filter-term enabling more flexible filtering using regex, for example: bs contents appsession -i 123456 --filter-field FilePath --filter-term 'NA1287[78]'
  • All commands: added an even more verbose -vvvvvv logging option which is currently only used to output additional part-by-part granular upload request information to help debugging
  • upload dataset: added --appsession flag which returns (only) the appsession used to upload data. This enables an 'upload data then launch an app' pattern, e.g. by chaining await appsession on the output of upload dataset --appsession
  • history: add --page-size argument to enable user optimisation when retrieving many history records

Bugs fixed

  • upload: fixed bug where empty 0 byte files were not uploaded
  • upload run: fixed bug where user cancelling (e.g. Ctrl+C) would sometimes not mark the run as Upload Failed

1.2.1 (2020-08-12)

  • Tweaks to existing commands:

    • auth: now requests the CREATE RUNS scope by default
  • Bugs fixed:

    • upload run:
    • any empty files (e.g. SequenceComplete.txt) will now be uploaded rather than skipped
    • fixed a bug where --skip-dir arguments with a trailing path separator was ignored
    • now accepts runParameters.xml as well as RunParameters.xml across all supported OS

1.2.0 (2020-05-29)

  • New commands:

    • upload run: simple, fast and robust upload of a local run folder to Sequence Hub!
    • accession manifest: upload a biosample manifest from the command line to create biosamples, attach metadata and queue analysis workflows
    • update biosample / appsession: use this to edit a biosample default project or change an appsession’s execution status, for example
    • revoke config: expire an access token and delete the CLI configuration file
    • seqstats run: get statistics for a run such as Yield and % PF
  • Tweaks to existing commands:

    • upload: fine-grained concurrency controls added (--concurrent-files and --concurrent-parts)
    • upload dataset: clearer error reporting when no files found to upload
  • Bugs fixed:

    • upload dataset: FASTQ filenames with sample numbers >999 now accepted as valid
    • upload: fixed bug where file handles weren’t closed as upload completes
    • download: --no-progress-bars no longer shows one progress bar

1.1.0 (2019-12-05)

  • New commands:
    • trash management commands: list, empty and restore
    • history for accessing enterprise account audit logs
    • rename run for the new run rename feature added in BSSH v5.40
  • Tweaks to existing commands:
    • list datasets: add --input-run filter flag
    • list datasets/appsessions: add --input-biosample-id filter flag
    • get appsession: add compute statistics fields to output
    • load config: if no config passed, use default
  • Bugs fixed:
    • delete project: fix bug where deleting a shared project gave an EOF error
    • upload dataset: fix bug in fastq upload with --recursive where directory structure was retained
    • list datasets: fix bug where filtering by both project and type caused type to be ignored

1.0.0 (2019-08-14)

  • Fully supported CLI release based on v0.10.9

0.10.9 (2019-08-05)

  • application launch: various usability improvements and bug fixes detailed below:
    • file IDs supplied to a launch command will now be auto-converted from V2 -> V1 as required
    • improved support for launching apps that use the Resource Matcher control, adding support for empty column arguments and an error if too many columns are specified
    • fix multi-select for checkbox controls with >1 option
    • respects quoting to pass argument strings containing a comma to multi-select controls
    • launching with a biosample that has multiple associated library preps will now prompt the user to choose one from a list of available options
    • added a warning when launching an app by name without also specifying --app-version

0.10.8 (2019-04-09)

  • upload dataset: retains local directory structure on remote when using the --recursive flag
  • download dataset: now downloads files in parallel for a significant speed-up when downloading many small files
  • translate dataset: fix bug when converting FASTQ datasets to samples

0.10.7 (2019-02-22)

  • new command: unlock biosample enables auto-aggregated biosamples to be used in app launches
  • new command: link file returns a signed S3 link for a given file ID
  • list appsession: add additional filters: --project-name, --project-id and --input-run
  • await appsession: add option to return appresults instead of datasets (--appresults)

0.10.6 (2019-02-11)

  • upload dataset: add --appsession-label argument to rename upload appsession
  • await appsession: fix bug in polling delayed datasets
  • all commands: rename stdout/stderr flags to --stdout / --stderr to avoid collisions with other flags

0.10.5 (2018-12-14)

  • get run: fix bug where several fields were missing

0.10.4 (2018-12-10)

  • new commands: rename application, project and appsession
  • launch application: fix bug for apps using complex TabularFieldset controls
  • await appsession: fix bug waiting for appsessions that write samples

0.10.3 (2018-11-30)

  • New commands: get / download file (by ID)
  • bs download: by default, only download what is not in the target directory already (like rsync). Use --overwrite to override
  • bs download: make project + biosample downloadable
  • bs download: fix bug where large entities (like runs) were not fully downloading
  • bs upload: fix bug where uploading a single end fastq with a validation error caused a panic

0.10.2 (2018-10-24)

  • Fix bug in bs await appsession

0.10.1 (2018-10-22)

  • Fixes compilation on Windows

0.10.0 (2018-10-22)

  • v0.10.0 release: started release notes
  • bs upload dataset:
    • Progress bars
    • Control of concurrency level
    • Ability to upload generic files --type common.files
    • Ability to ignore bad readnames in fastq files
  • New command: bs translate appresult and bs translate dataset
  • New command: bs await appsession
  • bs download: add ability to download uncompressed
  • bs application launch: Add support for TabularFieldset
  • bs create project:
    • Better output
    • Error on creating existing project
  • bs list biosample: add --projectid switch
  • bs create workflow: Slightly improve usability