Recent Releases of CheckQC

CheckQC - v4.1.0

What's Changed

  • Connect QCData to cli and web app by @Aratz in https://github.com/Molmed/checkQC/pull/128

Full Changelog: https://github.com/Molmed/checkQC/compare/v4.0.7...v4.1.0-rc1

Scientific Software - Peer-reviewed - Python
Published by Aratz 9 months ago

CheckQC - v4.0.7

What's Changed

  • Add schema to package_data by @Aratz in https://github.com/Molmed/checkQC/pull/131

WIP - BCLConvert support (not yet connected to the main application)

  • Improve Illumina view by @Aratz in https://github.com/Molmed/checkQC/pull/127

Full Changelog: https://github.com/Molmed/checkQC/compare/v4.0.6...v4.0.7

Scientific Software - Peer-reviewed - Python
Published by Aratz 10 months ago

CheckQC - v4.0.6-rc1

What's Changed

  • Add NextSeq 500/550 support by @lbeltrame in https://github.com/Molmed/checkQC/pull/119
  • Changed how index reads and non-index reads are identified in error m… by @nkongenelly in https://github.com/Molmed/checkQC/pull/122
  • Add config validation (part of https://github.com/Molmed/checkQC/pull/118)

WIP - BCLConvert support (not yet connected to the main application)

  • Implement QCData class by @Aratz in https://github.com/Molmed/checkQC/pull/118
  • Refactor QCData by @Aratz in https://github.com/Molmed/checkQC/pull/120
  • Added percent_q30 using new QCData and QCReport by @nkongenelly in https://github.com/Molmed/checkQC/pull/121
  • Implement unidentified index checker by @Aratz in https://github.com/Molmed/checkQC/pull/123
  • Implement undetermined percentage checks by @Aratz in https://github.com/Molmed/checkQC/pull/124
  • Fix reads per samples by @Aratz in https://github.com/Molmed/checkQC/pull/125

New Contributors

  • @lbeltrame made their first contribution in https://github.com/Molmed/checkQC/pull/119

Full Changelog: https://github.com/Molmed/checkQC/compare/v4.0.5...v4.0.6-rc1

Scientific Software - Peer-reviewed - Python
Published by nkongenelly 11 months ago

CheckQC - v4.0.5

What's Changed

  • DATAOPS-779: Fix bug in undetermined percentage handler by @matrulda in https://github.com/Molmed/checkQC/pull/117

Full Changelog: https://github.com/Molmed/checkQC/compare/v4.0.4...v4.0.5

Scientific Software - Peer-reviewed - Python
Published by matrulda over 1 year ago

CheckQC - v4.0.4

What's Changed

  • Pin numpy<2 to avoid incompatibility with interop
  • Dataops 638 q30 drop per cycle by @monikaBrandt in https://github.com/Molmed/checkQC/pull/115

Full Changelog: https://github.com/Molmed/checkQC/compare/v4.0.3...v4.0.4-rc1

Scientific Software - Peer-reviewed - Python
Published by Aratz over 1 year ago

CheckQC - v4.0.3

What's Changed

  • Fixed issue where incorrect read numbers would be displayed by @nkongenelly in https://github.com/Molmed/checkQC/pull/114

Full Changelog: https://github.com/Molmed/checkQC/compare/v4.0.2...v4.0.3

Scientific Software - Peer-reviewed - Python
Published by matrulda over 1 year ago

CheckQC - v4.0.2

Patch update: - The Q30 Handler now checks the index reads as well.

Scientific Software - Peer-reviewed - Python
Published by matrulda almost 2 years ago

CheckQC - v4.0.1

Patch change: - Bumped version to be able to make a new PyPI release with the correct tag.

Scientific Software - Peer-reviewed - Python
Published by matrulda almost 2 years ago

CheckQC - v4.0.0

Major changes

  • CheckQC now requires Python v3.10

Minor Changes

  • Update Reagent Recognizer to support NovaSeq X Plus Control Software v1.2

Scientific Software - Peer-reviewed - Python
Published by Aratz about 2 years ago

CheckQC - Update dependencies

Update dependency to interop.

Scientific Software - Peer-reviewed - Python
Published by Aratz over 2 years ago

CheckQC - Add support for NovaSeq X Plus

This version introduces support for NovaSeq X Plus instruments.

Scientific Software - Peer-reviewed - Python
Published by matrulda almost 3 years ago

CheckQC - Add support for Nano and Micro MiSeqs

New feature: - Added support for Nano and Micro Miseq flowcells that produces less data than a regular flowcell. CheckQC can now detect those types of runs and QC criteria for those types have been added to the config.

Scientific Software - Peer-reviewed - Python
Published by matrulda over 3 years ago

CheckQC - Use PyYAML's safe_load instead of load

Patch changes: - Use PyYAML's safe_load instead of load (#101)

Scientific Software - Peer-reviewed - Python
Published by matrulda about 4 years ago

CheckQC - Clearer QC messages

Patch changes: - Fixed travis integration issue - Updated QC messages in unidentified index handler to be clearer about which index it is referring to

Scientific Software - Peer-reviewed - Python
Published by matrulda over 4 years ago

CheckQC - v1.5 reagents adjustements to NovaSeq

Patch changes: - Minor adjustments of NovaSeq QC thresholds to account for the v1.5 reagents.

Scientific Software - Peer-reviewed - Python
Published by matrulda over 4 years ago

CheckQC - Default config update and fixing docs (with bumped version number)

New release since version number never was incremented in the last one

Patch updates: - Bioconda information added to README - Docs building fixes - Updated some QC thresholds in the default config

Scientific Software - Peer-reviewed - Python
Published by matrulda over 5 years ago

CheckQC - Default config update and fixing docs

Patch updates: - Bioconda information added to README - Docs building fixes - Updated some QC thresholds in the default config

Scientific Software - Peer-reviewed - Python
Published by matrulda over 5 years ago

CheckQC - Update interop requirement

Patch release: - Fixed problem where NovaSeq SP couldn't be run #88

Scientific Software - Peer-reviewed - Python
Published by matrulda almost 6 years ago

CheckQC - New feature: Use closest read length

It is possible to instruct CheckQC to use the closest read length if the read length of the run is not found in the config. In case of a tie between two read lengths, the longer read length (with stricter QC criteria) will be used.

Usage: $ checkqc --use-closest-read-length <RUNFOLDER>

This parameter can be supplied to the webservice as a query argument: curl -s -w'\n' localhost:9999/qc/170726_D00118_0303_BCB1TVANXX?useClosestReadLength | python -m json.tool

Scientific Software - Peer-reviewed - Python
Published by matrulda about 6 years ago

CheckQC - New feature: Downgrade errors

It is now possible to downgrade errors to warnings for specific handlers. Prior to evaluating the QC criteria, the config will be updated so that warning threshold = error threshold and error threshold = unknown. Read more about usage in the docs.

Scientific Software - Peer-reviewed - Python
Published by matrulda over 6 years ago

CheckQC - New feature: Index white-list

It is now possible to specify white-list indexes that only cause warnings even if they occur above the significance level.

Scientific Software - Peer-reviewed - Python
Published by matrulda over 6 years ago

CheckQC - Small QC config update

Patch: Updated Q30 threshold for hiseqx_v2.

Scientific Software - Peer-reviewed - Python
Published by matrulda almost 7 years ago

CheckQC - QC critera for NovaSeq SP 101 bp

Patch: QC criteria for NovaSeq SP, read length 101 bp, have been added to the default config.

Scientific Software - Peer-reviewed - Python
Published by matrulda almost 7 years ago

CheckQC - More information on dual indexes and errors instead of warnings for significant indexes

This release changes the behavior when significant unidentified indexes are found from warning to giving an error, i.e. it will make the exit flag of the program 1 instead of 0.

In addition to this it introduces more sophisticated checks for dual indexes. We will now check each index in a dual index combination separately to see if one of the two e.g. has been reversed, or if the found index matches the complement of an index in the samplesheet.

Scientific Software - Peer-reviewed - Python
Published by johandahlberg about 7 years ago

CheckQC - Bug fix: Fixed missing version bump

Scientific Software - Peer-reviewed - Python
Published by johandahlberg about 7 years ago

CheckQC - Support for NovaSeq SP flowcells

This release include the following updates: - The readme now refer to Python 3.6 instead of Python 3.5 since the later version is needed for some modules to run properly. - Support and QC criteria for NovaSeq SP is now added. - QC criteria and read length for some instrument types are now in the configuration file.

Scientific Software - Peer-reviewed - Python
Published by monikaBrandt about 7 years ago

CheckQC - Bug fix: iSeq Instrument ID correction

The documentation regarding iSeq naming conventions was incorrect, the naming convention for iSeqs should be that they start with FS. This is fixed in this version.

Scientific Software - Peer-reviewed - Python
Published by matrulda over 7 years ago

CheckQC - Index checking

This release introduces the UnidentifiedIndexHandler. This will aid in identifying indexes which end up as unidentified after demultiplexing. This is a nifty feature since often when there is a high amount of unidentified reads, this is cased by errors in the samplesheet. For example, when using dual indexes index one and index two may have swapped places.

The new handler will look for in indexes found in undetermined at a frequency compared to the number of reads on the lane above what is specified by significance_threshold (default: 1%) in the config and compare them to the samplesheet to decide if: - dual indexes have been swapped - the index has been reversed - the index is the reverse complement - the index is the complementary index - the index is present in another lane

An example of that the output you will get could look like is: WARNING QC warning: Index: TTCGAT on lane: 8 was significantly over represented (10.0%) at significance threshold of: 1%. WARNING QC warning: We found a possible match for the reverse of tag: TTCGAT, on: Lane: 2, for sample: SampleA. The tag we found was: TAGCTT The first line will warn that the index is represented over the configured threshold, and the second line will suggest what might be wrong (based on the scenarios listed above).

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Bug fix: Fix configuration for iSeq

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - UndeterminedPercentageHandler takes PhiX amount into account

The UndeterminedPercentageHandler will now take the amount of PhiX on the lane into account. The reason for this is that all PhiX will count as undetermined indexes. This will cause runfolders for which a user may not want an error to count as one, especially since the amount of PhiX spiked in can vary a lot. The configuration thresholds in the configuration are now specified as: <% PhiX> + <configuration value>

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC -

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Updated interop dependency for iSeq support

Bugfixes: - Updated interop dependency for iSeq support - iSeq support is now mentioned in README and docs

Scientific Software - Peer-reviewed - Python
Published by matrulda over 7 years ago

CheckQC - New definition of reads per sample and iSeq support

Major changes:

New definition of reads per sample

Reads per sample are now counted per sample name instead of sample ID. It allows a sample to have multiple libraries in the same lane and still be counted as one sample. For example, in a run with the following sample sheet: Sample_ID,Sample_Name Pool1_1,Pool1 Pool1_2,Pool1 Pool2_1,Pool2 Pool2_2,Pool2 the sum of reads for Pool1_1 and Pool1_2 will be defined as the reads for Pool1. This was not the case in previous versions of CheckQC, where each unique sample ID was considered a sample.

Minor changes:

  • Support for iSeq
  • Improved error handling

Scientific Software - Peer-reviewed - Python
Published by matrulda over 7 years ago

CheckQC - New definition of reads per sample

Major changes: Reads per sample are now counted per sample name instead of sample ID. It allows a sample to have multiple libraries in the same lane and still be counted as one sample. For example, in a run with the following sample sheet: Sample_ID,Sample_Name Pool1_1,Pool1 Pool1_2,Pool1 Pool2_1,Pool2 Pool2_2,Pool2 the sum of reads for Pool1_1 and Pool1_2 will be defined as the reads for Pool1. This was not the case in previous versions of CheckQC, where each unique sample ID was considered a sample.

Minor changes:

Note that this is a pre-release.

Scientific Software - Peer-reviewed - Python
Published by matrulda over 7 years ago

CheckQC -

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Minor bug fix release

This release fixes a minor bug where the error rate handler error message was odd.

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Release process bug fix

The version was not properly updated in the last release (so version 1.7.0 will not be available via pypi). However v1.7.1 should fix this and contain the same updates as the previous release.

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Support for Novaseq S1, S2, and S4 flowcells

CheckQC now supports Novaseq S1, S2, and S4 flowcells. Enjoy!

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Automatically push new releases to PyPI

This version updates nothing user facing, but facilitates the release process of checkQC by automatically using new releases to PyPI.

Tags v1.6.0 and v1.6.1 were attempts to get this working and can be disregarded.

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 7 years ago

CheckQC - Remove threading from the web service

The ProcessPoolExecutor functionality has been removed from the web service, basically reducing it to running things in a blocking fashion. The problem with the ProcessPoolExecutor was that it spawned a lot of threads that were left running and wouldn't terminate properly. The most straightforward way to fix it is, for now, to remove the threading.

A Dockerfile has been added for running the web service in a container.

Scientific Software - Peer-reviewed - Python
Published by b97pla over 7 years ago

CheckQC - Bug fix: Undetermined percentage handler will not break when yield is 0

This is a bug fix release which makes sure that the undetermined percentage handler does not break when the yield is zero. Thanks to @sarek928 for reporting it: https://github.com/Molmed/checkQC/issues/55

Scientific Software - Peer-reviewed - Python
Published by johandahlberg almost 8 years ago

CheckQC - New read length definition, improved docs and error handling

Minor update: - Read length is now defined as the number of cycles run for a read. Read length intervals in config have been updated as an effect of this. - Read length intervals are now lower and upper inclusive. This together with the new read length defintion solved issue #53 . - Config usage have been moved from config to docs. - The issue where a certain machine type, run type and read length combination can't be found in the config, will now be communicated to the user.

Scientific Software - Peer-reviewed - Python
Published by matrulda about 8 years ago

CheckQC - Improved documentation, JOSS paper and bug fixes

This release contains: - Our paper submitted to JOSS on CheckQC - Many improvements to the documentation, including building the docs using ReadTheDocs. The docs are now available at http://checkqc.readthedocs.io/en/latest/ - Simplified installation process, where Interop does not need to be installed manually prior to CheckQC - The reads per sample handler did not report the threshold that was actually used as reported in https://github.com/Molmed/checkQC/issues/49. This has been fixed. - The location of the bcl2fastq output directory is now configurable, with the default being the default used by bcl2fastq. https://github.com/Molmed/checkQC/issues/47

Scientific Software - Peer-reviewed - Python
Published by johandahlberg about 8 years ago

CheckQC - More information in log output, and better exception handling

This minor release updates a few things: - The log output will now include information on what type of runfolder was identified, which handlers are activated and how they are configured. - It has been clarified in the README that we required python 3.5+. If there are a lot of people requesting support for older python version that is something that we might have to look into, but for now this is how things are. - Better exception handling behind the scenes which should avoid some ugly stack traces, and make the error messages more user friendly (e.g. reminding the user that they have to run bcl2fastq before running checkQC if there is no Stats.json file).

These updates were based on the feedback from @avilella, @af8, @senthil10 and @ewels. Thanks!

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 8 years ago

CheckQC - Working version flag and includes default the logger config in distribution

  • Fixes a bug in the way that the version flag was handled. It is now possible to use it without also specifying a runfolder.
  • Improves the install process by excluding the tests, and including the default logging config in the distribution.

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 8 years ago

CheckQC - Monitored path for webservice must exist and dynamic importing of handlers working

This release fixes two bugs: - The monitored path for the webservice is now validated as the service is started - A bug in the dynamic importing of the handlers meant the it was not possible to start CheckQC from any directory. This has now been fixed.

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 8 years ago

CheckQC - Webservice, json output mode and more!

This release adds two major features. The first is a new way of running CheckQC - now it is possible to run it as a webservice as well as a normal command line application.

To run CheckQC as a webservice, use the following command:

checkqc-ws <path to directory with runfolders>

The second feature is a json-mode for the cli. Adding --json when running CheckQC will print the output of the program as json to stdout. This is e.g. useful if you want to pass the CheckQC output to other programs to futher parse the data.

In addition to these feature the following minor features are also part of this relase. - Validation of handler config - CheckQC will now raise an error if there is no error rate present in a run (e.g. because no PhiX was added to the lane). This behaviour can be overridden by setting allow_missing_error_rate: True in the ErrorRateHandler part of the config. - Added commandline option to print the program version

Enjoy!

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 8 years ago

CheckQC - First release of CheckQC

This is the 1.0.0 release of CheckQC. :fireworks:

Running CheckQC is as easy as:

checkqc <path to your runfolder>

In this version CheckQC supports the following Illumina instruments:

  • HiSeqX
  • HiSeq2500
  • MiSeq
  • NovaSeq

It has five handlers which allows examining the following QC metrics: - UndeterminedPercentageHandler, checks the amount of reads which could not be assigned to a specific sample. - ClusterPFHandler, checks the amount of clusters (reads) which have passed Illuminas filters. - Q30Handler, checks the percentage of data which is above Q30. - ErrorRateHandler, checks that the error rate is below a set value - ReadsPerSampleHandler, checks that the number of reads assigned to a sample is not below what one would expect given the number of samples on that lane (assuming that all samples pooled together should have the same amount of data)

Enjoy!

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 8 years ago

CheckQC - v1.0.0-rc1

Scientific Software - Peer-reviewed - Python
Published by johandahlberg over 8 years ago