Skip to content
cccskills
FreePublished on GitHub

bioconductor-msa2dist

MSA2dist calculates pairwise distances between all sequences of a DNAStringSet or a AAStringSet using a custom score matrix and conducts codon based analysis. It uses scoring matrices to be used in these pairwise distance calcualtions which can be adapted to any scoring for DNA or AA characters. E.g. by using literal distances MSA2dist calculates pairwise IUPAC distances.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

msa2dist

Workflows

Standard Workflow

MSA2dist calculates pairwise distances between all sequences of a DNAStringSet or a AAStringSet using a custom score matrix and conducts codon based analysis. It uses scoring matrices to be used in these pairwise distance calculations which can be adapted to any scoring for DNA or AA characters. E.g. by using literal distances MSA2dist calculates pairwise IUPAC distances.

library(MSA2dist)
# Load example data
data(hiv, package="MSA2dist")

# 1. Calculate pairwise DNA distances (K80 model)
dna_dist <- dnastring2dist(hiv, model="K80")

# 2. Translate to Amino Acids and calculate Grantham distances
aa_seqs <- cds2aa(hiv)
aa_dist <- aastring2dist(aa_seqs, score=granthamMatrix())

# 3. Calculate synonymous/nonsynonymous substitutions (MYN model)
kaks_myn <- dnastring2kaks(hiv, model="MYN")

Note: Input is a pre-aligned DNAStringSet object, and outputs are distance matrices and a data frame of Ka/Ks values.

When to Use

  • Pairwise Amino Acid Distances: When you need to calculate pairwise distances from a Biostrings::AAStringSet using custom scoring matrices like Grantham's distance (aastring2dist, granthamMatrix).
  • Pairwise DNA Distances: When you need to calculate pairwise nucleotide distances from a Biostrings::DNAStringSet using evolutionary models (e.g., "K80") or literal IUPAC distances for diploid phasing (dnastring2dist).
  • Synonymous/Nonsynonymous Substitutions: When you need to calculate Ka, Ks, and Ka/Ks ratios from coding sequences using models like Li, NG86, or MYN (dnastring2kaks).

When NOT to Use

  • Non-coding Sequences: For non-coding sequences where codon-based Ka/Ks analysis is not applicable (use standard nucleotide distance tools like ape::dist.dna instead).
  • Initial Alignment: For performing the initial multiple sequence alignment (MSA) itself (use external tools like mafft, muscle, or the R package msa first).

Data Requirements

  • Pre-aligned sequences (Multiple Sequence Alignment) represented as a Biostrings::DNAStringSet or Biostrings::AAStringSet.
  • Coding sequences must have lengths that are multiples of three for translation, or forced via cds2aa(shorten=TRUE).

Key Parameters

  • model ("K80"): The evolutionary model to use in dnastring2dist (e.g., "K80", "IUPAC") or dnastring2kaks (e.g., "Li", "NG86", "MYN", "YN").
  • score (NULL): Scoring matrix for amino acid distance calculations in aastring2dist (e.g., granthamMatrix()).
  • frame (1): Codon start site (1, 2, or 3) for frame-aware translation in cds2aa.
  • shorten (FALSE): Logical indicating whether to force the coding sequence length to be a multiple of three in cds2aa.
  • genetic.code (standard): Alternative genetic code mapping (e.g., Biostrings::getGeneticCode("2")) in cds2aa.
  • threads (1): Number of threads for parallelized calculations in dnastring2dist or dnastring2kaks.

Best Practices

  • Ensure sequences are pre-aligned before calculating distances or Ka/Ks ratios.
  • Use cds2aa(shorten=TRUE) to handle sequences whose lengths are not multiples of three before translating.
  • Use dnastring2dist(model="IUPAC") to directly calculate distances on IUPAC nucleotide ambiguity encoded sequences (e.g., from diploid individuals).

Common Pitfalls

  • Translation fails or returns empty set: Occurs when the sequence length is not a multiple of three and shorten=FALSE. Fix: Set shorten=TRUE in cds2aa().
  • Incompatible sequence formats for external packages: Trying to pass DNAStringSet directly to ape or seqinr. Fix: Convert formats using dnastring2dnabin() or dnastring2aln().

Alternatives

  • ape: For standard DNA distance calculations (ape::dist.dna) and neighbor-joining trees.
  • seqinr: For standard sequence alignments and codon analysis.
  • msa: For performing multiple sequence alignments in R.

Citations

  • Nei, M. and Gojobori, T. (1986). Simple methods for estimating the numbers of synonymous and nonsynonymous nucleotide substitutions. Molecular Biology and Evolution.
  • Li, W.-H. (1993). Unbiased estimation of the number of synonymous and nonsynonymous substitutions. Journal of Molecular Evolution.
  • Zhang, Z., Li, J., and Yu, J. (2006). CODON-ML: computing evolutionary rates of codons.

References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

See all skills by bioMate-AI

Report a problem with this skill