phasegenomics / matlock

Simple tools for working with Hi-C data
GNU Affero General Public License v3.0
16 stars 1 forks source link

bam2 juicer erases my bam file #4

Open eoziolor opened 5 years ago

eoziolor commented 5 years ago

Hello,

I am trying to run matlock to convert a filtered .bam file from hic alignments into a juicer format. I am running this on a Ubuntu 18.04 cluster.

matlock bam2 juicer -i ph_supernova_filtered.bam -o ph_super_filter_format

The error I get is: INFO: converting bam to juicer on -i [E::hts_open_format] Failed to open file -i INFO: detected ? filetype [E::hts_open_format] Failed to open file -i FATAL: failed to open "-i" for reading Segmentation fault

And then I find that my .bam file has been erased. Do you know why this could be?

Thank you!

-Elias

macmanes commented 5 years ago

this just happened to me as well. Seriously bad...

eoziolor commented 5 years ago

@macmanes matlock bam2 juicer works for me for the original alignments file by the way, so I'd give it a shot if you want to move forward. I've been using that to plug in with juicer. I think alignment score is in the output, so it shouldn't be a problem for downstream processes, but it would definitely take less time with filtered .bam

shawnpg commented 5 years ago

I believe this is because of the "-i" and "-o" flags. The usage is just "matlock bam2 juicer [input] [output]" without flags, so it is looking for a file named "-i" and writing its results to the file with your original BAM name.

It is of course unacceptable behavior to overwrite the file in this case and we will change that, but can you confirm whether removing the "-i" and "-o" flags fixes it?

eoziolor commented 5 years ago

Shawn,

Thanks for the answer! I am currently filtering the file after another loss (I forgot to re-create it yesterday), I will check in about 1 hour after it's done. The strange part is that it works just fine for me with -i and -o on the aligned.bam file, but not on the filtered.bam. In addition, when I run matlock for filtering, the -i and -o notation is required, correct?

-Elias

macmanes commented 5 years ago

I can confirm that the -o and -i are the offending.. it’s true that bamfilt requires these flags, which makes this error even more likely.

Matt


Matthew MacManes, Ph.D. University of New Hampshire I Assistant Professor of Genome Enabled Biology Department of Molecular, Cellular, & Biomedical Sciences Durham, NH 03824<x-apple-data-detectors://1/0> Phone: 603-862-4052 I Twitter: @macmanes | Web: genomebio.orghttp://genomebio.org/ Office: 434 Gregg Hall | Laboratory: 437 Gregg Hall

On Dec 21, 2018, at 17:48, Elias Oziolor notifications@github.com<mailto:notifications@github.com> wrote:

Caution - External Email


Shawn,

Thanks for the answer! I am currently filtering the file after another loss (I forgot to re-create it yesterday), I will check in about 1 hour after it's done. The strange part is that it works just fine for me with -i and -o on the aligned.bam file, but not on the filtered.bam. In addition, when I run matlock for filtering, the -i and -o notation is required, correct?

-Elias

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_phasegenomics_matlock_issues_4-23issuecomment-2D449517363&d=DwMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=lFmSBplGfvpPNKk6W2tN6-UcUrgjlsdpj7JuHtA6g_Y&m=mxA-q2YMTNqsEOEKb69q0s0FH6n9P8KBvnBTet7V9b0&s=smYpoGeF5KqRucs2L-sVGzm8f6s-MtM0ngYPDdxGPXQ&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AAKDkIpoEW7sXJh3KqmFB3h2q0UVxzQgks5u7WUtgaJpZM4ZdKbv&d=DwMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=lFmSBplGfvpPNKk6W2tN6-UcUrgjlsdpj7JuHtA6g_Y&m=mxA-q2YMTNqsEOEKb69q0s0FH6n9P8KBvnBTet7V9b0&s=alwCil2LYbss2n_TOJtVolKi1Aiu651Hfs5U5ElnNeo&e=.

shawnpg commented 5 years ago

Thanks for confirming. I agree, this is a confusing interface. We will make a change both so that it won't overwrite files accidentally when the arguments are wrong, and will also unify the interfaces so they all use the -i and -o flags.