Giter Site home page Giter Site logo

vallurumk / circtools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dieterich-lab/circtools

0.0 1.0 0.0 2.55 MB

circtools: a modular, python-based framework for circRNA-related tools that unifies several functionalities in a single, command line driven software.

License: GNU General Public License v3.0

Python 67.73% R 29.41% Shell 1.91% Perl 0.95%

circtools's Introduction

circtools

a one-stop software solution for circular RNA research

circtools

Documentation Status Build Status Zenodo DOI link Python Package Index Downloads Python package version

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 and 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 to access the complete documentation on Read the Docs.

Installation

The circtools package is written in Python3 (>=3.4), two modules, namely detect and reconstruct also require a working Python 2 installation (>=2.7). It requires only a small number of external dependencies, namely standard bioinformatics tools:

Installation is managed through python3 setup.py install. 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 Jessie but should also run with any distribution.

The installation requires running python on the command line:

git clone https://github.com/dieterich-lab/circtools.git
cd circtools
python3 setup.py install --verbose --user

The installation procedure will automatically install two dependencies: DCC and FUCHS. The primer-design module as well as the exon analysis and circRNA testing module require a working installation of R with BioConductor. All R packages required are automatically installed during the setup. Please see the "Installing circtools" chapter of the main circtools documentation for more detailed installation instructions.

Modules

Circtools currently offers seven modules:

The detect command is an interface to DCC, also 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.

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.

The reconstruct command is an interface to FUCHS. FUCHS is employing DCC-generated data to reconstruct circRNA structures. All parameters supplied to circtools will be directly passed to FUCHS.

The circtest command is an interface to 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. In essence, the module allows dynamic grouping of the columns (samples) in the DCC data.

The exon module of circtools employs the ballgown R package to combine data generated with DCC and circtest with ballgown-compatible stringtie output or cufflinks output converted via tablemaker in order get deeper insights into differential exon usage within circRNA candidates.

The enrichment module may be used to identify circRNAs enriched for specific RNA binding proteins (RBP) based on DCC-identified circRNAs and processed eCLIP data. For K526 and HepG2 cell lines plenty of this data is available through the ENCODE project.

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

circtools's People

Contributors

tjakobi avatar alexey0308 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.