<commit_before>.. We create this roles for putting the "Introduction: etc. headings
   on this page without them displaying in the ToC.  This would break
   rendering the ToC correctly on readthedocs style.  The rubric
   headings are formatted using CSS.
.. role:: rubric-heading1
   :class: rubric-heading1
.. role:: rubric-heading2
   :class: rubric-heading2

.. _tutorial:

Tutorial
--------

.. The inclusion order in the following determines the order in the table
   of contents to the left.
.. toctree::
   :hidden:
   :maxdepth: 2

   Tutorial/GettingStarted
   Tutorial/AFirstExample
   Tutorial/BackgroundAndMotivation

   Tutorial/Sequences
   Tutorial/Alphabets
   Tutorial/StringSets
   Tutorial/SequencesInDepth

   Tutorial/Iterators

   Tutorial/AlignmentRepresentation
   Tutorial/PairwiseSequenceAlignment
   Tutorial/MultipleSequenceAlignment

   Tutorial/Indices
   Tutorial/IndexIterators
   Tutorial/QgramIndex

   Tutorial/PatternMatching

   Tutorial/Graphs

   Tutorial/FileIOOverview
   Tutorial/SequenceIO
   Tutorial/IndexedFastaIO
   Tutorial/SamAndBamIO
   Tutorial/VcfIO
   Tutorial/BedIO
   Tutorial/GffAndGtfIO

   Tutorial/Modifiers

   Tutorial/Randomness

   Tutorial/SeedAndExtend

   Tutorial/ParsingCommandLineArguments

   Tutorial/GenomeAnnotations

   Tutorial/FragmentStore
   Tutorial/ConsensusAlignment
   Tutorial/Realignment

   Tutorial/SimpleRnaSeq
   Tutorial/JournaledSet
   Tutorial/KnimeNode

   Tutorial/BasicTechniques
   Tutorial/Metafunctions
   Tutorial/GenericProgramming
   Tutorial/GlobalFunctionInterface

   Tutorial/Basics
   Tutorial/WritingTests

The SeqAn tutorials are the best way to get started with learning how to develop using SeqAn.
In contrast, the `API Documentation <http://docs.seqan.de/>`_ gives more comprehensive but less verbose documentation about the library while the How-Tos are strictly task driven and narrower in scope.

The main audience of the tutorials are graduate students and professionals who want to learn how to use SeqAn.
Previous programming knowledge is required, knowledge of C++ is recommended.

.. rubric:: :rubric-heading1:`Introduction`

These tutorials show you how to get started with SeqAn, including the :ref:`installation <tutorial-getting-started>`.
Then, you can learn about the background and motivation of SeqAn.
You should then definitely start your engines and read the :ref:`tutorial-first-steps-in-seqan` tutorial to see an example highlighting many important concepts in the SeqAn library.

:ref:`tutorial-getting-started`
  This tutorial will walk you through the installation of SeqAn and its dependencies.
  Then, you will create your first minimal SeqAn application!

:ref:`tutorial-first-steps-in-seqan`
  This tutorial gives practical examples and applications of the most important basic techniques.
  You should read this tutorial if you are starting out with SeqAn.

:ref:`tutorial-background-and-motivation`
  This tutorial gives an overview over the design aims and principles of SeqAn and a motivation for the employed mechanisms.

We highly recommend you to follow the Getting Started instructions if you are starting out with SeqAn.<commit_msg>[FIX] Fixed Order. If you read the first few sentences in Background and Motivation, it states to be the first chapter to read, followed by AFirstExample. The order of the menu and tutorial description was therefore changed accordingly.<commit_after>.. We create this roles for putting the "Introduction: etc. headings
   on this page without them displaying in the ToC.  This would break
   rendering the ToC correctly on readthedocs style.  The rubric
   headings are formatted using CSS.
.. role:: rubric-heading1
   :class: rubric-heading1
.. role:: rubric-heading2
   :class: rubric-heading2

.. _tutorial:

Tutorial
--------

.. The inclusion order in the following determines the order in the table
   of contents to the left.
.. toctree::
   :hidden:
   :maxdepth: 2

   Tutorial/GettingStarted
   Tutorial/BackgroundAndMotivation
   Tutorial/AFirstExample

   Tutorial/Sequences
   Tutorial/Alphabets
   Tutorial/StringSets
   Tutorial/SequencesInDepth

   Tutorial/Iterators

   Tutorial/AlignmentRepresentation
   Tutorial/PairwiseSequenceAlignment
   Tutorial/MultipleSequenceAlignment

   Tutorial/Indices
   Tutorial/IndexIterators
   Tutorial/QgramIndex

   Tutorial/PatternMatching

   Tutorial/Graphs

   Tutorial/FileIOOverview
   Tutorial/SequenceIO
   Tutorial/IndexedFastaIO
   Tutorial/SamAndBamIO
   Tutorial/VcfIO
   Tutorial/BedIO
   Tutorial/GffAndGtfIO

   Tutorial/Modifiers

   Tutorial/Randomness

   Tutorial/SeedAndExtend

   Tutorial/ParsingCommandLineArguments

   Tutorial/GenomeAnnotations

   Tutorial/FragmentStore
   Tutorial/ConsensusAlignment
   Tutorial/Realignment

   Tutorial/SimpleRnaSeq
   Tutorial/JournaledSet
   Tutorial/KnimeNode

   Tutorial/BasicTechniques
   Tutorial/Metafunctions
   Tutorial/GenericProgramming
   Tutorial/GlobalFunctionInterface

   Tutorial/Basics
   Tutorial/WritingTests

The SeqAn tutorials are the best way to get started with learning how to develop using SeqAn.
In contrast, the `API Documentation <http://docs.seqan.de/>`_ gives more comprehensive but less verbose documentation about the library while the How-Tos are strictly task driven and narrower in scope.

The main audience of the tutorials are graduate students and professionals who want to learn how to use SeqAn.
Previous programming knowledge is required, knowledge of C++ is recommended.

.. rubric:: :rubric-heading1:`Introduction`

These tutorials show you how to get started with SeqAn, including the :ref:`installation <tutorial-getting-started>`.
Then, you can learn about the background and motivation of SeqAn.
You should then definitely start your engines and read the :ref:`tutorial-first-steps-in-seqan` tutorial to see an example highlighting many important concepts in the SeqAn library.

:ref:`tutorial-getting-started`
  This tutorial will walk you through the installation of SeqAn and its dependencies.
  Then, you will create your first minimal SeqAn application!

:ref:`tutorial-background-and-motivation`
  This tutorial gives an overview over the design aims and principles of SeqAn and a motivation for the employed mechanisms.

:ref:`tutorial-first-steps-in-seqan`
  This tutorial gives practical examples and applications of the most important basic techniques.
  You should read this tutorial if you are starting out with SeqAn.


We highly recommend you to follow the Getting Started instructions if you are starting out with SeqAn.
{'fraction_non_alphanumeric': 0.05150410209662717, 'fraction_numerical': 0.0018231540565177757, 'mean_word_length': 4.183464566929134, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3798218', 'n_tokens_mistral': 1847, 'n_tokens_neox': 1752, 'n_words': 674}