Cutadapt

Latest version: v5.0

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

Scan your dependencies

Page 2 of 11

4.4

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

* :issue:`695`: Fixed very slow k-mer heuristic initialization (hours instead
of seconds) for degenerate adapter sequences such as ``A{100}`` as used
when doing poly-A trimming.
* :issue:`696`: Added option ``--poly-a`` for trimming poly-A tails. This is
more accurate and multiple times faster than using ``-a A{100}`` as previously
recommended. This is currently experimental (that is, the algorithm may change
in the next one or two releases).
* :issue:`685`: Sped up index generation somewhat. This is most noticable when
demultiplexing using thousands or more adapters. The speedup is
different depending on whether indels are allowed or not because
different algorithms are used.
* :issue:`685`: Sped up demultiplexing (when using an index) for the case when
the read contains ``N`` bases within the region where the adapter matches.
Previously, any ``N`` would disable the index for that read and trigger a
fallback to the slow method of matching each adapter one-by-one. Now the index
is used even in those cases.
* :pr:`700`: Sped up ``--max-expected-errors``. Thanks rhpvorderman.

4.3

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

* :pr:`663`: Cutadapt became significantly faster due to an added runtime
heuristic that avoids running the full alignment algorithm if it can be
proven that it cannot succeed. Thanks to rhpvorderman for this great
improvement!
* :issue:`665`: 5' adapters did not allow partial matches in the beginning
when the :ref:`rightmost <rightmost>` adapter-search parameter was used.
* :issue:`662`: Fixed assertion error when ``--discard-untrimmed`` was used
together with ``--json`` and demultiplexing.
* :issue:`674`: When reading 3' adapters from an external file, they can now
all be anchored by using the syntax ``-a file$:adapters.fasta`` (note the
``$`` in ``file$:``).
* :issue:`669`: The ``--rename`` option now understands the ``\t`` escape
sequence and will insert a tab character in its place. This is useful when
transferring FASTQ header comments to SAM tags.

4.2

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

* :issue:`654`: When determining the error rate for a partial match of an
adapter with ``N`` wildcards, the number of non-N bases was not computed
correctly, which could lead to matches not being found.
* :issue:`546`: Automatically replace ``I`` in adapter sequences with ``N``.
``I`` is used to encode inosine, which matches any base. Contributed by peterjc.
* :issue:`528`: Cutadapt should now no long hang in multicore mode when an error
was raised in a worker process (for example, when an incorrectly formatted
FASTQ file was encountered).

4.1

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

* :issue:`624`: You can now combine reading adapter sequences from an external file
with the search parameter notation. For example,
``-a "file:adapters.fasta;min_overlap=5"`` sets the minimum overlap to 5 for all
adapters in ``adapters.fasta``.
* :issue:`361`: When reading 5' adapters from an external file, they can now
all be anchored by using the syntax ``-g ^file:adapters.fasta``
(note the ``^`` before ``file:``).
* :issue:`254`: Finding the *rightmost* 5' adapter occurrence is now supported by using the
``rightmost`` search parameter (the default is to find the leftmost occurrence).
* :issue:`615`: Fix linked adapter statistics for 5' and 3' end not
being reported separated correctly.
* :issue:`616`: Report correct number of quality-trimmed bases when
both ``-q`` and ``--nextseq-trim`` are used.

4.0

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

* :issue:`604`, :pr:`608`: The :ref:`alignment algorithm was tweaked <algorithm-indel-scores>`
to penalize indels more and to more accurately pick the leftmost adapter
occurrence if there are multiple. This will normally affect very few
reads, but should generally lead to fewer surprising results in cases
where it matters. Because this changes trimming results, it was appropriate
to bump the major version to 4.
* :issue:`607`: Print an error when an output file was specified
multiple times (for example, for ``--untrimmed-output`` and
``--too-short-output``). Sending output from different filters to
the same file is not supported at the moment.
* :issue:`603`: When ``-e`` was used with an absolute number of errors
and there were ``N`` wildcards in the sequence, the actual number of
allowed errors was too low.
* Speed up quality trimming (both ``-q`` and ``--nextseq-trim``) somewhat.
* Python 3.6 is no longer supported as it is end-of-life.

3.7

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

* :issue:`600`: Fixed ``{match_sequence}`` placeholder not working when
renaming paired-end reads.

Page 2 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.