I want to use data from the following dataset: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE84371

The data has been TPM normalized, which is not ideal for clustering but I have to work with what I have. TPM is a bad normalization method and it should not be used for these analyses because its laden with a lot of assumptions.

Presumably it has already been scaled, can I simply skip these steps and then run FindVariableFeatures() followed by the rest of the pipeline from the clustering tutorial or do the methods used assume Seurat specific preprocessing and using TPM will screw them up?

Unfortunately in this case TPM is not reversable. https://btep.ccr.cancer.gov/question/faq/what-is-the-difference-between-rpkm-fpkm-and-tpm/#:~:text=Here's%20how%20you%20calculate%20TPM,divide%20this%20number%20by%201%2C000%2C000.

TPM is calculated as a function of the kilobases of the gene in the reference genome they used and the reads per gene across all samples (aka all cells). They have not specified which reference genome was used in the main article, and they do not supply the read counts in the metadata or the main file. So in this case the TPM is irreversible.

I think I can get raw reads from SRA and do alignment myself. It's annoying that raw reads were not provided but as someone who's lab entirely does computational analysis on open datasets I can tell you that this is not the most egregious thing I've ever seen. As I said before it would be easier for me to get the fastq files and do my own alignment which is still a ton of work the main authors could have prevented by simply posting the read counts.

Clustering Tutorial: https://satijalab.org/seurat/articles/pbmc3k_tutorial.html

TPM means transcripts per million. It is obtained by dividing the read counts by the length of each gene in kilobases, resulting in reads per kilobase (RPK). All the RPK values in a sample are counted and then divided by 1,000,000.


2 Answers 2


I don't do transcriptome analysis, it ain't my thing, however I do understand statistical analysis as well as the underlying issue regarding the public availability of molecular data ... I agree with the OP its not ideal. However, yes the OP can continue with 'clustering', personally I definitely prefer it if the transformation was removed, or analysed from the raw data.

Summary The authors of the data set are obliged to provide the raw data, presuming its published. Why? This is because whilst the OP can perform the analysis - it is very likely the OP will be asked to repeat the analysis on the untransformed data (again note this ain't my area, so 'very likely' might be 'possibly' in this field). At this point the original authors have to declare their untransformed data, if this was a formal request to the OP's analysis.

Please read the caveats and discussion.

  1. Firstly could the OP reverse the normalisation? Its just a transformation applied to all the data which in their analysis resulted in a normal distribution, I don't know TPM but if this was log-transform you would supply 'un-log' it, square-root then square it, reciprocal do another reciprocal will 'de-transformation'. Can TPM be undone? I agree it ain't ideal, from several perspectives but it gets things moving quickly.

  2. Ask the authors for the raw data - this is what I would do. They are obliged to provide it if the data is published. Virtually all journals have this policy in place, however I agree that ASM remain an outlier in this respect (who are significant publisher). Any other journal will return to the authors and point out their 'check-boxes' when they submitted the manuscript. It is etiquette to go to the authors first and provide sufficient chance for them to respond, prior step 3 (below) - giving them the absolute maximum benefit of the doubt.

  3. What you do if the authors don't respond? The OP would then contact the journal explaining: a) why you need the data, i.e. the analysis performed; b) explain the analytical significance of the raw data, i.e. arguments the OP has raise 'not ideal' and general concerns raised here. I do have experience in this regard and the authors will oblige if asked by the journal.

  4. Searaut's cluster analysis certainly used tSNE ... I believe it uses dimensionality reduction such principle component analysis (PCA) - I don't know which they use - and then tSNE analysis (which I think you are calling 'clustering*'). This is a very robust 'clustering'* (please see footnote), there is no question this is as good as it gets. If that is singly your goal I agree that dimensionality reduction calculations don't need transformations, transformations are needed for parametric statistics and other areas of model fitting.

The problems with transformation

I agree the authors should not have done this because:

  1. Transformations are not perfect, if its wrong - you're stuck.
  2. Not only do you not need to transform the data, its better you don't - if untransformed data results in nice 'clusters' thats the preferred result. Dimensionality reduction + tSNE gives great results thats well known.

Corroborating the OP's concern Dimensionality reduction calculations do not need a normal distribution because its sectioning up the observable variance to maximise the classification of the data. My opinion - in statical analysis - is if you need to transform, THEN perform dimensionality reduction (PCA-stuff) THEN tSNE, that data has been heavily manipulated. It doesn't mean to say the conclusions are not valid but its been put through a lot and would STRONGLY SUGGEST THE RAW DATA HAS NOT GIVEN GOOD RESULTS. Thus, personally I would be cautious, why should be OP be put under unnecessary caution?

It is important to note this is not my field and the field will have its own standards. If transformation is routine for all statical calculations (except non-parametric where it may not be valid) then authors of the data will argue they are correct and no further data needs to be released. Personally, I really doubt it, but we'll see what others say.

Footnote * clustering is a statistical method usually resulting in a tree, it is generally avoided because there are so many different clustering methods giving different results and no agreement on which is the 'optimal' method. I think when the OP say 'clustering' they refer to clusters following a tSNE analysis, which will be a bivariate plot.

From the comments Failure to declare a reference genome is a formal omission that has to be rectified and the journal is obliged to do this. Thus the OP would simply contact the journal, they may tell the OP to contact the authors and when the authors respond the response is passed back to the journal. If its an online journal you can simply leave a comment in the 'comments' section: the authors will answer. In this instance officiating via the journal is preferred to ensure the information is verified by all parties - I presume the OP does not know the authors. From the comments I get the gist the OP is working via supervision, and would therefore just notify their supervisor who should officiate on OP's behalf (they might then delegate it back to the OP - but at least the supervisor is formally aware of this).

In context, stuff happens and there is formal process to ensure parity is achieved its simply patience in working through it.

Down vote In response to the downvote ... unpopularity happens in data set transparency its part of the process ... I was (at least in part) attributed to changing journal group policy on data availability, stated from within the journal. Maybe they joking - but they certainly all knew about what was going on. The specific issue was a prolonged dialogue over access to a specific data set. It does demonstrate that most journals are concerned if an author does not cooperate with data transparency, in fact the journal in question explicitly said this and they were not joking.

  • 1
    $\begingroup$ With regards to your comments about the dimensionality redcution this is par for the course in RNA-seq one point to note though is that the results of the clustering should be robust across different embeddings (tSNE, UMAP, spectral clustering, CCA, PCA etc). $\endgroup$ Commented Apr 2, 2022 at 20:41
  • $\begingroup$ Thanks for the update. Regarding the last point ... the authors of the data don't have to be cooperative, but they have to be transparent. What you have said is there is a chance they have not been transparent and that is rarely accepted with molecular data. $\endgroup$
    – M__
    Commented Apr 2, 2022 at 21:28
  • 1
    $\begingroup$ Seurat doesn't use tSNE for clustering; tSNE is used only for visualisation. $\endgroup$
    – gringer
    Commented May 6, 2022 at 1:21

I notice that the paper points to the Broad website for data accession; have you looked there?


For specifics on the normalisation method, you could look at their associated github repository:


Given that the paper was published in 2016, they are TPM counts, and you have access to the raw reads, my recommendation would be to regenerate gene count tables from those raw reads. I expect it will be more time consuming, less accurate, and require more effort to track down the gene count table than to create one from scratch. You can use Salmon Alevin to do this fairly quickly:


[bearing in mind that there may be some footwork required to work out how to get Salmon to interpret the barcoding method that was used]


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.