drneavin / Demultiplexing_Doublet_Detecting_Docs

MIT License
15 stars 1 forks source link

Dropulation DetectDoublets execution error #56

Open lhoranportelance opened 1 month ago

lhoranportelance commented 1 month ago

Hi again @drneavin :)

I got the error I was having on AssignCellsToSamples fixed yesterday. However, I'm now having a different error when running the DetectDoublets step of Dropulation. It seems to be the same thing you were experiencing here with AssignCellsToSamples: https://github.com/broadinstitute/Drop-seq/issues/422

I'm getting the same "Illegal argument value: Positional arguments were provided" error for the first variable in my command. I was running my command with the options set as --OPTION . I tried switching to OPTION=, but it then gave the "positional argument" error on every option in the command rather than just the first one. It's especially weird because I didn't run into this issue with AssignCellsToSamples--it's only popped up with DetectDoublets. I'm not sure if you maybe changed something in AssignCellsToSamples but not DetectDoublets? Or is there a fix that I'm not entirely understanding from that other thread?

Thanks in advance :) Liam

drneavin commented 1 month ago

Thi @lhoranportelance , thanks for your post. Can you provide the output from singularity inspect Demuxafy.sif? I want to see what version of the singularity image you have installed. Thanks!

-Drew

lhoranportelance commented 1 month ago

@drneavin here's the output:

singularity inspect Demuxafy.sif
Author: = Drew Neavin
Image_version: = v3.0.0
Software: = Demuxafy
org.label-schema.build-arch: amd64
org.label-schema.build-date: Tuesday_4_June_2024_14:1:56_UTC
org.label-schema.schema-version: 1.0
org.label-schema.usage.singularity.deffile.bootstrap: library
org.label-schema.usage.singularity.deffile.from: ubuntu:20.04
org.label-schema.usage.singularity.version: 3.11.3-dirty

and so you have it, here was the command I executed that did work:

singularity exec --bind /data/... Demuxafy.sif Dropulation_AssignCellsToSamples.py --CELL_BC_FILE $BARCODES \
    --INPUT_BAM $DROPULATION_OUTDIR/possorted_genome_bam_dropulation_tag.bam \
    --OUTPUT $DROPULATION_OUTDIR/assignments.tsv.gz \
    --VCF $VCF_ALL \
    --SAMPLE_FILE $INDS \
    --CELL_BARCODE_TAG $CELL_TAG \
    --MOLECULAR_BARCODE_TAG $UMI_TAG \
    --VCF_OUTPUT $DROPULATION_OUTDIR/assignment.vcf \
    --CREATE_INDEX true \
    --MAX_ERROR_RATE 0.05

and here was the command that didn't work:

singularity exec --bind /data/... Demuxafy.sif DetectDoublets --CELL_BC_FILE $BARCODES \
    --INPUT_BAM $DROPULATION_OUTDIR/possorted_genome_bam_dropulation_tag.bam \
    --OUTPUT $DROPULATION_OUTDIR/likelihoods.tsv.gz \
    --VCF $DROPULATION_OUTDIR/assignment.vcf \
    ${CELL_TAG:+--CELL_BARCODE_TAG $CELL_TAG} \
    ${UMI_TAG:+--MOLECULAR_BARCODE_TAG $UMI_TAG} \
    --SINGLE_DONOR_LIKELIHOOD_FILE $DROPULATION_OUTDIR/assignments.tsv.gz \
    --SAMPLE_FILE $INDS \
    --MAX_ERROR_RATE 0.05

(changed file paths for HPC)

lhoranportelance commented 1 month ago

@drneavin I believe I may have solved my own problem again, but I'm not sure why or how it worked.

All I did was add "--" after "DetectDoublets" in the command (as suggested here: https://github.com/broadinstitute/Drop-seq/issues/422#issuecomment-2139518165), and it seems to be working.

singularity exec --bind /data/... Demuxafy.sif DetectDoublets -- --CELL_BC_FILE $BARCODES \
    --INPUT_BAM $DROPULATION_OUTDIR/possorted_genome_bam_dropulation_tag.bam \
    --OUTPUT $DROPULATION_OUTDIR/likelihoods.tsv.gz \
    --VCF $DROPULATION_OUTDIR/assignment.vcf \
    ${CELL_TAG:+--CELL_BARCODE_TAG $CELL_TAG} \
    ${UMI_TAG:+--MOLECULAR_BARCODE_TAG $UMI_TAG} \
    --SINGLE_DONOR_LIKELIHOOD_FILE $DROPULATION_OUTDIR/assignments.tsv.gz \
    --SAMPLE_FILE $INDS \
    --MAX_ERROR_RATE 0.05

I really have no idea why it was required for this command but I didn't have to do it for AssignCellsToSamples. May be something to look into for documentation purposes.

Apologies for the confusion! Liam