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_index ⇒ nil

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

#k ⇒ Integer

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_seq ⇒ Integer

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_names ⇒ Array<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

#w ⇒ Integer

Returns minimizer window size.

Returns:

  • (Integer) —

    minimizer window size

Raises:



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

class Aligner
end