100 |
101 |
102 |
--------------------------------------------------------------------------------
/pycoMeth/templates/CpG_summary.html.j2:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
25 |
26 |
27 |
28 |
29 |
30 |
PycoMeth
31 |
32 |
33 |
Documentation
34 |
35 |
36 |
GitHub
37 |
38 |
39 |
 
40 | {{ navigation }}
41 |
42 |
43 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |

67 |
68 |
{{ title_text }} generated on {{ date }} with pycoMeth {{ version }}
69 |
71 |
72 |
73 |
74 |
Overall summary
75 | {{ summary_html }}
76 |
77 |
78 |
79 |
Methylation category counts by sample for significant CpG intervals
80 | {{ catplot_html }}
81 |
82 |
83 |
84 |
Methylation log-likelihood ratio by significant CpG interval
85 | {{ heatmap_html }}
86 |
87 |
88 |
89 |
Distribution of CpG methylation log-likelihood ratio for significant CpG intervals
90 | {{ ridgeplot_html }}
91 |
92 |
93 |
94 |
Distribution of significant CpG intervals by chromosomic intervals
95 | {{ ideogram_html }}
96 |
97 |
98 |
99 |
Distance from CpG interval to closest Gene TSS
100 | {{ tss_dist_html }}
101 |
102 |
103 |
104 |
Top significant differentially methylated intervals
105 | {{ top_html }}
106 |
107 |
108 |
109 |
110 |
111 |
Source file: {{ src_file }}
112 |
MD5 hash: {{ md5 }}
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | from setuptools import setup
5 |
6 | # Define package info
7 | name = "pycoMeth"
8 | description = "DNA methylation analysis downstream to Nanopolish for Oxford Nanopore DNA sequencing datasets"
9 | with open("README.md", "r") as fh:
10 | long_description = fh.read()
11 |
12 | # Collect info in a dictionnary for setup.py
13 | setup(
14 | name=name,
15 | description="Differential methylation calling suite for Nanopore methylation calls PycoMeth",
16 | version="2.2.2",
17 | long_description=long_description,
18 | long_description_content_type="text/markdown",
19 | url="https://github.com/snajder-r/pycoMeth,",
20 | author="Rene Snajder",
21 | author_email="r.snajder@dkfz-heidelberg.de",
22 | license="GPL",
23 | python_requires=">=3.7",
24 | classifiers=[
25 | "Development Status :: 4 - Beta",
26 | "Intended Audience :: Science/Research",
27 | "Topic :: Scientific/Engineering :: Bio-Informatics",
28 | "License :: OSI Approved :: MIT License",
29 | "Programming Language :: Python :: 3"
30 | ],
31 | install_requires=[
32 | "numpy==1.22.2",
33 | "scipy==1.4.1",
34 | "statsmodels==0.13.2",
35 | "pandas==1.4.1",
36 | "Jinja2==3.0.3",
37 | "plotly==5.6.0",
38 | "pyfaidx==0.6.4",
39 | "tqdm==4.62.3",
40 | "colorlog==6.6.0",
41 | "nbformat==5.1.3",
42 | "meth5>=1.1.1"
43 | ],
44 | packages=["pycoMeth", "pycoMeth.meth_seg"],
45 | package_dir={"pycoMeth": "pycoMeth", "pycoMeth.meth_seg":"pycoMeth/meth_seg"},
46 | package_data={name: ["templates/*"]},
47 | entry_points={"console_scripts": ["pycometh=pycoMeth.__main__:main", "pycoMeth=pycoMeth.__main__:main"]},
48 | )
49 |
--------------------------------------------------------------------------------
/versipy.yaml:
--------------------------------------------------------------------------------
1 | version:
2 | major: 2
3 | minor: 2
4 | micro: 2
5 | a: null
6 | b: null
7 | rc: null
8 | post: null
9 | dev: null
10 | managed_values:
11 | __package_name__: pycoMeth
12 | __package_description__: Differential methylation calling suite for Nanopore methylation
13 | calls PycoMeth
14 | __package_url__: https://github.com/snajder-r/pycoMeth,
15 | __author_name__: Rene Snajder
16 | __author_email__: r.snajder@dkfz-heidelberg.de
17 | __author_url__: https://github.com/snajder-r
18 | __package_licence__: GPL
19 | __package_licence_url__: https://opensource.org/licenses/MIT
20 | __minimal_python__: '3.7'
21 | __entry_point1__: meth5=meth5.__main__:main
22 | __dependencies__:
23 | - numpy==1.22.2
24 | - scipy==1.4.1
25 | - statsmodels==0.13.2
26 | - pandas==1.4.1
27 | - Jinja2==3.0.3
28 | - plotly==5.6.0
29 | - pyfaidx==0.6.4
30 | - tqdm==4.62.3
31 | - colorlog==6.6.0
32 | - nbformat==5.1.3
33 | - meth5>=1.1.1
34 | __classifiers__:
35 | - 'Development Status :: 4 - Beta'
36 | - 'Intended Audience :: Science/Research'
37 | - 'Topic :: Scientific/Engineering :: Bio-Informatics'
38 | - 'License :: OSI Approved :: MIT License'
39 | - 'Programming Language :: Python :: 3'
40 | __citation__: Rene Snajder. (2021, May 4). snajder-r/pycometh
41 | managed_files:
42 | versipy_templates/setup.py: setup.py
43 | versipy_templates/README.md: README.md
44 | versipy_templates/meta.yaml: meta.yaml
45 | versipy_templates/pycoMeth/__init__.py: pycoMeth/__init__.py
46 |
--------------------------------------------------------------------------------
/versipy_history.txt:
--------------------------------------------------------------------------------
1 | 2021-05-14 14:21:48.949462 0.0.0 Initialise versipy history
2 | 2021-05-14 14:23:17.897133 0.2.7.dev1 Versipy auto bump-up
3 | 2021-05-14 14:24:00.890719 0.2.7.dev2 Versipy auto bump-up
4 | 2021-05-14 14:24:18.995740 0.2.7.dev3 Versipy auto bump-up
5 | 2021-05-14 14:25:07.958130 0.2.7.dev4 Versipy auto bump-up
6 | 2021-05-14 14:25:56.523476 0.2.7.dev5 Versipy auto bump-up
7 | 2021-05-14 14:26:22.495598 0.2.7.dev6 Versipy auto bump-up
8 | 2021-05-14 14:26:23.926715 0.2.7.dev7 Versipy auto bump-up
9 | 2021-05-14 15:08:35.547690 0.2.7.dev8 Versipy auto bump-up
10 | 2021-05-14 15:20:26.537592 0.2.7.dev9 Versipy auto bump-up
11 | 2021-05-14 15:20:55.493471 0.2.7.dev10 Versipy auto bump-up
12 | 2021-05-14 15:21:25.097837 0.2.7.dev11 Versipy auto bump-up
13 | 2021-05-14 15:23:59.998725 0.2.7.dev12 Versipy auto bump-up
14 | 2021-05-17 16:39:53.497454 0.2.7.dev10 Manually set version
15 | 2021-05-17 16:39:59.416404 0.2.7.dev12 Manually set version
16 | 2021-05-17 16:40:37.497052 0.2.7.dev12 Manually set version
17 | 2021-05-17 16:41:16.612462 0.2.7.dev12 Manually set version
18 | 2021-05-17 16:41:43.951956 0.2.7.dev12 Manually set version
19 | 2022-02-10 14:50:46.533254 1.0.0 Versipy auto bump-up
20 | 2022-02-10 14:50:50.342701 2.0.0 Versipy auto bump-up
21 | 2022-02-11 10:31:40.736197 2.0.0 Manually set version
22 | 2022-02-11 10:32:18.522231 2.0.0 Manually set version
23 | 2022-02-16 16:11:11.037610 2.1.0 Versipy auto bump-up
24 | 2022-02-16 16:11:36.848556 2.0.0 Manually set version
25 | 2022-02-16 16:14:38.076678 2.0.0 Manually set version
26 | 2022-02-16 16:17:05.090660 2.0.0 Manually set version
27 | 2022-02-16 16:39:30.376184 2.0.0 Manually set version
28 | 2022-02-16 16:40:39.349922 2.0.1 Versipy auto bump-up
29 | 2022-02-23 14:32:52.483419 2.0.1 Manually set version
30 | 2022-02-23 14:34:47.438478 2.0.1 Manually set version
31 | 2022-02-23 15:11:12.579705 2.0.1 Manually set version
32 | 2022-03-07 11:16:55.588412 2.1.0 Versipy auto bump-up
33 | 2022-03-07 16:31:05.233410 2.1.1 Versipy auto bump-up
34 | 2022-05-16 11:57:49.214055 2.2.0 Versipy auto bump-up
35 | 2022-05-16 12:19:25.297333 2.2.0 Manually set version
36 | 2022-06-09 11:22:05.313781 2.2.1 Versipy auto bump-up
37 | 2022-06-09 12:10:19.515064 2.2.1rc1 Versipy auto bump-up
38 | 2022-06-10 13:05:25.975689 2.2.1 Manually set version
39 | 2022-06-10 16:46:16.041962 2.2.1 Manually set version
40 | 2022-11-25 16:27:05.968686 2.3.0 Versipy auto bump-up
41 | 2022-11-25 16:28:25.419597 2.2.2 Manually set version
42 | 2022-11-25 16:28:51.416226 2.2.2 Manually set version
43 | 2022-11-25 16:29:04.058088 2.2.2rc1 Versipy auto bump-up
44 | 2022-11-25 16:32:27.075605 2.2.2rc2 Versipy auto bump-up
45 | 2022-11-25 16:32:32.364054 2.2.2rc1 Manually set version
46 | 2022-11-28 16:52:20.037965 2.2.3 Versipy auto bump-up
47 | 2022-11-28 16:53:13.131999 2.2.2 Manually set version
48 |
--------------------------------------------------------------------------------
/versipy_templates/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | [](https://github.com/a-slide/pycoMeth/blob/master/LICENSE)
4 | [](https://www.python.org/)
5 | [](https://doi.org/10.5281/zenodo.6637645)
6 |
7 | [](https://badge.fury.io/py/pycoMeth)
8 | [](https://pepy.tech/project/pycoMeth)
9 | [](https://anaconda.org/snajder-r/pycometh)
10 | [](https://anaconda.org/snajder-r/pycometh)
11 |
12 | ---
13 | Version in this branch: __package_version__
14 |
15 | ---
16 |
17 | **DNA methylation analysis downstream to Nanopolish for Oxford Nanopore DNA sequencing datasets**
18 |
19 | `pycoMeth` can be used for further analyses starting from the output files generated by [`Nanopolish call-methylation`](https://github.com/jts/nanopolish). The package contains a suite of tools to **find CpG islands**, **segment methylome**, and to perform a **differential methylation analysis** across multiple samples.
20 |
21 | `pycoMeth` generates extensive tabulated reports and BED files which can be loaded in a genome browser. In addition, an interactive HTML report of differentially
22 | methylated intervals/islands can also generated at the end of the analysis.
23 |
24 | [`Methplotlib`](https://github.com/wdecoster/methplotlib) developed by [Wouter de coster](https://twitter.com/wouter_decoster) is an excellent complementary tool to visualise and explore methylation status for specific loci.
25 |
26 | Please be aware that `pycoMeth` is a research package that is still under development. The API, command line interface, and implementation might change without retro-compatibility.
27 |
28 | ---
29 | ### Installation
30 |
31 | Install either using conda:
32 |
33 | conda install -c snajder-r -c bioconda -c conda-forge pycometh
34 |
35 | Or using pip:
36 |
37 | pip install pycometh
38 |
39 | ### Documentation
40 |
41 | A more detailed usage documentation can be found at https://snajder-r.github.io/pycoMeth/
42 |
43 | ### pycoMeth workflow
44 |
45 | 
46 |
47 |
48 | ### pycoMeth example HTML report
49 |
50 | [Example HTML report 1](https://snajder-r.github.io/pycoMeth/examples/pycometh_report1.html)
51 |
52 | [Example HTML report 2](https://snajder-r.github.io/pycometh/examples/pycometh_report2.html)
53 |
54 | ---
55 |
56 | ### Citing
57 |
58 | The repository is archived at Zenodo. https://doi.org/10.5281/zenodo.6637645
59 |
60 | If you find pycoMeth useful, please cite our preprint:
61 |
62 | Snajder, Rene H., Oliver Stegle, and Marc Jan Bonder. 2022. "PycoMeth: A Toolbox for Differential Methylation Testing from Nanopore Methylation Calls." bioRxiv. https://doi.org/10.1101/2022.02.16.480699.
63 |
64 |
65 | @article {Snajder2022.02.16.480699,
66 | author = {Snajder, Rene and Leger, Adrien and Stegle, Oliver and Bonder, Marc Jan},
67 | title = {pycoMeth: A toolbox for differential methylation testing from Nanopore methylation calls},
68 | year = {2022}, doi = {10.1101/2022.02.16.480699}, publisher = {Cold Spring Harbor Laboratory},
69 | journal = {bioRxiv}
70 | }
71 |
72 |
73 | ### Authors
74 |
75 | * Rene Snajder (rene.snajder@gmail.com)
76 | * Adrien Leger
77 |
--------------------------------------------------------------------------------
/versipy_templates/meta.yaml:
--------------------------------------------------------------------------------
1 | {% set version = "__package_version__" %}
2 | {% set name = "pycoMeth" %}
3 |
4 | package:
5 | name: {{ name|lower }}
6 | version: {{ version }}
7 |
8 | source:
9 | path: dist/{{ name }}-{{ version }}.tar.gz
10 |
11 | build:
12 | number: 0
13 | script: "pip install {{ name }}-{{ version }}.tar.gz --no-deps --ignore-installed -vv "
14 | entry_points:
15 | - pycoMeth=pycoMeth.__main__:main
16 | - pycometh=pycoMeth.__main__:main
17 | noarch: "python"
18 |
19 | requirements:
20 | build:
21 | - python>=__minimal_python__
22 | - pip>=19.2.1
23 | - ripgrep>=11.0.1
24 | - cython
25 | run:
26 | - __@{
27 | - ::dependencies}__
28 |
29 | test:
30 | imports:
31 | - pycoMeth.FileParser
32 | - pycoMeth.CoordGen
33 | - pycoMeth.Meth_Comp
34 | - pycoMeth.Meth_Seg
35 | - pycoMeth.Comp_Report
36 | commands:
37 | - pycoMeth Meth_Comp --help
38 | - pycoMeth Meth_Seg --help
39 | - pycoMeth Comp_Report --help
40 | - pycoMeth CGI_Finder --help
41 |
42 | about:
43 | home: "__package_url__"
44 | license: "MIT"
45 | summary: "DNA methylation analysis for Oxford Nanopore DNA sequencing datasets downstream to Nanopolish"
46 |
--------------------------------------------------------------------------------
/versipy_templates/pycoMeth/__init__.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | # Define self package variable
4 | __version__ = "__package_version__"
5 | __description__ = "__package_description__"
6 |
--------------------------------------------------------------------------------
/versipy_templates/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 |
4 | from setuptools import setup
5 |
6 | # Define package info
7 | name = "__package_name__"
8 | description = "DNA methylation analysis downstream to Nanopolish for Oxford Nanopore DNA sequencing datasets"
9 | with open("README.md", "r") as fh:
10 | long_description = fh.read()
11 |
12 | # Collect info in a dictionnary for setup.py
13 | setup(
14 | name=name,
15 | description="__package_description__",
16 | version="__package_version__",
17 | long_description=long_description,
18 | long_description_content_type="text/markdown",
19 | url="__package_url__",
20 | author="__author_name__",
21 | author_email="__author_email__",
22 | license="__package_licence__",
23 | python_requires=">=__minimal_python__",
24 | classifiers=[
25 | __@{,
26 | ::"classifiers"}__
27 | ],
28 | install_requires=[
29 | __@{,
30 | ::"dependencies"}__
31 | ],
32 | packages=["pycoMeth", "pycoMeth.meth_seg"],
33 | package_dir={"pycoMeth": "pycoMeth", "pycoMeth.meth_seg":"pycoMeth/meth_seg"},
34 | package_data={name: ["templates/*"]},
35 | entry_points={"console_scripts": ["pycometh=pycoMeth.__main__:main", "pycoMeth=pycoMeth.__main__:main"]},
36 | )
37 |
--------------------------------------------------------------------------------