comprna / METEORE

Automatic DNA methylation detection from nanopore tools and their consensus model
MIT License
72 stars 18 forks source link

tombo snakemake #10

Closed DelphIONe closed 3 years ago

DelphIONe commented 3 years ago

Hi,

I have some problem with tombo. I did:

Create an environment with Snakemake installed

mamba create -c conda-forge -c bioconda -n meteore_tombo_env snakemake

Activate

conda activate meteore_tombo_env

Install all required packages using pip

pip install ont-tombo wiggelen ont-fast5-api

but pip install ont-tombo give many error : the last ERROR: Command errored out with exit status 1: /home/delphine.naquin/miniconda3/envs/meteore_tombo_env/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-yhtty2py/mappy_7e9f9ec6bb6b4fac86f9c74eea7e444c/setup.py'"'"'; file='"'"'/tmp/pip-install-yhtty2py/mappy_7e9f9ec6bb6b4fac86f9c74eea7e444c/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-zx4rt7nt/install-record.txt --single-version-externally-managed --compile --install-headers /home/xx/miniconda3/envs/meteore_tombo_env/include/python3.9/mappy Check the logs for full command output.

and if I launch snakemake -s Tombo tombo_results/example_tombo-freq-perCG.tsv --cores all of course, I obtain : Building DAG of jobs... Using shell: /bin/bash Provided cores: 40 Rules claiming more threads will be scaled down. Job counts: count jobs 1 combine_freq_and_cov 1 detect_modification 1 output_browser_files 1 wig_to_tsv_for_cov 1 wig_to_tsv_for_mod 5 Select jobs to execute...

[Wed Feb 17 14:10:47 2021] rule detect_modification: input: data/example, data/ecoli_k12_mg1655.fasta output: example.CpG.tombo.stats, example.CpG.tombo.per_read_stats jobid: 3 wildcards: sample=example

/bin/bash: tombo: command not found ...

Can you help me please ? It works for snakemake Nanopolish and deepsignal... Thanks,

DelphIONe commented 3 years ago

It's ok if I run pip install future pip install cython pip install ont-tombo one after the other.

Now snakemake exit with one Tombo error's on your example data :

[11:38:52] Loading minimap2 reference. [11:38:52] Getting file list. [11:38:52] Re-squiggling reads (raw signal to genomic sequence alignment). 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [00:12<00:00, 4.16it/s] [11:39:04] Final unsuccessful reads summary (12.0% reads unsuccessfully processed; 6 total reads): 8.0% ( 4 reads) : Read event to sequence alignment extends beyond bandwidth
2.0% ( 1 reads) : Read contains too many potential genomic deletions
2.0% ( 1 reads) : Poor raw to expected signal matching (revert with tombo filter clear_filters) [11:39:04] Saving Tombo reads index to file. [11:39:05] Parsing Tombo index file(s). [11:39:05] Performing alternative model testing. [11:39:05] Performing specific alternate base(s) testing. [11:39:05] Calculating read coverage regions. [11:39:05] Calculating read coverage. [11:39:05] Performing modified base detection across genomic regions. 0%| | 0/6 [00:00<?, ?it/s]Process Process-10: Traceback (most recent call last): File "/home/xx/miniconda3/envs/meteore_tombo_env/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/home/xx/miniconda3/envs/meteore_tombo_env/lib/python3.9/multiprocessing/process.py", line 108, in run self._target(*self._args, **self._kwargs) File "/home/xx/miniconda3/envs/meteore_tombo_env/lib/python3.9/site-packages/tombo/tombo_stats.py", line 4449, in _get_stats_queue all_stats[alt_name] = ModelStats( File "/home/xx/miniconda3/envs/meteore_tombo_env/lib/python3.9/site-packages/tombo/tombo_stats.py", line 2697, in init self._create_new_stats_file() File "/home/xx/miniconda3/envs/meteore_tombo_env/lib/python3.9/site-packages/tombo/tombo_stats.py", line 2625, in _create_new_stats_file self.running_most_signif_sites[:] = np.NAN ValueError: cannot convert float NaN to integer 83%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 5/6 [00:19<00:03, 4.00s/it]

So the resquiggle it's ok but the step of modification detection seems bugged (blocked). Can you help me ? Thanks, Delphine

zakayuen commented 3 years ago

Hi Delphine,

Sorry for the late reply. I have fixed this in https://github.com/comprna/METEORE/commit/0c95904047eedbb0ee03a6c568a479b44138dfc1

Please try it again and let me know if it works for you.

Zaka

DelphIONe commented 3 years ago

Seems OK, thanks !!