Added:
- GP-2295 Downsampled input BAM as argument
- GP-2302 Filtered read totals in JSON output
Added:
- GP-2252 Additional metadata fields for merged BAM files
Added:
- GP-2234 Export picard2 duplication metrics histograms
- GR-968 Aggregate and export picard duplication metrics calculated from merged libraries.
- GR-986 Run a fast subset of metrics for RNASeqQC
- New command-line script
write_fast_metrics.py
- Shared functionality refactored into
base
andvalidator
classes - Updated tests and documentation
Add support for picard MarkDuplicates metrics input that is missing ROI histogram.
Added:
- GR-908 Support missing ROI histogram
Add support for picard 2.21.2 MarkDuplicates metrics histogram input.
Added:
- GR-883 Support picard 2.21.2 input
Increment minor version as we deploy bam-qc-metrics for production testing
Fixed:
- GP-2126
VERSION
file installed to unexpected location - Move
VERSION
to/etc/versions/bam_qc_metrics/VERSION
and find correctly from__init__.py
Fixed:
- Bugfixes GP-2115
- Correctly update ur_stats dictionaries
- Run
samtools
in subprocess instead ofpysam.stats
; enables error handling
Complete set of metrics and JSON output schema for first production release.
Enhancements/bugfixes may be needed before production release, but metrics should not change.
Fixed:
- GP-2055 Run without error if
--target
not given
Added:
- GP-2048 Downsampling to exact number of reads
- Command-line options
--all-reads
and--sample
control sample level - Default number of reads to sample is approximately 1.1 million
- Downsampling has no effect if fewer than 1.1 million reads present
- Number of reads actually sampled is approximate, due to limitation of samtools
- GP-2057 Logging and profiling
- Command-line options for
--log
and--profile
--verbose
and--debug
options set the log level- Option to set random seed, with updated tests
- GP-2045 Implementation of additional bedtools metrics
- GP-2093 Bedtools coverage depth metrics
- Additional metrics: Total coverage, coverage per target, target size, coverage histogram
Changed:
- GP-2095 Improved tmpdir handling; log and cleanup on fatal error
- GP-2099 Update diff script for changes to JSON format
Fixed:
- Bugfix:
setup.py
now copies the VERSION file to the installation directory
Fixed:
- GP-2035 More efficient finding unmapped reads
- GP-2036 Failure to skip BED file headers
- GP-2037 Count mismatches using MD tag, not CIGAR string
- GP-2042 Correct reads per start point calculation
Added:
- GP-2038 Report software versions in JSON
- Package version is read from the VERSION file
- Specify workflow version using the '-w' option for
run_bam_qc.py
- Convenience script
update_test_data_version.py
to update package version in test data - GP-2045 Placeholders for additional bedtools metrics
Changed:
- GP-2040 refactoring
- Separate classes for "fast" metrics (found before downsampling) and "slow" (after)
Fixed:
- Bug in downsampling;
samtools view
expects downsample rate as decimal, not integer
Fixed:
- Use correct read length if all data is 'unknown read'
- Correctly handle empty read length histogram
- Correctly handle missing FFQ/LFQ in samtools stats
Added:
- 'Reads per start point' metric
- Sanity checks on output variables in Python tests
Changed:
- Run
samtools stats
before downsampling and after quality filtering (if any) - Do downsampling using
samtools view
and a random seed instead of iterating over the reads - Rename
trim_quality
parameter asskip_below_mapq
- Replace obsolete
distutils
withsetuptools
in setup.py
Fixed:
- Count unmapped reads before, not after mapping quality filter is applied
- If read is aligned to reverse strand, also reverse order of CIGAR tuple
- Fixups for reading
mark_duplicates
text file
Added:
- Metric specifications document
metrics.md
Changed:
- Initialize all instance variables at start of
__init__()
inbam_qc.py
Fixed:
- Do not crash on empty CIGAR string
Added:
- Add install_requires in setup.py, allows pip to install prerequisites
Changed:
- Move
diff.py
script tobin/
and rename asdiff_bam_qc_output.py
Initial release for testing
Added:
- Rewrite in Python of existing Perl code from https://github.com/oicr-gsi/bamqc
- Tests, setup.py and requirements.txt files