Skip to main content

Pairwise ANI (Average Nucleotide Identity) visulization tool.

Project description

pairwiseANIviz

Pairwise ANI (Average Nucleotide Identity) visulization tool. This tool is suitable for visualizing the results of pairwise comparisons between multiple genomes. pairwiseANIviz first using Scipy to perform hierarchical/agglomerative clustering, a clustermap is then generated using Seaborn which supports different Matplotlib colormaps.

Main features

  • Support different matplotlib colormaps
  • Taxonomic classification result can be included to illustrate different taxa
  • Specific outrange ANI values can be set (eg. 95% ANI values)
  • Multi-format outputs (JPG, PNG, TIFF, SVG, PDF, EPS)

Example

1. Using different matplotlib colormaps

Figure

2. With taxonomy indicated by different palettes

Figure

3. With ANI values illustrated

Figure

4. With outrange ANI values (95%) colored red

Figure

Installation

# Dependencies: Matplotlib, Seaborn, Scipy, Pandas
# Install pairwiseANIviz using pip
pip install pairwiseANIviz==1.0

Usage

overallUsage

Options

usage: pairwiseANIviz [options] anifile

positional arguments:
  anifile               File containing pairwise ANI analysis result.

options:
  -h, --help            show this help message and exit
  -v, --version         Show pairwiseANIviz version number and exit.
  -o OUTDIR, --outdir OUTDIR
                        Directory to save the output figures (default 'pairwiseANIviz').
  --method {single,complete,average,weighted,centroid,median,ward}
                        Linkage method to use for calculating clusters (default 'average').
                         See https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html#scipy.cluster.hierarchy.linkage
  --metric {braycurtis,canberra,chebyshev,cityblock,correlation,cosine,dice,euclidean,hamming,jaccard,jensenshannon,kulczynski1,mahalanobis,matching,minkowski,rogerstanimoto,russellrao,seuclidean,sokalmichener,sokalsneath,sqeuclidean,yule}
                        The distance metric to use (default 'euclidean').
                         See https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html#scipy.spatial.distance.pdist
  -cmap COLORMAP, --colormap COLORMAP
                        Matplotlib colormap used when drawing the heatmap of ANI values (default 'Blues').
                         See https://matplotlib.org/stable/users/explain/colors/colormaps.html
  --figWidth FIGWIDTH   Figure width (default '15').
  --figHeight FIGHEIGHT
                        Figure height (default '15').
  --linewidth LINEWIDTH
                        Line width of the main heatmap (default 0.5)
  --linecolor LINECOLOR
                        Line color of the main heatmap (default 'grey').
  --rowCluster          Draw the row cluster.
  --colCluster          Draw the column cluster.
  --annotation          Show ANI values on the plot.
  --outrangeValue OUTRANGEVALUE
                        Cells have ANI values over specific threshold set to red (eg. cells have ANI value >=0.95 set to red) (default 100).
  -c CLASSIFICATIONFILE, --classificationFile CLASSIFICATIONFILE
                        File containing classification result generated by GTDBTk(https://github.com/Ecogenomics/GTDBTk).
  -t {domain,phylum,class,order,family,genus,species}, --taxaLevel {domain,phylum,class,order,family,genus,species}
                        Taxa level illustrated on the plot.
                         Choose from "domain, phylum, class, order, family, genus, species".
                         Note that this parameter only works if classification result was input.
  --colorPalette COLORPALETTE
                        Color palette used to return a specified number of evenly spaced hues which are then used to illustrate different taxa (default 'hls').
                         Note that this parameter only works if classification result was input.

General usage
----------------
1. ANI result visulization **without classification info**:
   $ pairwiseANIviz ani_result.txt

2. ANI result visulization **with classification info**:
   $ pairwiseANIviz ani_result.txt --classificationFile classification_result.tsv

Runjia Ji, 2023

Contact

If you have any questions using AsperaSRAgetter, feel free to open an issue or contact me jirunjia@gmail.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pairwiseaniviz-1.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

pairwiseANIviz-1.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file pairwiseaniviz-1.1.tar.gz.

File metadata

  • Download URL: pairwiseaniviz-1.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.9

File hashes

Hashes for pairwiseaniviz-1.1.tar.gz
Algorithm Hash digest
SHA256 a8e73817c1a3afc76d858d8d81b7f53eaea7d6612224b969e2688dbe5b91b1a5
MD5 87b47ee6d8ae72c8c3f5fb7bc8bb1ad9
BLAKE2b-256 d3822dec8ac8e71e9c2e5055c89b65ad3af3cc11a39a6b94047a95513a2607fe

See more details on using hashes here.

File details

Details for the file pairwiseANIviz-1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pairwiseANIviz-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8352d5f714cdecbeb37a80b96f5b078c3d35c504fb0921c551aa81e0f4dcb35e
MD5 8b5a398372beb6d324b430a98a2b718b
BLAKE2b-256 a616e8beb8bc45ee4983d53241bd062930a76fa54776a8112bb425bb9fa841e4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page