Giter Site home page Giter Site logo

rahimcharania / genomagic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from genoassist/genoassist

0.0 1.0 0.0 626 KB

A framework for genome assembly and annotation that reports the properties of multiple assemblies to facilitate choosing the best one

License: GNU General Public License v3.0

Go 100.00%

genomagic's Introduction


An all-encompassing Bioinformatics tool for genome assembly and annotation projects


Table of contents

  1. About
  2. Installation
  3. GenoMagic Usage
  4. Architecture
  5. Maintainers
  6. Feedback and bug reports

1. About

One of the challenges that biologists and bioinformaticians face during genome assembly projects is choosing from the plethora of assembly softwares. This is highly time consuming as there are various parameters for each of the assemblers that the user needs to learn about. And even if the user learns about these various parameters for each assembler; there is still the tedious job of running various assemblers, and comparing the statistics to identify the best assembly.

My aim with GenoMagic is to give the biologist an application which performs genome assemblies with minimal configuration required, which visualizes the comparative statistics for the chosen assemblers. This app enables the bioinformaticians to alter the default parameters of their choosing, making it applicable for users with diverse experiences and skills.

2. Installation

  1. You can either use go (will be added to $GOPATH/):

    $ go get -u github.com/genomagic

    Or clone the repository:

    $ git clone https://github.com/genomagic/genomagic
  2. Build the main.go file

    $ go build main.go

If you are missing packages, run go mod vendor to collect the necessary packages

3. GenoMagic usage

GenoMagic only requires a YAML file that contains the configuration it should use to run its processes. A template can be found in this repository. For convenience, here's an example specification:

assemblers:
  megahit:
    kmers: "27"
  abyss:
    kmers: "27"
genomagic:
  inputFilePath: "/test/raw_sequences.fastq"
  outputPath: "/test/output"
  threads: 2
  prep: true

Note: all paths used with GenoMagic have to be absolute paths (a Docker requirement).

Installing Docker images through GenoMagic

If you are encountering problems with Docker, make sure that:

  1. The Docker daemon is running in the background
  2. You have the necessary Docker images, which can be installed via GenoMagic specifying prep: true under genomagic in the YAML configuration. This will install the necessary Docker images for the containers that GenoMagic runs.

4. Architecture

The overall model follows the master/slave architecture. The master is what users interact with. The users specify the files containing the contigs and what type of read they have e.g Illumina. The master takes the user's input and schedules assembly, parsing of results, and reporting, in that order.

5. Maintainers

Tayab Soomro
Flaviu Vadan

Feel free to contact any of the maintainers if you would like to be an active maintainer and contributor to GenoMagic! If you would like to contribute only, you are encouraged to grab an issue and submit a pull request with proposed changes for review!

6. Feedback and bug reports

Submit feedback and bug reports by using the Issues section of the repository.

genomagic's People

Contributors

flaviuvadan avatar tayabsoomro 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.