Skip to main content

Toolkit for analysis of .hyb format genomic sequence data from ribonomics experiments.

Project description

hybkit

GitHub release (latest by date including pre-releases) PyPI Package Version Documentation Status PyPI - Python Version
Welcome to hybkit, a toolkit for analysis of “.hyb” format genomic sequence data generated from ribonomics techniques such as CLASH and qCLASH.
This software is available via Github, at http://www.github.com/RenneLab/hybkit .
Full project documentation is available at hybkit’s ReadTheDocs.
This project contains multiple components:
  1. (ToDo) The hybkit toolkit of command-line utilities for manipulating, analyzing, and plotting data contained within hyb-format files.

  2. Analysis pipelines utilizing the toolkit for analysis of qCLASH hybrid sequence data.

  3. The hybkit python API, an extendable documented codebase for creation of custom analyses of hyb-format data.

Hybkit Toolkit:

hybkit includes (will include) command-line utilities for the manipulation of “.hyb” format data:

Utility

Description

hyb_check.py

Read a “.hyb” file and check for errors

hyb_filter.py

Filter a “.hyb” file to a specific subset of sequences

hyb_analyze.py

Analyze and set details for hyb records, such as segtypes

hyb_type_analysis.py

Perform a type analysis on a prepared “hyb” file

hyb_mirna_count_anlaysis.py

Perform a miRNA_count analysis on a prepared “hyb” file

hyb_summary_anlaysis.py

Perform a summary analysis on a prepared “hyb” file

hyb_mirna_target_analysis.py

Perform a mirna_target analysis on a prepared “hyb” file

hyb_fold_analysis.py

Perform a fold analysis on a prepared “hyb” file

These scripts are used on the command line with hyb-format files. For example, to filter a hyb file to contain only sequences with identifiers containing the string “KSHV”:

$ hyb_filter.py ....[command_example]

Further detail on the usage of each script is provided in the hybkit Toolkit section of hybkit’s ReadTheDocs.

Pipelines:

Hybkit provides several example pipelines for analysis of “hyb” data using the utilities provided in the toolkit. These include:

pipeline

description

Summary Analysis

Summarize the sequence and miRNA types in a hyb file

Target Analysis

Analyze targets of a set of miRNA

Grouped Target Analysis

Analyze targets of a set of miRNA with grouped replicates

Fold Analysis

Analyze fold patterns of miRNA-containing hybrids

Fold Target Region Analysis

Perform fold analysis separated by targeted mRNA region

These pipelines 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

https://github.com/RenneLab/hybkit/raw/master/sample_01_summary_analysis/example_output/combined_analysis_types_hybrids.png

Further detail on each provided pipeline can be found in the Example Pipelines section of hybkit’s ReadTheDocs.

Hybkit API:

Hybkit provides a Python3 module with a documented API for interacting with records in “.hyb” files. This capability was inspired by the object interactions in the BioPython Project. The primary utility is provided by objects used to represent hyb records within hyb files. These records are assigned accessible attributes, and can be analyzed using builtin functions. For example, a workflow to print the identifiers of only sequences within a “.hyb” file that contain a miRNA can be performed as such:

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.find_types()

        # If the record contains an miRNA type, print the record identifier.
        if hyb_record.has_property('segtype_contains', 'miRNA')
            print(hyb_record.id)

Further documentation on the hybkit API can be found in the hybkit API section of hybkit’s ReadTheDocs.

Hybkit is still in beta testing. Feedback and comments are welcome to ds@ufl.edu !

Installation

Hybkit requires Python 3.6+ and the use of the matplotlib package.

The recommended installation method is via python pip, which will automatically handle version control and dependency installation:

$ pip install hybkit

Acquisition of the package can also be performed by cloning the project’s Github repository:

$ git clone git:://github.com/RenneLab/hybkit

Or by downloading the zipped package:

$ curl -OL https://github.com/dstrib/hybkit/archive/master.zip
$ unzip master.zip

Followed by installation using python’s setuptools:

$ python setup.py install

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hybkit-0.1.9.tar.gz (37.1 MB view hashes)

Uploaded Source

Built Distribution

hybkit-0.1.9-py3-none-any.whl (37.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page