Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work-around for lumpy segfaults from lumpyexpress #277

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

hepcat72
Copy link

I have not tested these changes from this fork, but I have tested them from editing my conda install's lumpyexpress script to not omit any -pe flags and by manually supplying a mean & stdev calculated by lumpyexpress from version 0.2.13 from homebrew...

The call to lumpy from lumpyexpress segfaults when the -pe flags are omitted when the insert mean and stdev are not calculated in lumpyexpress. Furthermore, the lumpy galaxy wrapper fails with an error that mean & stdev are missing.

I kept the warning, but allowed mean and stdev to be output in all cases to avoid the segfaults from lumpyexpress and avoid the error & no output from the lumpy galaxy wrapper.

This is admittedly a work-around. Lumpy should probably be edited to be able to not segfault when the -pe discordant options are missing and should gracefully output no results if mean and stdev do not have valid values.

Files checked in: scripts/lumpyexpress scripts/pairend_distro.py

…omitted when the insert mean and stdev are not calculated in lumpyexpress. Furthermore, the lumpy galaxy wrapper fails with an error that mean & stdev are missing.

I kept the warning, but allowed mean and stdev to be output in all cases to avoid the segfaults from lumpyexpress and avoid the error & no output from the lumpy galaxy wrapper.

This is admittedly a work-around. Lumpy should probably be edited to be able to not segfault when the -pe discordant options are missing and should gracefully output no results if mean and stdev do not have valid values.

Files checked in: scripts/lumpyexpress scripts/pairend_distro.py
@hepcat72
Copy link
Author

hepcat72 commented Oct 18, 2018

Well, presumably there are some tests that expect mean & stdev to not get set. I'll take a look at those tomorrow... although... those tests appear to fail for me before any of my changes...

@hepcat72
Copy link
Author

I have updated my galaxy wrapper of lumpyexpress to work around this issue. It's a simple/quick, less-than-ideal fix that simply copies and modifies lumpyexpress, lumpy.config, and pairend_distro.py.

I haven't reduced the test case that causes the segfault, but if you're interested, these are the files that caused me to run into it. I'll leave them up for a week or so if you want to reproduce the issue.

https://www.dropbox.com/s/l8axxuralbq6byl/lumpyexpress_test_files_that_cause_segfault.zip?dl=0

If you run this shell script, which calls lumpyexpress:

https://github.com/hepcat72/robs_galaxy_tools/blob/master/tools/lumpyexpress/lumpy_wrapper.tcsh

using these parameters:

lumpy_wrapper.tcsh 1 out.vcf *.sample.bam

you will reproduce the segfault.

@ryanlayer
Copy link
Collaborator

ryanlayer commented Oct 25, 2018 via email

My modified version of this script I use locally encountered a case where some type exceptions were occurring due to unexpected nan values.  These changes work around that issue and allow lumpy to run.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants