组蛋白乳酸化 | 调控蛋白Writers、Erasers和Readers

组蛋白修饰的调控可以被归类为三类蛋白:Writers(写入者)、Erasers(擦除者)和Readers(读取者)。Writers是负责在组蛋白上添加修饰基团的蛋白,包括乙酰化、甲基化等修饰。Erasers则是负责去除组蛋白上修饰基团的蛋白,恢复组蛋白的原始状态。Readers是能够识别和结合特定修饰基团的蛋白,从而调控基因表达和其他细胞过程。这三类蛋白共同参与组蛋白的动态修饰和功能调节。

作为2019年首次报道的组蛋白乳酸化修饰,它的调控蛋白有哪些吗?我们今天来看看。

图片

图:参与组蛋白乳酸化发生的过程和关键酶[1]

01.Writers

目前,已报道组蛋白乳酸化的writers有:p300、GCN5、HBO1。

p300是最早发现的对乳酸化有写入功能的蛋白。首次报道组蛋白乳酸化的研究中,在HEK293T细胞中过表达p300,并观察到组蛋白Kla水平略有升高[2];在HCT116和HEK293T细胞中沉默p300可以降低Kla的水平,证实了p300是一个潜在的Kla的writers。2022年在一篇心肌梗死的研究中,发现GCN5对组蛋白修饰H3K18la有明显地催化作用[3]。p300和GCN5都属于HAT家族。

2024年,Nature Communications上的一篇报道发现一个赖氨酸乳酸化的转移酶HBO1,它可以在体外和细胞内调节组蛋白Kla[4]。基于SILAC和位点特异性抗体验证,研究发现HBO1可能优先催化H3K9la。HBO1是MYST家族的一员,是一种多功能的组蛋白酰基转移酶,在体内和体外均可催化组蛋白乙酰化、丙酰化、丁基化、巴豆酰化和苯甲酰化

这些发现的乳酸化writers,除了可以催化乳酸化,还可以催化其他酰化修饰,它们之间是否存在竞争关系,值得探索。

02.Erasers

目前,已报道组蛋白乳酸化的Erasers有:HDAC1-3、HDAC8和SIRT1-3。HDAC1-3和SIRT1-3在体外被鉴定为组蛋白乳酸化的Erasers[5]。该研究还进行了超表达和RNA干扰敲除HDAC1-3,并确定HDAC1和HDAC3在细胞中具有脱乳酸酶活性。HDAC3不仅在H4K5,而且在多个位点调节细胞中的组蛋白乳酸化。Fan等人观察到SIRT3对H4K16la位点比其他人类Sirtuins表现出更高的擦除活性[7]。

03.Readers

2024年,一篇诱导多能干细胞(iPSCs)重编程的研究报道了Brg1蛋白是组蛋白乳酸化的阅读器,这是首次报道的组蛋白乳酸化Reader。该研究证实了Dux过表达诱导的H3K18la修饰控制了代谢H3K18la-MET网络,通过代谢开关提高iPSC重编程效率,并通过其C端结构域招募p300。此外,研究对H3K18la免疫共沉淀实验的蛋白质组学分析揭示了在重编程过程中Brg1的特异性募集,H3K18la和Brg1都富集在与多能性和上皮连接相关的基因启动子上,从而促进细胞MET(间充质-上皮转变)的过程[6]。

  • 参考文献

[1]  Gao X., Pang CY., Fan ZY., et al. Regulation of newly identified lysine lactylation in cancer. Cancer Letters. 2024. 10:587:216680.

[2]Zhang, D., Tang, Z., Huang, H. et al. Metabolic regulation of gene expression by histone lactylation. Nature 574, 575–580 (2019).

[3]Wang N, Wang W, Wang X, et al. Histone lactylation boosts reparative gene activation post–myocardial infarction[J]. Circulation research, 2022, 131(11): 893-908.

[4]Niu Z, Chen C, Wang S, et al. HBO1 catalyzes lysine lactylation and mediates histone H3K9la to regulate gene transcription[J]. Nature communications, 2024, 15(1): 3561.

[5]Moreno-Yruela C, Zhang D, Wei W, et al. Class I histone deacetylases (HDAC1–3) are histone lysine delactylases[J]. Science advances, 2022, 8(3): eabi6696.

[6]Hu X, Huang X, Yang Y, et al. Dux activates metabolism-lactylation-MET network during early iPSC reprogramming with Brg1 as the histone lactylation reader[J]. Nucleic acids research, 2024, 52(10): 5529-5548.

[7]FAN, Zhuming, et al. Identification of SIRT3 as an eraser of H4K16la. Iscience, 2023, 26.10.

图片

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
The Readers-Writer problem is a classic synchronization problem in computer science. In this problem, multiple threads need access to a shared resource. However, some of these threads only need to read from the resource, while others need to write to it. To ensure correctness and avoid data corruption, we need to implement a solution that allows concurrent reading but exclusive writing. One common solution to this problem is to use a semaphore or a lock to coordinate access to the shared resource between readers and writers. Here's an implementation of the Readers-Writer problem using a mutex and a condition variable in C++: ```c++ #include <mutex> #include <condition_variable> class ReadersWriter { public: ReadersWriter() : readers_count(0), writer_active(false) {} void start_read() { std::unique_lock<std::mutex> lock(m); while (writer_active) { // wait until no writer is active cv_read.wait(lock); } ++readers_count; } void end_read() { std::unique_lock<std::mutex> lock(m); --readers_count; if (readers_count == 0) { cv_write.notify_one(); // notify waiting writers } } void start_write() { std::unique_lock<std::mutex> lock(m); while (writer_active || readers_count > 0) { // wait until no readers or writers are active cv_write.wait(lock); } writer_active = true; } void end_write() { std::unique_lock<std::mutex> lock(m); writer_active = false; cv_write.notify_one(); // notify waiting writers cv_read.notify_all(); // notify waiting readers } private: std::mutex m; std::condition_variable cv_read; std::condition_variable cv_write; int readers_count; bool writer_active; }; ``` In this implementation, we use a mutex `m` to ensure exclusive access to the shared variables `readers_count` and `writer_active`. We also use two condition variables `cv_read` and `cv_write` to coordinate access between readers and writers. When a thread wants to start reading, it first acquires the lock `m` and then waits on the condition variable `cv_read` until there are no active writers. If there are active writers, the thread blocks until it's notified by a writer that it has finished writing. Once it's safe to read, the thread increases the `readers_count` and releases the lock `m`. When a thread wants to end reading, it first acquires the lock `m` and then decreases the `readers_count`. If there are no more readers, the thread notifies waiting writers using the condition variable `cv_write` and releases the lock `m`. When a thread wants to start writing, it first acquires the lock `m` and then waits on the condition variable `cv_write` until there are no active readers or writers. If there are active readers or writers, the thread blocks until it's notified by a reader or writer that it has finished accessing the shared resource. Once it's safe to write, the thread sets the `writer_active` flag to true and releases the lock `m`. When a thread wants to end writing, it first acquires the lock `m` and then sets the `writer_active` flag to false. The thread then notifies waiting writers using the condition variable `cv_write` and waiting readers using the condition variable `cv_read`, and releases the lock `m`.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值