Difference between revisions of "DiffKAP"

From Applied Bioinformatics Group
Jump to: navigation, search
Line 1: Line 1:
We have developed a Differential kmer Analysis Pipeline (DiffKAP) for the pairwise comparison of RNA profiles between metatranscriptomes which does not rely on mapping to reference assemblies. By reducing each read to component kmers and assessing the frequency of these sequences, we overcome statistical limitations on the lack of identical reads for pairwise comparison between samples and allow inference of differential gene expression for annotated reads.
+
Next generation DNA sequencing technologies such as RNA-Seq currently dominate genome wide gene expression studies. A standard approach to analyse this data requires mapping sequence reads to a reference and counting the number of reads which map to each gene. However, for many transcriptome studies a suitable reference genome is unavailable, especially for meta-transcriptome studies which assay gene expression from mixed populations of organisms. Where a reference is unavailable, it is possible to generate a reference by the de novo assembly of the sequence reads. However, the accurate assembly of such data is challenging, especially for meta-transcriptome data, and resulting assemblies frequently suffer from collapsed regions or chimeric sequences.  
  
The DiffKAP application consists of a series of scripts written in Perl and Linux shell scripts and requires Jellyfish [Marcais 2011] and BLASTx as well as access to a copy of the SwissProt database. The scripts are freely available for non-commercial use.
+
With the lack of reference assemblies currently limiting meta-transcriptome studies, we have established a Differential k-mer Analysis Pipeline (DiffKAP) for gene expression analysis, which does not require the generation of a reference for read mapping. By reducing each read to component k-mers and comparing the relative abundance of these sub-sequences, we overcome statistical limitations of whole read comparative analysis.
 +
 
 +
The DiffKAP application consists of a series of scripts written in Perl and Linux shell scripts and requires Jellyfish [Marcais 2011] and BLASTx as well as access to a copy of a blast-formatted protein database. The scripts are freely available for non-commercial use.
  
  
Line 19: Line 21:
  
 
== Download ==
 
