New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

snapper-av

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

snapper-av

SNAPPER: Correct Intron Shifts in Alignments via Reference Annotation

pipPyPI
Version
1.0.2
Maintainers
1

SNAPPER: BAM/SAM/CRAM Intron adjustment guided by reference intron positions.

PyPI version GitHub Downloads License

Introduction

SNAPPER is a method designed to adjust introns in spliced alignments to best match their reference transcriptomic positions. Aligners such as minimap2 are built to only consider guide annotations on the genome to which sequences are being aligned to. However, in case of transcript alignments where sequences have often been extracted from the reference genome using an annotation, there is an additional unused prior in the form of reference exon boundaries in the sequences themselves. it is only logical to use this prior information to guide the alignment, alas such functionality is not present in most aligners. To circumvent this issue, SNAPPER was developed to adjust the intron positions in the alignment to best match the reference transcriptomic positions. The method reconstructs the alignment DP matrix, augments it with weights for reference intron positions and performs a traceback penalizing mismatches with respect to the original alignment and prioritizing intron positions from the reference annotation. The result is a more consistent alignment especially when it comes to alignment between poorly conserved genomes.

Publications

Coming soon...

Documentation

Installation

Via PyPI

The easiest way to install SNAPPER is through PyPI:

$ pip install snapper-av
$ snapper --help

To uninstall SNAPPER:

$ pip uninstall snapper-av

Building from source

To build from source, clone the git repository:

$ git clone https://github.com/alevar/snapper.git --recursive
$ cd snapper
$ pip install -r requirements.txt
$ pip install .

Requirements

RequirementDetails
Language supportPython ≥ 3.6
Dependencies-

Getting started

Usage

snapper [-h] -s SAM -r REFERENCE [-o OUTPUT] [--qry_intron_match_score QRY_INTRON_MATCH_SCORE] 
        [--trg_pos_match_score TRG_POS_MATCH_SCORE] [--trg_pos_mismatch_score TRG_POS_MISMATCH_SCORE]

Options

OptionDescription
-s, --samPath to the SAM/BAM alignment file. Read names in the alignment are expected to match corresponding transcript_id in the reference annotationPath to the query GTF/GFF annotation file.
-r, --referencePath to the reference annotation. transcript_id field is expected to match read names in the sam alignment.
-o, --outputPath to the output SAM/BAM file.
--qry_intron_match_scoreScore for matching query introns.
--trg_pos_match_scoreScore for matching target positions.
--trg_pos_mismatch_scoreScore for mismatching target positions.

Help Options

OptionDescription
-h, --helpPrints help message.

Example Data

Sample datasets are provided in the "example" directory to test and get familiar with SNAPPER.

The included example can be run with the following command from the root directory of the repository:

snapper --sam example/example.gtf --reference example/example.gtf --output example/output.sam

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts