circtools


Namecirctools JSON
Version 1.3.1 PyPI version JSON
download
home_pagehttps://github.com/jakobilab/circtools
Summarycirctools - a circular RNA toolbox
upload_time2023-08-07 18:39:01
maintainer
docs_urlNone
authorTobias Jakobi
requires_python>=3.7
licenseGNU General Public License (GPL)
keywords circrna circular rna bioinformatics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            **circtools**
======================================================================

**a one-stop software solution for circular RNA research**

.. figure:: https://raw.githubusercontent.com/jakobilab/circtools/master/docs/img/circtools_200px.png
   :alt: circtools

|docs| |build| |docker| |zenodo| |downloads| |pypi|

Introduction
-------------

Circular RNAs (circRNAs) originate through back-splicing events from linear primary transcripts, are resistant to exonucleases, typically not polyadenylated, and have been shown to be highly specific for cell type and developmental stage. Although few circular RNA molecules have been shown to exhibit miRNA sponge function, for the vast majority of circRNAs however, their function is yet to be determined.

The prediction of circular RNAs is a multi-stage bioinformatics process starting with raw sequencing data and usually ending with a list of potential circRNA candidates which, depending on tissue and condition may contain hundreds to thousands of potential circRNAs. While there already exist a number of tools for the prediction process (e.g. `DCC <https://github.com/dieterich-lab/DCC>`__ and `CircTest <https://github.com/dieterich-lab/CircTest>`__), publicly available downstream analysis tools are rare.

We developed **circtools**, a modular, Python3-based framework for circRNA-related tools that unifies several functionalities in single command line driven software. The command line follows the `circtools subcommand` standard that is employed in samtools or bedtools. Currently, circtools includes modules for detecting and reconstructing circRNAs,
a quick check of circRNA mapping results, RBP enrichment screenings, circRNA primer design, statistical testing, and an exon usage module.



Documentation
-------------

Click `here <https://docs.circ.tools/>`__ to access the complete documentation on Read the Docs.

Installation
------------

The ``circtools`` package is written in Python 3 (supporting Python 3.7 - 3.10). It requires only a small number of external dependencies, namely standard bioinformatics tools:

-  `bedtools (>= 2.27.1) <https://bedtools.readthedocs.io/en/latest/content/installation.html>`__
   [RBP enrichment module, installed automatically]
-  `R (>= 4.0) <https://www.digitalocean.com/community/tutorials/how-to-install-r-on-ubuntu-22-04>`__
   [Data visualization and data processing]

Installation is managed through ``pip3 install circtools`` or ``python3 setup.py
install`` when installed from the cloned GitHub repository. No sudo access is
required if the installation is executed with ``--user`` which will install the
package in a user-writeable folder. The binaries should be installed
to ``/home/$user/.local/bin/`` in case of Debian-based systems.

``circtools`` was developed and tested on Debian Buster, but should also
run with any other distribution.

The installation can be performed directly from Pypi:

.. code-block:: console

    # install circtools
    pip install numpy # required for HTSeq, a dependency of circtools
    pip install circtools

    # install R packages for circtools
    circtools_install_R_dependencies

Additionally, this repository offers the latest development version:

.. code-block:: console

    pip install numpy # required for HTSeq, a dependency of circtools
    pip install git+https://github.com/jakobilab/circtools.git

The primer-design module as well as the exon analysis and circRNA testing module
require a working installation of `R <https://cran.r-project.org/>`__ with
`BioConductor <https://www.bioconductor.org/install/>`__. All R packages
required can be automatically installed during the setup. Please see the
`"Installing circtools" <http://docs.circ.tools/en/latest/Installation.html>`__
chapter of the main circtools documentation for more detailed installation instructions.

Modules
-------

Circtools currently offers seven modules:

detect `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Detect.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``detect`` command is an interface to
`DCC <https://github.com/dieterich-lab/DCC>`__, developed at the
Dieterich Lab. The module allows to detect circRNAs from RNA sequencing
data. The module is the foundation of all other steps for the circtools
work flow. All parameters supplied to circtools will be directly passed
to DCC.

