Module: Minimap2::FFI

Extended by:
FFI::Library
Defined in:
lib/minimap2/ffi.rb,
lib/minimap2/ffi/mappy.rb,
lib/minimap2/ffi/constants.rb,
lib/minimap2/ffi/functions.rb

Overview

Native APIs

Defined Under Namespace

Classes: Extra, Hit, Idx, IdxOpt, IdxReader, IdxSeq, KSeq, KString, MM128, MM128V, MapOpt, Reg1, TBuf

Constant Summary collapse

NO_DIAG =

flags

0x001
NO_DUAL =

no exact diagonal hit

0x002
CIGAR =

skip pairs where query name is lexicographically larger than target name

0x004
OUT_SAM =
0x008
NO_QUAL =
0x010
OUT_CG =
0x020
OUT_CS =
0x040
SPLICE =

splice mode

0x080
SPLICE_FOR =

match GT-AG

0x100
SPLICE_REV =

match CT-AC, the reverse complement of GT-AG

0x200
NO_LJOIN =
0x400
OUT_CS_LONG =
0x800
SR =
0x1000
FRAG_MODE =
0x2000
NO_PRINT_2ND =
0x4000
TWO_IO_THREADS =

Translator’s Note. MM_F_2_IO_THREADS. Constants starting with numbers cannot be defined.

0x8000
LONG_CIGAR =
0x10000
INDEPEND_SEG =
0x20000
SPLICE_FLANK =
0x40000
SOFTCLIP =
0x80000
FOR_ONLY =
0x100000
REV_ONLY =
0x200000
HEAP_SORT =
0x400000
ALL_CHAINS =
0x800000
OUT_MD =
0x1000000
COPY_COMMENT =
0x2000000
EQX =

use =/X instead of M

0x4000000
PAF_NO_HIT =

output unmapped reads to PAF

0x8000000
NO_END_FLT =
0x10000000
HARD_MLEVEL =
0x20000000
SAM_HIT_ONLY =
0x40000000
RMQ =
0x80000000
QSTRAND =
0x100000000
NO_INV =
0x200000000
NO_HASH_NAME =
0x400000000
SPLICE_OLD =
0x800000000
SECONDARY_SEQ =

output SEQ field for seqondary alignments using hard clipping

0x1000000000
OUT_DS =
0x2000000000
HPC =
0x1
NO_SEQ =
0x2
NO_NAME =
0x4
IDX_MAGIC =
"MMI\2"
MAX_SEG =
255
CIGAR_MATCH =
0
CIGAR_INS =
1
CIGAR_DEL =
2
CIGAR_N_SKIP =
3
CIGAR_SOFTCLIP =
4
CIGAR_HARDCLIP =
5
CIGAR_PADDING =
6
CIGAR_EQ_MATCH =
7
CIGAR_X_MISMATCH =
8
CIGAR_STR =
"MIDNSHP=XB"

Class Method Summary collapse

Class Method Details

.attach_functionObject

Continue even if some functions are not found.



17
18
19
20
21
# File 'lib/minimap2/ffi.rb', line 17

def self.attach_function(*)
  super
rescue ::FFI::NotFoundError => e
  warn e.message
end

.mm_set_opt(preset, io, mo) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/minimap2/ffi/functions.rb', line 17

def self.mm_set_opt(preset, io, mo)
  ptr = case preset
        when 0, nil
          ::FFI::Pointer.new(:int, 0)
        else
          ::FFI::MemoryPointer.from_string(preset.to_s)
        end
  mm_set_opt_raw(ptr, io, mo)
end