Class: Minimap2::Aligner

Inherits:
Object
  • Object
show all
Defined in:
lib/minimap2/aligner.rb,
ext/ruby_minimap2/ruby_minimap2.c

Overview

Builds or loads a minimap2 index and maps sequences against it.

Calls on the same Aligner are thread-safe and serialized. Different Aligner instances can map concurrently.

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Object

Creates an aligner from a FASTA/FASTQ/index file or one in-memory sequence.

Parameters:

  • path (String, nil)

    sequence or index file

  • seq (String, nil)

    single sequence to index when path is nil

  • preset (String, Symbol, nil)

    minimap2 preset such as map-ont, map-pb, map-hifi, sr, splice, or asm5

  • k (Integer, nil)

    k-mer length in the range 1..28

  • w (Integer, nil)

    minimizer window size in the range 1..255

  • min_cnt (Integer, nil)

    minimum number of minimizers on a chain

  • min_chain_score (Integer, nil)

    minimum chaining score

  • min_dp_score (Integer, nil)

    minimum DP alignment score

  • bw (Integer, nil)

    chaining and alignment bandwidth

  • bw_long (Integer, nil)

    bandwidth for long-gap rechaining

  • best_n (Integer, nil)

    maximum number of alignments to return

  • n_threads (Integer)

    number of indexing threads

  • fn_idx_out (String, nil)

    path at which to write the generated index

  • max_frag_len (Integer, nil)

    maximum fragment length

  • extra_flags (Integer, nil)

    additional minimap2 mapping flags

  • scoring (Array<Integer>, nil)

    four, six, or seven scoring values

  • sc_ambi (Integer, nil)

    score for ambiguous bases

  • max_chain_skip (Integer, nil)

    maximum chain-skip count

  • batch_size (Integer, nil)

    index batch size; small values create a multipart index

Raises:

  • (ArgumentError)

    if a preset, k, or w is invalid

  • (Minimap2::Error)

    if the index cannot be initialized or lacks sequence data



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

Instance Method Details

#align(*args) ⇒ Array<Alignment>

Maps one sequence or a paired sequence.

Parameters:

  • seq (String)

    query sequence

  • seq2 (String, nil)

    paired query sequence

  • name (String, nil)

    query name stored in Alignment; defaults to "*"

  • cs (Boolean)

    generate the cs tag

  • ds (Boolean)

    generate the ds tag

  • md (Boolean)

    generate the MD tag

  • max_frag_len (Integer, nil)

    per-call maximum fragment length

  • extra_flags (Integer, nil)

    per-call additional mapping flags

Returns:

  • (Array<Alignment>)

    alignments, or an empty array when no index or hit is available



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#free_indexnil

Releases every native index owned by this object. Calling it repeatedly is safe.

Returns:

  • (nil)


70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#index?Boolean

Returns whether a live index is available.

Returns:

  • (Boolean)

    whether a live index is available



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#kInteger

Returns minimizer k-mer length.

Returns:

  • (Integer)

    minimizer k-mer length

Raises:



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#n_seqInteger

Returns number of sequences across all index parts.

Returns:

  • (Integer)

    number of sequences across all index parts



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#seq(*args) ⇒ String?

Retrieves a subsequence from the index. By default, reads to the end of the sequence.

Returns:

  • (String, nil)

    an ASCII-8BIT sequence, or nil if unavailable



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#seq_namesArray<String>

Returns names in index order, including duplicate names.

Returns:

  • (Array<String>)

    UTF-8 sequence names



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end

#wInteger

Returns minimizer window size.

Returns:

  • (Integer)

    minimizer window size

Raises:



70
71
# File 'lib/minimap2/aligner.rb', line 70

class Aligner
end