== Download ==
* [http://appliedbioinformatics.com.au/download/DiffKAP_package.tar.gz DiffKAP package]
+
* Latest Version:
* [http://appliedbioinformatics.com.au/download/sampleProj_results.tar.gz Results of the sample data]
+
** [http://appliedbioinformatics.com.au/download/DiffKAP_0.9.gz DiffKAP package]
 
+
** [http://appliedbioinformatics.com.au/download/sampleProj_results.tar.gz Results of the sample data]
 +
* Archived Versions:
 +
**
  
 
== How to install? ==
 
== How to install? ==
* Download the [http://appliedbioinformatics.com.au/download/DiffKAP_package.tar.gz DiffKAP package]
+
* Download the [http://www.appliedbioinformatics.com.au/index.php?title=DiffKAP&action=submit#Download DiffKAP package].
 
* Uncompress it into:
 
* Uncompress it into:
 
** a DiffKAP setup file
 
** a DiffKAP setup file
Line 31: Line 35:
 
** an example data folder containing a small subset of a metatranscriptomic data
 
** an example data folder containing a small subset of a metatranscriptomic data
 
* read the README
 
* read the README
* Install the DiffKAP setup script by typing: DiffKAP_setup
+
* Install the DiffKAP setup script by executing: DiffKAP_setup
 
* *** If you like, you can add the DiffKAP path to $PATH or just use an absolute path for running DiffKAP ***
 
* *** If you like, you can add the DiffKAP path to $PATH or just use an absolute path for running DiffKAP ***
  
  
 
== How to run? ==
 
== How to run? ==
# Your project configuration file: Use the example config file in the sample data directory as a template.
+
# Create your project configuration file by using the example config file in the sample data directory as a template.
# kmer size: Run identifyKmerSize with your config file (can leave the KMER_SIZE variable empty in the config file), for example: identifyKmerSize ~/sampleProj/sampleProj.cfg
 
# Uniqueness plot: The uniqueness ratio plot is stored in [OUT_DIR]/identifyKmerSize folder. Find the knee plot in the uniqueness ratio plot and put the corresponding kmer size to the config file.
 
 
# Run the pipeline: Run DiffKAP with your config file as an input argument, for example: DiffKAP ~/sampleProj/sampleProj.cfg
 
# Run the pipeline: Run DiffKAP with your config file as an input argument, for example: DiffKAP ~/sampleProj/sampleProj.cfg
 
* Results will be generated in the [OUT_DIR]/results where [OUT_DIR] is defined in the config file.
 
* Results will be generated in the [OUT_DIR]/results where [OUT_DIR] is defined in the config file.

Revision as of 02:41, 23 September 2013

Next generation DNA sequencing technologies such as RNA-Seq currently dominate genome wide gene expression studies. A standard approach to analyse this data requires mapping sequence reads to a reference and counting the number of reads which map to each gene. However, for many transcriptome studies a suitable reference genome is unavailable, especially for meta-transcriptome studies which assay gene expression from mixed populations of organisms. Where a reference is unavailable, it is possible to generate a reference by the de novo assembly of the sequence reads. However, the accurate assembly of such data is challenging, especially for meta-transcriptome data, and resulting assemblies frequently suffer from collapsed regions or chimeric sequences.

With the lack of reference assemblies currently limiting meta-transcriptome studies, we have established a Differential k-mer Analysis Pipeline (DiffKAP) for gene expression analysis, which does not require the generation of a reference for read mapping. By reducing each read to component k-mers and comparing the relative abundance of these sub-sequences, we overcome statistical limitations of whole read comparative analysis.

The DiffKAP application consists of a series of scripts written in Perl and Linux shell scripts and requires Jellyfish [Marcais 2011] and BLASTx as well as access to a copy of a blast-formatted protein database. The scripts are freely available for non-commercial use.


What does DiffKAP depend on?

DiffKAP depends on the following things:

  • Jellyfish for fast kmer counting
  • blastx for sequence alignment
  • Some non-standard Perl modules:
    • bioperl
      • Bio::SeqIO
      • Bio::SearchIO
    • Parallel::ForkManager
    • Statistics::Descriptive
    • Config::IniFiles
    • GD::Graph::linespoints (for the script identifyKmerSize)


Download

How to install?

  • Download the DiffKAP package.
  • Uncompress it into:
    • a DiffKAP setup file
    • a README file
    • a VERSION file
    • an example data folder containing a small subset of a metatranscriptomic data
  • read the README
  • Install the DiffKAP setup script by executing: DiffKAP_setup
  • *** If you like, you can add the DiffKAP path to $PATH or just use an absolute path for running DiffKAP ***


How to run?

  1. Create your project configuration file by using the example config file in the sample data directory as a template.
  2. Run the pipeline: Run DiffKAP with your config file as an input argument, for example: DiffKAP ~/sampleProj/sampleProj.cfg
  • Results will be generated in the [OUT_DIR]/results where [OUT_DIR] is defined in the config file.
  • The processing log is stored in /tmp/DiffKAP.log by default.


How to interpret the results?

  • You can download the results of the sample data here.
  • The script "identifyKmerSize" generates 2 files in the [OUT_DIR]/identifyKmerSize folder:
    1. a txt file: contains the uniqueness ratio (in %) for each kmer size.
    2. a png file: the kmer size vs uniqueness ratio plot.
  • The script "DiffKAP" generates 4 types of files in folder [OUT_DIR]/results:
    1. 5 DER files with the word 'AllDER' in the filenames. Explanation of some columns:
      • Median-T1: The median kmer occurrence represented in Treatment 1 (corresponding to T1_ID in the config file) for all kmers in the read.
      • Median-T2: Similar to Median-T1 but for Treatment 2.
      • Ratio of Median: The ratio of Median-T1 to Median-T2.
      • CV-T1: The coefficient of variation of all kmer occurrence represented in Treatment 1 for all kmers in the read. To show how confident the Median-T1 representing all kmers in the read.
      • CV-T2: Similar to CV-T1 but for Treatment 2.
    2. 5 annotated DER files with the word 'AnnotatedDER' in the filenames. These files are similar to the 5 DER above but contain only the annotated DER.
    3. A gene-based display summary with the word 'DEG' in the filename:
      • In a tabular form showing the number of DER in the specific files (in columns 3-7) annotated to the specific gene.
      • It shows the unique gene list.
      • The 'Total' column is the total number of DER annotated to such gene.
      • It is sorted by the 'Total' column in reversed order.
    4. A data summary file with 'summary.log' in the filename.


FAQ


Reference

  • Marçais, G. and Kingsford, C. (2011) A fast, lock-free approach for efficient parallel counting of occurrences of k-mers, Bioinformatics, 27, 764-770.


Back to Main_Page