Coder Social home page Coder Social logo

mcveanlab / corticall Goto Github PK

View Code? Open in Web Editor NEW
8.0 22.0 3.0 131.53 MB

Germline DNM caller based on LdBG assembly of pathogens

License: Other

R 1.40% HTML 3.39% CSS 0.10% Java 78.91% Perl 2.61% Makefile 0.12% Dockerfile 0.34% Shell 0.04% WDL 13.10%
genome denovo-assembly variant-calling traversal class-library cortex links connectivity java-api de-bruijn-graphs

corticall's Introduction

Corticall: A graph-based de novo mutation caller based on traversing (Mc)Cortex de novo assembly graph and link data.

Quick start

git clone https://github.com/mcveanlab/Corticall
cd Corticall
ant
java -jar dist/corticall.jar -h

Introduction

Corticall is a Java-based de novo mutation (DNM) caller based on linked multi-color de Bruijn graphs (LdBG) produced by McCortex. It is able to leverage multiple reference sequences to better characterize DNMs in otherwise inaccessible regions of canonical reference genomes.

Corticall may also be used as a class library for performing efficient, low-memory traversals on LdBGs. The most important functionalities provided are:

  • iterating over records in a Cortex graphs
  • random access (by binary search) to Cortex graph records
  • performing simple walks (i.e. extracting a contig, optionally using links to disambiguate junction choices)
  • performing walks assisted by one or more reference sequences in a manner consistent with link information
  • performing depth-first searches with custom stopping rules (useful for finding interesting graph motifs)
  • aligning k-mers and contigs back to reference sequences

Corticall handles the heavy lifting when operating with these data structures, permitting developers to concentrate on the genome analysis and variant calling tools that can be written on top of this API.

Availability

Corticall is released under the Apache 2.0 license. The latest code is freely available at Github.

Dependencies

Corticall has the following dependencies:

  • Java8: needed for runtime and development kit
  • Apache Ant: for dependency fetching and compilation

Additional recommended software:

  • McCortex: for building Cortex graphs and link annotations

Installation

To download and compile:

git clone https://github.com/mcveanlab/Corticall
cd Corticall
ant

To run (and get a listing of available commands):

java -jar dist/corticall.jar

To get help for a specific command (e.g. "Call"):

java -jar dist/corticall.jar Call

Support

Please contact Kiran V Garimella ([email protected]) with any questions/comments/concerns/cake. Feedback, bug reports, and pull requests are welcome.

Related projects

For a pythonic take on programmatically accessing McCortex linked multi-color de Bruijn graphs, see Winni Kretzschmar's cortexpy project.

Citations

The original multi-color de Bruijn graph paper can be found at:

Our manuscript on linked multi-color de Bruijn graphs is now available via Bioinformatics at:

A manuscript preprint for Corticall, our de novo assembly approach to de novo mutation detection in pathogens, can be found at:

  • "Detection of simple and complex de novo mutations without, with, or with multiple reference sequences", Garimella, Iqbal, Krause, Campino, Kekre, Drury, Kwiatkowski, Sa, Wellems, McVean (2019) (doi:10.1101/698910) https://www.biorxiv.org/content/10.1101/698910v1

corticall's People

Contributors

karljohanw avatar kvg avatar noporpoise avatar winni2k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

corticall's Issues

ctxgraph usage: short arguments should be short

Please rename -ieg command line argument to -g. Also update usage from

Graph with inferred edges

to

Sorted cortex graph with inferred edges

and

Contigs (in FASTA format)

to

Contigs (in FASTA format - must be indexed with samtools)

where can I find cortexjdk

Hi,
I am searching for cortexjdk to find. I tried to compile the master branch with ant. it produces corticall.jar. I cant find tools like RecoverExludedKmers or Join.

Thanks,
Moustafa

ctx spec

I think "The first uint64_t of a kmer_container is always partially empty unless the stored kmer fits exactly into the kmer_container." may be incorrect.

I think to be correct, the second word needs to be changed from first to last.

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.