Releases: vanheeringen-lab/gimmemotifs
Releases · vanheeringen-lab/gimmemotifs
Release list
[0.18.4] - 2026-06-19
[0.18.3] - 2026-06-09
Added
gimme motifs&gimme maelstromnow accept argument--noprogressto silence tqdm progress bars
Changed
- minor Scanner.set_threshold optimization
Fixed
- Scanner.scan now returns sequence.ids along with results.
- if sequences cannot be parsed, both ids and results are omitted.
Removed
- deprecated functions
pwm_scanandpwm_scan_all - warning blacklists
- unused functions
_moap_with_bg()and_moap_with_table() - outdated copyright comments (copyright claims still found in docs and COPYING file)
[0.18.2] - 2026-04-03
Changed
- packaging & deployment now uses
pyproject.tomland wheel - motif tools installed more robustly
- update minimum python version to 3.9
- updated the install instructions in the README and documentation
- refactored command line interface
- all CLI functions are located in gimmemotifs/cli.py
- all functions now provide help when actions are unspecified
- refactored test/test_09_cli.py to work with new CLI
Fixed
- the roc report will now display a message when 0 motifs are enriched (if motifs were subset or not)
Removed
- versioneer
[0.18.1] - 2025-10-02
Changed
- updated dependencies (conda + pypi)
- updated Maelstrom report (don't show "NO ORTHOLOGS FOUND" if other factors have been found)
- limit python to 3.11
- Motifsampler & setuptools break from 3.12 onwards
Fixed
Version 0.18.0
[0.18.0] - 2023-01-11
Added
gimme scanandgimme maelstromnow accept a random seed for (most) operations- for (optimal) deterministic behaviour, delete the cache and then run the command with a seed
Scannernow accepts anp.random.RandomStateandprogresson init.progress=None(the default) should print progress bars to the command line only, not to file.
Scanner.set_genomenow accepts the optional argumentgenomes_dirgimmemotifs.maelstrom.Moap.createnow accepts anp.random.RandomState.gimmemotifs.maelstrom.run_maelstromnow accepts anp.random.RandomState.
Changed
gimme diff(diff_plot()to be exact) will now print to stdout, like all other functions- now using the logger instead of print/sys.stderr.write in many more places
- string formatting now (mostly) done with f-strings
- refactored Fasta class
- split
scanner.pyinto 3 submodules:scanner/__init__.pywith the exported functionsscanner/base.pywith the Scanner classscanner/utils.pywith the rest
gimmemotifs/maelstrom.pyrenamed togimmemotifs/maelstrom/_init__.pyrank.pyandmoap.pyare now submodules of maelstrom.
Fixed
gimme maelstromworks with or without xgboost (but will give a warning without xgboost)- fixed warning "in validate_matrix(): Row sums in df are not close to 1. Reormalizing rows..."
- fixed multiprocess.Pool Warnings
- fixed a pandas copywarning (in
gc_bin_bedfile()to be exact) - fixed warnings when leaving files open
- fixed deprecation warning in maelstrom (and in tests)
- fixed futurewarning in report.py
- silence warnings from external tools in motif prediction (
pp_predict_motifs()to be exact) - updated last references from
Motif.pwm_scanandMotif.pwm_scan_alltoMotif.scanandMotif.scan_allrespectively - typo in
gimme motifsoutput ("%matches background" to "% matches background") Scannernow uses a cheaper method to determine a genome's identity- (filesize + name instead of the md5sum of the whole genome's contents)
gimme motifsgives an informative error whenfractionis not within 0-1.gimme thresholdworks again
Removed
- removed old python2 code (scanning with MOODS & import shenanigans)
Version 0.17.2
[0.17.2] - 2022-10-12
Changed
- made xgboost an optional dependency (to save space on bioconda)
- an existing config will now update available tools when accessed (e4b3275)
- applied the bioconda patch to compile_externals.py (11b0c2c)
coverage_tableandcombine_peakshave their positional arguments under positional arguments (20819ee)coverage_tableshould be slightly faster now (20819ee)
Fixed
- biofluff dependency back in requirements
- pinned conda and mamba versions in
.travis.yaml- temp fix until conda>=4.12 can install mamba properly
- documentation is working again!
- gimmemotifs now supports pandas >=1.30
Removed
- pyarrow dependency
Version 0.17.1
Changelog
[0.17.1] - 2022-06-02
Fixed
- motifs require to have unique ids when clustering, thanks @akmorrow13!
- motif2factors removes apostrophes so it wont crash :)
- removed a print
Version 0.17.0
Changelog
[0.17.0] - 2021-12-22
Added
- Added
--genomes_dirargument togimme motif2factors. - Added
--versionflag. - Function
sample()for fast sequence sampling from aMotif()instance. - Added JASPAR 2022 motif databases.
- Updated Homer motif database.
- Operators:
+- take the combination of two motifs (average), based on pfm, which means that motifs with higher counts will be weighed more heavily.&- take the combination of two motifs (average), based on the ppm, which means that both motifs will be weighed equally.<<- "shift" motif left (adding a non-informative position to the right side)>>- "shift" motif right (adding a non-informative position to the left side)~- reverse complement*- multiply the pfm by a value
- Progress bar for scanning.
list_installed_libraries()to list available motif libraries.
Changed
Motif()class completely restructured:- Split into multiple files with coherent function.
- Uses
numpy.arrayinternally. - All functions that mention
pwmrenamed toppm(position-probability matrix), as the definition of a PWM is usually a log-odds matrix, not a probability matrix.to_pwm()is deprecated, useto_ppm()instead.
- Changed functions
pwm_min_score()andpwm_max_score()to propertiesmax_scoreandmin_score. - All internal data is correctly updated when
Motif()is changed, for instance by trimming (#218).
Fixed
gimme motif2factorscan now unzip genome fastas.gimme motif2factorswill sanitize genome names.- Fixed bugs related to partial rerun of
gimme motif2factors. - Fixed unhandled
OSErrorduring installation on Mac. - Fixed bug related to
RFE()(#226). - Positional probability matrix now sum to 1 over all positions (#209).
- Fixed issue with pandas >= 1.3.
- Fixed issue with
non_reducing_sliceimport from pandas. - Fix threshold calculation if more than 20,000 sequences are supplied.
- Fix issue with config file getting corrupted.
- Fix FPR threshold calculation.
Version 0.16.1
[0.16.1] - 2021-06-28
Bugfix release.
Added
- Added warning when the number of sequences used for de novo motif prediction is low.
Fixed
- Fixed bug with
gimme motif2factors. - Fixed "Motif does not occur in motif database when running maelstrom" (#192).
- Fixed bugs related to runs where no (significant) motifs is found.
Version 0.16.0
[0.16.0] - 2021-05-28
Many bugfixes, thanks to @kirbyziegler, @irzhegalova, @wangmhan, @ClarissaFeuersteinAkgoz and @fgualdr for reporting and proposing solutions!
Thanks to @Maarten-vd-Sande for the speed improvements.
Added
gimme motif2factorscommand to annotate a motif database with TFs from different species
based on orthogroups.- Informative error message with link to fix when cache is corrupted (running on a cluster).
- Print an informative error message if the input file is not in the correct format.
Changed
- Speed improvements to motif scanning, which is now up to 2X faster!
- Size of input regions is now automatically adjusted (#123, #128, #129)
- Quantile normalization in
coverage_tablenow uses multiple CPUs.
Fixed
- Fixes issue where % of motif occurence would be incorrectly reported in
gimme maelstromoutput (#162). - Fix issues with running Trawler (#181)
- Fix issues with running YAMDA (#180)
- Fix issues with parsing XXmotif output (#178)
- Fix issue where command line argument (such as single strand) are ignored (#177)
- Fix pyarrow dependency (#176)
- The correct % of regions with motif is now reported (#162)
- Fix issue with running
gimme motifswith the HOMER database (#135) - Fix issue with the
--sizeparameter ingimme motifs, which now works as expected (#128)