3k 词
引言一般来说,使用GO和KEGG数据库对差异基因进行基因富集分析,多是 ORA:基于对特定组内外(如通路)的差异基因、背景基因数量进行检验,看组内外的差异基因是否随机分布。比如ClusterProfiler包中的enrichGO()和enrichKEGG() GSEA:差异基因按log2FoldChange降序排序后,顺序遍历,按差异基因是否在特定组(如通路)内进行加减分,并进行检验,最后NES可以看出组内的整体表达趋势。比如同样是ClusterProfiler包中的gseGO()和gseKEGG() GO数据库条目之间至少可能还有Positively regulates和Negatively regulates两种关系,暂且不论。但KEGG一个通路内的基因,极度简化,既有正向的也有负向的,而且还有更复杂的,有一些使用KEGG数据库的做法是把上下调的差异基因分别进行ORA,或者一起进行GSEA,仔细想想其实很没道理。以GSEA举例,如果一个通路内正向的基因上调,负向的基因下调,这样子整体表达趋势却可能是不变,会认为不显著。 (GSEA针对这个问题,有一种办法,可以取log2F...
5.1k 词
和scRNA-seq比起来,就是每个样本点有了空间信息,并且每个样本点是一群细胞,那么要做的和之前的十分相似,只是主要有以下不同: 寻找差异表达基因时,有2种手段 聚类后在簇之间寻找,不需要空间信息 根据空间信息寻找 进行类型注释时,有2种手段 寻找和scRNA-seq之间的锚点,然后整合,每个spot只能预测出1种细胞类型 使用scRNA-seq作为参考,对每个spot进行反卷积,能得到每个spot内不同类型的比例 在这个示例里,都采用前者,原始代码见seurat官网。 数据导入 这里使用feature-barcode矩阵和空间图片作为输入。 表达矩阵 空间信息 用于整合的scRNA-seq数据 数据导入 123456789101112131415161718192021222324252627282930pkgs <- c("Seurat", "dplyr", "ggplot2", "patchwork")pkgs_bi...
6k 词
ATAC-seq的原理可以通过这个视频简单了解,在染色质开放区域,转座事件更容易发生,产生更多片段,形成peak。 通过scATAC-seq分析,我们可以得出,例如,不同条件下染色质开放区域的差异,高度开放区域可能为活跃转录的基因。 这里使用Seurat V5和signac对PBMC进行scATAC-seq分析,原始代码见signac文档。 数据导入 peak-细胞计数矩阵 元数据 片段信息 这个片段信息结构是,染色体-起始位置-终止位置-barcode等 片段信息索引 scRNA-seq数据 (所以其实,可以只用片段信息来生成peak-细胞计数矩阵。) 还可以添加注释信息,便于下游分析直接从对象中读取。 生成Seurat对象 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950pkgs <- c("Signac", "Seurat", "hdf5...
8k 词
线性回归 引言 在中学就学习过,一元线性回归中,对于某组常数项和回归系数,有评价标准 使用最小二乘法(正规方程)可以使其最小,此时 多元线性回归 损失函数 类似地,多元线性回归中,对于个样本的个特征 以及一组回归系数,有相同的评价标准,为了去掉样本规模的影响除以,定义损失函数 正规方程 同样可以使用正规方程,求解使得最小。 标量对向量的求导方法 或 依据和形式一致(Denominator Layout)或和形式一致(Numerator Layout)而定,以下采用Denominator Layout。 于是我们有 (或者说,,则) 进一步地,对于二次型 于是 所以 这也就是雅可比矩阵。 二阶导 上面直接认定了代价函数有最小值,在这里我们可以向量对向量求导求海森矩阵 (因为连续函数偏导和求导顺序无关,其海森矩阵是对称矩阵) 而对于任意非零实列向量,的特征值 (内积) 所以是凸函数 令,若可逆,有 带回到一元线性回归 对于 和上文一致。 梯度下降法 就是让某组不...
636 词
前言 之前看到好多人说自己卸载win+linux双系统的linux之后,启动项、引导之类的都坏了,但是在了解UEFI+GPT和Legacy+MBR的区别后,如果自己的双系统是在UEFI引导模式+GPT分区表格式的,那不用担心,出问题的多是Legacy+MBR。 UEFI+GPT UEFI+GPT需要一个存放引导启动文件的fat分区,名字可能叫做ESP、System_DRV、EFI等,我的这个分区下面还有一个EFI目录,里面是windows和debian的引导文件。 而另外装系统的分区就只有系统而已。 Legacy+MBR Legacy+MBR在最前面的一段引导扇区中描述了分区引导信息(MBR),grub可能会安装到MBR里(安装win时也会覆盖进去)。 这种情况下,引导顺序是MBR->grub->linux boot数据->用户选择,所以直接删掉linux之后,grub就会出错。 所以还需要修复MBR。 UEFI+GPT卸载Linux流程 确定自己的模式是UEFI+GPT UEFI这个在bios里就能看到,或者运行msinfo32,在系...
7.7k 词
数据处理 [2025-01-13]FFmpeg在使用filter后默认输出的码率降低? 在使用如下filter(crop)而不指定码率时,偶然发现输出糊了很多,再仔细看输出的码率降低了很多,或许需要使用-b:v 12000k之类的指定码率。 1for %f in (*.*) do ffmpeg -i "%f" -filter:v "crop=iw*(10/10):ih*(3/10):iw:ih*(7/10)" "%~nf_lower%~xf" 另外其实我上面命令写错了,但是结果正常,这也说明保留画面的大小是优先于其位置的。 [2025-01-13]DeepLabCut2024年12月版本No unfiltered data file found 前段时间更新的某版本有bug,如下情况不生成.h5: 使用TensorFlow模型(据开发者,但是我在服务器用TensorFlow训练好之后在本地用没问题) 本地训练的pyTorch模型(我遇到的) 最新版本已经修复,但是不知道为什么,直接pip install没法覆盖,先卸载再安装。 杂项 [2025-0...
3.8k 词
将二元数映射到一元数 给定一个二元数,其中的整数部分依次为数列,小数部分依次为数列,同理的整数部分为数列,小数部分为数列。 可以构造出与其唯一对应的一元数:的整数部分有一分隔标记,其左方为逆序的数列,右方为正序的数列,小数部分同理。 (内心OS:这样二元数不就和一元数一样多了么(没学好) 结果还真一样多,别人的构造方法还漂亮多了:小数部分的第位为,第位为,整数部分同理。 证明:有无穷多个质数 给定质数,构造,再构造,则除以中任意一个数都余,并且大于中任意一个数包括,所以要么是质数,要么有一个大于的质因数。 所以对于任意质数,都存在一个比它大的质数。 (好像是阿基米德的方法) SpinLaunch的角动量问题 如上00:25说:发射器一端圆盘的近端慢于远端,所以圆盘释放时会带有角动量,听起来很符合直觉。这或许也是SpinLaunch(怎么logo像厕纸一样)面临的问题之一,下面对这个问题进行定量分析。 假设发射器角速度为,均质等厚圆盘中心到发射器轴的距离为,圆盘半径为,密度为。 那么,以发射器轴为中心画圆弧分割,为圆盘某点与圆心的距离,为此连...
2.2k 词
scRNA-seq(R) [2024-07-25]Rstudio server的Python venv配置 有时候安装设置完之后即使看到配置成功了,但是还是无效,试着重启一下吧。 [2024-12-15]Read10x()在Seurat V5中新功能的表现(多数据库报错) 在V5中,Read10x()可以读取一个目录的列表,直接整合成一个表达矩阵,但是实测在遇到基因没法对应的多个样本时会报Error in cbind.Matrix(x, y, deparse.level = 0L) : number of rows of matrices must match,还会卡住。 并且运行速度慢于lapply()分别读取(虽说这样还要merge、JoinLayers吧),还会产生没法回收的内存垃圾。 [2024-12-17]基因ID转换 从前用的org.Hs.eg.db之类的,但是他们的转换率不太行。 换用biomaRt,但是注意,举例来说,biomRt不仅会扔掉一些没法识别的ENSEMBL,还会把一些转换成NA,一些转换成"",需要特殊处理一下。 [2024-...
362 词
引言 最近购买了某商品,其上贴有所谓“海关商品溯源”系统贴纸,使用方法大致如下: 扫描二维码获取url进入系统 输入涂层下口令的末位并验证 但是发现其url包含了所需输入口令的一部分,也就是说它本来就藏在二维码中。 尝试更改url,即可构造出任意密码皆可查询成功的url。 并且可以更改成使原密码无效的url。 简析 查询界面url结构为通用段A+口令末位,服务器根据此返回整个口令,为通用段B+口令末位。 其查询过程即为发送参数包含口令以及输入口令末位的请求,服务器应该是直接根据参数是否匹配返回结果,同时返回的还有此参数的查询次数。 但是通用段不可任意更改,某些值会导致查询失败。 结论 那就有几个可能: 这是设计给假货的盗版系统 这是外包给哪个大学生做的系统 但是东西用着感觉和以前一样,这个系统好像也和以前官方买的一样...... 根本不一样啊喂!