哈佛大学单细胞课程|笔记汇总 (五)
yuyutoo 2024-12-15 17:41 6 浏览 0 评论
生物信息学习的正确姿势
NGS系列文章包括NGS基础、在线绘图、转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这)、ChIP-seq分析 (ChIP-seq基本分析流程)、单细胞测序分析 (重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程)、DNA甲基化分析、重测序分析、GEO数据挖掘(典型医学设计实验GEO数据分析 (step-by-step))、批次效应处理等内容。
哈佛大学单细胞课程|笔记汇总 (四)
(五)Count Normalization and Principal Component Analysis
获得高质量的单细胞后,单细胞RNA-seq(scRNA-seq)分析工作流程的下一步就是执行聚类。聚类的目标是将不同的细胞类型分成独特的细胞亚群。为了进行聚类,我们确定了在细胞之间表达差异最大的基因。
数值标准化
标准化最重要的目的就是使表达水平在细胞之间和/或细胞内更具有可比性。那么在标准化中主要需要处理的因素包括:
测序深度:考虑测序深度是比较细胞之间基因表达的必要条件。在下面的示例中,每个基因在细胞2中的表达似乎都增加了一倍,但这是细胞2具有两倍测序深度的结果。
因此,要准确比较细胞之间的表达,有必要对测序深度进行标准化 (什么?你做的差异基因方法不合适?)。
基因长度:需要基因长度来比较同一细胞内不同基因之间的表达。基因长度越长比对到的reads理论上会越多。如下图所示:低表达的较长基因测序到的reads数与较高表达的短基因相差不大。
- 如果进行的是5’末端或3’末端测序,则不需要考虑基因长度的影响;
- 如果使用全长测序则需要考虑。
主成分分析(PCA)
PCA是对数据降维的技术,可以用来展示样品差异和相似性,这里推荐一个学习视频:StatQuest's video(https://www.youtube.com/watch?v=_UVHneBUBW0)
下面是PCA的示例模拟过程,帮助理解:
如果你已经定量了两个样本(或细胞)中四个基因的表达,则可以绘制这些基因的表达值,其中一个样本在x轴上表示,另一个样本在y轴上表示,如下所示:
我们可以沿代表最大变化的方向在数据上画一条线,在此示例中为对角线,数据中变化第一大的变量。数据集中的最大变异是在组成两个端点的基因。我们还看到基因在该线的上方和下方有些不同。我们可以在该条线的中点绘制另一条与其垂直的线,代表数据中变化第二大的变量。
末端附近的基因 (B, C)是变异最大的基因。这些基因在数学上对线的方向影响最大。
例如,基因C值的微小变化将极大地改变较长线的方向,而基因A或基因D的微小变化对其几乎没有影响。
我们还可以旋转整个图,保证线条方向是从左到右和从上到下。现在,可以将这些线视为代表变化的轴。这些轴本质上是“主成分”,其中PC1代表数据的最大差异,PC2代表数据的第二大差异。
如果有N个细胞,以此类推。。。(PCA主成分分析实战和可视化 | 附R代码和测试数据)
确定PCs后,则需要对每个PC进行评分,按照以下步骤对所有样本PC对(sample-PC pairs)计算分数:
(1)首先,根据基因对每个PC的影响程度,为其分配“影响力”评分。对给定PC没有任何影响的基因得分接近零,而具有更大影响力的基因得分更高。PC线末端的基因将产生更大的影响,因此它们将获得更大的分数,但两端的符号相反。
(2)确定影响分数后,使用以下公式计算每个样本的分数:
Sample1 PC1 score = (read count * influence) + ... for all genes
以我们的2个样本示例,以下是分数的计算方式:
## Sample1
PC1 score = (4 * -2) + (1 * -10) + (8 * 8) + (5 * 1) = 51
PC2 score = (4 * 0.5) + (1 * 1) + (8 * -5) + (5 * 6) = -7
## Sample2
PC1 score = (5 * -2) + (4 * -10) + (8 * 8) + (7 * 1) = 21
PC2 score = (5 * 0.5) + (4 * 1) + (8 * -5) + (7 * 6) = 8.5
(3)一旦为各个样本的所有PC计算了这些分数,就可以将其绘制在简单的散点图上。下面是示例图:
对于具有大量样本或细胞的数据集,通常会绘制每个样本/细胞的PC1和PC2分数。由于这些PC解释了数据集中最大的变化,因此更相似的样本/细胞将在PC1和PC2聚在一起。请参见下面的示例:
Image credit: https://github.com/AshwiniRS/Medium_Notebooks/blob/master/PCA/PCA_Iris
相关推荐
- MySQL中的数据类型(mysql数据类型有哪些,并举例)
-
MySQL中的数据类型...
- mysql窗口函数over中rows_MySQL窗口函数
-
下面的讲解将基于这个employee2表:mysql>SELECT*FROMemployee2;+----+-----------+------+---------+---------...
- 别再说你精通数据库,MySQL的设计和列类型选取真的很有讲究
-
总想写一篇MySQL的设计和列类型选取的文章,一直挤不出时间。天天晚上都要加班,正逢5.1放假,抽了几天就有了此文。如果对朋友们能有帮助的话,关注一波不过分吧?求关!选择更优的数据类型尽量选择存储空间...
- MySQL数据库知识(mysql数据库相关知识)
-
MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...
- 数据库:MySQL 高性能优化规范建议
-
数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,...
- MySQL实战——表结构设计之数字类型
-
整型不建议刻意去用unsigned属性,因为在做一些数据分析时,SQL可能返回的结果并不是想要得到的结果。比如在财务的场景下,经常会做一些加减操作。MySQL要求unsigned数值相减之...
- MySQL数据库入门(四)数据类型简介
-
在MySQL中数据类型有以下五种:数字整数:常用的有2种,一是int型,int型最多可以表示10位数字(无符号的4开头,有符号的2开头;二是tinyintunsigned,用来表示年龄(值范围是0-...
- mysql常用语句超级详细汇总(mysql常用语法)
-
1.连接数据库:连接本地数据库:mysql-uroot-p连接远程数据库:mysql-h192.169.22.199-uroot-p退出数据库:exit...
- MYSQL——CAST()函数的用法(mysql中case)
-
语法为:Cast(字段名as转换的类型),其中类型可以为:CHAR[(N)]字符型DATE日期型DATETIME日期和时间型...
- MySQL存储引擎背后的真相:为何InnoDB并非所有场景的最佳选择
-
MySQL存储引擎背后的真相:为何InnoDB并非所有场景的最佳选择引言部分你是否遇到过这样的情况:明明已经按照最佳实践选择了MySQL的InnoDB引擎,却发现某些查询依然缓慢得令人沮丧?或者当你的...
- MySQL 表分区?涨知识了(mysql数据表分区)
-
1.什么是表分区...
- 《MySQL必知必会》_笔记08(mysql必知必会mobi)
-
第19章插入数据一、数据插入概述INSERT语句用于向数据库表中插入(添加)数据,是SQL中常用的数据操作语句之一。它可以用多种方式使用,包括插入完整的行、插入行的一部分、插入多行以及插入某些查询的...
- 当 SQL Server(mssql-jdbc) 遇上 BigDecimal → 精度丢失,真坑!
-
开心一刻 中午和哥们一起喝茶 哥们说道:晚上喝酒去啊...
- MYSQL有哪些数据类型(mysql有哪些数据类型,有哪些运算符)
-
整理下以便查阅,还想吐槽下:这头条怎么就不能给文章分类呢?整数类型...
- 使用MySQL分区的注意事项(使用mysql分区的注意事项有哪些)
-
MySQL分区是将一个表分解成多个区块进行操作和保存,从而降低每次操作的数据量,提高性能。从逻辑上看,只有一个表,但物理上这个表可能由多个物理分区组成,每个分区都是一个独立的对象,可以进行独立处理。...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
推荐7个模板代码和其他游戏源码下载的网址
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)