Comments (10)
OK! We will try to add this as soon as possible.
Currently, you can work around this by adding all genes that you find interesting as annotation, for example, following code similar to
# TC (Nat Im review 2014 Yui)
tc_surface_receptors = ['Flt3', 'Cd44', 'Il2ra', 'Il7r', 'Cd3e', 'Cd4', 'Cd8a']
tc_markers = [
'Gata2', 'Hoxa9', 'Meis1', 'Lmo2', 'Mef2c', 'Gfi1b', 'Lyl1', 'Spi1', 'Bcl11a', 'Hhex', 'Mycn', 'Erg', 'Tcf3',
'Ikzf1', 'Tcf12', 'Notch1', 'Runx1', 'Gfi1', 'Myb', 'Myc', 'Gata3', 'Tcf7', 'Ets1', 'Hes1', 'Ahr', 'Tcf12',
'Bcl11b', 'Notch3', 'Spib', 'Ets2', 'Lef1', 'Rorc', 'Id3',
]
# DC, NK (Abcam poster)
dc_markers = ['Itgax', 'Cd24a', 'Ptprc']
nk_markers = ['Itgam', 'Il2rb', 'Klrb1', 'Ncr1']
all_markers = tc_surface_receptors + tc_markers + dc_markers + nk_markers
adata.smp[all_markers] = adata[:, all_markers].X
from scanpy.
Do you plan to publish scanpy on a high impact factor journal later? Some people argue that bioAxiv is not a serious journal and we are a little worried. After all, it will take us much time to follow scanpy.
from scanpy.
Scanpy will very soon be published in a high impact journal (we're currently in the revision). I'll let you know about this.
from scanpy.
We're still hesitant about making AnnData more complex, for these reasons:
- It is not inefficient to load multiple versions of the full data into AnnData.
- It is not straightforward to determine the point of the preprocessing at which one would want to save a version of the raw data (probably after filtering out cells and taking the logarithm, but this might change in the future).
As the second point implies that some manual intervention would be necessary, anyway, we tend to leave it to the user to keep track of one, two or more versions of the data; each with annotations that can easily be exchanged.
Specifically, would you be happy to proceed as in differential expression tests, see e.g., https://github.com/theislab/scanpy_usage/blob/master/170505_seurat/seurat.ipynb? You keep track of two versions of the data, one for doing all the machine learning inference and another one for doing statistics and plotting.
Using the linked example: for plotting, you would simply need to add the visualization basis to the AnnData that stores the raw data. Then you call sc.pl.tsne
.
adata_corrected = sc.read('pbmc3k_corrected')
adata_raw = sc.read('pbmc3k_filtered_raw_log')
adata_raw.smpm['X_tsne'] = adata_corrected.smpm['X_tsne']
adata_raw.smpm['X_pca'] = adata_corrected.smpm['X_pca']
sc.pl.tsne(adata_raw, color='NKG7')
from scanpy.
Finally, we could solve this elegantly without sacrificing a scalable design, as shown in the tutorial.
Also, Scanpy is accepted in Genome Biology and will soon be published.
Merry Christmas! :)
Alex
from scanpy.
Can you extend scanpy functions so that I can show gene expression level on plot generated by sc.pl.diffmap? just like that monocle2 does.
from scanpy.
And, in which step should I execute MNN batch effect correction ? Is it still necessary to regress out some variables ( n_counts, percent_mito et al.,) when I execute MNN ?
from scanpy.
from scanpy.
Is clarified in #168.
from scanpy.
Oh so wangjiawen2013 means to color in genes that were not filtered out? I see that makes sense. I was wondering if monocle can color by multiple genes in the same plot, but apparently I was completely on the wrong track here.
from scanpy.
Related Issues (20)
- ``biomart_annotations`` still creates cache when ``use_cache=False`` HOT 2
- Submodular optimization using apricot HOT 2
- Change default leiden clustering backend to `igraph`, and reduce default number of iterations
- Scanorama causing segfault on CI HOT 1
- Rename master -> main HOT 4
- More in depth example for `neighbors(transformer=...)` HOT 1
- scanpy 1.10.0rc1 breaks anndata pre-release tests
- log1p return matrix HOT 1
- Leiden and louvain params not saved to matching `key_added` key in `uns` dictionary
- Inconsistent array types from sc.get.aggregate HOT 4
- Out of Memory filtering returns TypeError HOT 1
- TCR and BCR genes and HVGs selection HOT 1
- Option to return sparse arrays from `sc.get.aggregate` HOT 3
- pre-release: AttributeError: type object 'StackedViolin' has no attribute 'DEFAULT_SCALE' HOT 1
- Dask update causing CI failures HOT 1
- sc.tl.leiden, restrict_to function not properly working HOT 1
- Get modularity score after community detection in leiden/louvain HOT 3
- Document input in `score_genes()`/`score_genes_cell_cycle()` HOT 1
- Add layer argument to `score_genes()`/`score_genes_cell_cycle()` HOT 1
- scale max value only cuts high values
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scanpy.