Provided by: samtools_1.13-4_amd64 bug

NAME

       samtools-sort - sorts SAM/BAM/CRAM files

SYNOPSIS

       samtools  sort  [-l  level] [-u] [-m maxMem] [-o out.bam] [-O format] [-M] [-K kmerLen] [-n] [-t tag] [-T
       tmpprefix] [-@ threads] [in.sam|in.bam|in.cram]

DESCRIPTION

       Sort alignments by leftmost coordinates, or by read name when -n is used.   An  appropriate  @HD-SO  sort
       order header tag will be added or an existing one updated if necessary.

       The sorted output is written to standard output by default, or to the specified file (out.bam) when -o is
       used.  This command will also create temporary files tmpprefix.%d.bam as needed when the entire alignment
       data cannot fit into memory (as controlled via the -m option).

       Consider  using  samtools  collate  instead if you need name collated data without a full lexicographical
       sort.

       Note that if the sorted output file is to be indexed with samtools index,  the  default  coordinate  sort
       must be used.  Thus the -n and -t options are incompatible with samtools index.

OPTIONS

       -K INT     Sets the kmer size to be used in the -M option. [20]

       -l INT     Set  the desired compression level for the final output file, ranging from 0 (uncompressed) or
                  1 (fastest but minimal compression) to 9 (best compression but slowest to write), similarly to
                  gzip(1)'s compression level setting.

                  If -l is not used, the default compression level will apply.

       -u         Set the compression level to 0, for uncompressed output.  This is a synonym for -l 0.

       -m INT     Approximately the maximum required memory per thread, specified either in bytes or with  a  K,
                  M, or G suffix.  [768 MiB]

                  To prevent sort from creating a huge number of temporary files, it enforces a minimum value of
                  1M for this setting.

       -M         Sort  unmapped  reads (those in chromosome "*") by their sequence minimiser (Schleimer et al.,
                  2003; Roberts et al., 2004), also reverse complementing as appropriate.  This has  the  effect
                  of  collating  some  similar  data  together,  improving  the  compressibility of the unmapped
                  sequence.  The minimiser kmer size is adjusted using the -K option.  Note data  compressed  in
                  this manner may need to be name collated prior to conversion back to fastq.

                  Mapped sequences are sorted by chromosome and position.

       -n         Sort by read names (i.e., the QNAME field) rather than by chromosomal coordinates.

       -t TAG     Sort first by the value in the alignment tag TAG, then by position or name (if also using -n).

       -o FILE    Write the final sorted output to FILE, rather than to standard output.

       -O FORMAT  Write the final output as sam, bam, or cram.

                  By default, samtools tries to select a format based on the -o filename extension; if output is
                  to standard output or no format can be deduced, bam is selected.

       -T PREFIX  Write temporary files to PREFIX.nnnn.bam, or if the specified PREFIX is an existing directory,
                  to  PREFIX/samtools.mmm.mmm.tmp.nnnn.bam,  where  mmm is unique to this invocation of the sort
                  command.

                  By  default,   any   temporary   files   are   written   alongside   the   output   file,   as
                  out.bam.tmp.nnnn.bam,  or  if  output  is  to  standard  output,  in  the current directory as
                  samtools.mmm.mmm.tmp.nnnn.bam.

       -@ INT     Set number of sorting and compression threads.  By default, operation is single-threaded.

       --no-PG    Do not add a @PG line to the header of the output file.

       Ordering Rules

       The following rules are used for ordering records.

       If option -t is in use, records are first sorted by the value of the given alignment  tag,  and  then  by
       position  or  name  (if  using -n).  For example, “-t RG” will make read group the primary sort key.  The
       rules for ordering by tag are:

       •   Records that do not have the tag are sorted before ones that do.

       •   If the types of the tags are different, they will be sorted so that single character  tags  (type  A)
           come before array tags (type B), then string tags (types H and Z), then numeric tags (types f and i).

       •   Numeric  tags  (types f and i) are compared by value.  Note that comparisons of floating-point values
           are subject to issues of rounding and precision.

       •   String tags (types H and Z) are compared based on  the  binary  contents  of  the  tag  using  the  C
           strcmp(3) function.

       •   Character tags (type A) are compared by binary character value.

       •   No attempt is made to compare tags of other types — notably type B array values will not be compared.

       When  the -n option is present, records are sorted by name.  Names are compared so as to give a “natural”
       ordering — i.e. sections consisting of digits are compared  numerically  while  all  other  sections  are
       compared  based on their binary representation.  This means “a1” will come before “b1” and “a9” will come
       before “a10”.  Records with the same name will be ordered according to the values of the READ1 and  READ2
       flags (see flags).

       When  the  -n  option  is  not  present, reads are sorted by reference (according to the order of the @SQ
       header records), then by position in the reference, and then by the REVERSE flag.

       Note

       Historically samtools sort also accepted a less flexible way of specifying the final and temporary output
       filenames:

              samtools sort [-f] [-o] in.bam out.prefix

       This has now been removed.  The previous out.prefix argument (and -f option, if any) should be changed to
       an appropriate combination of -T PREFIX and -o FILE.  The previous -o option should be removed, as output
       defaults to standard output.

AUTHOR

       Written by Heng Li from the Sanger Institute with numerous subsequent modifications.

SEE ALSO

       samtools(1), samtools-collate(1), samtools-merge(1)

       Samtools website: <http://www.htslib.org/>

samtools-1.13                                      7 July 2021                                  samtools-sort(1)