/*!
@mainpage Home

SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. Our library applies a unique generic design that guarantees high performance, generality, extensibility, and integration with other libraries. SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance.

@section Getting Started

<ol>
<li><b>Install SeqAn.</b> It's as easy as following the <a href="https://seqan.readthedocs.io/en/main/Infrastructure/Use/Install.html" target="_top">installation instructions</a>.</li>
<li><b>Learn SeqAn.</b> The <a href="https://seqan.readthedocs.io/en/main/Tutorial/GettingStarted/index.html" target="_top">SeqAn Tutorials</a> in the <a href="https://seqan.readthedocs.io/en/main/" target="_top">SeqAn Manual</a> will introduce you into SeqAn's basic concepts and show you how to use its data structures and functions.</li>
<li><b>Think SeqAn.</b> Since our library uses advanced C++ template programming techniques, we recommend you to read our glossary of <a href="page_LanguageEntities.html">language entity types</a> for a quick introduction.</li>
<li><b>Use SeqAn.</b> Search the library for classes, functions, etc. using the search bar to the left. Need some orientation? Check the <a href="#typical_tasks">typical tasks</a> below.</li>
</ol>

<h2 name="typical_tasks">Typical Tasks</h2>

If you know what you want to do but not how to achieve this with SeqAn, this sections gives you a nice overview of the components that might help you.

Alternatively you might want to check the <a href="https://seqan.readthedocs.io/en/main/Tutorial/GettingStarted/index.html" target="_top">SeqAn Tutorials</a>.

<ul class="overview">
    <li>
        <h3>File I/O</h3>
        <p>SeqAn has support for most common file formats in Bioinformatics. The following lists the most convenient access methods.</p>
        <table>
            <tr><td><ul><li><a href="https://seqan.readthedocs.io/en/main/Tutorial/InputOutput/index.html" target="_top" data-lang-entity="tutorial">I/O Overview</a></li></ul></td><td>instructive introductions</td></tr>
            <tr><td><ul><li>@link SeqFileIn @endlink</li><li>@link SeqFileOut @endlink</li><li>@link FaiIndex @endlink</li></ul></td><td>FASTA, FASTQ</td></tr>
            <tr><td><ul><li>@link BamFileIn @endlink</li><li>@link BamFileOut @endlink</li></ul></td><td>SAM, BAM</td></tr>
            <tr><td><ul><li>@link VcfFileIn @endlink</li><li>@link VcfFileOut @endlink</li></ul></td><td>VCF</td></tr>
            <tr><td><ul><li>@link BedFileIn @endlink</li><li>@link BedFileOut @endlink</li></ul></td><td>BED</td></tr>
            <tr><td><ul><li>@link GffFileIn @endlink</li><li>@link GffFileOut @endlink</li></ul></td><td>GFF, GTF</td></tr>
        </table>
    </li>
    <li>
        <h3>Sequence Alignment <small>and Multiple Sequence Alignment</small></h3>
        <p>Sequence alignment and multiple sequence alignment are classic problems in Bioinformatics.</p>
        <table>
            <tr><td><ul><li><a href="https://seqan.readthedocs.io/en/main/Tutorial/DataStructures/Alignment/AlignmentGaps.html" target="_top" data-lang-entity="tutorial">Alignment Representation</a></li><li><a href="https://seqan.readthedocs.io/en/main/Tutorial/Algorithms/Alignment/PairwiseSequenceAlignment.html" target="_top" data-lang-entity="tutorial">Pairwise Sequence Alignment</a></li><li><a href="https://seqan.readthedocs.io/en/main/Tutorial/Algorithms/Alignment/MultipleSequenceAlignment.html" target="_top" data-lang-entity="tutorial">Multiple Sequence Alignment</a></li></ul></td><td>instructive introductions</td></tr>
            <tr><td><ul><li>@link globalAlignment @endlink</li></ul></td><td>provides dynamic programming algorithms for global sequence alignment with various parameters</td></tr>
            <tr><td><ul><li>@link localAlignment @endlink</li></ul></td><td></td></tr>
            <tr><td><ul><li>@link LocalAlignmentEnumerator @endlink</li></ul></td><td>offers the Waterman-Eggert algorithm for enumerating suboptimal local alignments</td></tr>
            <tr><td><ul><li>@link Align @endlink</li></ul></td><td>provides a data structure for tabular alignment of sequences with the same type</td></tr>
            <tr><td><ul><li>@link Gaps @endlink</li></ul></td><td>allows one to store gaps independent of the underlying sequence</td></tr>
        </table>
    </li>
    <li>
        <h3>Graph <small>Data Structures and Algorithms</small></h3>
        <p>Often, graphs come in handy to model subproblems in sequence analysis. SeqAn provides basic support for graphs and graph algorithms.</p>
        <table>
            <tr><td><ul><li><a href="https://seqan.readthedocs.io/en/main/Tutorial/Algorithms/GraphAlgorithms.html" target="_top" data-lang-entity="tutorial">Graphs</a></li></ul></td><td>instructive introductions</td></tr>
            <tr><td><ul><li>@link Graph @endlink</li></ul></td><td>central class (including subclasses)</td></tr>
            <tr><td><ul><li>@link DirectedGraph @endlink</li><li>@link UndirectedGraph @endlink.</li></ul></td><td>simple directed and undirected graphs structures</td></tr>
            <tr><td><ul><li>@link Automaton @endlink</li><li>@link WordGraph @endlink</li><li>@link HmmGraph @endlink</li></ul></td><td>special subclasses for sequence analysis</td></tr>
            <tr><td><ul><li>@link dijkstra Dijkstra's algorithm @endlink</li><li>@link bellmanFordAlgorithm Bellman-Ford algorithm @endlink</li><li>@link topologicalSort topological sorting @endlink</li><li>@link dagShortestPath shortest paths in DAGs @endlink</li></ul></td><td>standard graph algorithms</td></tr>
            <tr><td colspan="2">For more advanced usage and algorithms, we recommend using the <a href="https://lemon.cs.elte.hu/trac/lemon" target="_top">LEMON Graph Library</a>.</td></tr>
        </table>
    </li>
</ul>

 */
