Cutadapt

Latest version: v5.0

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 11

3.0

-----------------

* Demultiplexing on multiple cores is now supported. This was the last feature that
only ran single-threaded.
* :issue:`478`: Demultiplexing now always generates all possible output files.
* :issue:`358`: You can now use ``-e`` also :ref:`to specify the maximum number of
errors <error-tolerance>` (instead of the maximum error rate). For example, write
``-e 2`` to allow two errors over a full-length adapter match.
* :pr:`486`: Trimming many anchored adapters (for example when demultiplexing)
is now faster by using an index even when indels are allowed. Previously, Cutadapt
would only be able to build an index with ``--no-indels``.
* :issue:`469`: Cutadapt did not run under Python 3.8 on recent macOS versions.
* :issue:`425`: Change the default compression level for ``.gz`` output files from 6
to 5. This reduces the time used for compression by about 50% while increasing file
size by less than 10%. To get the old behavior, use ``--compression-level=6``.
If you use Cutadapt to create intermediate files that are deleted anyway,
consider also using the even faster option ``-Z`` (same as ``--compression-level=1``).
* :pr:`485`: Fix that, under some circumstances, in particular when trimming a
5' adapter and there was a mismatch in its last nucleotide(s), not the entire adapter
sequence would be trimmed from the read. Since fixing this required changed the
alignment algorithm slightly, this is a backwards incompatible change.
* Fix that the report did not include the number of reads that are too long, too short
or had too many ``N``. (This unintentionally disappeared in a previous version.)
* :issue:`487`: When demultiplexing, the reported number of written pairs was
always zero.
* :issue:`497`: The following options, which were deprecated in version 2.0, have
been removed, and using them will lead to an error:
``--format``, ``--colorspace``, ``-c``, ``-d``, ``--double-encode``,
``-t``, ``--trim-primer``, ``--strip-f3``, ``--maq``, ``--bwa``, ``--no-zero-cap``.
This frees up some single-character options,
allowing them to be re-purposed for future Cutadapt features.
* Ensure Cutadapt runs under Python 3.9.
* Drop support for Python 3.5.

2.10

------------------

* Fixed a performance regression introduced in version 2.9.
* :pr:`449`: ``--action=`` could not be used with ``--pair-adapters``.
Fix contributed by wlokhorst.
* :issue:`450`: ``--untrimmed-output``, ``--too-short-output`` and ``--too-long-output`` can
now be written interleaved.
* :issue:`453`: Fix problem that ``N`` wildcards in adapters did not match ``N`` characters
in the read. ``N`` characters now match any character in the read, independent of whether
``--match-read-wildcards`` is used or not.
* With ``--action=lowercase``/``mask``, print which sequences would have been
removed in the “Overview of removed sequences” statistics. Previously, it
would show that no sequences have been removed.

2.9

-----------------

* :issue:`441`: Add a ``--max-ee`` (or ``--max-expected-errors``) option
for filtering reads whose number of expected errors exceeds the given
threshold. The idea comes from
`Edgar et al. (2015) <https://academic.oup.com/bioinformatics/article/31/21/3476/194979>`_.
* :issue:`438`: The info file now contains the ``rc`` suffix that is added to
the names of reverse-complemented reads (with ``--revcomp``).
* :issue:`448`: ``.bz2`` and ``.xz`` output wasn’t possible in multi-core mode.

2.8

-----------------

* :issue:`220`: With option ``--revcomp``, Cutadapt now searches both the read
and its reverse complement for adapters. The version that matches best is
kept. This can be used to “normalize” strandedness.
* :issue:`430`: ``--action=lowercase`` now works with linked adapters
* :issue:`431`: Info files can now be written even for linked adapters.

2.7

-----------------

* :issue:`427`: Multicore is now supported even when using ``--info-file``,
``--rest-file`` or ``--wildcard-file``. The only remaining feature that
still does not work with multicore is now demultiplexing.
* :issue:`290`: When running on a single core, Cutadapt no longer spawns
external ``pigz`` processes for writing gzip-compressed files. This is a first
step towards ensuring that using ``--cores=n`` uses only at most *n* CPU
cores.
* This release adds support for Python 3.8.

2.6

-----------------

* :issue:`395`: Do not show animated progress when ``--quiet`` is used.
* :issue:`399`: When two adapters align to a read equally well (in terms
of the number of matches), prefer the alignment that has fewer errors.
* :issue:`401` Give priority to adapters given earlier on the command
line. Previously, the priority was: All 3' adapters, all 5' adapters,
all anywhere adapters. In rare cases this could lead to different results.
* :issue:`404`: Fix an issue preventing Cutadapt from being used on Windows.
* This release no longer supports Python 3.4 (which has reached end of life).

Page 4 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.