An all-encompassing Bioinformatics tool for genome assembly and annotation projects
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.
-
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
-
Build the
main.go
file$ go build main.go
If you are missing packages, run go mod vendor
to collect the necessary packages
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).
If you are encountering problems with Docker, make sure that:
- The Docker daemon is running in the background
- You have the necessary Docker images, which can be installed via GenoMagic specifying
prep: true
undergenomagic
in the YAML configuration. This will install the necessary Docker images for the containers that GenoMagic runs.
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.
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!
Submit feedback and bug reports by using the Issues section of the repository.