Skip to main content

pyMSAviz

Python3 OS License Latest PyPI version Bioconda CI

Table of contents

Overview

pyMSAviz is a MSA(Multiple Sequence Alignment) visualization python package for sequence analysis implemented based on matplotlib. This package is developed for the purpose of easily and beautifully plotting MSA in Python. It also implements the functionality to add markers, text annotations, highlights to specific positions and ranges in MSA. pyMSAviz was developed inspired by Jalview and ggmsa. More detailed documentation is available here.

example01.png
Fig.1 Simple visualization result

example03.png
Fig.2 Customized visualization result

Installation

Python 3.9 or later is required for installation.

Install PyPI package:

pip install pymsaviz

Install bioconda package:

conda install -c conda-forge -c bioconda pymsaviz

API Usage

Only simple example usage is described in this section. For more details, please see Getting Started and API Docs.

API Example

API Example 1

from pymsaviz import MsaViz, get_msa_testdata

msa_file = get_msa_testdata("HIGD2A.fa")
mv = MsaViz(msa_file, wrap_length=60, show_count=True)
mv.savefig("api_example01.png")

example01.png

API Example 2

from pymsaviz import MsaViz, get_msa_testdata

msa_file = get_msa_testdata("MRGPRG.fa")
mv = MsaViz(msa_file, color_scheme="Taylor", wrap_length=80, show_grid=True, show_consensus=True)
mv.savefig("api_example02.png")

example02.png

API Example 3

from pymsaviz import MsaViz, get_msa_testdata

msa_file = get_msa_testdata("MRGPRG.fa")
mv = MsaViz(msa_file, end=180, wrap_length=60, show_consensus=True)

# Extract MSA positions less than 50% consensus identity
pos_ident_less_than_50 = []
ident_list = mv._get_consensus_identity_list()
for pos, ident in enumerate(ident_list, 1):
    if ident <= 50:
        pos_ident_less_than_50.append(pos)

# Add markers
mv.add_markers([1])
mv.add_markers([10, 20], color="orange", marker="o")
mv.add_markers([30, (40, 50), 55], color="green", marker="+")
mv.add_markers(pos_ident_less_than_50, marker="x", color="blue")
# Add text annotations
mv.add_text_annotation((76, 102), "Gap Region", text_color="red", range_color="red")
mv.add_text_annotation((112, 123), "Gap Region", text_color="green", range_color="green")

mv.savefig("api_example03.png")

example03.png

CLI Usage

pyMSAviz provides simple MSA visualization CLI.

Basic Command

pymsaviz -i [MSA file] -o [MSA visualization file]

Options

$ pymsaviz --help
usage: pymsaviz [options] -i msa.fa -o msa_viz.png

MSA(Multiple Sequence Alignment) visualization CLI tool

optional arguments:
  -i I, --infile I    Input MSA file
  -o O, --outfile O   Output MSA visualization file (*.png|*.jpg|*.svg|*.pdf)
  --format            MSA file format (Default: 'fasta')
  --color_scheme      Color scheme (Default: 'Zappo')
  --start             Start position of MSA visualization (Default: 1)
  --end               End position of MSA visualization (Default: 'MSA Length')
  --wrap_length       Wrap length (Default: None)
  --wrap_space_size   Space size between wrap MSA plot area (Default: 3.0)
  --label_type        Label type ('id'[default]|'description')
  --show_grid         Show grid (Default: OFF)
  --show_count        Show seq char count without gap on right side (Default: OFF)
  --show_consensus    Show consensus sequence (Default: OFF)
  --consensus_color   Consensus identity bar color (Default: '#1f77b4')
  --consensus_size    Consensus identity bar height size (Default: 2.0)
  --sort              Sort MSA order by NJ tree constructed from MSA distance matrix (Default: OFF)
  --dpi               Figure DPI (Default: 300)
  -v, --version       Print version information
  -h, --help          Show this help message and exit

Available Color Schemes:
['Clustal', 'Zappo', 'Taylor', 'Flower', 'Blossom', 'Sunset', 'Ocean', 'Hydrophobicity', 'HelixPropensity', 'StrandPropensity', 'TurnPropensity', 'BuriedIndex', 'Nucleotide', 'Purine/Pyrimidine', 'Identity', 'None']

CLI Example

Click here to download example MSA files.

CLI Example 1

pymsaviz -i ./example/HIGD2A.fa -o cli_example01.png --color_scheme Identity

example01.png

CLI Example 2

pymsaviz -i ./example/MRGPRG.fa -o cli_example02.png --wrap_length 80 \
         --color_scheme Taylor --show_consensus --show_count

example02.png

CLI Example 3

pymsaviz -i ./example/MRGPRG.fa -o cli_example03.png --start 100 --end 160 \
         --color_scheme Flower --show_grid --show_consensus --consensus_color tomato 

example03.png

Metadata

Release files for pyMSAviz 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyMSAviz 0.5.0
File Size Uploaded
pymsaviz-0.5.0.tar.gz 2.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyMSAviz 0.5.0
File Interpreter ABI Platform
pymsaviz-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / pymsaviz-0.5.0.tar.gz

Download URL pymsaviz-0.5.0.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
644a5bacfc0aa75b7c5d2c2e2b666020ac4f72e18b54a142b56d4638cfbe6764
BLAKE2b-256 checksum
How to use checksums
f055a7ffe31c8d389f5eed61713b226abb0a5f57b55ffd4e4c686b581b54f28c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.5

Release files / pymsaviz-0.5.0-py3-none-any.whl

Download URL pymsaviz-0.5.0-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
21645de22018d6592869d7e6de1b6f932f93681888b4035d6c830caafba57c9f
BLAKE2b-256 checksum
How to use checksums
19538760a22c39d7efcb040bd28042d6e1c79120ab2c0a8e81763ed8a1fd1eb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.5

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page