ntanmayee / decoden

🌊 Analyse experimental conditions and replicates jointly to remove cell-type specific bias in multi-condition ChIP-Seq
GNU General Public License v3.0
8 stars 1 forks source link

decoden detect fails while parsing experiment_conditions.json #33

Open jamesabbott opened 2 months ago

jamesabbott commented 2 months ago

decoden detect is falling over while trying to read the experiment_conditions.json file. It looks like the json format has changed and has more values than expected:

Detecting peaks
╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│ /cluster/gjb_lab/jabbott/miniconda3/envs/decoden/DecoDen/decoden/main.py:220 │
│ in detect                                                                    │
│                                                                              │
│   217 │   """                                                                │
│   218 │   typer.echo("Detecting peaks")                                      │
│   219 │                                                                      │
│ ❱ 220 │   _decoden_pipeline(["detect"],                                      │
│   221 │   │   │   │   │     files_reference=files_reference,                 │
│   222 │   │   │   │   │     out_dir=out_dir,                                 │
│   223 │   │   │   │   │     control_label=control_label,                     │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │   control_label = 'control'                                              │ │
│ │ files_reference = PosixPath('/tmp/1914583.1.all.q/decoden/experiment_co… │ │
│ │       min_width = 150                                                    │ │
│ │         out_dir = PosixPath('/tmp/1914583.1.all.q/decoden')              │ │
│ │  peak_threshold = 0.01                                                   │ │
│ │      pval_alpha = 0.05                                                   │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /cluster/gjb_lab/jabbott/miniconda3/envs/decoden/DecoDen/decoden/decoden_pip │
│ eline.py:85 in _decoden_pipeline                                             │
│                                                                              │
│   82 │   if "detect" in pipeline_steps:                                      │
│   83 │   │   assert control_label is not None, "Please specify the label use │
│   84 │   │   assert files_reference is not None, "Please specify the file th │
│ ❱ 85 │   │   run_peak_calling(files_reference, out_dir, control_label, pval_ │
│   86 │   │   │   │   │   │   │   peak_threshold=peak_threshold,              │
│   87 │   │   │   │   │   │   │   min_width=min_width)                        │
│   88                                                                         │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │               alpha_H = None                                             │ │
│ │               alpha_W = None                                             │ │
│ │              bin_size = None                                             │ │
│ │        blacklist_file = None                                             │ │
│ │            chunk_size = None                                             │ │
│ │ control_cov_threshold = None                                             │ │
│ │         control_label = 'control'                                        │ │
│ │       files_reference = PosixPath('/tmp/1914583.1.all.q/decoden/experim… │ │
│ │           genome_size = None                                             │ │
│ │             input_csv = None                                             │ │
│ │             min_width = 150                                              │ │
│ │          n_train_bins = None                                             │ │
│ │              num_jobs = None                                             │ │
│ │               out_dir = PosixPath('/tmp/1914583.1.all.q/decoden')        │ │
│ │        peak_threshold = 0.01                                             │ │
│ │        pipeline_steps = ['detect']                                       │ │
│ │              plotting = None                                             │ │
│ │            pval_alpha = 0.05                                             │ │
│ │                  seed = None                                             │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
│                                                                              │
│ /cluster/gjb_lab/jabbott/miniconda3/envs/decoden/DecoDen/decoden/detection/p │
│ eak_detection.py:166 in run_peak_calling                                     │
│                                                                              │
│   163 │   label_mapping = {}                                                 │
│   164 │                                                                      │
│   165 │   for v in files_mapping.values():                                   │
│ ❱ 166 │   │   condition, replicate, label = v                                │
│   167 │   │   if condition==control_label:                                   │
│   168 │   │   │   continue                                                   │
│   169 │   │   if condition not in label_mapping:                             │
│                                                                              │
│ ╭───────────────────────────────── locals ─────────────────────────────────╮ │
│ │     bedgraph_dir = '/tmp/1914583.1.all.q/decoden/output_bedgraph_files'  │ │
│ │    control_label = 'control'                                             │ │
│ │                f = <_io.TextIOWrapper                                    │ │
│ │                    name='/tmp/1914583.1.all.q/decoden/experiment_condit… │ │
│ │                    mode='r' encoding='UTF-8'>                            │ │
│ │    files_mapping = {                                                     │ │
│ │                    │                                                     │ │
│ │                    '/tmp/1914468.1.all.q/decoden/data/control_reads.npy… │ │
│ │                    {                                                     │ │
│ │                    │   │   'condition': 'control',                       │ │
│ │                    │   │   'sample_names': [                             │ │
│ │                    │   │   │   'ENCSR098OLN_control_1_rep1',             │ │
│ │                    │   │   │   'ENCSR098OLN_control_2_rep2',             │ │
│ │                    │   │   │   'ENCSR098OLN_control_3_rep3'              │ │
│ │                    │   │   ],                                            │ │
│ │                    │   │   'filenames': [                                │ │
│ │                    │   │   │   '/tmp/1914468.1.all.q/SRX7509254.bam',    │ │
│ │                    │   │   │   '/tmp/1914468.1.all.q/SRX7509253.bam',    │ │
│ │                    │   │   │   '/tmp/1914468.1.all.q/SRX7509252.bam'     │ │
│ │                    │   │   ],                                            │ │
│ │                    │   │   'bin_size': 200,                              │ │
│ │                    │   │   'fragment_length': 76.0                       │ │
│ │                    │   },                                                │ │
│ │                    │                                                     │ │
│ │                    '/tmp/1914468.1.all.q/decoden/data/H3K4me3_reads.npy… │ │
│ │                    {                                                     │ │
│ │                    │   │   'condition': 'H3K4me3',                       │ │
│ │                    │   │   'sample_names': [                             │ │
│ │                    │   │   │   'ENCSR098OLN_replicate_1_rep1',           │ │
│ │                    │   │   │   'ENCSR098OLN_replicate_2_rep2',           │ │
│ │                    │   │   │   'ENCSR098OLN_replicate_3_rep3'            │ │
│ │                    │   │   ],                                            │ │
│ │                    │   │   'filenames': [                                │ │
│ │                    │   │   │   '/tmp/1914468.1.all.q/SRX10187572.bam',   │ │
│ │                    │   │   │   '/tmp/1914468.1.all.q/SRX10187571.bam',   │ │
│ │                    │   │   │   '/tmp/1914468.1.all.q/SRX10187570.bam'    │ │
│ │                    │   │   ],                                            │ │
│ │                    │   │   'bin_size': 200,                              │ │
│ │                    │   │   'fragment_length': 76                         │ │
│ │                    │   }                                                 │ │
│ │                    }                                                     │ │
│ │  files_reference = PosixPath('/tmp/1914583.1.all.q/decoden/experiment_c… │ │
│ │    label_mapping = {}                                                    │ │
│ │        min_width = 150                                                   │ │
│ │          out_dir = PosixPath('/tmp/1914583.1.all.q/decoden')             │ │
│ │   peak_threshold = 0.01                                                  │ │
│ │ peaks_output_dir = '/tmp/1914583.1.all.q/decoden/called_peaks'           │ │
│ │       pval_alpha = 0.05                                                  │ │
│ │                v = {                                                     │ │
│ │                    │   'condition': 'control',                           │ │
│ │                    │   'sample_names': [                                 │ │
│ │                    │   │   'ENCSR098OLN_control_1_rep1',                 │ │
│ │                    │   │   'ENCSR098OLN_control_2_rep2',                 │ │
│ │                    │   │   'ENCSR098OLN_control_3_rep3'                  │ │
│ │                    │   ],                                                │ │
│ │                    │   'filenames': [                                    │ │
│ │                    │   │   '/tmp/1914468.1.all.q/SRX7509254.bam',        │ │
│ │                    │   │   '/tmp/1914468.1.all.q/SRX7509253.bam',        │ │
│ │                    │   │   '/tmp/1914468.1.all.q/SRX7509252.bam'         │ │
│ │                    │   ],                                                │ │
│ │                    │   'bin_size': 200,                                  │ │
│ │                    │   'fragment_length': 76.0                           │ │
│ │                    }                                                     │ │
│ ╰──────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────╯
ValueError: too many values to unpack (expected 3)