ENCODE-DCC / chip-seq-pipeline2

ENCODE ChIP-seq pipeline
MIT License
246 stars 123 forks source link

pipeline fails to complete #119

Closed ychsiao1 closed 4 years ago

ychsiao1 commented 4 years ago

Describe the bug workflow fails at some point before peak calling. No peak calling output after croo.

OS/Platform

Caper configuration file **backend=local

DO NOT use /tmp here

Caper stores all important temp files and cached big data files here

tmp-dir=/usr/local/lib/caper/**

Input JSON file ], "chip.ctl_fastqs_rep1_R1" : ["https://storage.googleapis.com/encode-pipeline-test-samples/encode-chip-seq-pipeline/ENCSR936XTK/fastq_subsampled/ctl1-R1.subsampled.80.fastq.gz" ], "chip.ctl_fastqs_rep1_R2" : ["https://storage.googleapis.com/encode-pipeline-test-samples/encode-chip-seq-pipeline/ENCSR936XTK/fastq_subsampled/ctl1-R2.subsampled.80.fastq.gz" ], "chip.ctl_fastqs_rep2_R1" : ["https://storage.googleapis.com/encode-pipeline-test-samples/encode-chip-seq-pipeline/ENCSR936XTK/fastq_subsampled/ctl2-R1.subsampled.80.fastq.gz" ], "chip.ctl_fastqs_rep2_R2" : ["https://storage.googleapis.com/encode-pipeline-test-samples/encode-chip-seq-pipeline/ENCSR936XTK/fastq_subsampled/ctl2-R2.subsampled.80.fastq.gz" ], "chip.paired_end" : true, "chip.always_use_pooled_ctl" : true, "chip.title" : "ENCSR936XTK (subsampled 1/50, chr19 and chrM Only)", "chip.description" : "ZNF143 ChIP-seq on human GM12878" } ~

Error log metadata.json.zip

leepc12 commented 4 years ago

xcor task failed. Check STDOUT and STDERR of that task

/usr/local/lib/chip-seq-pipeline2/chip/0cd50018-024b-43a1-886b-5005184991e7/call-xcor/shard-0/execution/stdout /usr/local/lib/chip-seq-pipeline2/chip/0cd50018-024b-43a1-886b-5005184991e7/call-xcor/shard-0/execution/stderr

ychsiao1 commented 4 years ago

I attached those two files.

stderr and stdout.zip

leepc12 commented 4 years ago

I found this error message:

Traceback (most recent call last):
  File "/root/miniconda3/envs/encode-chip-seq-pipeline/bin/encode_task_xcor.py", line 156, in <module>
    main()
  File "/root/miniconda3/envs/encode-chip-seq-pipeline/bin/encode_task_xcor.py", line 144, in main
    args.chip_seq_type, args.exclusion_range_min, args.exclusion_range_max)
  File "/root/miniconda3/envs/encode-chip-seq-pipeline/bin/encode_task_xcor.py", line 105, in xcor
    run_shell_cmd(cmd1)
  File "/root/miniconda3/envs/encode-chip-seq-pipeline/bin/encode_lib_common.py", line 319, in run_shell_cmd
    raise Exception(err_str)
Exception: PID=35728, PGID=35728, RC=127
STDERR=/root/miniconda3/envs/encode-chip-seq-pipeline/lib/R/bin/exec/R: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
STDOUT=

Please try this. Check if any readline==6.x works.

$ conda activate encode-chip-seq-pipeline
$ conda install -c conda-forge readline==6.2

If it doesn't work then try this.

$ sudo apt-get install libreadline6-dev
ychsiao1 commented 4 years ago

I installed using apt-get, and after running caper, it seemed like the pipeline was getting stuck at xcor. This was the message it was displaying:

Retrying job execution for chip.xcor:1:2

leepc12 commented 4 years ago

I just made a new release. Please try with v1.3.5.1. This version uses readline 7 instead of 6. Don't forget to re-install pipeline's Conda env.

ychsiao1 commented 4 years ago

After the update, the example file successfully runs now. Thanks!

I'm currently trying to run single-ended replicates using the example file as well ( taking out all R2s and changing chip.paired_ends to false), and I'm getting the following error.

This is the stdout and stderr from (/usr/local/lib/chip-seq-pipeline2/chip/23c12c2c-bad8-479f-8bb2-035855995940/call-call_peak_pr2/shard-1/attempt-2/execution/stderr), where the error first occurs.

Could you help me check why this is occurring. Thanks

stderr and stdout.zip

leepc12 commented 4 years ago

Our pipeline (currently at v1.3.5.1) uses a fixed FDR threshold of 0.01 for SPP (See phantompeakqualtool's run_spp.R -fdr parameter for details). I parameterized it for the pipeline so that you can change it in your input JSON.

I think 0.01 was too stringent for your sample.

Check out the latest dev branch with this fix. Don't forget to update pipeline's Conda env with the fix.

$ cd [PIPELINE_GIT_DIRECTORY]
$ git pull
$ git checkout PIP-880_update_for_v1.3.5.1

# check if fdr_thresh is added to the pipeline
$ cat chip.wdl | grep fdr_thresh

# IMPORTANT! (copy fixed source codes into pipeline's Conda env)
$ bash scripts/update_conda_env.sh

Add the following to you input JSON. Try with 0.05 or higher FDR threshold.

    "chip.fdr_thresh": 0.05,
leepc12 commented 4 years ago

Closing this due to long inactivity.