kallisto normalized TPM values without bootstraps
Entering edit mode
10 weeks ago
butterman16 ▴ 20

Hi everyone!

I have quantified the RNA expression in a large number of samples using kallisto, however, I did not include any bootstrapping in my quantifications since I conducted DE analysis using DESeq2, which can't make use of that information anyways.

I wanted to supplement my DE analysis with cell fraction estimates using CibersortX. To do this, a table of normalized expression values in each sample is needed. A previous post (Kallisto TPM values) mentioned that the ideal way to get these normalized values is through sleuth, using the sleuth_to_matrix() function.

When I attempt to load the data into a sleuth object to ultimately extract these normalized TPM values, I am met with an error that states my file cannot be loaded without any bootstraps (command is copied below). Is there 1) any way to fix the command so it can be loaded into sleuth to extract normalized values, or 2) an alternate method to get normalized TPM values from kallisto without bootstrapping? I'm just trying to avoid the hassle (and expense) of requantifying everything with bootstraps just to get these values.

so = sleuth_prep(s2c, 
             full_model = ~condition,
             target_mapping = t2g, 
             aggregation_column = "ens_gene",
             gene_mode = TRUE,
             extra_bootstrap_summary = FALSE,
             read_bootstrap_tpm = FALSE,
             transformation_function = function(x) log2(x + 0.5))

Thanks so much for your help!

tpm cibersort sleuth kallisto RNA-seq • 371 views
Entering edit mode
10 weeks ago
ATpoint 78k

You don't need sleuth. Typically these deconvolutions, or most downstream analysis, is done on the gene- rather than the transcript-level which kallisto returns. Use the Bioconductor package tximport to get gene level counts from kallisto, and then normalize the data with something like edgeR or DESeq2, or any other transformation such as TPM.

Entering edit mode

Thank you! Not really sure why I assumed the values had to come from sleuth, but tximport/DESeq2 worked great!


Login before adding your answer.

Traffic: 1410 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6