Skip to content

Releases: vanheeringen-lab/gimmemotifs

[0.18.4] - 2026-06-19

Choose a tag to compare

@siebrenf siebrenf released this 19 Jun 12:50

Fixed

  • gimme motif2factors now works with orthofinder 3.1.5

[0.18.3] - 2026-06-09

Choose a tag to compare

@siebrenf siebrenf released this 09 Jun 12:57

Added

  • gimme motifs & gimme maelstrom now accept argument --noprogress to 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_scan and pwm_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

Choose a tag to compare

@siebrenf siebrenf released this 03 Apr 12:27

Changed

  • packaging & deployment now uses pyproject.toml and 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

Choose a tag to compare

@siebrenf siebrenf released this 02 Oct 13:24

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

  • gimme motifs uses --ncpus where possible (two more places). fixes #265
  • updated pandas code, able to run pandas 2 now! resolves #306
  • updated C code, fixes compiler warnings & error (thanks cameronraysmith!)
  • updated versioneer, able to update configparser now! resolves #315

Version 0.18.0

Choose a tag to compare

@siebrenf siebrenf released this 11 Jan 12:51

[0.18.0] - 2023-01-11

Added

  • gimme scan and gimme maelstrom now accept a random seed for (most) operations
    • for (optimal) deterministic behaviour, delete the cache and then run the command with a seed
  • Scanner now accepts a np.random.RandomState and progress on init.
    • progress=None (the default) should print progress bars to the command line only, not to file.
  • Scanner.set_genome now accepts the optional argument genomes_dir
  • gimmemotifs.maelstrom.Moap.create now accepts a np.random.RandomState.
  • gimmemotifs.maelstrom.run_maelstrom now accepts a np.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.py into 3 submodules:
    • scanner/__init__.py with the exported functions
    • scanner/base.py with the Scanner class
    • scanner/utils.py with the rest
  • gimmemotifs/maelstrom.py renamed to gimmemotifs/maelstrom/_init__.py
    • rank.py and moap.py are now submodules of maelstrom.

Fixed

  • gimme maelstrom works 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_scan and Motif.pwm_scan_all to Motif.scan and Motif.scan_all respectively
  • typo in gimme motifs output ("%matches background" to "% matches background")
  • Scanner now uses a cheaper method to determine a genome's identity
    • (filesize + name instead of the md5sum of the whole genome's contents)
  • gimme motifs gives an informative error when fraction is not within 0-1.
  • gimme threshold works again

Removed

  • removed old python2 code (scanning with MOODS & import shenanigans)

Version 0.17.2

Choose a tag to compare

@siebrenf siebrenf released this 12 Oct 15:18

[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_table and combine_peaks have their positional arguments under positional arguments (20819ee)
  • coverage_table should 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

Choose a tag to compare

@Maarten-vd-Sande Maarten-vd-Sande released this 02 Jun 11:32

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

Choose a tag to compare

@simonvh simonvh released this 22 Dec 14:05

Changelog

[0.17.0] - 2021-12-22

Added

  • Added --genomes_dir argument to gimme motif2factors.
  • Added --version flag.
  • Function sample() for fast sequence sampling from a Motif() 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.array internally.
    • All functions that mention pwm renamed to ppm (position-probability matrix), as the definition of a PWM is usually a log-odds matrix, not a probability matrix.
      • to_pwm() is deprecated, use to_ppm() instead.
    • Changed functions pwm_min_score() and pwm_max_score() to properties max_score and min_score.
    • All internal data is correctly updated when Motif() is changed, for instance by trimming (#218).

Fixed

  • gimme motif2factors can now unzip genome fastas.
  • gimme motif2factors will sanitize genome names.
  • Fixed bugs related to partial rerun of gimme motif2factors.
  • Fixed unhandled OSError during 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_slice import 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

Choose a tag to compare

@simonvh simonvh released this 28 Jun 09:44

[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

Choose a tag to compare

@simonvh simonvh released this 28 May 14:31

[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 motif2factors command 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_table now uses multiple CPUs.

Fixed

  • Fixes issue where % of motif occurence would be incorrectly reported in gimme maelstrom output (#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 motifs with the HOMER database (#135)
  • Fix issue with the --size parameter in gimme motifs, which now works as expected (#128)