philres / ngmlr

NGMLR is a long-read mapper designed to align PacBio or Oxford Nanopore (standard and ultra-long) to a reference genome with a focus on reads that span structural variations
MIT License
293 stars 40 forks source link

min-residues argument parses all values as floats? #48

Open jaclew opened 6 years ago

jaclew commented 6 years ago

Hi!

I think I've found an issue with the --min-residues argument. If I understand it correctly, the user is able to specify which alignments should be dropped by a cutoff of X residues. This is set either as a fixed number (int number passed), or as a dynamic number based on the read length (float number is passed).

I'm trying to specify to NGMLR that I want to discard all alignments which are not of >= 2000 residues. However, I get zero alignments any time I set the parameter above 1 - as if NGMLR always detects the number, regardless of input being a int or float.

"--min-residues 2000" results in all alignments unmapped (my intended setting) "--min-residues 2" results in all alignments unmapped (idea was to use any value above 1 - there should be alignments of at least size 2)

Even "--min-residues 1" results in no mapped reads. I only let it pass through ~15k reads so maybe some read might have showed up that would have * 1 alignment length.

"--min-residues 0.99" resulted in lots of mapped reads in ~15k reads.

Therefore I think there may be a problem with letting NGMLR know I want a fixed value for the "--min-residues" argument.

Perhaps you can elaborate and/or tell me if I've misunderstood the function of the argument?

Sincerely, Jacob

philres commented 6 years ago

Hi Jacob,

thanks for reporting this and sorry for the late reply. I'll look into this.

Philipp

philres commented 6 years ago

I just pushed a fix to the master branch that should resolve this issues. Will try to put together a new release tomorrow.

Thanks again for reporting this, Philipp

drfultz commented 5 years ago

Was this issue ever fixed? I just updated to ngmlr 0.2.7 through bioconda, but I'm still not getting any mapped alignments when using the --min-residues flag with integers (tried 100 and 2000). It would be a handy feature! ngmlr is a great tool, btw!

fritzsedlazeck commented 5 years ago

you might need to clone the code directly. I dont know frankly when we pushed the conda package the last time. Thanks Fritz

drfultz commented 5 years ago

Gotcha. I thought maybe since this issue was still listed as open on here that the fix might not be working. I will grab it from here.

Thanks!

fritzsedlazeck commented 5 years ago

Yeah @philres keeps them open for much longer than I usually do. :)