2024 年记
看到 Obsidian 的 CEO Steph Ango 写过 80...
辛顿的冬与春
零、负十字架的人 1947 年,在原子弹的余震中,新世界如大雪初霁,茫然而沉静。 那一年,《新闻周刊》发表了文章:《爱因斯坦,那个开启一切的人》。 那一年,爱因斯坦懊悔地说:“如果早知道德国人研发不出原子弹,我就不会为原子弹做任何事情!” 那一年,68 岁的爱因斯坦决定奔走全世界,讲述核战的末世图景,余生致力于推动核裁军。 那一年,世界没有为爱因斯坦停留半步,战略核威慑的骨相从虚空中浮现。 而后一个世纪,我们对社会最大胆的构想,对敌我最深刻的分别,一切光荣与梦想的枝蔓,都必须攀附于核威慑的穹窿之下。 一个试图破解万物奥秘的人,却因自己的求索背负了沉重的十字架,直到坟墓中也没卸下。 这是宇宙残酷的小玩笑。 正是在 1947 年的冬季,伦敦西南的温布尔顿,一个叫做杰弗里·辛顿的小男孩呱呱坠地。 站在辛顿和爱因斯坦的切近,你找不到他们的任何共同点,除了两人都获得了诺贝尔物理学奖。 相隔 102 年。 但如果退到崖边远眺,你也许会惊奇地目睹:历史的齿轮旋过几代人头顶,经过 102...
sceasy转h5ad到rds之后基因名字消失的解决方案
最近在做各种各样的物种的单细胞数据清洗,在清洗到某个数据的时候,用sceasy转格式从h5ad到rds,发现了一个问题,基因名字消失了。 没有再去看sceasy的源码,从源码去解决问题,只能是把原先的基因名字进行迁移。 12# 首先是是原先的基因的名字导出adata.var.to_csv('Mop_10X_nuclei_v3_Broad_forRDS.csv') 接着是rds的基因名字的赋予 123456789101112# 读取没有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')counts= r@assays$RNA@countsmeta =...
记录一下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...
换一种UMAP的可视化方式
还是大家熟悉的猴脑文章,可能是大家较为熟悉的一张UMAP图片,但是其呈现方式和其他的UMAP图片却是有所不同,它的UMAP图片如下所示,其名字为Voronoi图: 具体思想如下,画出每个点,然后找出两个点之间的平分线,遍历所有的点,完成构图,进行颜色填充,具体代码如下所示: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.collections import PolyCollectionfrom scipy.spatial import Voronoi, voronoi_plot_2dfrom shapely.geometry import Polygondef bounded_voronoi(bnd, pnts): gn_pnts = np.concatenate([pnts, np.array([[100, 100],...
换一种空间组的圈细胞可视化方式
大多数文章在进行空间转录组细胞可视化的时候,通常会使用 square bin 或是 cellbin,但是究其展示本质,其实还是 square bin,比如下面的这种,每个细胞的呈现形式是一个 spot_size 固定为某个值的点。 但是有的文章的可视化就做的非常好,每个细胞不仅能够显示细胞形态,也能够显示细胞类型,比如这一种: 那这样子的效果要如何绘制呢?我的理解是每个细胞的label,对应圈细胞结果上的一群细胞覆盖的像素点,然后这些像素点都被打上细胞label,对圈细胞结果分析之后,可视化的时候,把每个细胞对应的label的像素点绘制上不同的颜色。 代码如下所示 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100import scanpy as...
杂聊12
昨天抽了些时间对博客进行了一些优化,主要是对 butterfly 主题进行升级,由原先的 4.1.1 升级到了现在的 4.12.0。 之后对主题进行了一些个性化的修改,包括不限于:header bar 的样式、文章的样式、代码块的样式、字体的样式;cdn 的改动,由原先的 jsdelivr 全部改为了 local,jsdelivr 由于限制头会被禁止,local 之后所有功能均可以开启了。 修复了一部分博客之前用 jsdiliver 的问题。
计算某个区域中细胞的复杂性(2)
上一篇帖子提到了猴脑文章中某个区域中细胞复杂性的计算,后面又看到一张图,才是发现自己的计算少了一些东西,这里补充一下。 在原文的图四中还有一个图片,讲述了较为详细的计算过程,如下图所示: 首先是复杂性的获得,我的上一篇相关的博客已经讲了,但是那篇博客的问题也是在于此,我是直接获得了复杂性,把其他的信息都丢掉了,KD树的缺陷也在于此,于是不得已在此进行重构: 1234567891011# 首先是包的引入,这里可能有很多包都是不需要的,但是我懒得删了,就这样吧import numpy as npfrom scipy.spatial.distance import cdistimport anndata as adimport pandas as pdimport matplotlib.pyplot as pltfrom collections import Counterimport seaborn as snsfrom matplotlib.ticker import FuncFormatterfrom matplotlib.colors import...
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 that...