Skip to content

Implementation of simple Taxonomy Informed Clustering

Notifications You must be signed in to change notification settings

MPourjam/TIClust

Repository files navigation

TIC (Taxonomy Informed Clustering) Pipeline

Overview

The Taxonomy Informed Clustering (TIC) pipeline is a novel approach for processing 16S rRNA amplicon datasets in diversity analyses. TIC leverages classifier-assigned taxonomy to refine clustering, ensuring that only sequences sharing the same taxonomic path are grouped together [1]. This method is particularly useful for analyzing bacterial diversity using 16S rRNA gene amplicon sequencing data.

Inspired by the initial TIC pipeline as described in Taxonomy Informed Clustering, an Optimized Method for Purer and More Informative Clusters in Diversity Analysis and Microbiome Profiling, this project aims to provide a simple and easy-to-use version of the original TIC.

Key Features

  • Taxonomy-Driven Clustering: TIC taxonomically classifies each sequence before clustering, using the taxonomic information to guide and constrain the clustering process. This approach divides the dataset into subsets based on assigned taxonomies, preventing the merging of sequences from diverse lineages.
  • Modular Design: The pipeline is designed with a modular structure, making it easy to modify and extend.
  • Comprehensive Pipeline: TIC offers a complete, automated pipeline for diversity analyses, from raw reads to compositional tables.

Pipeline Steps

The TIC pipeline involves several key steps:

  1. Filling upto Order Level: All bacterial sequences with taxonomy not known upto order level are filled with NA__<level>__<parent>
  2. Complete Family Levels: Sequences of orders with unknown classification at family level get clustered at 0.90 sequences similarity using uclust and assigned their family level taxonomy (e.g: FOTU11)
  3. Complete Genus Levels: Sequences of families with unknown classification at genus level get clustered at 0.95 sequence similarity using uclust and assigned their genus level taxonomy (e.g: GOTU11)
  4. Complete Species Levels: Sequences of genera with unknown classification at species level get clustered at 0.987 similarity using uclust and assigned their family level taxonomy (e.g: SOTU11)

Installation

To install the TIC pipeline, follow these steps:

PIP

pip install ticlust

Run TIC

Currently simple version of TIC is available in this repo

After tic is installed you can run TIC by commands below:

ticlust -f <path/to/taxed_fasta_file.fasta>

or

python3 -m ticlust -f <path/to/taxed_fasta_file.fasta>

Sequences in the input FASTA file should have their taxonomies as last part of their sequence header starting with tax=. For example: >Zotu1 some other header parts tax=Bacteria;Proteobacteria;Gammaproteobacteria;Enterobacterales;Enterobacteriaceae;Escherichia-Shigella. Note that taxonomies levels are separated by semicolon (;).

Run TIC with accompanying zOTU table

By passing some arguments to TIC you can define your own threshold for family, genus, and species-level clustering.

ticlust -f <path/to/taxed_fasta_file.fasta> -z <path/to/zotu_table.tsv>

Run TIC with various clustering thresholds

In case you have a zOTU table for sequences in your zOTUs FASTA file. You can pass this to TIC to have a new table for SOTUs (species-level OTUs) generated by TIC. As a result you will have a new OTU table file named SOTUs-Table.tab and a new FASTA file named SOTUs-Seq.fasta which contains extracted SOTUs from original zOTU table and sequences of SOTUs generated by TIC. These sequences are sequences of centroid zOTUs for each SOTU cluster. Centroid of each cluster is the zOTU in that cluster with highest count in the zOTU table.

ticlust -f <path/to/taxed_fasta_file.fasta> -z <path/to/zotu_table.tsv> -st 0.99 -gt 0.97 -ft 0.95

or

python3 -m ticlust -f <path/to/taxed_fasta_file.fasta> -z <path/to/zotu_table.tsv> -st 0.99 -gt 0.97 -ft 0.95

Outputs

TIC will create a directory (i.e: TIC-WD) in the same directory of the input FASTA file. Inside the directory resides files listed below:

  1. TIC-FullTaxonomy.fasta: bacterial sequences with full-level taxonomy filled by TIC
  2. Map-FOTU-GOTU.tab: two columns 'FOTU' and 'GOTU' which maps genus-level clusters (i.e: GOTUs or gOTUs) to their parent family-level clusters (i.e: FOTUs or fOTUs)
  3. Map-GOTU-SOTU.tab: two columns 'GOTU' and 'SOTU' which maps species-level clusters (i.e: SOTUs or sOTUs) to their parent genus-level clusters (i.e: GOTUs or gOTUs)
  4. Map-SOTU-ZOTU.tab: two columns 'SOTU' and 'ZOTU' which maps zero-radius operational taxonomic units (i.e: ZOTUs or zOTUs) to their parent species-level clusters (i.e: SOTUs or sOTUs)
  5. Non-Bacteria-Sequences.fasta: all non-bacterial sequences in input FASTA file.

Advantages

TIC enhances the clustering process by utilizing taxonomic information acquired beforehand, leading to higher cluster quality and purity. This approach also enables the proper placement of unassigned sequences within the taxonomy.

Availability

TIC as a python package (i.e: current repository) is available on SimpleTIC. The initial TIC pipeline as described in Taxonomy Informed Clustering, an Optimized Method for Purer and More Informative Clusters in Diversity Analysis and Microbiome Profiling is freely available on GitHub [1].

About

Implementation of simple Taxonomy Informed Clustering

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages