Package: hybkit
Welcome tohybkit, a toolkit for analysis of hyb-format chimeric
(hybrid) RNA sequence data defined with the Hyb software package byTravis et al. (Methods 2014).
This genomic data-type is generated from RNA proximity-ligation and ribonomics
techniques such as Crosslinking, Ligation, and
Sequencing of Hybrids (CLASH;Helwak et al. (Cell 2013)) and quick CLASH (qCLASH;Gay et al. (J. Virol. 2018)).This software is available via Github, athttp://www.github.com/RenneLab/hybkit.Full project documentation is available athybkit’s ReadTheDocs.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:UtilityDescriptionhyb_checkParse hyb (and fold) files and check for errorshyb_evalEvaluate hyb (and fold) records to identify / assign
segment types and miRNAs using custom criteriahyb_filterFilter hyb (and fold) records to a specific
custom subsethyb_analyzePerform an energy, type, miRNA, target, or fold analysis
on hyb (and fold) files and plot resultsThese 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 kshvFurther detail on the usage of each script is provided in
thehybkit Toolkitsection ofhybkit’s ReadTheDocs.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 theBioPython 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:#!/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 thehybkit APIsection ofhybkit’s ReadTheDocs.Example Analyses:Hybkit provides several example analyses for hyb data using the
utilities provided in the toolkit. These include:AnalysisDescriptionType/miRNA AnalysisQuantify sequence types and miRNA types in a hyb fileTarget AnalysisAnalyze targets of a set of miRNAs from a single
experimental replicateGrouped Target AnalysisAnalyze and plot targets of a set of miRNAs from
pooled experimental replicatesFold AnalysisAnalyze and plot predicted miRNA folding patterns in
miRNA-containing hybridsThese 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 OutputFurther detail on each provided analysis can be found in
theExample Analysessection ofhybkit’s ReadTheDocs.Installation:Dependencies:Python3.8+matplotlib>= 3.7.1 (Hunter JD. (Computing in Science & Engineering 2007))BioPython>= 1.79 (Cock et al. (Bioinformatics 2009))Via PyPI / Python PIP:The recommended installation method is via hybkit’sPyPI Package Indexusingpython3 pip, which will
automatically handle version control and dependency installation:$python3-mpipinstallhybkitVia Conda:For users of conda, the hybkit package and dependencies are hosted on the
theBiocondachannel, and can be installed
using conda:$condainstall-cbiocondahybkitVia Docker/Singularity:The hybkit package is also available as aDockerimage andSingularitycontainer, hosted
via theBioContainersproject onquay.io.
To pull the image via docker:$dockerpullquay.io/biocontainers/hybkit:0.3.0--pyhdfd78af_0To pull the image via singularity:$singularitypulldocker://quay.io/biocontainers/hybkit:0.3.0--pyhdfd78af_0Manually Download and Install:Use git to clone the project’s Github repository:$gitclonegit://github.com/RenneLab/hybkitORdownload the zipped package:$curl-OLhttps://github.com/RenneLab/hybkit/archive/master.zip$unzipmaster.zipThen install using python setuptools:$pythonsetup.pyinstallFurther documentation on hybkit usage can be found inhybkit’s ReadTheDocs.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.