Recent Releases of CheckQC
CheckQC - v4.0.7
What's Changed
- Add schema to
package_databy @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
QCDataclass by @Aratz in https://github.com/Molmed/checkQC/pull/118 - Refactor
QCDataby @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 - 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 - 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 - 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