MiGA is a data management and processing system for microbial genomes and metagenomes. Its main goal is to provide a uniform system for genome-based taxonomic classification and diversity studies, but its base can be used for other purposes.
MiGA itself doesn't require much but processing large data collections may require large infrastructures. With that in mind, MiGA is designed to support both single machines and cluster infrastructures.
You can interact with MiGA through different interfaces. These interfaces have different purposes, but they also have some degree of overlap, because different users with different aims sometimes want to do the same thing. The API and the CLI are the most comprehensive and flexible interfaces, but the other two are friendlier to humans. MiGA is mostly written in Ruby, with an object-oriented approach, and all the interfaces are just thin layers atop the Ruby core. That means that you can write your own interfaces (or pieces) if you know how to talk to these Ruby objects. Sometimes I even use
irb, which is an interactive shell for Ruby, but that's mostly for debugging.
Once you have installed MiGA, you might want to follow one (or several) of these tutorials to familiarize yourself with the MiGA environment.
Ready for more? Here are some technical details for advanced users.
MiGA comes with ready-to-use pre-configured workflows for different analyses: