-
Notifications
You must be signed in to change notification settings - Fork 101
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
Fix conversion fuction #158
base: master
Are you sure you want to change the base?
Changes from all commits
fb7971d
19c045c
5deffba
0fb45a3
7aa54a6
f461ebe
ed2fb4b
5a2d97f
2b78dd5
f7f7b35
a496eb4
9e3c710
b03d114
206c384
5f4dc80
e5a84a7
231179d
236d67c
11a7ced
a4af09c
0f9e114
59a4491
6ed6516
b1b9447
c8b2348
d798917
0d524d6
b376ab3
4e66c01
dcc6b1c
0d21d4a
3342382
d50ebc8
59a0196
8201f02
3979132
4cd8d2e
9022ae4
6b0ad46
7a68872
f45752c
2e25320
544fc49
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
This file was deleted.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -124,26 +124,28 @@ In addition, human-based methods can be used to deconvolute mouse data through t | |
to the corresponding human orthologues | ||
|
||
```R | ||
gene_expression_matrix <- immunedeconv::mouse_genes_to_human(gene_expression_matrix) | ||
gene_expression_matrix <- immunedeconv::convert_human_mouse_genes(gene_expression_matrix, convert_to = "human") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did I get this right that the function wasn't renamed, but just the wrong function reference from the tutorial? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The function was renamed because instead of going from mouse genes to human, now it can go both ways There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is also a breaking change then... Usually what is done in such cases is to keep the old function as an alias to the new one (provided that it has a compatible signature) and show a deprecation warning when it is still used. |
||
immunedeconv::deconvolute(gene_expression_matrix, "quantiseq") | ||
``` | ||
|
||
## Deconvolution using a custom signature | ||
|
||
Finally, certain methods can be used with custom signatures, consisting of either a signature matrix or signature genes | ||
for the cell types of interest. Since the information used to deconvolute the bulk is user-provided, these functions can be | ||
used for different tissues and organisms. | ||
for the cell types of interest. Since the information used to deconvolute the bulk is user-provided, these functions can be used for different tissues and organisms. | ||
The functions may require different input data formats, related to the requirements of each method. Please refer to their documentation. | ||
The available methods are | ||
|
||
|
||
```r | ||
base: deconvolute_base_custom() | ||
cibersort norm/abs: deconvolute_cibersort_custom() | ||
epic: deconvolute_epic_custom() | ||
consensus_tme: deconvolute_consensus_tme_custom() | ||
seqimmucc: deconvolute_seqimmucc_custom() | ||
``` | ||
|
||
Please note that using the `deconvolute_seqimmucc_custom()` with a custom signature matrix will automatically use the LLSR regression method. | ||
If you wish to use the nuSVR regression method, use the `deconvolute_cibersort_custom()` function. | ||
|
||
|
||
## Example | ||
For this example, we use a dataset of four melanoma patients from [@EPIC2017]. | ||
|
@@ -241,8 +243,7 @@ with(cell_type_hierarchy, { | |
|
||
For each method, each cell-type is mapped to a node in the tree. | ||
If you are curious, it's all defined in [this excel | ||
sheet](https://github.com/grst/immunedeconv/blob/master/inst/extdata/cell_type_mapping.xlsx). | ||
|
||
sheet](https://github.com/omnideconv/immunedeconv/blob/master/inst/extdata/cell_type_mapping.xlsx). | ||
This tree can be used to summarize scores along the tree. For instance, | ||
quanTIseq provides scores for regulatory and non-regulatory CD4+ T cells independently, but you are | ||
interested in the fraction of overall CD4+ T cells. In that case you can use | ||
|
@@ -300,15 +301,11 @@ a score in arbitrary units. | |
|
||
# FAQs | ||
### Can I specify a custom signature matrix through immunedeconv? | ||
No, currently not. The reason is that the methods are conceptually different. | ||
Some are marker gene based and others deconvolution-based. CIBERSORT performs | ||
feature-selection on the matrix while EPIC and quanTIseq don't. EPIC uses *all* | ||
genes to estimate the inter-sample variance while quanTIseq uses marker genes | ||
only. This is also being discussed in | ||
[#15](https://github.com/grst/immunedeconv/issues/15). | ||
|
||
You can, however, provide custom signatures for most individual methods (see | ||
next question). | ||
Currentl, four methods (EPIC, CIBERSORT, ConsensusTME and seqImmuCC) allow users to provide their own signature matrix and/or gene set. | ||
Please note that the format of the signatures might vary across methods. | ||
In addition, since the embedded signatures were optimized for the methods, user-provided ones might have a worse performance. | ||
If you want to know more, please see [#15](https://github.com/grst/immunedeconv/issues/15). | ||
|
||
|
||
### I want to use a special feature of a method, but I cannot access it through the `deconvolute` function. | ||
You can access each method individually through the `deconvolute_xxx` function. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happened to BASE?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing a method is a breaking change that should only happen with a good reason (+ major version bump + explanation in changelog)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not removing a method here, I'm just removing the possibility to use it with a custom matrix (this is due to an error in my implementation)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all good then