quickcheck `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Quickcheck.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The quickcheck module of circtools is an easy way to check the results
of a DCC run for problems and to quickly assess the number of circRNAs
in a given experiment. The module needs the mapping log files produced
by STAR as well as the directory with the DCC results. The module than
generates a series of figures in PDF format to assess the results.

reconstruct `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Reconstruct.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``reconstruct`` command is an interface to
`FUCHS <https://github.com/dieterich-lab/FUCHS>`__. FUCHS is employing
DCC-generated data to reconstruct circRNA structures. All parameters
supplied to circtools will be directly passed to FUCHS.

circtest `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Circtest.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``circtest`` command is an interface to
`CircTest <https://github.com/dieterich-lab/CircTest>`__. The module a a
very convenient way to employ statistical testing to circRNA candidates
generated with DCC without having to write an R script for each new
experiment. For detailed information on the implementation itself take a
look at the `CircTest
documentation <https://github.com/dieterich-lab/CircTest>`__. In
essence, the module allows dynamic grouping of the columns (samples) in
the DCC data.

exon `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Exon.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The exon module of circtools employs the `ballgown R
package <https://www.bioconductor.org/packages/release/bioc/html/ballgown.html>`__
to combine data generated with DCC and circtest with ballgown-compatible
``stringtie`` output or cufflinks output converted via
`tablemaker <https://github.com/leekgroup/tablemaker>`__ in order get
deeper insights into differential exon usage within circRNA candidates.

enrich `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Enrichment.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``enrichment`` module may be used to identify circRNAs enriched for
specific RNA binding proteins (RBP) based on DCC-identified circRNAs and
processed
`eCLIP <http://www.nature.com/nmeth/journal/v13/n6/full/nmeth.3810.html>`__
data. For K526 and HepG2 cell lines plenty of this data is available
through the
`ENCODE <https://www.encodeproject.org/search/?type=Experiment&assay_title=eCLIP>`__
project.

