GithubHelp home page GithubHelp logo

global19-atlassian-net / fgbio Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fulcrumgenomics/fgbio

0.0 1.0 0.0 8.85 MB

Tools for working with genomic and high throughput sequencing data.

Home Page: http://fulcrumgenomics.github.io/fgbio/

License: MIT License

Java 1.39% Scala 97.65% Shell 0.14% R 0.82%

fgbio's Introduction

Build Status codecov Codacy Badge Maven Central Bioconda Javadocs License Language

fgbio

A set of tools to analyze genomic data with a focus on Next Generation Sequencing. This readme document is mostly for developers/contributors and those attempting to build the project from source. Detailed user documentation is available on the project website including tool usage and documentation of metrics produced. Detailed developer documentation can be found here.

Goals

There are many toolkits available for analyzing genomic data; fgbio does not aim to be all things to all people but is specifically focused on providing:

  • Robust, well-tested tools.
  • An easy to use command-line.
  • Clear and thorough documentation for each tool.
  • Open source development for the benefit of the community and our clients.

Overview

Fgbio is a set of command line tools to perform bioinformatic/genomic data analysis. The collection of tools within fgbio are used by our customers and others both for ad-hoc data analysis and within production pipelines. These tools typically operate on read-level data (ex. FASTQ, SAM, or BAM) or variant-level data (ex. VCF or BCF). They range from simple tools to filter reads in a BAM file, to tools to compute consensus reads from reads with the same molecular index/tag. See the list of tools for more detail on the tools

List of tools

For a full list of available tools please see the tools section of the project website.

Below we highlight a few tools that you may find useful.

  • Tools for working with Unique Molecular Indexes (UMIs, aka Molecular IDs or MIDs).
    • Annotating/Extract Umis from read-level data: AnnotateBamWithUmis and ExtractUmisFromBam.
    • Tools to manipulate read-level data containing Umis: CorrectUmis, GroupReadsByUmi, CallMolecularConsensusReads and CallDuplexConsensusReads
  • Tools to manipulate read-level data:
    • FastqManipulation: DemuxFastqs and FastqToBam
    • Filter read-level data: FilterBam.
    • Clipping of reads: ClipBam.
    • Randomize the order of read-level data: RandomizeBam.
    • Update read-level metadata: SetMateInformation and UpdateReadGroups.
  • Quality assessment tools:
    • Detailed substitution error rate evaluation: ErrorRateByReadPosition
    • Sample pooling QC: EstimatePoolingFractions
    • Splice-aware insert size QC for RNA-seq libraries: EstimateRnaSeqInsertSize
    • Assessment of duplex sequencing experiments: CollectDuplexSeqMetrics
  • Miscellaneous tools:
    • Pick molecular indices (ex. sample barcodes, or molecular indexes): PickIlluminaIndices and PickLongIndices.
    • Convert the output of HAPCUT (a tool for phasing variants): HapCutToVcf.
    • Find technical or synthetic sequences in read-level data: FindTechnicalReads.
    • Assess phased variant calls: AssessPhasing.

Building

Cloning the Repository

Git LFS is used to store large files used in testing fgbio. In order to compile and run tests it is necessary to install git lfs. To retrieve the large files either:

  1. Clone the repository after installing git lfs, or
  2. In a previously cloned repository run git lfs pull once

After initial setup regular git commands (e.g. pull, fetch, push) will also operate on large files and no special handling is needed.

To clone the repository: git clone https://github.com/fulcrumgenomics/fgbio.git

Running the build

fgbio is built using sbt.

Use sbt assembly to build an executable jar in target/scala-2.13/.

Tests may be run with sbt test.

Java SE 8 is required.

Command line

java -jar target/scala-2.13/fgbio-<version>.jar to see the commands supported. Use java -jar target/scala-2.13/fgbio-<version>.jar <command> to see the help message for a particular command.

Include fgbio in your project

You can include fgbio in your project using:

"com.fulcrumgenomics" %% "fgbio" % "1.0.0"

for the latest released version or (buyer beware):

"com.fulcrumgenomics" %% "fgbio" % "0.9.0-<commit-hash>-SNAPSHOT"

for the latest development snapshot.

Contributing

Contributions are welcome and encouraged. We will do our best to provide an initial response to any pull request or issue within one-week. For urgent matters, please contact us directly.

Authors

License

fgbio is open source software released under the MIT License.

Sponsorship

Become a sponsor

As a free and open source project, fgbio relies on the support of the community of users for its development. If you work for an organization that uses and benefits from fgbio, please consider supporting fgbio. There are different ways, such as employing people to work on fgbio, funding the project, or becoming a sponsor to support the broader ecosystem. Please [email protected] to discuss.

Sponsors

Sponsors provide support for fgbio through direct funding or employing contributors. Public sponsors include:

Fulcrum Genomics   TwinStrand Biosciences   Jumpcode Genomics   iGenomX   Myriad Genetics   Mission Bio   Singular Genomics   Verogen   Integrated DNA Technologies   Strata Oncology

The full list of sponsors supporting fgbio is available in the sponsor page.

fgbio's People

Contributors

clintval avatar jacarey avatar mjhipp avatar nh13 avatar rnazad avatar sstadick avatar tfenne 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.