ConesaLab / TCR_nextflow

10 stars 2 forks source link

run error of mixcr, "cannot execute binary file", licensce issue? #1

Open chunxuan-hs opened 3 months ago

chunxuan-hs commented 3 months ago

Hi developer,

We always run into the issue of "cannot execute binary file", and I think it might be related to mixcr licensce. I have obtained the licensce, how do I provide it to the pipeline? Many thanks!

ERROR ~ Error executing process > 'mixcr_analyze (XX)'

Caused by:
  Process `mixcr_analyze (XX)` terminated with an error exit status (126)

Command executed:

  mixcr analyze shotgun -t 2 --species HomoSapiens --starting-material rna --only-productive     --align "-OsaveOriginalReads=true"     XX.R1.fastq.gz XX.R2.fastq.gz XX
  csplit -f XX.report '/^==/' '{*}' > mixcr_qc.log

Command exit status:
  126

Command output:
  (empty)

Command error:
  /bin/bash: /bin/bash: cannot execute binary file

Work dir:
  /work/71/1e5ebf714e7951f13185a9b8b401a5

Tip: view the complete command output by changing to the process work dir and entering the command `cat .command.out`

 -- Check '.nextflow.log' file for details
TeresaRubio commented 3 months ago

Hello chunxuan!

If you have already obtained the MiXCR license, they explain in their website how to activate it. You can follow this steps: https://mixcr.com/mixcr/getting-started/milm/

Once MiXCR is installed and activated, you should add it into the $PATH variable (using the export command): export PATH=/path_to_MiXCR_directory:$PATH

More info about how to install MiXCR in your computer if you still have problems: https://mixcr.com/mixcr/getting-started/installation/#manual-installation

Alternatively, I recomend you to use Docker so you do not need to install MiXCR in your computer. Follow this steps:

docker pull milaboratory/mixcr

nextflow run nextflow_main.nf -profile docker

Hope this help! Teresa.

chunxuan-hs commented 3 months ago

Hi Teresa, many thanks for the reply!

Indeed I am using docker, as shown in the README.md of "TCR_nextflow".

In the mixcr official doc, license is used in the following command (an example):

> docker run --rm \
    -e MI_LICENSE="...license-token..." \
    -v /path/to/raw/data:/raw:ro \
    -v /path/to/put/results:/work \
    ghcr.io/milaboratory/mixcr/mixcr:latest \
    align -s hs \
    /raw/data_R1.fastq.gz \
    /raw/data_R2.fastq.gz \
    alignments.vdjca 

However, I am not sure how to config it with the TCR_nextflow as there is no way to pass `-e MI_LICENSE="...license-token..." to the command

nextflow run nextflow_main.nf -profile docker

Sorry I am new to nextflow and my questions might be very stupid.