Skip to content

Releases: bioforensics/MicroHapulator

MicroHapulator 0.5

Choose a tag to compare

@standage standage released this 20 Jan 22:26

Added

  • New --base-qual parameter for mhpl8r type to set the minimum required base quality when iterating over reads in a pileup (#83).
  • New mhpl8r balance subcommand for calculating and visualizing interlocus balance (#85).
  • Users can now supply marker definitions, frequences, and reference sequences as TSV/FASTA files instead of MicroHapDB references (#93).
  • Configuration file examples in microhapulator/data/configs/ (#105).
  • New mhpl8r filter subcommand with support for marker-specific thresholds (#113, #114).
  • New mhpl8r convert subcommand for converting genotype calls into a format compatible with probgen tools such as LRMix Studio and EuroForMix (#115).

Changed

  • Updated mybinder demo (see #69, #110, #113).
  • Simulated Illumina sequencing now uses 1 thread by default, which paradoxically leads to better performance (#71).
  • Moved panel definition code moved out of the core code and into dedicated notebooks (#74).
  • Replaced MissingBAMIndexError with BAM auto-indexing code (#78).
  • Improved read names and choice of interleaved or paired output for mhpl8r seq (#80).
  • Updated filtering of haplotype calls / typing results
    • Replaced --threshold argument with --static and --dynamic, disabled both by default (#82, #83).
    • Split mhpl8r type subcommand into type and filter, with --static and --dynamic arguments only relevant to the latter (#113).
  • Changed the default pysam pileup max_depth parameter, overriding 8000 with 1e6 and exposing as a CLI parameter (#87, #113).
  • Removed dependency on MicroHapDB for marker definitions, frequencies, and sequences (#93).
  • Refactored CLI and Python API, adding new microhapulator.api module to serve as main entry point (#98, c98bf6c).
  • Replaced the "ObservedProfile" terminology with the more appropriate "TypingResult" (#99).
  • Documentation now uses Sphinx to render markdown as HTML (c98bf6c, #101, #102, #105, #106, #110).
  • Updated JSON schema for simulated profiles and typing results (#109).

Fixed

  • Corrected a bug with Fastq headers in mhpl8r seq module (#71).
  • Corrected a bug resulting from attempting to do set operations on None (#75).
  • Corrected a bug with RMP implementation (#86).
  • Set minimum versions for runtime dependencies (#97).
  • Corrected the --dynamic filter to operate on total haplotype counts rather than average counts (#114).

MicroHapulator 0.4.1

Choose a tag to compare

@standage standage released this 06 Nov 16:27

Fix minor metadata typo

MicroHapulator 0.4

Choose a tag to compare

@standage standage released this 05 Nov 22:42

Added

  • New contain module for calculating the proportion of alleles from one sample present in another sample (see #41).
  • New --dry-run mode for sim and mixture modules (see #41).
  • New prob module for calculating likelihood ratio tests based on the random match probability (see #43).
  • New seq module focused entirely on sequencing samples where profiles have already been simulated (see #45).
  • New mix module for merging simulated profiles into a simulated mixture sample profile (see #45).
  • New unite module for "mating" two profiles to create a simulated "offspring" profile (see #47).
  • New diff modfule for showing the differences between two profiles (see #58, #60).

Changed

  • Huge refactoring effort to accommodate for recent changes to MicroHapDB's Python API (see #66).
  • The sim module no longer performs simulated sequencing (now handled by new seq module) and instead focuses entirely on haplotype simulation (see #45).
  • The type module now dynamically selects either an automatic threshold or a fixed threshold based on effective coverage (see #51, #61).
  • Moved simulation scripts to notebook directory, reimplemented as a Snakemake workflow (see #50, #57, #59).

Fixed

  • Corrected a bug in the USA panel code ensuring that all loci have allele frequency data for all relevant populations (see #56).
  • Corrected a problem with the contrib API that prevented it from working directly on Profile objects (see #70).

Removed

  • Dropped the mixture module, whose functionality is now covered by the more granular sim, mix, and seq modules (see #45).
  • Dropped the LocusContext class in favor of MicroHapDB's TargetAmplicon class designed for a similar purpose (see #67).

MicroHapulator 0.3

Choose a tag to compare

@standage standage released this 06 Jun 19:05

Added

  • New interactive demo using Jupyter notebook and mybinder.org (see #32).
  • Scripts for simulating 8k individuals with demographics roughly matching those of the U.S.A. (see #13).

Changed

  • Updated dist and genotype modules to better support equality and distance comparisons between simulated and observed genotypes (see #34).
  • Simulated and observed genotype data now use a single unified JSON representation, enforced by JSON schema validation (see #38).

MicroHapulator 0.2

Choose a tag to compare

@standage standage released this 21 May 19:40

Added

  • New getrefr module for installing human reference genome (see #30).
  • Improved error handling related to BAM index files (see #31).

Changed

  • Replaced pip/PyPI installation instructions with bioconda installation instructions (see 1b61c59).

Fixed

  • Corrected usage statement for mhpl8r contrib (see #31).

MicroHapulator 0.1.3

Choose a tag to compare

@standage standage released this 14 May 14:11
  • mark failing test
  • exclude __init__.py from test invocation

MicroHapulator 0.1.2

Choose a tag to compare

@standage standage released this 07 May 20:56

Updating file manifest, troubleshooting bioconda build.

MicroHapulator 0.1.1

Choose a tag to compare

@standage standage released this 07 May 20:26

Minor fix to setup.py for distribution purposes.

MicroHapulator 0.1

Choose a tag to compare

@standage standage released this 02 May 17:40

Initial release of MicroHapulator!

Command-line entry point: mhpl8r
Command-line operations:

  • contrib: estimate number of contributors in a sample
  • dist: compute naive Hamming distance between two sample genotypes
  • mixture: simulate a multiple-contributor sample
  • refr: retrieve reference genome cutouts for a specified microhap panel
  • sim: simulate a single-contributor sample
  • type: infer genotype from mapped reads