Module edlib_rs::edlibrs[][src]

Structs

EdlibAlignConfig

@brief Configuration object for edlibAlign() function.

EdlibAlignConfigRs

Configuration object for edlibAlign() function.

EdlibAlignResult

Container for results of alignment done by edlibAlign() function.

EdlibAlignResultRs

Container for results of alignment done by edlibAlign() function.

EdlibEqualityPair

@brief Defines two given characters as equal.

EdlibEqualityPairRs

Defines two given characters as equal.

Enums

EdlibAlignModeRs

Alignment methods - how should Edlib treat gaps before and after query?

EdlibAlignTaskRs

Alignment tasks - what do you want Edlib to do?

EdlibCigarFormatRs

Describes cigar format. see http://samtools.github.io/hts-specs/SAMv1.pdf see http://drive5.com/usearch/manual/cigar.html

EdlibEdopRs

Edit operations.

Constants

EDLIB_EDOP_DELETE
EDLIB_EDOP_INSERT
EDLIB_EDOP_MATCH
EDLIB_EDOP_MISMATCH
EDLIB_RS_STATUS_ERROR
EDLIB_RS_STATUS_OK
EDLIB_STATUS_ERROR
EDLIB_STATUS_OK
EdlibAlignMode_EDLIB_MODE_HW

Infix method. Similar as prefix method, but with one more twist - gaps at query end and start are not penalized. What that means is that deleting elements from the start and end of second sequence is “free”! For example, if we had ACT and CGACTGAC, edit distance would be 0, because removing CG from the start and GAC from the end of second sequence is “free” and does not count into total edit distance. This method is appropriate when you want to find out how well first sequence fits at any part of second sequence. For example, if your second sequence was a long text and your first sequence was a sentence from that text, but slightly scrambled, you could use this method to discover how scrambled it is and where it fits in that text. In bioinformatics, this method is appropriate for aligning read to a sequence.

EdlibAlignMode_EDLIB_MODE_NW

Global method. This is the standard method. Useful when you want to find out how similar is first sequence to second sequence.

EdlibAlignMode_EDLIB_MODE_SHW

Prefix method. Similar to global method, but with a small twist - gap at query end is not penalized. What that means is that deleting elements from the end of second sequence is “free”! For example, if we had “AACT” and “AACTGGC”, edit distance would be 0, because removing “GGC” from the end of second sequence is “free” and does not count into total edit distance. This method is appropriate when you want to find out how well first sequence fits at the beginning of second sequence.

EdlibAlignTask_EDLIB_TASK_DISTANCE

!< Find edit distance and end locations.

EdlibAlignTask_EDLIB_TASK_LOC

!< Find edit distance, end locations and start locations.

EdlibAlignTask_EDLIB_TASK_PATH

!< Find edit distance, end locations and start locations and alignment path.

EdlibCigarFormat_EDLIB_CIGAR_EXTENDED

!< Match: ‘=’, Insertion: ‘I’, Deletion: ‘D’, Mismatch: ‘X’.

EdlibCigarFormat_EDLIB_CIGAR_STANDARD

!< Match: ‘M’, Insertion: ‘I’, Deletion: ‘D’, Mismatch: ‘M’.

Functions

edlibAlign

Aligns two sequences (query and target) using edit distance (levenshtein distance). Through config parameter, this function supports different alignment methods (global, prefix, infix), as well as different modes of search (tasks). It always returns edit distance and end locations of optimal alignment in target. It optionally returns start locations of optimal alignment in target and alignment path, if you choose appropriate tasks. @param [in] query First sequence. @param [in] queryLength Number of characters in first sequence. @param [in] target Second sequence. @param [in] targetLength Number of characters in second sequence. @param [in] config Additional alignment parameters, like alignment method and wanted results. @return Result of alignment, which can contain edit distance, start and end locations and alignment path. Make sure to clean up the object using edlibFreeAlignResult() or by manually freeing needed members.

edlibAlignRs

Aligns two sequences (query and target) using edit distance (levenshtein distance).
Through config parameter, this function supports different alignment methods (global, prefix, infix), as well as different modes of search (tasks).
It always returns edit distance and end locations of optimal alignment in target. It optionally returns start locations of optimal alignment in target and alignment path, if you choose appropriate tasks.
Parameters:
. query : First sequence.
. target : Second sequence.
. config : Additional alignment parameters, like alignment method and wanted results.
Result of alignment, which can contain edit distance, start and end locations and alignment path.
Note:
Rust interface causes cloning of start/end locations, ensures i32 representations of locations and so transfer memory responsability to Rust.

edlibAlignmentToCigar

Builds cigar string from given alignment sequence. @param [in] alignment Alignment sequence. 0 stands for match. 1 stands for insertion to target. 2 stands for insertion to query. 3 stands for mismatch. @param [in] alignmentLength @param [in] cigarFormat Cigar will be returned in specified format. @return Cigar string. I stands for insertion. D stands for deletion. X stands for mismatch. (used only in extended format) = stands for match. (used only in extended format) M stands for (mis)match. (used only in standard format) String is null terminated. Needed memory is allocated and given pointer is set to it. Do not forget to free it later using free()!

edlibAlignmentToCigarRs

Builds cigar string from given alignment sequence.
param : alignment Alignment sequence. (is obtained from EdlibAlignResultRs.alignment which is a Some if EdlibAlignConfigRs.task is set to EdlibAlignTaskRs::EDLIB_TASK_PATH see test_path_hw) * 0 stands for match. * 1 stands for insertion to target. * 2 stands for insertion to query. * 3 stands for mismatch. param cigarFormat Cigar will be returned in specified format.

edlibDefaultAlignConfig

@return Default configuration object, with following defaults: k = -1, mode = EDLIB_MODE_NW, task = EDLIB_TASK_DISTANCE, no additional equalities.

edlibFreeAlignResult

Frees memory in EdlibAlignResult that was allocated by edlib. If you do not use it, make sure to free needed members manually using free().

edlibNewAlignConfig

Helper method for easy construction of configuration object. @return Configuration object filled with given parameters.

Type Definitions

EdlibAlignMode

Alignment methods - how should Edlib treat gaps before and after query?

EdlibAlignTask

Alignment tasks - what do you want Edlib to do?

EdlibCigarFormat

Describes cigar format. @see http://samtools.github.io/hts-specs/SAMv1.pdf @see http://drive5.com/usearch/manual/cigar.html