空间转录组不同binsize之间迁移注释
在做空间转录组分析的时候,我们大多数会使用两种类型的数据,一种是bin100,bin50此类的数据,还有一种则是cellbin的数据,通常我们会使用
bin100/bin50 这样子的数据去做区域的注释,而 cellbin
的数据则是通过单细胞映射空间组,得到细胞类型的数据。但是这两种数据之间的迁移注释是一个问题,因为他们的分辨率不一样,所以我们需要将他们进行迁移注释,让
cellbin 的数据注释上脑区的信息。
首先要明确的是,我们的 bin100/bin50 的数据都是由同一个空间组的 gem
之类的文件生成的,要保证其基准坐标保持不变,这样子才能进行迁移注释。
但是基准不变的话,其实从 bin100 映射到 bin50 与 bin100 映射到 cellbin
其实原理是一样的,都是将 bin100 的数据映射到 bin50 或者 cellbin
的数据上,所以我们可以直接使用 bin100 的数据去做迁移注释。
首先,bin100 的每个 spots 都有一个坐标,但是实际上 bin100 应该是要有
100100...
杂聊11
今天起床就更晚了,但是昨晚却是睡得很是舒适,昨天健身到了十一点多,相信身体确实是累了,所以睡得很是香甜。
今天早上起来,就是在床上躺了一会儿,然后就是起来洗漱,然后就是去研究院。
早上回顾了昨天留下来的一些工作,发现了一些奇妙的科学现象,这很奇妙,确实是一个比较好的科学发现了。
中午和大家一起吃了饭,回来之后睡到了两点,下午的工作在于读论文,做分析,处理数据,也是比较快乐了。
下午的时候悄悄的出去海底捞,和朋友们一起,一群单身的朋友们和我这一个有女朋友的人一起吃饭,这很是奇妙。
临近走的时候隔壁桌开始唱起了生日歌,倒是第一次感受这样子的情景。
晚上回来的时候,路上不停的吹着冷风,那个时候突然觉得好疲惫,好想休息,但是回到了研究院之后却觉得又是一切都变得精神抖擞了。
一天啊,就这样子过去了。
好好吃饭,好好睡觉,好好地生活下去,绝大多数事情都能迎刃而解。
杂聊10
...
spatial transcriptomics 3d visualization
With development of spatial transfriptomics, we can get the spatial
information of gene expression. However, the data is 2D, and it is hard
to visualize the data in 3D. Here, I will introduce some methods to
visualize the data in 3D.
But for the first time, there are only some visualization method,
next i will introduce some methods.
here is the code, which is easy for understanding.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748def...
单细胞随机采样
最近单细胞图谱越来越多的涌现,我们经常要用到别人产出的超级高质量的单细胞与自己测的细胞进行比较分析,但是图谱往往具有非常多的细胞数量,正常的计算设备无法带动,以最近发表的Science专刊的单细胞数据为例,动辄便是三四百万的单细胞量级,这个时候我们就需要对数据进行随机采样,以达到我们的计算能力,同时也不会影响我们的分析结果。
以小鼠的单细胞数据为例,The cell type composition of the adult mouse
brain revealed by single cell and spatial
genomics,这篇文章有4388420单核数据,读取下来需要400G+的运行内存,于是需要我们进行下采样,进行后续的分析。
有两种下采样方式,一种是每种细胞类群取N个,另一种是每种细胞类群取百分比,我通常使用百分比取样,是的细胞比例分布不改变。详细代码如下所示。
123456789101112import anndata as adadata =...
rds与h5ad的相互转换
之前做过一个 rds 转 h5ad
的教程,现在看来发现有些过于繁琐,且随着时间的发展,也有了更好的方法的出现,所以这里再写一个教程。
新的工具包是 https://github.com/cellgeni/sceasy
,这是一个专注于做各种单细胞文件格式转换的文件,但是作者也并没有写明一个特别完整的参数说明,所以这里我也只能根据自己的使用经验来写一下。
安装可以如作者所述,直接安装即可
123conda install -c bioconda r-sceasy# 或者devtools::install_github("cellgeni/sceasy")
安装并不复杂,这里会详细讲一下其更为优秀的使用
12345678910# 首先是包的载入,只需载入这两行即可,如果你的文件没有 loom的话,那么就不需要载入 loom包library(sceasy)library(reticulate)# 单细胞的 rds 文件与 h5ad 文件之间的互相转换如下即可sceasy::convertFormat(seurat_object,...
杂聊9
...
使用GTF和fasta生成每个geneid对应最长的fasta序列
在进行单细胞测序的时候,我们通常最后得到的是 cell*geneid 的 matrix
文件,有时候我们需要 geneid 以及 geneid 对应的 fasta
序列数据,这就需要让我们做一些处理。
我们所需的文件是 gtf 文件和 基因组文件,需要使用的工具是 gffread
文件,这些大家都可以从官网进行下载。
以我们的数据为例,我们使用的是 GRCh38.p13.genome.fa
的数据,所以便是可以进行如下的代码分析
1gffread gencode.v35.primary_assembly.annotation.gtf -g GRCh38.p13.genome.fa -w cds.fa --table @genename
在 cds.fa 数据中,我们就能得到 geneid 和 fasta
数据对应的文件,大概如下所示
1234567head 5...
杂聊8
...
scanpy多张图绘制于一张
当我们一次有多个数据,而且我们想要使用scanpy绘制umap图,或是spatial图的时候,大多数人一次只是绘制一个umap图或是一个spatial图在一个png或是一个pdf上面,对于我们可视化来说可能并没有那么轻便,于是需要做一些调整,借助于matplotlib的内参,让我们可以较为轻松的绘制多张图在一张图上面。代码比较容易理解,详细代码如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546fig=plt.figure(figsize=(20,20))for i in range(1,13): temp = adata[adata.obs['slices']==str(i)] # ax=fig.add_subplot(221) csv = pd.read_csv('/data/work/04.Transfer/RCTD/Result/all_batch/1014/' + str(i) +...