Coder Social home page Coder Social logo

lindenb / graphtyper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from decodegenetics/graphtyper

0.0 1.0 0.0 1.52 MB

Population-scale genotyping using pangenome graphs

Home Page: http://dx.doi.org/10.1038/ng.3964

License: MIT License

C++ 98.73% CMake 1.27%

graphtyper's Introduction

Build Status Format Status Conda Conda

graphtyper

graphtyper is a graph-based variant caller capable of genotyping population-scale short read data sets. It represents a reference genome and known variants of a genomic region using an acyclic graph structure (a "pangenome reference"), which high-throughput sequence reads are re-aligned to for the purpose of discovering and genotyping SNPs, small indels, and structural variants.

Maintainer: Hannes Pétur Eggertsson ([email protected])

Installation

Static binary release

The easiest way to install GraphTyper is go to "Releases" and download the latest binary, here: https://github.com/DecodeGenetics/graphtyper/releases

The binary is linked statically and therefore does not require any runtime libraries. If you prefer, you can also install graphtyper via bioconda: http://bioconda.github.io/recipes/graphtyper/README.html

Building from source

You may also want to build graphtyper from source, for example if you want to make changes to the code. In this case, you'll first need the following:

  • C++ compiler with full AVX512 support (GCC 8+)
  • Boost>=1.57.0
  • zlib>=1.2.8
  • libbz2
  • liblzma
  • Autotools, Automake, libtool, Make, and CMake>=3.2 (if you want to use our build system)

All other dependencies are submodules of this repository. Make sure have the CXX environment variable set as the same compiler as which g++ returns (because some of the submodules use the compiler directed by the CXX variable while other ignore it). Also set the BOOST_ROOT variable to the root of BOOST which should already be compiled with the same compiler. Graphtyper is linked with BOOST dynamically, but other libraries statically.

For the purpose of demonstration, we assume you want to clone graphtyper to ~/git/graphtyper and build it in ~/git/graphtyper/release-build.

mkdir -p ~/git && cd ~/git
git clone --recursive https://github.com/DecodeGenetics/graphtyper.git graphtyper && cd graphtyper
mkdir -p release-build && cd release-build
cmake ..
make -j4 graphtyper # The 'j' argument specifies how many compilation threads to use, you can change this if you have more threads available. Also, the compilation will take awhile... consider getting coffee at this point.
bin/graphtyper # Will run graphtyper for the very first time!

And that's all. If you are lucky enough to have administrative access, you can run sudo make install to install graphtyper system-wide.

Usage

The recommended way of genotyping small variants (SNP+indels) is using the genotype subcommand

./graphtyper genotype <REFERENCE.fa> --sams=<BAMLIST_OR_CRAMLIST> --region=<chrA:begin-end> --threads=<T>

and use the genotype_sv subcommand for genotyping structural variants

./graphtyper genotype_sv <REFERENCE.fa> <input.vcf.gz> --sams=<BAMLIST_OR_CRAMLIST> --region=<chrA:begin-end> --threads=<T>

See the graphtyper user guide for more details.

Citation

Small variant genotyping

Hannes P. Eggertsson, Hakon Jonsson, Snaedis Kristmundsdottir, Eirikur Hjartarson, Birte Kehr, Gisli Masson, Florian Zink, Kristjan E. Hjorleifsson, Aslaug Jonasdottir, Adalbjorg Jonasdottir, Ingileif Jonsdottir, Daniel F. Gudbjartsson, Pall Melsted, Kari Stefansson, Bjarni V. Halldorsson. Graphtyper enables population-scale genotyping using pangenome graphs. Nature Genetics 49, 1654–1660 (2017). doi:10.1038/ng.3964

Strucural variant genotyping

Eggertsson, H.P., Kristmundsdottir, S., Beyter, D. et al. GraphTyper2 enables population-scale genotyping of structural variation using pangenome graphs. Nature Communications 10, 5402 (2019) doi:10.1038/s41467-019-13341-9

License

MIT License

graphtyper's People

Contributors

hannespetur avatar h-2 avatar martin-g avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.