ParBLiSS / PaSGAL

Parallel Sequence to Graph Alignment
MIT License
35 stars 4 forks source link

Scoring scheme #4

Closed pesho-ivanov closed 4 years ago

pesho-ivanov commented 4 years ago

The README file states: INFO, psgl::parseandSave, scoring scheme = [ match:1 mismatch:1 ins:1 del:1 ]

I guess this is typo as all alignments would receive the same score. For unit costs, the match cost should be zero, I believe.

cjain7 commented 4 years ago

Match score reflects positive reward for a match, where as other reflect a penalty value.

cjain7@login1-stampede:PaSGAL$ ./PaSGAL -h SYNOPSIS ./build/PaSGAL -m (vg|txt) -r <ref> -q <query> -o <output> -t <threads> [-match <N1>] [-mismatch <N2>] [-ins <N3>] [-del <N4>]

    <N1>        match score (default 1)
    <N2>        mismatch penalty (default 1)
    <N3>        insertion penalty (default 1)
    <N4>        deletion penalty (default 1)
pesho-ivanov commented 4 years ago

I see. So, if I understand correctly, this score scheme isn't equivalent to the unit costs (0,1,1,1) in GraphAligner.

I don't think this will make a huge difference, but did you run PaSGAL with (0,1,1,1) costs when comparing to vg-exact and the GraphAligner-exact?

cjain7 commented 4 years ago

That is not a valid scoring scheme for local alignments. Here you are trying to maximize alignment score. If you give (0,1,1,1), an empty alignment would achieve the best score.

pesho-ivanov commented 4 years ago

Thank you for underlining that PaSGAL is aligning locally! This means that it solves the same local alignment task by vg, but different from the semi-global alignment task by graphaligner-exact. Is there a way to run PaSGAL for the same task that graphaligner solves?

Can you please share the exact commands and parameters you used to compare PaSGAL, graphaligner-exact and vg-exact? I am especially interested in the scores so that I make sure I reproduce the evaluations for the same data and same problem statement.

cjain7 commented 4 years ago

Is there a way to run PaSGAL for the same task that graphaligner solves?

Not at the moment, but in theory, it should be easy to add global alignment algorithm in PaSGAL.

parameters you used to compare PaSGAL, graphaligner-exact and vg-exact?

Parameters to vg-exact: -T0 -e1 -g1 -M1 -m1 Parameters to PaSGAL: default Parameters to bit-parallel: default