.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        Click :ref:`here <sphx_glr_download_draw_aln_plot_aln-gaps-per-seq.py>`     to download the full example code
    .. rst-class:: sphx-glr-example-title

    .. _sphx_glr_draw_aln_plot_aln-gaps-per-seq.py:


Counting gaps per sequence
==========================

We have several different ways of counting sequence gaps, and of visualising the results. By default, the `count_gaps_per_seq()` method returns a matrix of counts without the ability to visualise the results. When setting the argument `unique=True`, the counts are for gaps uniquely induced by each sequence. This can be a useful indicator of highly divergent sequences.


.. code-block:: default

    from cogent3 import load_aligned_seqs


    aln = load_aligned_seqs('../../data/brca1.fasta', moltype='dna')

    counts = aln.count_gaps_per_seq(unique=True)
    counts






.. only:: builder_html

    .. raw:: html


        <div class="c3table">

        <style>
        .c3table table {margin: 10px 0;}
        .c3table tr:last-child {border-bottom: 1px solid #000;} 
        .c3table tr > th {text-align: left; padding: 0 5px;}
        .c3table tr > td {text-align: left; padding: 5px;}
        .c3table tr:nth-child(even) {background: #f7f7f7 !important;}
        .c3table .ellipsis {background: rgba(0, 0, 0, .01);}
        .c3table .index {background: rgba(161, 195, 209, 0.0); margin: 10px; font-weight: 600;}
        .c3table .head_cell {background: rgba(161, 195, 209, 0.75); font-weight: bold; text-align: center;}
        .c3table caption {color: rgb(250, 250, 250); background: rgba(30, 140, 200, 1); padding: 3px; white-space: nowrap; caption-side: top;}
        .c3table .cell_title {font-weight: bold;}
        .c3col_left { text-align: left !important; display: block;}
        .c3col_right { text-align: right !important; display: block;}
        .c3col_center { text-align: center !important; display: block;}
        </style>

        <table>

        <thead class="head_cell">
        <th>FlyingFox</th><th>DogFaced</th><th>FreeTaile</th><th>LittleBro</th><th>TombBat</th><th>RoundEare</th><th>FalseVamp</th><th>LeafNose</th><th>Horse</th><th>Rhino</th><th>Pangolin</th><th>Cat</th><th>Dog</th><th>Llama</th><th>Pig</th><th>Cow</th><th>Hippo</th><th>SpermWhale</th><th>HumpbackW</th><th>Mole</th><th>Hedgehog</th><th>TreeShrew</th><th>FlyingLem</th><th>Galago</th><th>HowlerMon</th><th>Rhesus</th><th>Orangutan</th><th>Gorilla</th><th>Human</th><th>Chimpanzee</th><th>Jackrabbit</th><th>FlyingSqu</th><th>OldWorld</th><th>Mouse</th><th>Rat</th><th>NineBande</th><th>HairyArma</th><th>Anteater</th><th>Sloth</th><th>Dugong</th><th>Manatee</th><th>AfricanEl</th><th>AsianElep</th><th>RockHyrax</th><th>TreeHyrax</th><th>Aardvark</th><th>GoldenMol</th><th>Madagascar</th><th>Tenrec</th><th>LesserEle</th><th>GiantElep</th><th>Caenolest</th><th>Phascogale</th><th>Wombat</th><th>Bandicoot</th>
        </thead>
        <tbody>
        <tr><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">3</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">3</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">3</span></td><td><span class="c3col_right">21</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">57</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">6</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">6</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td><td><span class="c3col_right">0</span></td></tr>
        </tbody>
        </table>

        </div>
        <br />
        <br />

Plotting counts of unique gaps
##############################

There are three plot types supported. In all cases, placing the mouse pointer over a data point will show hover text with the sequence name.

Displaying unique gaps as a bar chart
*************************************


.. code-block:: default


    counts = aln.count_gaps_per_seq(unique=True, drawable='bar')
    counts.show(width=500)



.. raw:: html
    :file: images/sphx_glr_plot_aln-gaps-per-seq_001.html





Displaying unique gaps as a violin plot
***************************************


.. code-block:: default


    counts = aln.count_gaps_per_seq(unique=True, drawable='violin')
    counts.show(width=300, height=500)



.. raw:: html
    :file: images/sphx_glr_plot_aln-gaps-per-seq_002.html





Displaying unique gaps as a box plot
************************************


.. code-block:: default


    counts = aln.count_gaps_per_seq(unique=True, drawable='box')
    counts.show(width=300, height=500)



.. raw:: html
    :file: images/sphx_glr_plot_aln-gaps-per-seq_003.html






.. rst-class:: sphx-glr-timing

   **Total running time of the script:** ( 0 minutes  0.359 seconds)


.. _sphx_glr_download_draw_aln_plot_aln-gaps-per-seq.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download sphx-glr-download-python

     :download:`Download Python source code: plot_aln-gaps-per-seq.py <plot_aln-gaps-per-seq.py>`



  .. container:: sphx-glr-download sphx-glr-download-jupyter

     :download:`Download Jupyter notebook: plot_aln-gaps-per-seq.ipynb <plot_aln-gaps-per-seq.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
