All Projects → will-rowe → Groot

will-rowe / Groot

Licence: mit
A resistome profiler for Graphing Resistance Out Of meTagenomes

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Groot

Flutter page transition
This is Flutter Page Transition Package
Stars: ✭ 314 (+554.17%)
Mutual labels:  alignment
Prnet
Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network (ECCV 2018)
Stars: ✭ 4,479 (+9231.25%)
Mutual labels:  alignment
Tabulate
Table Maker for Modern C++
Stars: ✭ 862 (+1695.83%)
Mutual labels:  alignment
Mesh mesh align plus
Precisely align, move, and measure+match objects and mesh parts in your 3D scenes.
Stars: ✭ 350 (+629.17%)
Mutual labels:  alignment
Alass
"Automatic Language-Agnostic Subtitle Synchronization"
Stars: ✭ 421 (+777.08%)
Mutual labels:  alignment
Face Landmark
caffe 68 points face-landmark
Stars: ✭ 474 (+887.5%)
Mutual labels:  alignment
Realsr
Toward Real-World Single Image Super-Resolution: A New Benchmark and A New Model (ICCV 2019)
Stars: ✭ 282 (+487.5%)
Mutual labels:  alignment
Alignmentduration
Lyrics-to-audio-alignement system. Based on Machine Learning Algorithms: Hidden Markov Models with Viterbi forced alignment. The alignment is explicitly aware of durations of musical notes. The phonetic model are classified with MLP Deep Neural Network.
Stars: ✭ 36 (-25%)
Mutual labels:  alignment
Mmseqs2
MMseqs2: ultra fast and sensitive search and clustering suite
Stars: ✭ 441 (+818.75%)
Mutual labels:  alignment
Alignedcollectionviewflowlayout
A collection view layout that gives you control over the horizontal and vertical alignment of the cells.
Stars: ✭ 751 (+1464.58%)
Mutual labels:  alignment
Seqan
SeqAn's official repository.
Stars: ✭ 386 (+704.17%)
Mutual labels:  alignment
Wtdbg2
Redbean: A fuzzy Bruijn graph approach to long noisy reads assembly
Stars: ✭ 408 (+750%)
Mutual labels:  alignment
Ffsubsync
Automagically synchronize subtitles with video.
Stars: ✭ 5,167 (+10664.58%)
Mutual labels:  alignment
Robust point cloud registration
Robust Point Cloud Registration Using Iterative Probabilistic Data Associations ("Robust ICP")
Stars: ✭ 350 (+629.17%)
Mutual labels:  alignment
Facealignmentcompare
Empirical Study of Recent Face Alignment Methods
Stars: ✭ 15 (-68.75%)
Mutual labels:  alignment
Deca
DECA: Detailed Expression Capture and Animation
Stars: ✭ 292 (+508.33%)
Mutual labels:  alignment
Head Pose Estimation
Real-time head pose estimation built with OpenCV and dlib
Stars: ✭ 467 (+872.92%)
Mutual labels:  alignment
Unsupervisedrr
[CVPR 2021 - Oral] UnsupervisedR&R: Unsupervised Point Cloud Registration via Differentiable Rendering
Stars: ✭ 43 (-10.42%)
Mutual labels:  alignment
Pandas
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Stars: ✭ 32,029 (+66627.08%)
Mutual labels:  alignment
Aligntab
An alignment plugin for Sublime Text using regular expression
Stars: ✭ 611 (+1172.92%)
Mutual labels:  alignment
groot-logo

Graphing Resistance Out Of meTagenomes


travis Documentation Status reportcard License DOI bioconda bioconda bioconda

Overview

GROOT is a tool to type Antibiotic Resistance Genes (ARGs) in metagenomic samples (a.k.a. Resistome Profiling). It combines variation graph representation of gene sets with an LSH indexing scheme to allow for fast classification of metagenomic reads. Subsequent hierarchical local alignment of classified reads against graph traversals facilitates accurate reconstruction of full-length gene sequences using a simple scoring scheme.

GROOT will output an ARG alignment file (in BAM format) that contains the graph traversals possible for each query read; the alignment file is then used by GROOT to generate a resistome profile.

Since version 0.4, GROOT will also output the variation graphs which had reads align. These graphs are in GFA format, allowing you to visualise graph alignments using Bandage and determine which variants of a given ARG type are dominant in your metagenomes. Read the documentation for more info.

Since version 1.0.0, GROOT has had a partial re-write (merging features and changes from my baby groot project). It now uses the excellent LSH Ensemble library as the LSH index, enabling containment search for read seeding. I've also improved my dev know-how and GROOT is now more efficient. However, these changes have meant that I've needed to change some of the CLI, so please read the docs.

Installation

Check out the releases to download a binary. Alternatively, install using Bioconda or compile the software from source.

Bioconda

conda install -c bioconda groot

Brew

brew install brewsci/bio/groot

Source

GROOT is written in Go (v1.14) - to compile from source you will first need the Go tool chain. Once you have it, try something like this to compile:

# Clone this repository
git clone https://github.com/will-rowe/groot.git

# Go into the repository and get the package dependencies
cd groot
go get -d -t -v ./...

# Run the unit tests
go test -v ./...

# Compile the program
go build ./

# Call the program
./groot --help

Quick Start

GROOT is called by typing groot, followed by the subcommand you wish to run. There are three main subcommands: index, align and report. This quick start will show you how to get things running but it is recommended to follow the documentation.

# Get a pre-clustered ARG database
groot get -d arg-annot

# Create graphs and index
groot index -m arg-annot.90 -i grootIndex -w 100

# Align reads and report
groot align -i grootIndex -f reads.fq | groot report

note: it's recommended to index the graph using a window size ~= your maximum expected read length, so for 100bp reads, use -w 100

Further Information & Citing

Please readthedocs for more extensive documentation and a tutorial.

GROOT has now been published in Bioinformatics:

Rowe WPM, Winn MD. Indexed variation graphs for efficient and accurate resistome profiling. Bioinformatics. 2018. doi: bty387

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].