GoekeLab / bambu-singlecell-spatial

Transcript discovery and quantification for long read single cell and spatial transcriptomics data using Bambu
GNU General Public License v3.0
3 stars 0 forks source link

10X5'v3 #4

Closed JoBerger99 closed 1 month ago

JoBerger99 commented 1 month ago

Hey everyone,

been using this nextflow pipeline sucessfully on my 10X5'v2 data. Thanks for the development. This is a really great implementation.

I have run into a problem using my new 10X5'v3 data. I get an error when using a custom chemistry string for flexiplex, since 5'v3 i not natively supported (its just 12 bp UMI instead of 10). I have tried all kinds of different combinations of syntax (with/without "" after -x etc etc). And referred to the flexiplex documentation. If this doesn't work, I can of course demultiplex independetly, but I guess it would be very helpful in general if this works. Maybe someone sees the problem. Thanks for your help.

I use the pipeline like this:

chemistry="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG"

nextflow run GoekeLab/bambu-SingleCell-Spatial \ --reads $fastq_gz_path \ --genome $refgenome_path \ --annotation $annotation_path \ --chemistry "$chemistry" \ --whitelist $whitelist_path \ --ncore 8 --outdir "ONT_bambu-sc_Test" -r main \ -c "/data/cephfs-1/work/projects/config/nxt.config" \ -with-apptainer lingminhao/bambusc:beta

And the error I get is this:

executor > slurm (1) [3f/b3cd09] process > flexiplex (1) [100%] 1 of 1, failed: 1 ✘ [- ] process > minimap - [- ] process > bambu_discovery - [- ] process > bambu_quant - ERROR ~ Error executing process > 'flexiplex (1)'

Caused by: Process flexiplex (1) terminated with an error exit status (2)

Command executed:

chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG" if [[ -x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG == 10x3v3 ]]; then chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTTTTTTT" elif [[ -x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG == 10x3v2 ]]; then chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ?????????? -x TTTTTTTTT" elif [[ -x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG == 10x5v2 ]]; then chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ?????????? -x TTTCTTATATGGG" fi

gunzip -c SQK-NBD114-24_barcode01.fastq.gz > reads.fastq flexiplex -p 8 $chem -f 0 reads.fastq if [[ "/data/cephfs-1/work/projects/GitHub/cellranger/cellranger-8.0.1/lib/python/cellranger/barcodes/3M-5pgex-jan-2023.txt.gz" == "null" ]]; then python /mnt/software/main.py --outfile my_filtered_barcode_list.txt flexiplex_barcodes_counts.txt else gunzip -c /data/cephfs-1/work/projects/GitHub/cellranger/cellranger-8.0.1/lib/python/cellranger/barcodes/3M-5pgex-jan-2023.txt.gz > whitelist.txt python /mnt/software/main.py --outfile my_barcode_list.txt flexiplex_barcodes_counts.txt awk '{print $1}' whitelist.txt my_barcode_list.txt | sort | uniq -d > my_filtered_barcode_list.txt fi flexiplex -p 8 -k my_filtered_barcode_list.txt $chem -f 8 -e 1 reads.fastq > new_reads.fastq rm reads.fastq

Command exit status: 2

Command output: (empty)

Command error: .command.sh: line 3: syntax error in conditional expression

Work dir: /data/cephfs-1/home/users/jobe15_c/scratch/work_jobe15_c/3f/b3cd09a984b2e1a895be5d32bbbeba

Tip: you can replicate the issue by changing to the process work dir and entering the command bash .command.run

-- Check '.nextflow.log' file for details

andredsim commented 1 month ago

Hi,

Thanks for reporting this. I now figured out why this was happening but I do not have 10X5'v3 to test this on to confirm it solves this. I added 10X5'v3 as an applicable option for --chemistry and believe I fixed the custom chemistry issue too, if you could test both and let me know if it solves it I would really appreciate it.

Note that there has been a few changes to the container and the general pipeline, so after pulling the new version you will need to use this docker path -with-singularity lingminhao/bambusc:beta1.1. Alternatively if you just want to change your local version with this change In process flexiplex change replace these lines to what I have below

    chem="$chemistry"
    if [[ "$chemistry" == 10x3v3 ]]; then 
        chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTTTTTTT"
    elif [[ "$chemistry" == 10x3v2 ]]; then 
        chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ?????????? -x TTTTTTTTT"
    elif [[ "$chemistry" == 10x5v2 ]]; then
        chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ?????????? -x TTTCTTATATGGG"
    elif [[ "$chemistry" == 10x5v3 ]]; then
        chem="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG"
    fi

Kind Regards, Andre Sim

JoBerger99 commented 1 month ago

Hi Andre,

Thanks for your quick reply and changes. I tried both the 10x5v3 option and the custom option and both work. Thanks a lot!

For anyone who might come across this. This is how I use the custom chemistry option:

chemistry="-x CTACACGACGCTCTTCCGATCT -b ???????????????? -u ???????????? -x TTTCTTATATGGG"

nextflow run GoekeLab/bambu-SingleCell-Spatial \ --reads $fastq_gz_path \ --genome $refgenome_path \ --annotation $annotation_path \ --chemistry "$chemistry" \ --whitelist $whitelist_path \ --ncore 16 --outdir "bambu-sc_output" -r main \ -c "/data/cephfs-1/work/projects/config/nxt.config" \ -with-apptainer lingminhao/bambusc:beta1.1

Best, Jonas

JoBerger99 commented 1 month ago

Issue fixed.