Вам потребуется общее количество и длина гена (или транскрипта), чтобы приблизить это преобразование. Обратную операцию см. https://support.bioconductor.org/p/91218/.
По этой ссылке:
You can create a TPM matrix by dividing each column of the counts matrix by some estimate of the gene length (again this is not ideal for the reasons stated above).
x <- counts.mat / gene.length
Then with this matrix x, you do the following:
tpm.mat <- t( t(x) * 1e6 / colSums(x) )
Such that the columns sum to 1 million.
colSums(x)
будет подсчетами на образец, выровненными по генам в TPM. матрица, и gene.length
будет зависеть от генной модели, используемой для суммирования чтения.
Так что вам может не повезти, и вам, вероятно, будет лучше использовать что-то вроде salmon или kallisto в любом случае, чтобы получить матрицу подсчета из файлов fastq, если таковые имеются, на основе модели гена или транскрипта, которую вы использовали в данных, с которыми хотите сравнить.
Если у вас есть Никакой другой вариант, кроме использования данных TPM (не очень рекомендуется), Seurat также может с этим работать - см. https://github.com/satijalab/seurat/issues/171.