Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to specify custom signature(matrix) #15

Open
grst opened this issue Jul 18, 2019 · 4 comments
Open

Allow to specify custom signature(matrix) #15

grst opened this issue Jul 18, 2019 · 4 comments

Comments

@grst
Copy link
Collaborator

grst commented Jul 18, 2019

It would be useful to be able to specify custom signature matrices.

Originally proposed by Sonja Hänzelmann via email and also mentioned as one of the "masked options" by @jracle85 in #14.

Problem:

  • Conceptual differences between the methods: CBS, EPC, QTS accept signature matrices; MCP, XCL lists of marker genes and TMR does something entirely different.

Possible solution:

  • Accept matrices for CBS, EPC, QTS and marker genes for MCP and XCL (-> special casing)
@jracle85
Copy link

Hello,

Two other important things to keep in mind concerning if allowing for custom signatures:

  • The cell_type_mapping.xlsx file will not necessarily include the cell types defined in the custom signature. In such a case, you should make sure that all cell types derived in the signature will be reported.

  • Even between methods accepting matrices there are structural and conceptual differences: for CIBERSORT, the signature matrix should only contain the gene expression of the signature genes, while for EPIC there should be a reference profile matrix containing all the genes and a list of marker genes to use (because some normalization on all the genes is performed within EPIC). Moreover for EPIC, there should ideally also be some gene variability matrix.

So it's indeed not easy to reconcile everything in a unified framework (but the same list of marker genes can certainly be used in EPIC, MCP and xCell, so it'd make that you'd need to give the full reference profiles, the signature genes and possibly the reference profiles variability matrix).

Cheers,

Julien

@FFinotello
Copy link
Collaborator

Hi Julien,

I agree with your last comment! Another conceptual difference regards the usage of all signature genes or just a subset of them. CIBERSORT performs feature selection on the LM22 matrix, whereas methods like quanTIseq and EPIC, if run with the LM22 matrix, might obtain noisy results.
Also, quanTIseq removes some genes from the TIL10 signature depending on the "---tumor" and "--arrays" options. This is not easily transferable to other signatures, for now.

Cheers,
Francesca

@LorenzoMerotto
Copy link
Collaborator

LorenzoMerotto commented May 20, 2022

I will take charge of this task.
Here is what I woudl like to implement:

  • Deconvolution-based methods:

  • Use of CIBERSORT with custom signature matrix

  • Use of EPIC with custom signature matrix

  • Scoring-based methods:

  • Use of xCell with custom signature

  • Use of BASE with custom pseudo-signature matrix: this method has been introduced alongside the mouse methods, but by changing the signature we can easily use it for human -> this methods does somehow a GSEA but more refined

When custom signatures will be used there is no distinction between human and mouse based methods
Feel free to leave any suggestion!

EDIT: This is intended to be a preliminary plan. I will then check if the implementatio is easily feasible and does not require too complex data

@LorenzoMerotto
Copy link
Collaborator

Update:
xCell technically allows for a set of user-specified signature genes, but they are quite difficult to prepare. It requires a GMT object with the genes, and a Spillover object for the correction of the sores. All these elements are required and I think they are difficult to deal with in the case of custom signatures.
What I will do is that I will offer the possibility to use ConsensusTME with user-specified gene signatures. These can be provided as a list

signatures <- list(
cell type 1 = c(...),
cell type 2 = c(...),
etc)

Then ConsensusTME will compute the scores with a GSEA approach

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants