Manual page from samtools-1.20
released on 15 April 2024


samtools reset – removes the alignment information added by aligners and updates flags accordingly


samtools reset [-o FILE] [-x,--remove-tag STR] [--keep-tag STR] [--reject-PG pgid] [--no-RG] [--no-PG] [...]


Removes the alignment information added by the aligner. CIGAR and reference data are removed. Flags are updated as unmapped and as not a proper pair. If the alignment was in reverse direction, data and its quality values are reversed and complemented and the reverse flag is reset. Supplimentary and secondary alignment data are discarded.

Aux tags that will be retained in output is controlled by keep-tag and remove-tag/x. These options take tags as comma separated lists.

PG and RG tags from input are written on the output by default. CO lines are not retained after this operation.

The sort order is unchanged, so users may consider combining this with samtools collate or sort -n if it is a requirement to group pairs of sequences together.



Output file to which reset data is to be written. If not given, standard output will be used.

-x STR, --remove-tag STR

Read tag(s) to exclude from output (repeatable) [null]. This can be a single tag or a comma separated list. Alternatively the option itself can be repeated multiple times.

If the list starts with a `^' then it is negated and treated as a request to remove all tags except those in STR. The list may be empty, so -x ^ will remove all tags.

--keep-tag STR

This keeps only tags listed in STR and is directly equivalent to --remove-tag ^STR. Specifying an empty list will remove all tags. If both --keep-tag and --remove-tag are specified then --keep-tag has precedence.

--reject-PG pgid

The PG line which has the ID matching pgid and all subsequent PG lines will be removed. If the option itself is absent, the default, all PG entries will be in output.


RG lines in input will be discarded with this option. By default, RG lines will be present in output.

With this option, RG aux tags will also be discarded.


Do not add a @PG line to the header of the output file listing the reset command. By default the PG entry for reset will be present in the output.

-@,--thread N

This gives the number of worker threads to be used.

-O,--output-fmt FMT[,options]

Sets the format of the output file and any associated format-specific options. If this option is not present, the format is identified from the output file name extension.


Basic usage, to reset the data:

samtools reset -o out.bam in.bam

To keep aux tags RG and BC in the output:

samtools reset -o out.sam --keep-tag RG,BC in.bam

To discard PG entries from 'bwa_index' onwards,

samtools reset -o out.sam --reject-PG=bwa_index

To set output format for use within a pipeline:

samtools collate -O -u input.cram | \
  samtools reset --output-fmt BAM,level=0 | \
  myaligner -I bam -o out.bam


Written by Vasudeva Sarma of the Wellcome Sanger Institute.


samtools (1), samtools-collate (1)

Samtools website: <>