[med-svn] [Git][med-team/pycoqc][upstream] New upstream version 2.5.2+dfsg
Nilesh Patra
gitlab at salsa.debian.org
Sun Dec 20 12:56:12 GMT 2020
Nilesh Patra pushed to branch upstream at Debian Med / pycoqc
Commits:
b46d0d7f by Nilesh Patra at 2020-12-20T18:03:32+05:30
New upstream version 2.5.2+dfsg
- - - - -
27 changed files:
- .travis.yml
- + .versipy/README.md
- + .versipy/__init__.py
- + .versipy/index.md
- + .versipy/meta.yaml
- + .versipy/mkdocs.yml
- + .versipy/setup.py
- README.md
- deploy_anaconda.sh
- docs/index.md
- docs/installation.md
- docs/pycoQC/CLI_usage.ipynb
- docs/pycoQC/results/Albacore-1.2.1_basecall-1D-DNA.html
- docs/pycoQC/results/Albacore-2.1.10_basecall-1D-DNA.html
- docs/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.html
- docs/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.json
- docs/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.html
- docs/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.json
- meta.yaml
- mkdocs.yml
- pycoQC/__init__.py
- pycoQC/__main__.py
- pycoQC/pycoQC.py
- pycoQC/pycoQC_report.py
- setup.py
- + versipy.yaml
- + versipy_history.txt
Changes:
=====================================
.travis.yml
=====================================
@@ -2,7 +2,7 @@ dist: xenial
language: python
python: 3.6
branches:
- only:
+ except:
- master
- dev
@@ -11,6 +11,8 @@ install:
- pip install nbconvert requests jinja2 mkdocs mkdocs-material pygments pymdown-extensions mkdocs-exclude
# Install this one after or it raises an error
- pip install mknotebooks
+ # Fix temp issue with pypi deployment
+ - pip install keyring==21.4.0
script: true
@@ -19,45 +21,68 @@ before_deploy:
- mkdocs build --verbose --clean
deploy:
- # Deploy mkdoc documentation to github page
- - provider: pages
- skip_cleanup: true
- target_branch: gh-pages-test
- github_token: "$GH_TOKEN"
- local_dir: site
- on:
- branch: dev
+ # Development / test deployment
- provider: pages
skip_cleanup: true
+ target_branch: gh-pages-test
github_token: "$GH_TOKEN"
local_dir: site
on:
- branch: master
+ all_branches: true
+ tags: true
+ condition: $TRAVIS_TAG == *.dev*
- # Deploy package to pypy
- provider: pypi
+ skip_cleanup: true
user: aleg
password: "$PYPI_PW"
server: https://test.pypi.org/legacy/
on:
- branch: dev
+ all_branches: true
+ tags: true
+ condition: $TRAVIS_TAG == *.dev*
+
+ - provider: script
+ skip_cleanup: true
+ script: bash ./deploy_anaconda.sh $ANACONDA_DEV_TOKEN
+ on:
+ all_branches: true
+ tags: true
+ condition: $TRAVIS_TAG == *.dev*
+
+ # Production version deployment
+ - provider: pages
+ skip_cleanup: true
+ target_branch: gh-pages-test
+ github_token: "$GH_TOKEN"
+ local_dir: site
+ on:
+ tags: true
+ all_branches: true
+ condition: $TRAVIS_TAG != *.dev*
- provider: pypi
+ skip_cleanup: true
user: aleg
password: "$PYPI_PW"
on:
- branch: master
+ tags: true
+ all_branches: true
+ condition: $TRAVIS_TAG != *.dev*
- # Deploy to Anaconda
- provider: script
skip_cleanup: true
- script: bash ./deploy_anaconda.sh $ANACONDA_DEV_TOKEN
+ script: bash ./deploy_anaconda.sh $ANACONDA_TOKEN
on:
- branch: dev
+ tags: true
+ all_branches: true
+ condition: $TRAVIS_TAG != *.dev*
- - provider: script
+ - provider: releases
+ api_key: $GH_TOKEN
skip_cleanup: true
- script: bash ./deploy_anaconda.sh $ANACONDA_TOKEN
on:
- branch: master
+ tags: true
+ all_branches: true
+ condition: $TRAVIS_TAG != *.dev*
=====================================
.versipy/README.md
=====================================
@@ -0,0 +1,112 @@
+# __package_name__ v__package_version__
+
+![pycoQC](https://raw.githubusercontent.com/a-slide/pycoQC/master/docs/pictures/pycoQC_long.png)
+
+[![JOSS](http://joss.theoj.org/papers/ea8e08dc950622bdd5d16a65649954aa/status.svg)](http://joss.theoj.org/papers/ea8e08dc950622bdd5d16a65649954aa)
+[![DOI](https://zenodo.org/badge/94531811.svg)](https://zenodo.org/badge/latestdoi/94531811)
+[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/pycoQC/community?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
+[![GitHub license](https://img.shields.io/github/license/a-slide/pycoQC.svg)](https://github.com/a-slide/pycoQC/blob/master/LICENSE)
+[![Language](https://img.shields.io/badge/Language-Python3.6+-yellow.svg)](https://www.python.org/)
+
+[![PyPI version](https://badge.fury.io/py/pycoQC.svg)](https://badge.fury.io/py/pycoQC)
+[![Downloads](https://pepy.tech/badge/pycoqc)](https://pepy.tech/project/pycoqc)
+
+[![Anaconda Version](https://anaconda.org/aleg/pycoqc/badges/version.svg)](https://anaconda.org/aleg/pycoqc)
+[![Anaconda Downloads](https://anaconda.org/aleg/pycoqc/badges/downloads.svg)](https://anaconda.org/aleg/pycoqc)
+
+[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat)](http://bioconda.github.io/recipes/pycoqc/README.html)
+[![Bioconda Downloads](https://anaconda.org/bioconda/pycoqc/badges/downloads.svg)](https://anaconda.org/bioconda/pycoqc)
+
+[![Build Status](https://travis-ci.com/a-slide/pycoQC.svg?branch=master)](https://travis-ci.com/a-slide/pycoQC)
+[![Codacy Badge](https://api.codacy.com/project/badge/Grade/07db58961a3c4fc1b6dc34c54079b477)](https://www.codacy.com/app/a-slide/pycoQC?utm_source=github.com&utm_medium=referral&utm_content=a-slide/pycoQC&utm_campaign=Badge_Grade)
+
+---
+
+**__package_description__**
+
+__package_introduction__
+
+Full documentation is available at __package_doc_url__
+
+## Gallery
+
+![summary](./docs/pictures/summary.gif)
+
+![reads_len_1D_example](./docs/pictures/reads_len_1D.gif)]
+
+![reads_len_1D_example](./docs/pictures/reads_qual_1D.gif)]
+
+![reads_qual_len_2D_example](./docs/pictures/reads_qual_len_2D.gif)
+
+![channels_activity](./docs/pictures/channels_activity.gif)
+
+![output_over_time](./docs/pictures/output_over_time.gif)
+
+![qual_over_time](./docs/pictures/qual_over_time.gif)
+
+![len_over_time](./docs/pictures/len_over_time.gif)
+
+![align_len](./docs/pictures/align_len_1D.gif)
+
+![align_score](./docs/pictures/align_score_1D.gif)
+
+![align_score_len_2D](./docs/pictures/align_score_len_2D.gif)
+
+![alignment_coverage](./docs/pictures/alignment_coverage.gif)
+
+![alignment_rate](./docs/pictures/alignment_rate.gif)
+
+![alignment_summary](./docs/pictures/alignment_summary.gif)
+
+## Example HTML reports
+
+* [Albacore_all_RNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore_all_RNA.html)
+
+* [Guppy-2.1.3_basecall-1D_RNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.html)
+
+* [Guppy-2.3_basecall-1D_alignment-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.html)
+
+* [Albacore-1.2.1_basecall-1D-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.2.1_basecall-1D-DNA.html)
+
+* [Guppy-2.1.3_basecall-1D_DNA_barcode](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.1.3_basecall-1D_DNA_barcode.html)
+
+* [Albacore-1.7.0_basecall-1D-DNA_API](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA_API.html)
+
+* [Albacore-2.1.10_basecall-1D-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-2.1.10_basecall-1D-DNA.html)
+
+* [Albacore-1.7.0_basecall-1D-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA.html)
+
+## Example JSON reports
+
+* [Guppy-2.3_basecall-1D_alignment-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.json)
+
+* [Guppy-2.1.3_basecall-1D_RNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.json)
+
+* [Albacore-1.7.0_basecall-1D-DNA_API](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA_API.json)
+
+
+## Disclaimer
+
+Please be aware that pycoQC is a research package that is still under development.
+
+It was tested under Linux Ubuntu 16.04 and in an HPC environment running under Red Hat Enterprise 7.1.
+
+Thank you
+
+## Classifiers
+
+* __classifiers_1__
+* __classifiers_2__
+* __classifiers_3__
+* __classifiers_4__
+* __classifiers_5__
+
+## licence
+
+__package_licence__ (__package_licence_url__)
+
+Copyright © 2020 __author_name__
+
+## Authors
+
+* __author_name__ / __author_email__ / __author_url__
=====================================
.versipy/__init__.py
=====================================
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+
+__name__ = "__package_name__"
+__version__ = "__package_version__"
+__description__ = "__package_description__"
+__url__ = "__package_url__"
+__licence__ = "__package_licence__"
+__author__ = "__author_name__"
+__all__ = ["pycoQC", "Fast5_to_seq_summary", "Barcode_split", "common"]
=====================================
.versipy/index.md
=====================================
@@ -0,0 +1,65 @@
+# Welcome to __package_name__ v__package_version__ documentation
+
+![logo](pictures/pycoQC_long.svg)
+
+**__package_description__**
+
+__package_introduction__
+
+## Gallery
+
+![summary](pictures/summary.gif)
+
+![reads_len_1D_example](pictures/reads_len_1D.gif)]
+
+![reads_len_1D_example](pictures/reads_qual_1D.gif)]
+
+![reads_qual_len_2D_example](pictures/reads_qual_len_2D.gif)
+
+![channels_activity](pictures/channels_activity.gif)
+
+![output_over_time](pictures/output_over_time.gif)
+
+![qual_over_time](pictures/qual_over_time.gif)
+
+![len_over_time](pictures/len_over_time.gif)
+
+![align_len](pictures/align_len_1D.gif)
+
+![align_score](pictures/align_score_1D.gif)
+
+![align_score_len_2D](pictures/align_score_len_2D.gif)
+
+![alignment_coverage](pictures/alignment_coverage.gif)
+
+![alignment_rate](pictures/alignment_rate.gif)
+
+![alignment_summary](pictures/alignment_summary.gif)
+
+
+## Example HTML reports
+
+* [Albacore_all_RNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore_all_RNA.html)
+
+* [Guppy-2.1.3_basecall-1D_RNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.html)
+
+* [Guppy-2.3_basecall-1D_alignment-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.html)
+
+* [Albacore-1.2.1_basecall-1D-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.2.1_basecall-1D-DNA.html)
+
+* [Guppy-2.1.3_basecall-1D_DNA_barcode](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.1.3_basecall-1D_DNA_barcode.html)
+
+* [Albacore-1.7.0_basecall-1D-DNA_API](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA_API.html)
+
+* [Albacore-2.1.10_basecall-1D-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-2.1.10_basecall-1D-DNA.html)
+
+* [Albacore-1.7.0_basecall-1D-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA.html)
+
+
+## Example JSON reports
+
+* [Guppy-2.3_basecall-1D_alignment-DNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.json)
+
+* [Guppy-2.1.3_basecall-1D_RNA](https://a-slide.github.io/pycoQC/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.json)
+
+* [Albacore-1.7.0_basecall-1D-DNA_API](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA_API.json)
=====================================
.versipy/meta.yaml
=====================================
@@ -0,0 +1,55 @@
+{% set version = "__package_version__" %}
+{% set name = "__package_name__" %}
+
+package:
+ name: {{ name|lower }}
+ version: {{ version }}
+
+source:
+ path: dist/{{ name }}-{{ version }}.tar.gz
+
+build:
+ number: 0
+ script: "pip install {{ name }}-{{ version }}.tar.gz --no-deps --ignore-installed -vv "
+ entry_points:
+ - __entry_point_1__
+ - __entry_point_2__
+ - __entry_point_3__
+ noarch: "python"
+
+requirements:
+ build:
+ - python__minimal_python__
+ - pip>=19.2.1
+ - ripgrep>=11.0.1
+ run:
+ - __dependency_1__
+ - __dependency_2__
+ - __dependency_3__
+ - __dependency_4__
+ - __dependency_5__
+ - __dependency_6__
+ - __dependency_7__
+ - __dependency_8__
+
+test:
+ imports:
+ - pycoQC.pycoQC
+ - pycoQC.Fast5_to_seq_summary
+ - pycoQC.Barcode_split
+ commands:
+ - pycoQC --help
+ - Fast5_to_seq_summary --help
+ - Barcode_split --help
+
+about:
+ home: __package_url__
+ doc_url: __package_doc_url__
+ license: __package_licence__
+ licence_url: __package_licence_url__
+ summary: __package_description__
+
+extra:
+ author: __author_name__
+ author_email: __author_email__
+ author_url: __author_url__
=====================================
.versipy/mkdocs.yml
=====================================
@@ -0,0 +1,67 @@
+# Project information
+site_name: __package_name__
+site_description: __package_description__
+site_author: __author_name__
+site_url: __package_doc_url__
+
+# Repository
+repo_name: 'a-slide/pycoQC'
+repo_url: __package_url__
+
+# Copyright
+copyright: Copyright © 2020 __author_name__
+
+# Navigation menu
+nav:
+ - Home: index.md
+ - Installation instructions: installation.md
+ - pycoQC Usage:
+ - Using pycoQC: pycoQC/usage.md
+ - jupyter API usage: pycoQC/API_usage.ipynb
+ - Command line usage: pycoQC/CLI_usage.ipynb
+ - Barcode_split Usage:
+ - Using Barcode_split: Barcode_split/usage.md
+ - jupyter API usage: Barcode_split/API_usage.ipynb
+ - Command line usage: Barcode_split/CLI_usage.ipynb
+ - Fast5_to_seq_summary Usage:
+ - Using Fast5_to_seq_summary: Fast5_to_seq_summary/usage.md
+ - jupyter API usage: Fast5_to_seq_summary/API_usage.ipynb
+ - Command line usage: Fast5_to_seq_summary/CLI_usage.ipynb
+ - Citing pycoQC: citing.md
+ - Acknowledgements: acknowledgements.md
+ - Alternative and complementary packages: alternative.md
+ - Contributing Guidelines: contributing.md
+ - Code of conduct: code_of_conduct.md
+ - Licence: licence.md
+ - Changelog: changelog.md
+
+# Theme customization
+theme:
+ name: 'material'
+ highlightjs: true
+ font: false
+
+markdown_extensions:
+ - admonition
+ - codehilite
+ - pymdownx.betterem:
+ smart_enable: all
+ - pymdownx.caret
+ - pymdownx.critic
+ - pymdownx.details
+ - pymdownx.emoji:
+ emoji_generator: !!python/name:pymdownx.emoji.to_svg
+ - pymdownx.inlinehilite
+ - pymdownx.magiclink:
+ repo_url_shorthand: true
+ user: a-slide
+ repo: pycoQC
+ - pymdownx.mark
+ - pymdownx.smartsymbols
+ - pymdownx.superfences
+ - pymdownx.tasklist:
+ custom_checkbox: true
+ - pymdownx.tilde
+
+plugins:
+ - mknotebooks
=====================================
.versipy/setup.py
=====================================
@@ -0,0 +1,44 @@
+#!python3
+# -*- coding: utf-8 -*-
+
+from setuptools import setup
+
+# Define package info
+with open('README.md', 'r') as fh:
+ long_description = fh.read()
+
+setup(
+ name = '__package_name__',
+ description = '__package_description__',
+ version = '__package_version__',
+ long_description = long_description,
+ long_description_content_type='text/markdown',
+ url = '__package_url__',
+ author = '__author_name__',
+ author_email = '__author_email__',
+ license = '__package_licence__',
+ python_requires ='__minimal_python__',
+ classifiers = [
+ '__classifiers_1__',
+ '__classifiers_2__',
+ '__classifiers_3__',
+ '__classifiers_4__',
+ '__classifiers_5__'],
+ install_requires = [
+ '__dependency_1__',
+ '__dependency_2__',
+ '__dependency_3__',
+ '__dependency_4__',
+ '__dependency_5__',
+ '__dependency_6__',
+ '__dependency_7__',
+ '__dependency_8__'],
+ packages = ['__package_name__'],
+ package_dir = {'__package_name__': '__package_name__'},
+ package_data = {'__package_name__': ['templates/*']},
+ entry_points = {
+ 'console_scripts': [
+ '__entry_point_1__',
+ '__entry_point_2__',
+ '__entry_point_3__']}
+)
=====================================
README.md
=====================================
@@ -1,3 +1,5 @@
+# pycoQC v2.5.2
+
![pycoQC](https://raw.githubusercontent.com/a-slide/pycoQC/master/docs/pictures/pycoQC_long.png)
[![JOSS](http://joss.theoj.org/papers/ea8e08dc950622bdd5d16a65649954aa/status.svg)](http://joss.theoj.org/papers/ea8e08dc950622bdd5d16a65649954aa)
@@ -17,17 +19,14 @@
[![Build Status](https://travis-ci.com/a-slide/pycoQC.svg?branch=master)](https://travis-ci.com/a-slide/pycoQC)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/07db58961a3c4fc1b6dc34c54079b477)](https://www.codacy.com/app/a-slide/pycoQC?utm_source=github.com&utm_medium=referral&utm_content=a-slide/pycoQC&utm_campaign=Badge_Grade)
----
-
-**Full documentation is available at https://a-slide.github.io/pycoQC/**
---
**PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data**
-PycoQC relies on the *sequencing_summary.txt* file generated by Albacore and Guppy, but if needed it can also generates a summary file from basecalled fast5 files. The package supports 1D and 1D2 runs generated with Minion, Gridion and Promethion devices and basecalled with Albacore 1.2.1+ or Guppy 2.1.3+. PycoQC is written in pure Python3. **Python 2 is not supported**.
+PycoQC relies on the *sequencing_summary.txt* file generated by Albacore and Guppy, but if needed it can also generate a summary file from basecalled fast5 files. The package supports 1D and 1D2 runs generated with Minion, Gridion and Promethion devices, basecalled with Albacore 1.2.1+ or Guppy 2.1.3+. PycoQC is written in pure Python3. **Python 2 is not supported**. For a quick introduction see tutorial by [Tim Kahlke](https://github.com/timkahlke) available at https://timkahlke.github.io/LongRead_tutorials/QC_P.html
-Great tutorial with detailed explanations by [Tim Kahlke](https://github.com/timkahlke) available at https://timkahlke.github.io/LongRead_tutorials/QC_P.html
+Full documentation is available at https://adrienleger.com/pycoQC
## Gallery
@@ -85,8 +84,29 @@ Great tutorial with detailed explanations by [Tim Kahlke](https://github.com/tim
* [Albacore-1.7.0_basecall-1D-DNA_API](https://a-slide.github.io/pycoQC/pycoQC/results/Albacore-1.7.0_basecall-1D-DNA_API.json)
-## Authors
-* Adrien Leger - aleg {at} ebi.ac.uk
+## Disclaimer
+
+Please be aware that pycoQC is a research package that is still under development.
+
+It was tested under Linux Ubuntu 16.04 and in an HPC environment running under Red Hat Enterprise 7.1.
+
+Thank you
+
+## Classifiers
+
+* Development Status :: 3 - Alpha
+* Intended Audience :: Science/Research
+* Topic :: Scientific/Engineering :: Bio-Informatics
+* License :: OSI Approved :: GNU General Public License v3 (GPLv3)
+* Programming Language :: Python :: 3
+
+## licence
+
+GPLv3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
+
+Copyright © 2020 Adrien Leger & Tommaso Leonardi
+
+## Authors
-* Tommaso Leonardi - tom {at} tleo.io
+* Adrien Leger & Tommaso Leonardi / aleg at ebi.ac.uk / https://adrienleger.com
=====================================
deploy_anaconda.sh
=====================================
@@ -18,7 +18,7 @@ echo "compile package from setup.py"
python setup.py sdist
echo "Build noarch package..."
-conda build meta.yaml --python 3.6 --numpy 1.1 --output-folder conda_build -c bioconda -c conda-forge
+conda build meta.yaml --python 3.6 --numpy 1.1 --output-folder conda_build -c bioconda -c conda-forge --no-include-recipe
echo "Deploying to Anaconda.org..."
anaconda -v -t $1 upload conda_build/**/*.tar.bz2
=====================================
docs/index.md
=====================================
@@ -1,12 +1,10 @@
-# Welcome to pycoQC documentation
+# Welcome to pycoQC v2.5.2 documentation
-![summary](pictures/pycoQC_long.svg)
+![logo](pictures/pycoQC_long.svg)
**PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data**
-PycoQC relies on the *sequencing_summary.txt* file generated by Albacore and Guppy, but if needed it can also generates a summary file from basecalled fast5 files. The package supports 1D and 1D2 runs generated with Minion, Gridion and Promethion devices and basecalled with Albacore 1.2.1+ or Guppy 2.1.3+. PycoQC is written in pure Python3. **Python 2 is not supported**.
-
-Great tutorial with detailed explanations by [Tim Kahlke](https://github.com/timkahlke) available at https://timkahlke.github.io/LongRead_tutorials/QC_P.html
+PycoQC relies on the *sequencing_summary.txt* file generated by Albacore and Guppy, but if needed it can also generate a summary file from basecalled fast5 files. The package supports 1D and 1D2 runs generated with Minion, Gridion and Promethion devices, basecalled with Albacore 1.2.1+ or Guppy 2.1.3+. PycoQC is written in pure Python3. **Python 2 is not supported**. For a quick introduction see tutorial by [Tim Kahlke](https://github.com/timkahlke) available at https://timkahlke.github.io/LongRead_tutorials/QC_P.html
## Gallery
=====================================
docs/installation.md
=====================================
@@ -52,13 +52,13 @@ pip install --index-url https://test.pypi.org/simple/ pycoQC -U
```bash
# First installation
-conda install -c aleg pycoqc=[VERSION]
+conda install -c aleg -c anaconda -c bioconda -c conda-forge pycoqc=[VERSION]
```
You can also get the **unstable** development version from my dev channel
```bash
-conda update -c aleg_dev pycoqc=[VERSION]
+conda install -c aleg_dev -c anaconda -c bioconda -c conda-forge pycoqc=[VERSION]
```
## Option 3: Installation with pip from Github
=====================================
docs/pycoQC/CLI_usage.ipynb
=====================================
@@ -39,8 +39,8 @@
"execution_count": 2,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:03:45.519891Z",
- "start_time": "2020-02-10T14:03:44.701501Z"
+ "end_time": "2020-12-16T13:15:25.978368Z",
+ "start_time": "2020-12-16T13:15:25.675755Z"
},
"init_cell": true
},
@@ -60,8 +60,8 @@
}
],
"source": [
- "# Using virtualenvwrapper here but can also be done with Conda \n",
- "workon pycoQC"
+ "# Using conda here but can also be done with other virtenv managers \n",
+ "conda activate pycoQC"
]
},
{
@@ -76,8 +76,8 @@
"execution_count": 3,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:03:48.456722Z",
- "start_time": "2020-02-10T14:03:46.112199Z"
+ "end_time": "2020-12-16T13:15:29.434767Z",
+ "start_time": "2020-12-16T13:15:27.842415Z"
},
"init_cell": true
},
@@ -95,8 +95,8 @@
" [--filter_calibration] [--filter_duplicated]\n",
" [--min_barcode_percent MIN_BARCODE_PERCENT]\n",
" [--report_title REPORT_TITLE] [--template_file TEMPLATE_FILE]\n",
- " [--config_file CONFIG_FILE] [--sample SAMPLE] [--default_config]\n",
- " [-v | -q]\n",
+ " [--config_file CONFIG_FILE] [--skip_coverage_plot]\n",
+ " [--sample SAMPLE] [--default_config] [-v | -q]\n",
"\n",
"pycoQC computes metrics and generates interactive QC plots from the sequencing summary\n",
"report generated by Oxford Nanopore technologies basecallers\n",
@@ -170,6 +170,9 @@
" are the names of the plots to be included. The second\n",
" level keys are the parameters to pass to each plotting\n",
" function (default: )\")\n",
+ " --skip_coverage_plot Skip the coverage plot in HTML report. Useful when\n",
+ " using a reference file containing many sequences, i.e.\n",
+ " transcriptome (default: False)\n",
"\n",
"Other options:\n",
" --sample SAMPLE If not None a n number of reads will be randomly\n",
@@ -207,11 +210,11 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 4,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:11:40.671213Z",
- "start_time": "2020-02-10T14:11:33.658799Z"
+ "end_time": "2020-12-16T13:15:38.267960Z",
+ "start_time": "2020-12-16T13:15:32.382173Z"
},
"scrolled": false
},
@@ -263,11 +266,11 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 5,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:11:49.711200Z",
- "start_time": "2020-02-10T14:11:42.841120Z"
+ "end_time": "2020-12-16T13:15:46.326442Z",
+ "start_time": "2020-12-16T13:15:40.149501Z"
},
"scrolled": false
},
@@ -318,35 +321,15 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": null,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:12:03.752064Z",
- "start_time": "2020-02-10T14:11:56.394286Z"
+ "end_time": "2020-12-16T13:15:46.328458Z",
+ "start_time": "2020-12-16T13:15:43.632Z"
},
"scrolled": false
},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Checking arguments values\n",
- "Check input data files\n",
- "Parse data files\n",
- "Merge data\n",
- "Cleaning data\n",
- "Loading plotting interface\n",
- "(pycoQC) "
- ]
- },
- {
- "ename": "",
- "evalue": "1",
- "output_type": "error",
- "traceback": []
- }
- ],
+ "outputs": [],
"source": [
"pycoQC \\\n",
" -f ./data/Guppy-2.1.3_basecall-1D-DNA_sequencing_summary.txt.gz \\\n",
@@ -371,35 +354,15 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:12:12.791372Z",
- "start_time": "2020-02-10T14:12:05.157406Z"
+ "end_time": "2020-12-16T13:15:46.329661Z",
+ "start_time": "2020-12-16T13:15:45.948Z"
},
"scrolled": false
},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Checking arguments values\n",
- "Check input data files\n",
- "Parse data files\n",
- "Merge data\n",
- "Cleaning data\n",
- "Loading plotting interface\n",
- "(pycoQC) "
- ]
- },
- {
- "ename": "",
- "evalue": "1",
- "output_type": "error",
- "traceback": []
- }
- ],
+ "outputs": [],
"source": [
"pycoQC \\\n",
" -f ./data/Albacore*RNA* \\\n",
@@ -433,11 +396,11 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 6,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:12:21.993568Z",
- "start_time": "2020-02-10T14:12:14.582649Z"
+ "end_time": "2020-12-16T13:15:58.130952Z",
+ "start_time": "2020-12-16T13:15:51.882778Z"
},
"scrolled": false
},
@@ -489,11 +452,11 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 7,
"metadata": {
"ExecuteTime": {
- "end_time": "2020-02-10T14:12:37.852545Z",
- "start_time": "2020-02-10T14:12:25.233754Z"
+ "end_time": "2020-12-16T13:16:10.215380Z",
+ "start_time": "2020-12-16T13:15:58.819352Z"
},
"scrolled": false
},
=====================================
docs/pycoQC/results/Albacore-1.2.1_basecall-1D-DNA.html
=====================================
The diff for this file was not included because it is too large.
=====================================
docs/pycoQC/results/Albacore-2.1.10_basecall-1D-DNA.html
=====================================
The diff for this file was not included because it is too large.
=====================================
docs/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.html
=====================================
The diff for this file was not included because it is too large.
=====================================
docs/pycoQC/results/Guppy-2.1.3_basecall-1D_RNA.json
=====================================
@@ -1,7 +1,7 @@
{
"pycoqc": {
- "version": "2.5.0.19",
- "date": "10/02/20"
+ "version": "2.5.0.23",
+ "date": "16/12/20"
},
"All Reads": {
"run": {
=====================================
docs/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.html
=====================================
The diff for this file was not included because it is too large.
=====================================
docs/pycoQC/results/Guppy-2.3_basecall-1D_alignment-DNA.json
=====================================
@@ -1,7 +1,7 @@
{
"pycoqc": {
- "version": "2.5.0.19",
- "date": "10/02/20"
+ "version": "2.5.0.23",
+ "date": "16/12/20"
},
"All Reads": {
"run": {
=====================================
meta.yaml
=====================================
@@ -1,4 +1,4 @@
-{% set version = "2.5.0.23" %}
+{% set version = "2.5.2" %}
{% set name = "pycoQC" %}
package:
@@ -23,15 +23,14 @@ requirements:
- pip>=19.2.1
- ripgrep>=11.0.1
run:
- - python>=3.6
- - numpy=1.17.1
- - scipy=1.3.1
- - pandas=0.25.1
- - plotly=4.1.0
- - jinja2=2.10.1
- - h5py=2.9.0
- - tqdm=4.35.0
- - pysam=0.15.3
+ - numpy>=1.19
+ - scipy>=1.5
+ - pandas>=1.1
+ - plotly==4.1.0
+ - jinja2>=2.10
+ - h5py>=3.1
+ - tqdm>=4.54
+ - pysam>=0.16
test:
imports:
@@ -44,10 +43,13 @@ test:
- Barcode_split --help
about:
- home: "https://github.com/a-slide/pycoQC"
- license: "GNU General Public v3 (GPLv3)"
- license_file: LICENSE
- license_family: GPL
- summary: "PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data"
- doc_url: "https://a-slide.github.io/pycoQC/"
- dev_url: ""
+ home: https://github.com/a-slide/pycoQC
+ doc_url: https://adrienleger.com/pycoQC
+ license: GPLv3
+ licence_url: https://www.gnu.org/licenses/gpl-3.0.en.html
+ summary: PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data
+
+extra:
+ author: Adrien Leger & Tommaso Leonardi
+ author_email: aleg at ebi.ac.uk
+ author_url: https://adrienleger.com
=====================================
mkdocs.yml
=====================================
@@ -1,22 +1,15 @@
-# Required python packages to generate the documentation
-# * mkdocs
-# * mkdocs-material
-# * pygments
-# * pymdown-extensions
-# * mknotebooks
-
# Project information
-site_name: 'pycoQC'
-site_description: 'PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data'
-site_author: 'Adrien Leger & Tommaso Leonardi'
-site_url: 'https://a-slide.github.io/pycoQC/'
+site_name: pycoQC
+site_description: PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data
+site_author: Adrien Leger & Tommaso Leonardi
+site_url: https://adrienleger.com/pycoQC
# Repository
repo_name: 'a-slide/pycoQC'
-repo_url: 'https://github.com/a-slide/pycoQC'
+repo_url: https://github.com/a-slide/pycoQC
# Copyright
-copyright: 'Copyright © 2019 Adrien Leger & Tommaso Leonardi '
+copyright: Copyright © 2020 Adrien Leger & Tommaso Leonardi
# Navigation menu
nav:
=====================================
pycoQC/__init__.py
=====================================
@@ -1,4 +1,9 @@
# -*- coding: utf-8 -*-
-__version__ = '2.5.0.23'
+__name__ = "pycoQC"
+__version__ = "2.5.2"
+__description__ = "PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data"
+__url__ = "https://github.com/a-slide/pycoQC"
+__licence__ = "GPLv3"
+__author__ = "Adrien Leger & Tommaso Leonardi"
__all__ = ["pycoQC", "Fast5_to_seq_summary", "Barcode_split", "common"]
=====================================
pycoQC/__main__.py
=====================================
@@ -76,6 +76,8 @@ def main_pycoQC (args=None):
If not provided, looks for it in ~/.pycoQC and ~/.config/pycoQC/config. If it's still not found, falls back to default parameters.
The first level keys are the names of the plots to be included.
The second level keys are the parameters to pass to each plotting function (default: %(default)s)")"""))
+ parser_html.add_argument("--skip_coverage_plot", default=False, action='store_true',
+ help="Skip the coverage plot in HTML report. Useful when using a reference file containing many sequences, i.e. transcriptome (default: %(default)s)")
parser_other = parser.add_argument_group('Other options')
parser_other.add_argument("--sample", default=100000, type=int,
help=textwrap.dedent("""If not None a n number of reads will be randomly selected instead of the entire dataset for ploting function
@@ -123,6 +125,7 @@ def main_pycoQC (args=None):
html_outfile = args.html_outfile,
report_title = args.report_title,
config_file = args.config_file,
+ skip_coverage_plot = args.skip_coverage_plot,
template_file = args.template_file,
json_outfile = args.json_outfile,
verbose = args.verbose,
=====================================
pycoQC/pycoQC.py
=====================================
@@ -37,6 +37,7 @@ def pycoQC (
config_file:str="",
template_file:str="",
json_outfile:str="",
+ skip_coverage_plot:bool=False,
verbose:bool=False,
quiet:bool=False):
"""
@@ -107,6 +108,7 @@ def pycoQC (
config_file = check_arg("config_file", config_file, required_type=str, allow_none=True)
template_file = check_arg("template_file", template_file, required_type=str, allow_none=True)
json_outfile = check_arg("json_outfile", json_outfile, required_type=str, allow_none=True)
+ skip_coverage_plot = check_arg("skip_coverage_plot", skip_coverage_plot, required_type=bool, allow_none=False)
# Print debug info
logger.debug("General info")
@@ -154,7 +156,8 @@ def pycoQC (
outfile=html_outfile,
config_file=config_file,
template_file=template_file,
- report_title=report_title)
+ report_title=report_title,
+ skip_coverage_plot=skip_coverage_plot)
# Run json output function
if json_outfile:
=====================================
pycoQC/pycoQC_report.py
=====================================
@@ -59,7 +59,8 @@ class pycoQC_report ():
outfile:str,
config_file:str="",
template_file:str="",
- report_title:str="PycoQC report"):
+ report_title:str="PycoQC report",
+ skip_coverage_plot:bool=False):
""""""
self.logger.info("Generating HTML report")
@@ -72,6 +73,9 @@ class pycoQC_report ():
plots = list()
titles = list()
for method_name, method_args in config_dict.items ():
+ if skip_coverage_plot and method_name == "alignment_coverage":
+ self.logger.info("\tSkipping method {}".format(method_name))
+ continue
try:
self.logger.info("\tRunning method {}".format(method_name))
self.logger.debug ("\t{} ({})".format(method_name, method_args))
@@ -96,7 +100,7 @@ class pycoQC_report ():
titles.append(plot_title)
except AttributeError as E:
- self.logger.info("\t\t{}".format("{} is not a valid plotting method".format(method_name)))
+ self.logger.info("\t\t{} is not a valid plotting method".format(method_name))
self.logger.info("\t\t{}".format(E))
except pycoQCError as E:
=====================================
setup.py
=====================================
@@ -4,23 +4,20 @@
from setuptools import setup
# Define package info
-name = "pycoQC"
-version = "2.5.0.23"
-description = "PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data"
-with open("README.md", "r") as fh:
+with open('README.md', 'r') as fh:
long_description = fh.read()
setup(
- name = name,
- description = description,
- version = version,
+ name = 'pycoQC',
+ description = 'PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data',
+ version = '2.5.2',
long_description = long_description,
- long_description_content_type="text/markdown",
- url = "https://github.com/a-slide/pycoQC",
+ long_description_content_type='text/markdown',
+ url = 'https://github.com/a-slide/pycoQC',
author = 'Adrien Leger & Tommaso Leonardi',
author_email = 'aleg at ebi.ac.uk',
license = 'GPLv3',
- python_requires ='>=3.5',
+ python_requires ='>=3.6',
classifiers = [
'Development Status :: 3 - Alpha',
'Intended Audience :: Science/Research',
@@ -28,17 +25,17 @@ setup(
'License :: OSI Approved :: GNU General Public License v3 (GPLv3)',
'Programming Language :: Python :: 3'],
install_requires = [
- 'numpy==1.17.1',
- 'scipy==1.3.1',
- 'pandas==0.25.1',
+ 'numpy>=1.19',
+ 'scipy>=1.5',
+ 'pandas>=1.1',
'plotly==4.1.0',
- 'jinja2==2.10.1',
- 'h5py==2.9.0',
- 'tqdm==4.35.0',
- 'pysam==0.15.3'],
- packages = [name],
- package_dir = {name: name},
- package_data = {name: ['templates/*']},
+ 'jinja2>=2.10',
+ 'h5py>=3.1',
+ 'tqdm>=4.54',
+ 'pysam>=0.16'],
+ packages = ['pycoQC'],
+ package_dir = {'pycoQC': 'pycoQC'},
+ package_data = {'pycoQC': ['templates/*']},
entry_points = {
'console_scripts': [
'pycoQC=pycoQC.__main__:main_pycoQC',
=====================================
versipy.yaml
=====================================
@@ -0,0 +1,51 @@
+version:
+ major: 2
+ minor: 5
+ micro: 2
+ a: null
+ b: null
+ rc: null
+ post: null
+ dev: null
+managed_values:
+ __package_name__: pycoQC
+ __package_description__: PycoQC computes metrics and generates interactive QC plots
+ for Oxford Nanopore technologies sequencing data
+ __package_introduction__: PycoQC relies on the *sequencing_summary.txt* file generated
+ by Albacore and Guppy, but if needed it can also generate a summary file from
+ basecalled fast5 files. The package supports 1D and 1D2 runs generated with Minion,
+ Gridion and Promethion devices, basecalled with Albacore 1.2.1+ or Guppy 2.1.3+.
+ PycoQC is written in pure Python3. **Python 2 is not supported**. For a quick
+ introduction see tutorial by [Tim Kahlke](https://github.com/timkahlke) available
+ at https://timkahlke.github.io/LongRead_tutorials/QC_P.html
+ __package_url__: https://github.com/a-slide/pycoQC
+ __package_doc_url__: https://adrienleger.com/pycoQC
+ __author_name__: Adrien Leger & Tommaso Leonardi
+ __author_email__: aleg at ebi.ac.uk
+ __author_url__: https://adrienleger.com
+ __package_licence__: GPLv3
+ __package_licence_url__: https://www.gnu.org/licenses/gpl-3.0.en.html
+ __minimal_python__: '>=3.6'
+ __entry_point_1__: pycoQC=pycoQC.__main__:main_pycoQC
+ __entry_point_2__: Fast5_to_seq_summary=pycoQC.__main__:main_Fast5_to_seq_summary
+ __entry_point_3__: Barcode_split=pycoQC.__main__:main_Barcode_split
+ __dependency_1__: numpy>=1.19
+ __dependency_2__: scipy>=1.5
+ __dependency_3__: pandas>=1.1
+ __dependency_4__: plotly==4.1.0
+ __dependency_5__: jinja2>=2.10
+ __dependency_6__: h5py>=3.1
+ __dependency_7__: tqdm>=4.54
+ __dependency_8__: pysam>=0.16
+ __classifiers_1__: 'Development Status :: 3 - Alpha'
+ __classifiers_2__: 'Intended Audience :: Science/Research'
+ __classifiers_3__: 'Topic :: Scientific/Engineering :: Bio-Informatics'
+ __classifiers_4__: 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)'
+ __classifiers_5__: 'Programming Language :: Python :: 3'
+managed_files:
+ .versipy/setup.py: setup.py
+ .versipy/meta.yaml: meta.yaml
+ .versipy/__init__.py: pycoQC/__init__.py
+ .versipy/README.md: README.md
+ .versipy/mkdocs.yml: mkdocs.yml
+ .versipy/index.md: docs/index.md
=====================================
versipy_history.txt
=====================================
@@ -0,0 +1,8 @@
+2020-12-16 15:55:07.158731 0.0.0 Initialise versipy history
+2020-12-16 16:35:49.487662 2.5.1.dev1 Versipy auto bump-up
+2020-12-16 16:37:21.197197 2.5.1.dev2 Versipy auto bump-up
+2020-12-16 16:38:01.948310 2.5.1.dev3 Versipy auto bump-up
+2020-12-16 16:40:09.668703 2.5.1.dev4 Versipy auto bump-up
+2020-12-16 16:41:15.013385 2.5.1.dev5 Versipy auto bump-up
+2020-12-16 16:50:47.571875 2.5.1.dev6 Versipyify package and expose skip_coverage_plot option to CLI
+2020-12-16 16:58:52.524915 2.5.2 Versipyify package and expose skip_coverage_plot option to CLI
View it on GitLab: https://salsa.debian.org/med-team/pycoqc/-/commit/b46d0d7f9e2cd0404101d2c4bbd65df2fa933d43
--
View it on GitLab: https://salsa.debian.org/med-team/pycoqc/-/commit/b46d0d7f9e2cd0404101d2c4bbd65df2fa933d43
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20201220/357d3aaa/attachment-0001.html>
More information about the debian-med-commit
mailing list