ENCODE-DCC/wgbs-pipeline

Cannot find '__main__' module in '' when running installation test

Closed this issue · 3 comments

Describe the bug
I was trying to install the ENCODE WGBS pipeline to analyze some Methyl-Seq data. Everything seemed fine until testing the installation with the command on the README:
caper run wgbs-pipeline.wdl -i tests/functional/json/test_wgbs.json

The pipeline runs and assigns a work ID but fails within the first or second steps giving the following error message:
/home/ubuntu/anaconda3/bin/python3: can't find '__main__' module in ''

Any insight on this would be greatly appreciated.

OS/Platform

  • OS/Platform: Ubuntu 16.04
  • Conda version: v4.9.2
  • Pipeline version: [e.g. v1.3.3] #GitHub project was cloned today 02/15/2021
  • Caper version: v1.4.2

Caper configuration file

backend=local

# Hashing strategy for call-caching (3 choices)
# This parameter is for local (local/slurm/sge/pbs) backend only.
# This is important for call-caching,
# which means re-using outputs from previous/failed workflows.
# Cache will miss if different strategy is used.
# "file" method has been default for all old versions of Caper<1.0.
# "path+modtime" is a new default for Caper>=1.0,
#   file: use md5sum hash (slow).
#   path: use path.
#   path+modtime: use path and modification time.
local-hash-strat=path+modtime

# Local directory for localized files and Cromwell's intermediate files
# If not defined, Caper will make .caper_tmp/ on local-out-dir or CWD.
# /tmp is not recommended here since Caper store all localized data files
# on this directory (e.g. input FASTQs defined as URLs in input JSON).
local-loc-dir=

cromwell=/home/ubuntu/.caper/cromwell_jar/cromwell-52.jar
womtool=/home/ubuntu/.caper/womtool_jar/womtool-52.jar

Input JSON file
Contents of the test json: test_wgbs.json

{
  "wgbs.benchmark_mode": true,
  "wgbs.extra_reference": "tests/data/conversion_control.fa.gz",
  "wgbs.fastqs": [
    [
      [
        "tests/data/sample5_data_1_200000.fastq.gz",
        "tests/data/sample5_data_2_200000.fastq.gz"
      ]
    ]
  ],
  "wgbs.reference": "tests/data/sacCer3.fa.gz",
  "wgbs.sample_names": [
    "sample5"
  ],
  "wgbs.underconversion_sequence_name": "NC_001416.1"
}

Error log
Caper automatically runs a troubleshooter for failed workflows. If it doesn't then get a WORKFLOW_ID of your failed workflow with caper list or directly use a metadata.json file on Caper's output directory.

$ caper debug [WORKFLOW_ID_OR_METADATA_JSON_FILE]

Output of caper debug metadata.json on the failed run

* Started troubleshooting workflow: id=6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41, status=Failed
* Found failures JSON object.
[
    {
        "message": "Workflow failed",
        "causedBy": [
            {
                "causedBy": [],
                "message": "Job wgbs.make_conf:NA:2 exited with return code 1 which has not been declared as a valid return code. See 'continueOnReturnCode' runtime attribute for more details."
            },
            {
                "causedBy": [],
                "message": "Job wgbs.make_metadata_csv:NA:2 exited with return code 1 which has not been declared as a valid return code. See 'continueOnReturnCode' runtime attribute for more details."
            }
        ]
    }
]
* Recursively finding failures in calls (tasks)...

==== NAME=wgbs.make_conf, STATUS=RetryableFailure, PARENT=
SHARD_IDX=-1, RC=1, JOB_ID=45272
START=2021-02-15T20:57:45.333Z, END=2021-02-15T20:57:58.862Z
STDOUT=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_conf/execution/stdout
STDERR=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_conf/execution/stderr
STDERR_CONTENTS=
/home/ubuntu/anaconda3/bin/python3: can't find '__main__' module in ''


==== NAME=wgbs.make_conf, STATUS=Failed, PARENT=
SHARD_IDX=-1, RC=1, JOB_ID=45345
START=2021-02-15T20:58:01.217Z, END=2021-02-15T20:58:14.905Z
STDOUT=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_conf/attempt-2/execution/stdout
STDERR=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_conf/attempt-2/execution/stderr
STDERR_CONTENTS=
/home/ubuntu/anaconda3/bin/python3: can't find '__main__' module in ''


==== NAME=wgbs.make_metadata_csv, STATUS=RetryableFailure, PARENT=
SHARD_IDX=-1, RC=1, JOB_ID=45292
START=2021-02-15T20:57:47.212Z, END=2021-02-15T20:57:58.862Z
STDOUT=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_metadata_csv/execution/stdout
STDERR=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_metadata_csv/execution/stderr
STDERR_CONTENTS=
/home/ubuntu/anaconda3/bin/python3: can't find '__main__' module in ''


==== NAME=wgbs.make_metadata_csv, STATUS=Failed, PARENT=
SHARD_IDX=-1, RC=1, JOB_ID=45364
START=2021-02-15T20:58:03.205Z, END=2021-02-15T20:58:17.405Z
STDOUT=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_metadata_csv/attempt-2/execution/stdout
STDERR=/home/ubuntu/20210215_IPI_MethylSeq_TestRun/software/wgbs-pipeline/wgbs/6ce87d1d-27ca-4f38-8fbd-bec0ac88cc41/call-make_metadata_csv/attempt-2/execution/stderr
STDERR_CONTENTS=
/home/ubuntu/anaconda3/bin/python3: can't find '__main__' module in ''

Thanks for the bug report. I think the documentation instructions are missing the --docker flag, try adding it like this:

caper run wgbs-pipeline.wdl -i tests/functional/json/test_wgbs.json --docker

Note that this will require you to install Docker first. Singularity has not been tested with this pipeline.

Hi @alexadowdell, I was wondering if the above solution helped solve the issue?

Closing due to inactivity, please feel free to reopen though if you feel that your issue has not been resolved.