Martinsos / edlib

Lightweight, super fast C/C++ (& Python) library for sequence alignment using edit (Levenshtein) distance.
http://martinsos.github.io/edlib
MIT License
493 stars 162 forks source link

Adjusting penalties #138

Closed OgnjenMilicevic closed 4 years ago

OgnjenMilicevic commented 4 years ago

Hi! Is there any way in the current implementation to set the penalties for mismatches and insertions/deletions? If not, is this even possible with edlibs awesome speed (is that where it saves on computation), or is this a possible feature?

Thanks!

Martinsos commented 4 years ago

Hi Ognjen! No, I am afraid it is not possible, as you correctly assumed. Edlib gets its speed from Myers algorithm, which uses the property of edit distance, which is that mismatches and indels are penalized with the same value. So Edlib works only for edit distance! We could try to expand it with different algorithms, but that would mean creating a tool that supports different types of alignments and multiple implementations in the background, which is what we don't want to do, we want to keep Edlib simple in the sense that it does edit distance very well (edlib = Edit Distance LIBrary).

On Tue, Nov 19, 2019 at 9:16 PM OgnjenMilicevic notifications@github.com wrote:

Hi! Is there any way in the current implementation to set the penalties for mismatches and insertions/deletions? If not, is this even possible with edlibs awesome speed (is that where it saves on computation), or is this a possible feature?

Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Martinsos/edlib/issues/138?email_source=notifications&email_token=AALXFB7E5G2EFLFPK34QQB3QURCQHA5CNFSM4JPIZWIKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H2ORQ6A, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALXFBYOGVGDPBI6TQSX5LLQURCQHANCNFSM4JPIZWIA .

Martinsos commented 4 years ago

Closing this one! But, thinking about it, this should go into the FAQ. I will create an issue to put this in the FAQ.