<commit_before>
r"""
Clustal format (:mod:`skbio.io.clustal`)
========================================

.. currentmodule:: skbio.io.clustal

Clustal format (``clustal``) stores multiple alignment sequences. This format
was originally introduced by <NAME> in the Clustal package [1]_.

Format Support
--------------
**Has Sniffer: Yes**

+----------+----------+------------------------------------------------------+
|**Reader**|**Writer**|                   **Object Class**                   |
+----------+----------+------------------------------------------------------+
|Yes       |Yes       |:mod:`skbio.alignment.Alignment`                      |
+----------+----------+------------------------------------------------------+

Format Specification
--------------------
A clustal-formatted file is a plain text format. It can optionally have a
header, which states the clustal version number. This is followed by the
multiple sequence alignment, and optional information about the degree of
conservation at each position in the alignment [2]_.

Alignment Section
^^^^^^^^^^^^^^^^^
Each sequence in the alignment is divided into subsequences each at most
60 characters long. The sequence identifier for each sequence precedes each
subsequence. Optionally, a line containing conservation information about each
position in the alignment follows all of the subsequences.

.. note:: scikit-bio does not support writing conservation information

.. note:: scikit-bio will only write a clustal-formatted file if the
   alignment's sequence characters are valid IUPAC characters, as defined in
   :mod:`skbio.sequence`. The specific lexicon that is validated against
   depends on the type of sequences stored in the alignment.
<commit_msg>DOC: added note for clarity<commit_after>
r"""
Clustal format (:mod:`skbio.io.clustal`)
========================================

.. currentmodule:: skbio.io.clustal

Clustal format (``clustal``) stores multiple alignment sequences. This format
was originally introduced by <NAME> in the Clustal package [1]_.

Format Support
--------------
**Has Sniffer: Yes**

+----------+----------+------------------------------------------------------+
|**Reader**|**Writer**|                   **Object Class**                   |
+----------+----------+------------------------------------------------------+
|Yes       |Yes       |:mod:`skbio.alignment.Alignment`                      |
+----------+----------+------------------------------------------------------+

Format Specification
--------------------
A clustal-formatted file is a plain text format. It can optionally have a
header, which states the clustal version number. This is followed by the
multiple sequence alignment, and optional information about the degree of
conservation at each position in the alignment [2]_.

Alignment Section
^^^^^^^^^^^^^^^^^
Each sequence in the alignment is divided into subsequences each at most
60 characters long. The sequence identifier for each sequence precedes each
subsequence. Each subsequence can optionally be followed by the cumulative
number of non-gap characters up to that point in the full sequence (not
included in the examples below). A line containing conservation information
about each position in the alignment follows all of the subsequences (not
included in the examples below).

.. note:: scikit-bio does not support writing conservation information

.. note:: scikit-bio will only write a clustal-formatted file if the
   alignment's sequence characters are valid IUPAC characters, as defined in
   :mod:`skbio.sequence`. The specific lexicon that is validated against
   depends on the type of sequences stored in the alignment.

{'fraction_non_alphanumeric': 0.22976643128734384, 'fraction_numerical': 0.0021727322107550242, 'mean_word_length': 2.2222222222222223, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, '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': '4469806', 'n_tokens_mistral': 815, 'n_tokens_neox': 774, 'n_words': 378}