What is Numerical Taxonomy? How is it useful?
Classification of biological species is one of the important concern while studying taxonomic and or evolutionary relationships among various species. Classification is either based on only one / a few characters known as “Monothetic”, or based on multiple characters known as “Polythetic”.
It is obviously much more difficult to classify organisms on the basis of multiple characters rather than a few characters. The traditional approaches of taxonomists are tedious. The arrival of computer techniques in the field of biology has made the task easier for the taxonomists.
Numerical taxonomy is a system of grouping of species by numerical methods based on their character states. It was first initiated by Peter H.A.Sneath et al.
Before going further I would like to clear the difference between two common terms, namely, “Classification” & “Identification”. When the organisms are classified on the basis of like properties, then it is called Classification, and after the classification, when the additional unidentified objects are allocated, then it is known as Identification. The purpose of taxonomy is to group the objects to be classified into natural taxa. Conventional taxonomists equate the taxonomic relationships with evolutionary relationships, but the numerical taxonomists defined them as three kinds:
- Phenetic: based on overall similarity.
- Cladistic: based on a common line of descents.
- Chronistic: temporal relation among various evolutionary branches.
How is the classification do by Numerical Taxonomy?
The objects to be classified are known as Operational Taxonomic Units (OTUs). They may be species, genera, family, higher ranking taxonomic groups,etc., The characters are numerically recorded either in the form of appropriate numbers or may be programmed in such a way that the differences among them are proportional to their dissimilarity. Lets say, a character called ‘hairness of leaf’, it may be recorded as:
- hairless = 0
- sparsely haired = 1
- regularly haired = 2
- densely haired = 3
Fig.1 OTUs (black dots) represented in a multidimensional space.
Such a numerical system imply that the dissimilarity between densely haired and hairless is 3 times than that of sparsely haired and hairless.
The other method of implementing numerical taxonomy is that the characters are always represented by only two states,i.e., 0 for the absence and 1 for the presence of a particular character. This method is usually implemented in the field of microbiology. After that, all the characters and the taxonomic units are arranged in the form of the data matrix and the similarity among all possible pairs of OTUs is computed based on the considered characters. The similarity ( more specifically, dissimilarity) is the distance between OTUs is represented in a multidimensional space, where the characters can be visualized as the coordinates. The objects that are very similar are plotted close to each other and those which are dissimilar are plotted farther apart. Then these straight lines are computed. The similarity among the OTUs is calculated by ‘simialrity matrix’ having few color schemes, where the dark-shaded areas are highly similar. This matrix is then rearranged to get the clusters of similar OTUs. The results of numerical taxonomy are generally represented in the form of phenograms.
An exhaustive list of references for this article is available with the author and is available on personal request, for more details write to [email protected]
How to create a pie chart using Python?
In this article. we are creating a pie chart of the docking score of five different compounds docked with the same protein. (more…)
How to make swarm boxplot?
With the new year, we are going to start with a very simple yet complicated topic (for beginners) in bioinformatics. In this tutorial, we provide a simple code to plot swarm boxplot using matplotlib and seaborn. (more…)
How to obtain ligand structures in PDB format from PDB ligand IDs?
Previously, we provided a similar script to download ligand SMILES from PDB ligand IDs. In this article, we are downloading PDB ligand structures from their corresponding IDs. (more…)
How to obtain SMILES of ligands using PDB ligand IDs?
Fetching SMILE strings for a given number of SDF files of chemical compounds is not such a trivial task. We can quickly obtain them using RDKit or OpenBabel. But what if you don’t have SDF files of ligands in the first place? All you have is Ligand IDs from PDB. If they are a few then you can think of downloading SDF files manually but still, it seems time-consuming, especially when you have multiple compounds to work with. Therefore, we provide a Python script that will read all Ligand IDs and fetch their SDF files, and will finally convert them into SMILE strings. (more…)
How to get secondary structure of multiple PDB files using DSSP in Python?
In this article, we will obtain the secondary structure of multiple PDB files present in a directory using DSSP . You need to have DSSP installed on your system. (more…)
vs_analysis_compound.py: Python script to search for binding affinities based on compound names.
Previously, we have provided the vs_analysis.py script to analyze virtual screening (VS) results obtained from Autodock Vina. In this article, we have provided another script to search for binding affinity associated with a compound. (more…)
How to download files from an FTP server using Python?
In this article, we provide a simple Python script to download files from an FTP server using Python. (more…)
How to convert the PDB file to PSF format?
VMD allows converting PDB to PSF format but sometimes it gives multiple errors. Therefore, in this article, we are going to convert PDB into PSF format using a different method. (more…)
smitostr.py: Python script to convert SMILES to structures.
As mentioned in some of our previous articles, RDKit provides a wide range of functions. In this article, we are using RDKit  to draw a molecular structure using SMILES. (more…)
How to preprocess data for clustering in MATLAB?
Data preprocessing is a foremost and essential step in clustering based on machine learning methods. It removes noise and provides better results. In this article, we are going to discuss the steps involved in data preprocessing using MATLAB . (more…)
How to calculate drug-likeness using RDKit?
RDKit  allows performing multiple functions on chemical compounds. One is the quantitative estimation of drug-likeness also known as QED properties. These properties include molecular weight (MW), octanol-water partition coefficient (ALOGP), number of hydrogen bond donors (HBD), number of hydrogen bond acceptors (HBA), polar surface area (PSA), number of rotatable bonds (ROTB), number of aromatic rings (AROM), structural alerts (ALERTS). (more…)
sdftosmi.py: Convert multiple ligands/compounds in SDF format to SMILES.
You can obtain SMILES of multiple compounds or ligands in an SDF file in one go. Here, we provide a simple Python script to do that. (more…)
tanimoto_similarities_one_vs_all.py – Python script to calculate Tanimoto Similarities of multiple compounds
We previously provided a Python script to calculate the Tanimoto similarities of multiple compounds against each other. In this article, we are providing another Python script to calculate the Tanimoto similarities of one compound with multiple compounds. (more…)
tanimoto_similarities.py: A Python script to calculate Tanimoto similarities of multiple compounds using RDKit.
RDKit  is a very nice cheminformatics software. It allows us to perform a wide range of operations on chemical compounds/ ligands. We have provided a Python script to perform fingerprinting using Tanimoto similarity on multiple compounds using RDKit. (more…)
How to commit changes to GitHub repository using vs code?
In this article, we are providing a few commands that are used to commit changes to GitHub repositories using VS code terminal.
Extracting first and last residue from helix file in DSSP format.
Previously, we have provided a tutorial on using dssp_parser to extract all helices including long and short separately. Now, we have provided a new python script to find the first and last residue in each helix file. (more…)
How to extract x,y,z coordinates of atoms from PDB file?
The x, y, and z coordinates of atoms are provided in the PDB file. One way to extract them is by using the Biopython package . In this article, we will extract coordinates of C-alpha atoms for each residue from the PDB file using Biopython. (more…)
dssp_parser: A new Python package to extract helices from DSSP files.
A new Python package named ‘dssp_parser‘ is developed to parse DSSP files. This package fetches all helices including long and short ones from DSSP files. (more…)
How to calculate center of mass of a protein structure using Python script?
Here is a Python script that helps you calculate the center of mass of a protein using the Pymol . (more…)
How to sort binding affinities based on a cutoff using vs_analysis.py script?
Previously, we have provided a Python script (vs_analysis.py) to analyze the virtual screening (VS) results of Autodock Vina. Now, we have updated this script to sort binding affinities based on user inputted cutoff value. (more…)
You must be logged in to post a comment Login