primer `(detailed documentation) <https://circtools.readthedocs.io/en/latest/primer.html>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ``primer`` command is used to design and visualize primers required
for follow up wet lab experiments to verify circRNA candidates.


.. |docs| image:: https://readthedocs.org/projects/circtools/badge/?version=latest
    :alt: Documentation Status
    :scale: 100%
    :target: https://circtools.readthedocs.io/en/latest/?badge=latest

.. |build| image:: https://github.com/jakobilab/circtools/actions/workflows/run_circtools_detect.yml/badge.svg?branch=master
    :alt: CI Status
    :scale: 100%
    :target: https://github.com/jakobilab/circtools/actions/workflows/run_circtools_detect.yml

.. |docker| image:: https://github.com/jakobilab/circtools/actions/workflows/build_docker.yml/badge.svg?branch=master
    :alt: Docker Build
    :scale: 100%
    :target: https://github.com/jakobilab/circtools/actions/workflows/build_docker.yml

.. |zenodo| image:: https://zenodo.org/badge/498448368.svg
    :alt: Zenodo DOI link
    :scale: 100%
    :target: https://zenodo.org/badge/latestdoi/498448368

.. |downloads| image:: https://pepy.tech/badge/circtools
    :alt: Python Package Index Downloads
    :scale: 100%
    :target: https://pepy.tech/project/circtools

.. |pypi| image:: https://badge.fury.io/py/circtools.svg
    :alt: Python package version
    :scale: 100%
    :target: https://badge.fury.io/py/circtools
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jakobilab/circtools",
    "name": "circtools",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "circRNA,circular RNA bioinformatics",
    "author": "Tobias Jakobi",
    "author_email": "tjakobi@arizona.edu",
    "download_url": "https://files.pythonhosted.org/packages/96/aa/82ca9e12ec1a190f1c6fc38a1e0829e62ec30a087e16d8f0e6ca98d08577/circtools-1.3.1.tar.gz",
    "platform": null,
    "description": "**circtools**\n======================================================================\n\n**a one-stop software solution for circular RNA research**\n\n.. figure:: https://raw.githubusercontent.com/jakobilab/circtools/master/docs/img/circtools_200px.png\n   :alt: circtools\n\n|docs| |build| |docker| |zenodo| |downloads| |pypi|\n\nIntroduction\n-------------\n\nCircular RNAs (circRNAs) originate through back-splicing events from linear primary transcripts, are resistant to exonucleases, typically not polyadenylated, and have been shown to be highly specific for cell type and developmental stage. Although few circular RNA molecules have been shown to exhibit miRNA sponge function, for the vast majority of circRNAs however, their function is yet to be determined.\n\nThe prediction of circular RNAs is a multi-stage bioinformatics process starting with raw sequencing data and usually ending with a list of potential circRNA candidates which, depending on tissue and condition may contain hundreds to thousands of potential circRNAs. While there already exist a number of tools for the prediction process (e.g. `DCC <https://github.com/dieterich-lab/DCC>`__ and `CircTest <https://github.com/dieterich-lab/CircTest>`__), publicly available downstream analysis tools are rare.\n\nWe developed **circtools**, a modular, Python3-based framework for circRNA-related tools that unifies several functionalities in single command line driven software. The command line follows the `circtools subcommand` standard that is employed in samtools or bedtools. Currently, circtools includes modules for detecting and reconstructing circRNAs,\na quick check of circRNA mapping results, RBP enrichment screenings, circRNA primer design, statistical testing, and an exon usage module.\n\n\n\nDocumentation\n-------------\n\nClick `here <https://docs.circ.tools/>`__ to access the complete documentation on Read the Docs.\n\nInstallation\n------------\n\nThe ``circtools`` package is written in Python 3 (supporting Python 3.7 - 3.10). It requires only a small number of external dependencies, namely standard bioinformatics tools:\n\n-  `bedtools (>= 2.27.1) <https://bedtools.readthedocs.io/en/latest/content/installation.html>`__\n   [RBP enrichment module, installed automatically]\n-  `R (>= 4.0) <https://www.digitalocean.com/community/tutorials/how-to-install-r-on-ubuntu-22-04>`__\n   [Data visualization and data processing]\n\nInstallation is managed through ``pip3 install circtools`` or ``python3 setup.py\ninstall`` when installed from the cloned GitHub repository. No sudo access is\nrequired if the installation is executed with ``--user`` which will install the\npackage in a user-writeable folder. The binaries should be installed\nto ``/home/$user/.local/bin/`` in case of Debian-based systems.\n\n``circtools`` was developed and tested on Debian Buster, but should also\nrun with any other distribution.\n\nThe installation can be performed directly from Pypi:\n\n.. code-block:: console\n\n    # install circtools\n    pip install numpy # required for HTSeq, a dependency of circtools\n    pip install circtools\n\n    # install R packages for circtools\n    circtools_install_R_dependencies\n\nAdditionally, this repository offers the latest development version:\n\n.. code-block:: console\n\n    pip install numpy # required for HTSeq, a dependency of circtools\n    pip install git+https://github.com/jakobilab/circtools.git\n\nThe primer-design module as well as the exon analysis and circRNA testing module\nrequire a working installation of `R <https://cran.r-project.org/>`__ with\n`BioConductor <https://www.bioconductor.org/install/>`__. All R packages\nrequired can be automatically installed during the setup. Please see the\n`\"Installing circtools\" <http://docs.circ.tools/en/latest/Installation.html>`__\nchapter of the main circtools documentation for more detailed installation instructions.\n\nModules\n-------\n\nCirctools currently offers seven modules:\n\ndetect `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Detect.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``detect`` command is an interface to\n`DCC <https://github.com/dieterich-lab/DCC>`__, developed at the\nDieterich Lab. The module allows to detect circRNAs from RNA sequencing\ndata. The module is the foundation of all other steps for the circtools\nwork flow. All parameters supplied to circtools will be directly passed\nto DCC.\n\nquickcheck `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Quickcheck.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe quickcheck module of circtools is an easy way to check the results\nof a DCC run for problems and to quickly assess the number of circRNAs\nin a given experiment. The module needs the mapping log files produced\nby STAR as well as the directory with the DCC results. The module than\ngenerates a series of figures in PDF format to assess the results.\n\nreconstruct `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Reconstruct.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``reconstruct`` command is an interface to\n`FUCHS <https://github.com/dieterich-lab/FUCHS>`__. FUCHS is employing\nDCC-generated data to reconstruct circRNA structures. All parameters\nsupplied to circtools will be directly passed to FUCHS.\n\ncirctest `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Circtest.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``circtest`` command is an interface to\n`CircTest <https://github.com/dieterich-lab/CircTest>`__. The module a a\nvery convenient way to employ statistical testing to circRNA candidates\ngenerated with DCC without having to write an R script for each new\nexperiment. For detailed information on the implementation itself take a\nlook at the `CircTest\ndocumentation <https://github.com/dieterich-lab/CircTest>`__. In\nessence, the module allows dynamic grouping of the columns (samples) in\nthe DCC data.\n\nexon `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Exon.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe exon module of circtools employs the `ballgown R\npackage <https://www.bioconductor.org/packages/release/bioc/html/ballgown.html>`__\nto combine data generated with DCC and circtest with ballgown-compatible\n``stringtie`` output or cufflinks output converted via\n`tablemaker <https://github.com/leekgroup/tablemaker>`__ in order get\ndeeper insights into differential exon usage within circRNA candidates.\n\nenrich `(detailed documentation) <https://circtools.readthedocs.io/en/latest/Enrichment.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``enrichment`` module may be used to identify circRNAs enriched for\nspecific RNA binding proteins (RBP) based on DCC-identified circRNAs and\nprocessed\n`eCLIP <http://www.nature.com/nmeth/journal/v13/n6/full/nmeth.3810.html>`__\ndata. For K526 and HepG2 cell lines plenty of this data is available\nthrough the\n`ENCODE <https://www.encodeproject.org/search/?type=Experiment&assay_title=eCLIP>`__\nproject.\n\nprimer `(detailed documentation) <https://circtools.readthedocs.io/en/latest/primer.html>`__\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``primer`` command is used to design and visualize primers required\nfor follow up wet lab experiments to verify circRNA candidates.\n\n\n.. |docs| image:: https://readthedocs.org/projects/circtools/badge/?version=latest\n    :alt: Documentation Status\n    :scale: 100%\n    :target: https://circtools.readthedocs.io/en/latest/?badge=latest\n\n.. |build| image:: https://github.com/jakobilab/circtools/actions/workflows/run_circtools_detect.yml/badge.svg?branch=master\n    :alt: CI Status\n    :scale: 100%\n    :target: https://github.com/jakobilab/circtools/actions/workflows/run_circtools_detect.yml\n\n.. |docker| image:: https://github.com/jakobilab/circtools/actions/workflows/build_docker.yml/badge.svg?branch=master\n    :alt: Docker Build\n    :scale: 100%\n    :target: https://github.com/jakobilab/circtools/actions/workflows/build_docker.yml\n\n.. |zenodo| image:: https://zenodo.org/badge/498448368.svg\n    :alt: Zenodo DOI link\n    :scale: 100%\n    :target: https://zenodo.org/badge/latestdoi/498448368\n\n.. |downloads| image:: https://pepy.tech/badge/circtools\n    :alt: Python Package Index Downloads\n    :scale: 100%\n    :target: https://pepy.tech/project/circtools\n\n.. |pypi| image:: https://badge.fury.io/py/circtools.svg\n    :alt: Python package version\n    :scale: 100%\n    :target: https://badge.fury.io/py/circtools",
    "bugtrack_url": null,
    "license": "GNU General Public License (GPL)",
    "summary": "circtools - a circular RNA toolbox",
    "version": "1.3.1",
    "project_urls": {
        "Bug Reports": "https://github.com/jakobilab/circtools/issues",
        "Documentation": "https://docs.circ.tools",
        "Homepage": "https://github.com/jakobilab/circtools",
        "Jakobi Lab": "https://jakobilab.org",
        "Source": "https://github.com/jakobilab/circtools"
    },
    "split_keywords": [
        "circrna",
        "circular rna bioinformatics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96aa82ca9e12ec1a190f1c6fc38a1e0829e62ec30a087e16d8f0e6ca98d08577",
                "md5": "b5eb2319952e0dbf570e283c21382837",
                "sha256": "597544ac8f614b3c48000aee28e1de326f8d0582f57f35d808dbcbf24fdbf863"
            },
            "downloads": -1,
            "filename": "circtools-1.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b5eb2319952e0dbf570e283c21382837",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 964614,
            "upload_time": "2023-08-07T18:39:01",
            "upload_time_iso_8601": "2023-08-07T18:39:01.575606Z",
            "url": "https://files.pythonhosted.org/packages/96/aa/82ca9e12ec1a190f1c6fc38a1e0829e62ec30a087e16d8f0e6ca98d08577/circtools-1.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-07 18:39:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jakobilab",
    "github_project": "circtools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "circtools"
}
        
Elapsed time: 0.09414s