Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rennelab/hybkit
Toolkit for analysis of ".hyb" format nucleotide sequence data from chimeric RNA experiments.
https://github.com/rennelab/hybkit
bioinformatics bioinformatics-pipeline bioinformatics-tool clash genomics hyb qclash ribonomics
Last synced: 3 months ago
JSON representation
Toolkit for analysis of ".hyb" format nucleotide sequence data from chimeric RNA experiments.
- Host: GitHub
- URL: https://github.com/rennelab/hybkit
- Owner: RenneLab
- License: gpl-3.0
- Created: 2020-01-13T22:32:20.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-11-28T17:40:59.000Z (about 1 year ago)
- Last Synced: 2024-04-30T02:02:43.882Z (9 months ago)
- Topics: bioinformatics, bioinformatics-pipeline, bioinformatics-tool, clash, genomics, hyb, qclash, ribonomics
- Language: Python
- Homepage:
- Size: 344 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
******
hybkit
******
.. image:: https://img.shields.io/github/v/release/RenneLab/hybkit?include_prereleases&logo=github
:target: https://github.com/RenneLab/hybkit/releases
:alt: GitHub release (latest by date including pre-releases)
.. image:: https://img.shields.io/pypi/v/hybkit?logo=pypi&logoColor=white
:target: https://pypi.org/project/hybkit/
:alt: PyPI Package Version
.. image:: https://img.shields.io/conda/vn/bioconda/hybkit?logo=anaconda
:target: http://bioconda.github.io/recipes/hybkit/README.html
:alt: Bioconda Release
.. image:: https://img.shields.io/conda/dn/bioconda/hybkit?logo=Anaconda
:target: http://bioconda.github.io/recipes/hybkit/README.html
:alt: Hybkit Downloads on Bioconda
.. image:: https://img.shields.io/conda/vn/bioconda/hybkit?color=lightgrey&label=Image%20%28quay.io%29&logo=docker
:target: https://quay.io/repository/biocontainers/hybkit?tab=tags
:alt: Docker Image Version
.. image:: https://img.shields.io/circleci/build/github/RenneLab/hybkit?label=CircleCI&logo=circleci
:target: https://app.circleci.com/pipelines/github/RenneLab/hybkit
:alt: Circle-CI Build Status
.. image:: https://img.shields.io/readthedocs/hybkit?logo=read-the-docs
:target: https://hybkit.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/coveralls/github/RenneLab/hybkit?logo=coveralls
:target: https://coveralls.io/github/RenneLab/hybkit
:alt: Coveralls Coverage
.. image:: https://img.shields.io/pypi/pyversions/hybkit?logo=python&logoColor=white
:target: https://pypi.org/project/hybkit/
:alt: PyPI - Python Version
.. image:: https://img.shields.io/badge/DOI-10.1093%2Fbioinformatics%2Fbtad721-0887BA?style=flat&logo=DOI&logoColor=white
:target: https://doi.org/10.1093/bioinformatics/btad721
:alt: Manuscript DOI, Journal Bioinformatics
.. image:: https://img.shields.io/badge/License-GPLv3+-blue?logo=GNU
:target: https://www.gnu.org/licenses/gpl-3.0.en.html
:alt: GNU GPLv3+ License| Welcome to *hybkit*, a toolkit for analysis of hyb-format chimeric
(hybrid) RNA sequence data defined with the Hyb software package by |Travis2014|_.
This genomic data-type is generated from RNA proximity-ligation and ribonomics
techniques such as Crosslinking, Ligation, and
Sequencing of Hybrids (CLASH; |Helwak2013|_) and quick CLASH (qCLASH; |Gay2018|_).
| This software is available via Github, at http://www.github.com/RenneLab/hybkit .
| Full project documentation is available at |docs_link|_.Project components:
#. hybkit toolkit of command-line utilities for manipulating,
analyzing, and plotting hyb-format data.
#. The hybkit python API, an extendable documented codebase
for creation of custom analyses of hyb-format data.
#. Integrated analysis of predicted secondary structure (fold) information for
the API and command-line utilities.
#. Example analyses for publicly available qCLASH hybrid
sequence data implemented in each of the command-line scripts and hybkit Python API.Hybkit Toolkit:
The hybkit toolkit includes several command-line utilities
for manipulation of hyb-format data:=================================== ===========================================================
Utility Description
=================================== ===========================================================
hyb_check Parse hyb (and fold) files and check for errors
hyb_eval Evaluate hyb (and fold) records to identify / assign
segment types and miRNAs using custom criteria
hyb_filter Filter hyb (and fold) records to a specific
custom subset
hyb_analyze Perform an energy, type, miRNA, target, or fold analysis
on hyb (and fold) files and plot results
=================================== ===========================================================These scripts are used on the command line with hyb (and associated "vienna" or "CT") files.
For example, to filter a
hyb and corresponding vienna file to contain only hybrids with
a sequence identifier containing the string "kshv":Example:
::
$ hyb_filter -i my_hyb_file.hyb -f my_hyb_file.vienna --filter any_seg_contains kshv
Further detail on the usage of each script is provided in
the |hybkit Toolkit| section of |docs_link|_.Hybkit API:
Hybkit provides a Python3 module with a documented API for interacting with
records in hyb files and associated vienna or CT files.
This capability was inspired by the `BioPython Project `_.
The primary utility is provided by a class for hyb records (HybRecord), a class
for fold records (FoldRecord), and file-iterator classes
(HybFile, ViennaFile, CTFile, HybFoldIter).
Record attributes can be analyzed, set, and evaluated using included class methods.For example, a workflow to print the identifiers of only sequences within a ".hyb" file
that contain a miRNA can be performed as such:.. code-block:: Python
#!/usr/bin/env python3
import hybkit
in_file = '/path/to/my_hyb_file.hyb'# Open a hyb file as a HybFile Object:
with hybkit.HybFile.open(in_file, 'r') as hyb_file:# Return each line in a hyb file as a HybRecord object
for hyb_record in hyb_file:# Analyze each record to assign segment types
hyb_record.eval_types()# If the record contains a long noncoding RNA type, print the record identifier.
if hyb_record.has_prop('any_seg_type_contains', 'lncRNA')
print(hyb_record.id)Further documentation on the hybkit API can be found in the
|hybkit API| section of |docs_link|_.Example Analyses:
Hybkit provides several example analyses for hyb data using the
utilities provided in the toolkit. These include:============================= ===========================================================
Analysis Description
============================= ===========================================================
Type/miRNA Analysis Quantify sequence types and miRNA types in a hyb file
Target Analysis Analyze targets of a set of miRNAs from a single
experimental replicate
Grouped Target Analysis Analyze and plot targets of a set of miRNAs from
pooled experimental replicates
Fold Analysis Analyze and plot predicted miRNA folding patterns in
miRNA-containing hybrids
============================= ===========================================================These analyses provide analysis results in both tabular and graph form.
As an illustration, the example summary analysis includes the return of
the contained hybrid sequence types as both a csv table and as a pie chart:`CSV Output `_
|example_01_image|
Further detail on each provided analysis can be found in
the |Example Analyses| section of |docs_link|_.Installation:
Dependencies:
* Python3.8+
* `matplotlib `_ >= 3.7.1 (|Hunter2007|_)
* `BioPython `_ >= 1.79 (|Cock2009|_)
* `typing_extensions ` >= 4.8.0Via PyPI / Python PIP:
|PipVersion|The recommended installation method is via hybkit's
`PyPI Package Index `_ using
`python3 pip `_, which will
automatically handle version control and dependency installation:.. code-block:: bash
$ python3 -m pip install hybkit
Via Conda:
|CondaVersion| |InstallBioconda|For users of conda, the hybkit package and dependencies are hosted on the
the `Bioconda `_ channel, and can be installed
using conda:.. code-block:: bash
$ conda install -c bioconda hybkit
Via Docker/Singularity:
|DockerVersion|The hybkit package is also available as a `Docker `_
image and `Singularity `_ container, hosted
via the `BioContainers `_ project on
`quay.io `_.
To pull the image via docker:.. code-block:: bash
$ docker pull quay.io/biocontainers/hybkit:0.3.3--pyhdfd78af_0
To pull the image via singularity:
.. code-block:: bash
$ singularity pull docker://quay.io/biocontainers/hybkit:0.3.3--pyhdfd78af_0
Manually Download and Install:
|GithubVersion|Use git to clone the project's Github repository:
.. code-block:: bash
$ git clone git://github.com/RenneLab/hybkit
*OR* download the zipped package:
.. code-block:: bash
$ curl -OL https://github.com/RenneLab/hybkit/archive/master.zip
$ unzip master.zipThen install using python setuptools:
.. code-block:: bash
$ python setup.py install
Further documentation on hybkit usage can be found in |docs_link|_.
Setup Testing:
Hybkit provides a suite of unit tests to maintain stability of the API and script
functionalities. To run the API test suite, install pytest and run the tests from the
root directory of the hybkit package:.. code-block:: bash
$ pip install pytest
$ pytestCommand-line scripts can be tested by running the auto_test.sh script in
the auto_tests directory:.. code-block:: bash
$ ./auto_tests/auto_test.sh
Copyright:
| hybkit is a free, sharable, open-source project.
| All source code and executable scripts contained within this package are considered
part of the "hybkit" project and are distributed without any warranty or implied warranty
under the GNU General Public License v3.0 or any later version, described in the "LICENSE"
file... |Helwak2013| replace:: *Helwak et al. (Cell 2013)*
.. _Helwak2013: https://doi.org/10.1016/j.cell.2013.03.043
.. |Travis2014| replace:: *Travis et al. (Methods 2014)*
.. _Travis2014: https://doi.org/10.1016/j.ymeth.2013.10.015
.. |Gay2018| replace:: *Gay et al. (J. Virol. 2018)*
.. _Gay2018: https://doi.org/10.1128/JVI.02138-17
.. |Hunter2007| replace:: *Hunter JD. (Computing in Science & Engineering 2007)*
.. _Hunter2007: https://doi.org/10.1109/MCSE.2007.55
.. |Cock2009| replace:: *Cock et al. (Bioinformatics 2009)*
.. _Cock2009: https://doi.org/10.1093/bioinformatics/btp163
.. |PipVersion| image:: https://img.shields.io/pypi/v/hybkit?logo=pypi&logoColor=white
:target: https://pypi.org/project/hybkit/
:alt: PyPI Package Version
.. |InstallBioconda| image:: https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat&logo=anaconda
:target: http://bioconda.github.io/recipes/hybkit/README.html
:alt: Install with Bioconda
.. |CondaVersion| image:: https://img.shields.io/conda/vn/bioconda/hybkit?logo=anaconda
:target: http://bioconda.github.io/recipes/hybkit/README.html
:alt: Bioconda Release
.. |DockerVersion| image:: https://img.shields.io/conda/vn/bioconda/hybkit?color=lightgrey&label=Image%20%28quay.io%29&logo=docker
:target: https://quay.io/repository/biocontainers/hybkit?tab=tags
:alt: Docker Image Version
.. |GithubVersion| image:: https://img.shields.io/github/v/release/RenneLab/hybkit?include_prereleases&logo=github
:target: https://github.com/RenneLab/hybkit/releases
:alt: GitHub release (latest by date including pre-releases).. Github Only
.. |hybkit Toolkit| replace:: *hybkit Toolkit*
.. |Example Analyses| replace:: *Example Analyses*
.. |hybkit API| replace:: *hybkit API*
.. |docs_link| replace:: hybkit's ReadTheDocs
.. _docs_link: https://hybkit.readthedocs.io#
.. |example_01_image| image:: https://raw.githubusercontent.com/RenneLab/hybkit/master/example_01_type_mirna_analysis/example_output/combined_analysis_types_mirna_hybrids.png