--- title: "04-kallisto" format: html: df-print: paged toc: true smooth-scroll: true link-external-icon: true link-external-newwindow: true code-fold: show code-tools: true code-copy: true highlight-style: arrow code-overflow: wrap theme: light: sandstone dark: vapor editor: visual --- ```{r, setup, include=FALSE} knitr::opts_chunk$set(highlight = TRUE, eval = FALSE) ``` Check kallisto `version` with the following command: ```{r, engine='bash'} /home/shared/kallisto/kallisto ``` # Create Index File This code is indexing the file `Montipora_capitata_HIv3.genes.cds.fna` while also renaming it as `mcap_rna.index`. **/home/shared/kallisto/kallisto** is the absolute path to the kallisto program from within the raven server, while the lines after the index command indicate where to where to write the file to (`mcap_rna.index`) and where to get the data from (the`Montipora_capitata_HIv3.genes.cds.fna` file) ```{r, engine='bash'} /home/shared/kallisto/kallisto \ index -i \ ../data/mcap_rna.index \ ../data/Montipora_capitata_HIv3.genes.cds.fna ``` # Kallisto Quant The next chunk performs the following steps: - creates a subdirectory `kallisto_01` in the `output` folder using `mkdir` - Uses the `find` utility to search for all files in the `../data/` directory that match the pattern `*fastq.gz`. - Uses the `basename` command to extract the base filename of each file (i.e., the filename without the directory path), and removes the suffix `_L001_R1_001.fastq.gz`. - Runs the kallisto `quant` command on each input file, with the following options: - `-i ../data/mcap_rna.index`: Use the kallisto index file located at `../data/mcap_rna.index`. - `-o ../output/kallisto_01/{}`: Write the output files to a directory called `../output/kallisto_01/` with a subdirectory named after the base filename of the input file (the {} is a placeholder for the base filename). - `-t 40`: Use 40 threads for the computation. - `--single -l 100 -s 10`: Specify that the input file contains single-end reads (--single), with an average read length of 100 (-l 100) and a standard deviation of 10 (-s 10). - The input file to process is specified using the {} placeholder, which is replaced by the base filename from the previous step. ```{r, engine='bash'} # uncomment the line of code below # mkdir ../output/kallisto_01 find /home/shared/8TB_HDD_01/mcap/*.fastq \ | xargs basename -s .fastq | xargs -I{} /home/shared/kallisto/kallisto \ quant -i ../data/mcap_rna.index \ -o ../output/kallisto_01/{} \ -t 40 \ --single -l 100 -s 10 ../data/{}.fastq ``` # Trinity Abundance Estimates, Gene Expression Matrix This next command runs the `abundance_estimates_to_matrix.pl` script from the Trinity RNA-seq assembly software package to create a gene expression matrix from kallisto output files. The specific options and arguments used in the command are as follows: - `perl /home/shared/trinityrnaseq-v2.12.0/util/abundance_estimates_to_matrix.pl`: Run the abundance_estimates_to_matrix.pl script from Trinity. ```{r, engine='bash'} /home/shared/trinityrnaseq-v2.12.0/util/abundance_estimates_to_matrix.pl ``` - `--est_method kallisto`: Specify that the abundance estimates were generated using kallisto. - `--gene_trans_map none`: Do not use a gene-to-transcript mapping file. - `--out_prefix ../output/kallisto_01`: Use ../output/kallisto_01 as the output directory and prefix for the gene expression matrix file. - `--name_sample_by_basedir`: Use the sample directory name (i.e., the final directory in the input file paths) as the sample name in the output matrix. - And then there are the kallisto abundance files to use as input for creating the gene expression matrix. ```{r, engine='bash'} perl /home/shared/trinityrnaseq-v2.12.0/util/abundance_estimates_to_matrix.pl \ --est_method kallisto \ --gene_trans_map none \ --out_prefix ../output/kallisto_01 \ --name_sample_by_basedir \ ../output/kallisto_01/SRR22293447/abundance.tsv \ ../output/kallisto_01/SRR22293448/abundance.tsv \ ../output/kallisto_01/SRR22293449/abundance.tsv \ ../output/kallisto_01/SRR22293450/abundance.tsv \ ../output/kallisto_01/SRR22293451/abundance.tsv \ ../output/kallisto_01/SRR22293452/abundance.tsv \ ../output/kallisto_01/SRR22293453/abundance.tsv \ ../output/kallisto_01/SRR22293454/abundance.tsv ```