# Introduction

## What is MiGA?

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.

* [How can MiGA help me?](https://manual.microbial-genomes.org/part1/pitch)
* [Who's using MiGA?](https://manual.microbial-genomes.org/part1/use-cases)
* [Definitions](https://manual.microbial-genomes.org/part1/glossary)

## Getting started with MiGA

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.

* [Requirements](https://manual.microbial-genomes.org/part2/requirements)
* [Installation](https://manual.microbial-genomes.org/part2/installation)
* [MiGA types](https://manual.microbial-genomes.org/part2/types)
* [Input data](https://manual.microbial-genomes.org/part2/input)
* [Distances](https://manual.microbial-genomes.org/part2/distances)
* [Clustering](https://manual.microbial-genomes.org/part2/clustering)

## MiGA Interfaces

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.

* [MiGA API](https://github.com/bio-miga/miga/tree/7d5b5d8ca7b592d2dd8e085f33813de3ea42030a/manual/part3/api.md)
* [MiGA CLI](https://github.com/bio-miga/miga/tree/7d5b5d8ca7b592d2dd8e085f33813de3ea42030a/manual/part3/cli.md)
* [MiGA Web](https://github.com/bio-miga/miga/tree/7d5b5d8ca7b592d2dd8e085f33813de3ea42030a/manual/part3/web.md)
* See also: [Help for MiGA Online](https://help.microbial-genomes.org/)

## Deploying examples

Once you have installed MiGA, you might want to follow one (or several) of these tutorials to familiarize yourself with the MiGA environment.

* [RefSeq in MiGA](https://manual.microbial-genomes.org/part4/deploy-refseq)
* [Build a clade collection](https://manual.microbial-genomes.org/part4/deploy-clade)
* [Launching daemons](https://manual.microbial-genomes.org/part4/daemons)
* [Setting up MiGA in a cluster](https://manual.microbial-genomes.org/part4/cluster)

## MiGA in detail

Ready for more? Here are some technical details for advanced users.

* [Advanced configuration](https://manual.microbial-genomes.org/part5/advanced-configuration)
* [MiGA workflow](https://manual.microbial-genomes.org/part5/workflow)
* [Metadata](https://manual.microbial-genomes.org/part5/metadata)
* [External Software](https://manual.microbial-genomes.org/part5/external)

## Workflows

MiGA comes with ready-to-use pre-configured workflows for different analyses:

* [Quality](https://manual.microbial-genomes.org/part6/quality_wf)
* [Dereplicate](https://manual.microbial-genomes.org/part6/derep_wf)
* [Classify](https://manual.microbial-genomes.org/part6/classify_wf)
* [Preprocess](https://manual.microbial-genomes.org/part6/preproc_wf)
* [Index](https://manual.microbial-genomes.org/part6/index_wf)
* [Summaries](https://manual.microbial-genomes.org/part6/summaries)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://manual.microbial-genomes.org/intro.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
