sceasy转h5ad到rds之后基因名字消失的解决方案
最近在做各种各样的物种的单细胞数据清洗,在清洗到某个数据的时候,用sceasy转格式从h5ad到rds,发现了一个问题,基因名字消失了。
没有再去看sceasy的源码,从源码去解决问题,只能是把原先的基因名字进行迁移。
# 首先是是原先的基因的名字导出
adata.var.to_csv('Mop_10X_nuclei_v3_Broad_forRDS.csv')
接着是rds的基因名字的赋予
# 读取没有header的表格
df <- read.table('/data/work/stTransfer/data/sc_cell/Mop_10X_nuclei_v3_Broad_forRDS.csv', header = FALSE)
r = readRDS('/data/work/stTransfer/data/sc_cell/Mop_10X_nuclei_v3_Broad_forRDS.rds')
...
Transformer架构
Transformer模型的应用
基于seq2seq架构的transformer模型可以完成NLP领域研究的典型任务,如机器翻译,文本生成等。同时又可以构建预训练语言模型,用于不同任务的迁移学习。
在之后的架构分析中,我们将假设使用Transformer模型架构处理从一种语言文本到另外一种语言文本的翻译工作,因此很多命名方式遵循NLP中的规则。如:Embedding层将被称作文本嵌入层,Embedding层产生的张量被称为词嵌入张量,其最后一维被称为词向量等。
Transformer总体架构图
Transformer总体架构
输入部分
输出部分
编码器部分
解码器部分
输入部分包含
源文本嵌入层及其位置编码器
目标文本嵌入层及其位置编码器
输出部分包含
线性层
softmax层
编码器部分
由N个编码器堆叠而成
每个编码器层由两个子层连接结构组成
第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接
第二个子层连接结构包括一个前馈全连接子层和规范化层以及一个残差连接
解码器部 ...
记录一下hexo的博客迁移(物理)
换了新的电脑,一直以来自己的博客撰写的地址都是在电脑上面,自己的博客是基于hexo搭建的,所以需要将博客的文件迁移到新的电脑上面,这里记录一下迁移的过程。
直接把 node_modules
删除掉了,然后拷贝剩余的所有文件到新的设备上面。
拷贝之后第一项是安装 nodejs,地址如下:
https://nodejs.org/en/,下载安装即可,如果网络不方便,可以进行换源npm config set registry http://mirrors.cloud.tencent.com/npm/。
第二项是安装hexo,npm install -g hexo-cli,直接安装即可。
安装完成之后,进入到博客的文件夹,执行npm install,安装依赖。
安装依赖的过程中发现之后的安装的 packge.json
文件中的依赖有问题,淘宝的源换了,由原来的https://registry.npm.taobao.org换成了https://registry.npmmirror.com,所以需要将package.json文件中的源进行替换。
之后运行hexo server,即 ...
换一种UMAP的可视化方式
还是大家熟悉的猴脑文章,可能是大家较为熟悉的一张UMAP图片,但是其呈现方式和其他的UMAP图片却是有所不同,它的UMAP图片如下所示,其名字为Voronoi图:
具体思想如下,画出每个点,然后找出两个点之间的平分线,遍历所有的点,完成构图,进行颜色填充,具体代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import PolyCollection
from scipy.spatial import Voronoi, voronoi_plot_2d
from shapely.geometry import Polygon
def bounded_voronoi(bnd, pnts):
gn_pnts = np.concatenate([pnts, np.array([[100, 100], [100, -100], [-100, 0]])])
vor = Voronoi(gn_pnts)
bnd_poly = Polygon(b ...
换一种空间组的圈细胞可视化方式
大多数文章在进行空间转录组细胞可视化的时候,通常会使用 square bin
或是 cellbin,但是究其展示本质,其实还是 square
bin,比如下面的这种,每个细胞的呈现形式是一个 spot_size
固定为某个值的点。
但是有的文章的可视化就做的非常好,每个细胞不仅能够显示细胞形态,也能够显示细胞类型,比如这一种:
那这样子的效果要如何绘制呢?我的理解是每个细胞的label,对应圈细胞结果上的一群细胞覆盖的像素点,然后这些像素点都被打上细胞label,对圈细胞结果分析之后,可视化的时候,把每个细胞对应的label的像素点绘制上不同的颜色。
代码如下所示
import scanpy as sc
import pandas as pd
import anndata as ad
from scipy.sparse import csr_matrix
import numpy as np
import numpy as np
from PIL import Image
# 这里的 cellbin 是你用来分析的 cellbin 数据,甚至迁移了细胞类型的数据 ...
杂聊12
昨天抽了些时间对博客进行了一些优化,主要是对 butterfly
主题进行升级,由原先的 4.1.1 升级到了现在的 4.12.0。
之后对主题进行了一些个性化的修改,包括不限于:header bar
的样式、文章的样式、代码块的样式、字体的样式;cdn 的改动,由原先的
jsdelivr 全部改为了 local,jsdelivr 由于限制头会被禁止,local
之后所有功能均可以开启了。
修复了一部分博客之前用 jsdiliver 的问题。
计算某个区域中细胞的复杂性(2)
上一篇帖子提到了猴脑文章中某个区域中细胞复杂性的计算,后面又看到一张图,才是发现自己的计算少了一些东西,这里补充一下。
在原文的图四中还有一个图片,讲述了较为详细的计算过程,如下图所示:
首先是复杂性的获得,我的上一篇相关的博客已经讲了,但是那篇博客的问题也是在于此,我是直接获得了复杂性,把其他的信息都丢掉了,KD树的缺陷也在于此,于是不得已在此进行重构:
# 首先是包的引入,这里可能有很多包都是不需要的,但是我懒得删了,就这样吧
import numpy as np
from scipy.spatial.distance import cdist
import anndata as ad
import pandas as pd
import matplotlib.pyplot as plt
from collections import Counter
import seaborn as sns
from matplotlib.ticker import FuncFormatter
from matplotlib.colors import ListedColormap
f ...
spatial Transcription region deg genemodule heatmap GO analysis
After the spatial transcriptome is annotated manually, the regional
annotation information of the spatial group is obtained. At this time,
we want to obtain the functional annotation information of its
differentially expressed genes. There is no universal script here. I
only provide an idea. ,For reference.
Since most of our spatial group data is in the h5ad file format of
anndata, we need to convert it into the rds file format that can be read
by seurat. Here we use a convenient tool tha ...
空间组deg genemodule heatmap go分析
空间转录组通过手动划区注释之后,得到空间组的区域注释信息,这个时候我们便是想要得到其差异表达基因的功能注释信息,这里并没有能够通用的脚本,本人仅是提供一种思路,供大家参考。
由于我们的空间组的数据大都是 anndata 的 h5ad
的文件格式,所以我们需要将其转换为能够被 seurat 读取的 rds
文件格式,这里采用我们之前博客讲到的一个便捷工具 rds与h5ad的相互转换,大概代码如下所述:
sceasy::convertFormat('/data/*.h5ad',
from="anndata",
to="seurat",
main_layer = 'count',
outFile='/data/*.rds')
于是便是得到 ...
各区域不同细胞类型的统计
在处理空间组的数据的时候,很多情况下,我们会根据解剖学知识给某些地方进行区域注释;这块区域的细胞类型则是通过单细胞映射空间组进行的,再进行了手动赋予区域信息以及迁移映射了细胞类型信息之后,则需要对这些进行进行一些可视化以及一些统计分析。
可视化的代码如下,为一柱状堆积图:
library(pheatmap)
library(ggplot2)
library(viridis)
library(tidyverse)
df = read.table('*.csv', sep = ',')
colnames(df) = df[1, ]
df = df[-1, ] %>% select(-1)
df = df %>% group_by(region) %>% count(celltype)
df$Gyrus_Sulcus = factor(df$Ribbon, levels = c('Frontal', 'Insular', 'Par ...