【Gene Expression Prediction】Part2 Enchancer discovery
文章目录
来自Manolis Kellis教授(MIT计算生物学主任)的课
YouTube:(Gene Expression Prediction - Lecture 09 - Deep Learning in Life Sciences (Spring 2021)
Slides: slides
本节课分为四个部分,本篇笔记是第二部分。
本节主要是一个讲座STARR-seq,探讨发现增强子的方法。如何利用弱监督学习检测增强子。评估了模型性能,以及它们在基因表达分析中的应用潜力。
5. 第一个讲座:Enchancer discovery


增强子是增强特定基因的转录的。对理解细胞如何在不同条件下调控基因表达至关重要。
以前的识别方法都是一些非监督方法,因为没有监督数据
5.1 STARR-seq

MPRA(Massively Parallel Reporter Assays)是一种高通量基因组功能验证技术。它可以同时测试成千上万个DNA序列(如启动子、增强子等调控元件)对基因表达的影响。
大量候选DNA序列插进短的报告基因vector中(比如荧光素酶基因,都包含一个小的启动子)。如果一个候选DNA是增强子,就会增强基因转录表达,就会被检测出来。
关键优点是能够在一个实验中评估大量序列,这是传统单个报告基因测定所无法实现的
STARR-seq 是MPRA的一个变体。
在一个细胞系中,它通过直接测量基因片段的活性来识别转录增强子。
产生数据为监督学习提供基础,DNA序列和其活性标签。
这里主要是为了大规模筛选,所以就用了统一的报告基因,就是为了测试DNA序列的增强子活性

不同细胞类型(如K562、HepG2等)进行的一系列基因组分析实验。
ENCODE项目研究人员的一个核心假设,即染色质的开放状态和组蛋白修饰之间的相互作用是调控基因表达特别是转录因子结合和增强子活性的关键。
这些数据集用于进行验证
在这里就是我们能否使用这些特征,来验证STARR-seq expression
5.2 Enchancer detection with weakly supervised learning

该模型结合了表观遗传特征数据(如ATAC-seq、DNase-seq和ChIP-seq的信号轨迹)和STARR-seq实验结果来训练一个模型,从而识别和精确定位增强子
-
首先模型的input,就是某个区域的,4kb大小的滑动窗口,进行移动
- 记录每个窗口的表观遗传标记的数据,包括组蛋白修饰的分布、DNA可及性的测量等等。(基因组上每个位置的综合信号强度)
- 按我的理解的话,就是一个input matrix就是4kb的窗口
-
然后output是STARR-seq实验得到的数据。
- 包括增强子位置区域预测和核心增强子区域(真正起到增强作用的)
-
神经网络使用这些数据来预测哪些窗口包含活跃的增强子区域。
-
Grad-CAM技术可以帮助分析决策过程,有助于科学家们理解模型为什么会认为某个特定区域是一个增强子。
-
这里其实是重点的一个部分
-
使用在训练过程中计算出的梯度信息,这些信息表示了模型输出(如增强子的预测位置)对输入特征的敏感性
-
可以看出哪些地方对决策贡献更大
-
例如,如果Grad-CAM揭示了在某个4kb窗口内,H3K27ac的特定模式与模型预测增强子存在密切相关,那么我们可以得出结论,这种特定的组蛋白修饰模式对于识别增强子是重要的。
-
这样的准则是更加通用的
-
如下图所示,Grad-CAM在弱监督学习中应用效果好。弱监督学习就比如只能告诉我们照片里有猫/狗,但是我们不知道具体位置
跟我们这里只知道增强子活动而不知其位置的道理是一样的

-
卷积层中的激活图
- 每个卷积核都会产还是呢个一个激活图,高亮了图像中相关特征的位置
-
梯度相加
- 对于所选的类别(如“狗”或“猫”),网络在最后一个卷积层的每个激活图上计算该类别相对于该激活图的梯度。
- 这些梯度表示激活图对于识别该类别的重要性。
- 梯度越大,越关键
-
组合生成热图
- 将这些梯度加权的激活图进行线性组合,得到最终的Grad-CAM热图
- 通过ReLU函数处理,保留对类别有正贡献的特征,取消无关特征。
-
在基因组学中
- 通过Grad-CAM,可以理解模型在预测基因组上的特定区域为增强子时,哪些表观遗传标记起了决定性作用。这有助于解释模型的决策过程,并可以指导进一步的生物实验来验证这些预测。
5.3 Model performance

一个基因组学模型在不同细胞系和染色体上的交叉验证
- 细胞系交叉验证:
- 模型使用一个或多个细胞系的数据进行训练,并在其他未使用的细胞系数据上进行测试。
- 泛化到新的细胞系的能力。
- 染色体交叉验证(Leave-One-Chromosome-Out Cross Validation):
- 模型在除了一个染色体的所有染色体数据上进行训练,并在剩下的那个染色体上进行测试。
- 验证模型是否能够泛化到基因组上新的位置。

左边的是预测出来增强子在的区域,并且给出了表观遗传标志和基因注释、预测标签
然后论文中该模型性能超过SOTA(这里不展示)

举例一下,关于神经祖细胞(NPC)的案例研究。
-
Grad-CAM技术分析
- 左图:不同表观遗传标记在4kb基因组窗口内的重要性评分。预测贡献。
- 右图:展示了窗口中每个位置的重要性评分。描绘出潜在增强子的精确位置。(就像检测猫在图中的哪个位置一样)
-
预测统计
- 总覆盖面积(Total Coverage):经过精细化的预测覆盖了更小的区域
- TSS重叠(TSS overlap):显示精细化后的预测与TSS的重叠比例显著增加(从原始的数值增加到71.0%),表明预测与已知的基因表达起始区域更加吻合。
- PhastCons得分:PhastCons是一种评估跨物种保守性的方法,得分增加(p-value < 0.001)表明经过精细化的预测区域在进化上更加保守,可能具有重要的生物学功能。
- 稀有衍生等位基因频率(Rare Derived-Allele-Frequency, DAF)SNP富集:稀有DAF SNP的富集表明这些区域在同种内也是受到选择压力的,进一步暗示预测的增强子在功能上是重要的。
相关文章:
【Gene Expression Prediction】Part2 Enchancer discovery
文章目录 5. 第一个讲座:Enchancer discovery5.1 STARR-seq5.2 Enchancer detection with weakly supervised learning5.3 Model performance 来自Manolis Kellis教授(MIT计算生物学主任)的课 YouTube:(Gene Expression Predictio…...
【UEFI基础】EDK网络框架(UDP4)
UDP4 UDP4协议说明 UDP的全称是User Datagram Protocol,它不提供复杂的控制机制,仅利用IP提供面向无连接的通信服务。它将上层应用程序发来的数据在收到的那一刻,立即按照原样发送到网络。 UDP报文格式: 各个参数说明如下&…...
vivado使用注意事项
记得给constrs(.xdc)限制文件设置为目标文件(set as Target Consraint File)...
gin路由篇
1. 基本路由 gin 框架中采用的路由库是基于httprouter做的 import ("net/http""github.com/gin-gonic/gin" )func main() {// 1.创建路由r : gin.Default()// 2.绑定路由规则,执行的函数// gin.Context,封装了request和responser.…...
C++逆向分析--继承的本质
一.一些思考 继承是面向对象的三个特性之一。这篇文章我们从底层的角度去理解什么是继承。他的作用是什么。首先继承的出现是更好的避免代码的重复冗余。要理解一件事很重要,C其实是C的延申。那么C的出现是为了解决C语言上C祖师爷认为不友好的事情,也为…...
LeetCode解法汇总2865. 美丽塔 I
目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你一个长…...
pinia 的使用方法
使用方式(选项式) 1、在 mian.js 导入 pinia 里的 createPinia 函数。 2、app.use 这个 createPinia 函数的返回值。 // main.jsimport { createPinia } from pinia;app.use(createPinia()); 3、创建一个 js 文件(该文件保存着共享的数据&…...
sky_take_out
day01: 前端网址通过nginx访问后端网址(前后网址不一致),有三个好处: 一是提高访问速度,二是进行负载均衡,三是保障后端安全性 用md5加密了密码 后端使用knife4j调试,用Swagger生成接口文档&am…...
LC 2865. 美丽塔 I
2865. 美丽塔 I 难度 : 中等 题目大意 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i ,高度为 heights[i] 。 如果以下条件满足,我们称这些塔是 美丽 的: 1 < heights…...
代理设计模式JDK动态代理CGLIB动态代理原理
代理设计模式 代理模式(Proxy),为其它对象提供一种代理以控制对这个对象的访问。如下图 从上面的类图可以看出,通过代理模式,客户端访问接口时的实例实际上是Proxy对象,Proxy对象持有RealSubject的引用&am…...
[陇剑杯 2021]webshell
[陇剑杯 2021]webshell 题目做法及思路解析(个人分享) 问一:单位网站被黑客挂马,请您从流量中分析出webshell,进行回答: 黑客登录系统使用的密码是_____________。 题目思路: 分析题目&…...
美易官方:小米汽车交付时间传闻被官方辟谣
在科技与互联网的快速发展浪潮中,各类信息传播速度之快令人咋舌。然而,信息的真实性却时常成为公众关注的焦点。近日,关于小米汽车交付时间的谣言再次引起市场的广泛关注。小米公司发言人迅速作出回应,明确指出这些关于小米汽车交…...
MySQL 简介
什么是MySQL?(熟悉) MySQL是一个开源的、使用标准SQL语言的、可运行于多个系统的、支持多语言的、支持大型数据库的关系型数据库管理系统。由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。我们通常使用关系型数据库管理系统…...
动态规划最后一天(回文串)
目录 647. 回文子串 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难(看代码) 516.最长回文子序列 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难(看代码) 647. 回文子串 力扣题目链接…...
c语言之scanf函数
scanf函数语法格式与printf函数很相似,语法是scanf(格式控制,地址列表)组成 其中格式控制分为两部分,一部分由双引号括起来的,%和格式字符组成的格式字符串 普通字符串则是原样输出 地址列表是若干地址组成的表列,可以是变量的…...
ORM-02-JPA Java Persistence API 注解入门介绍
拓展阅读 The jdbc pool for java.(java 手写 jdbc 数据库连接池实现) The simple mybatis.(手写简易版 mybatis) JPA JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射…...
【MQ01】什么是消息队列?用哪个消息队列?
什么是消息队列?用哪个消息队列? 来了来了,消息队列系列总算来咯。对于搜索引擎相关的知识大家消化的怎么样呀?其实对于搜索引擎来说,我们学习的内容还是挺全面的,也算是比较深入了。而对于消息队列来说&am…...
2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 2023年是人工智能大语言模型大爆发的一年,一些概念和英文缩写也在这一年里集中出现,很容易混淆,甚至把人搞懵。 文章目录 前言01 《ChatGPT 驱动软件开…...
【Flink-CDC】Flink CDC 介绍和原理概述
【Flink-CDC】Flink CDC 介绍和原理概述 1)基于查询的 CDC 和基于日志的 CDC2)Flink CDC3)Flink CDC原理简述4)基于 Flink SQL CDC 的数据同步方案实践4.1.案例 1 : Flink SQL CDC JDBC Connector4.2.案例 2 : CDC Streaming ETL…...
长城资产信息技术岗24届校招面试面经
本文介绍2024届秋招中,中国长城资产管理股份有限公司的信息技术岗岗位一面的面试基本情况、提问问题等。 10月投递了中国长城资产管理股份有限公司的信息技术岗岗位,所在部门为长城新盛信托有限责任公司。目前完成了一面,在这里记录一下一面经…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...
标注工具核心架构分析——主窗口的图像显示
🏗️ 标注工具核心架构分析 📋 系统概述 主要有两个核心类,采用经典的 Scene-View 架构模式: 🎯 核心类结构 1. AnnotationScene (QGraphicsScene子类) 主要负责标注场景的管理和交互 🔧 关键函数&…...
