7-4 重排链表 (25分)_Alectinib治疗ALK重排阳性NSCLC的最新结果

e2026bee76657b225402c08a44bdcb62.png

与癌共舞 成立于2010年,是草根抗癌的大本营。虽自称草根实则高手云集,我们密切跟踪国外临床最新药物,潜心钻研不同临床方案的设计思路及实际效果,开创性的采用不同靶向药联用方案。靠着永不言弃的决心,满腔的热情和探索精神,将亲人的寿命不断延长。

以下文章来源于与爱共舞订阅号 ,作者与癌共舞论坛

https://mp.weixin.qq.com/s?__biz=MjM5NTg4MDMyMg==&mid=2247502975&idx=1&sn=94354754b0dd345e3d603cce1533ed2c&chksm=a6f340929184c984eaacd897dc5ad746ef29e13b44645c5dc6af609eb6dcd9380284cebcae0a&scene=126&sessionid=1597629479&key=b0e41fc55fd7ea00ca526831b61e881ad8007b1170f4520b7cde697e25ffd259b3fca55bb755fff01734f80298ae610f41404ca9ff6e9d290517aaf595fcd8fc6b9f3cdb07196a2b72850741c51e31c204afff78b4ad9b4f9f3d81da2e1f280ddf12f77c3189c3d601491104d4787ef5689bee172198cf0d61cf811e841e64d3&ascene=1&uin=MTE2NjkxNDQxMw%3D%3D&devicetype=Windows+10+x64&version=6209007b&lang=zh_CN&exportkey=Ayol%2BxPaSHqIlOPmrPA9rj8%3D&pass_ticket=BgYOp7iZqy7agBA80l7WAvUiK4%2BQhuLYeppM%2BzUT%2FvYnrY8rdczK6KMskJCsduht​mp.weixin.qq.com

作者:朱女士

ALK重排阳性—值得关注的肺癌亚型

ALK是一种间变性淋巴瘤激酶(Anaplastic Lymphoma kinase, ALK),2007年有学者发现在ALK 基因的重排(EML4-ALK)可以促使肺癌的发生和进展。因此,ALK 基因重排型肺癌便成为肺癌中的一种分子亚型,并且主要见于NSCLC中,约占肺癌的3%-5%。临床上,尽管ALK阳性的NSCLC在肺癌中的比例较低,但在我国,每年新发的ALK重排阳性NSCLC病例将近有35000例。因此,ALK重排阳性的NSCLC在国内已经引起了广泛关注。

目前,针对ALK重排的诊断方法主要有荧光原位杂交法(FISH),Ventana免疫组织化学法(Ventana-IHC)和PCR法。在国内,由于有些地区条件有限,《中国ALK阳性非小细胞肺癌专家诊断共识》推荐采用手动免疫组织化学法(手动-IHC)进行ALK阳性NSCLC患者的初步筛查。因此,IHC筛查结果阳性的患者必须接受FISH、PCR或Ventana IHC三种中的任何一种方法检测以进一步确诊。

早期ALK阳性NSCLC患者可以采用手术切除或放射治疗。但晚期ALK阳性NSCLC患者则优先选择靶向药物治疗和全身化疗。目前晚期ALK阳性NSCLC的靶向治疗药物主要是ALK酪氨酸激酶抑制剂,例如阿来替尼,克唑替尼、塞瑞替尼、布加替尼等。今天我们主要为大家介绍的是阿来替尼(Alectinib)。

Alectinib—高选择性的ALK抑制剂

Alectinib,中文名称是阿来替尼,别名又叫艾乐替尼或阿雷替尼,是一种口服制剂,由Chugai Pharmaceutical Co. Japan 开发,随后Chugai被罗氏以100亿美元收购,成为罗氏集团的一部分,因此Alectinib也就变成了罗氏产品。Alectinib的分子结构包含一个独特的苯并咔唑衍生物的支架结构,这种结构能够与 ALK 激酶区完全结合,从而表现出对 ALK 更高的选择性及抑制效果(图1)。

b1ab571b379af95137a6f251cabdb4a1.png
图1 Alectinib的分子结构

Alectinib早在2015年12月就被美国FDA批准上市,主要用于克唑替尼耐药后的非小细胞肺癌患者的治疗。近年来,随着临床研究的不断深,Alectinib又于2017年11月被批准用于晚期ALK突变的非小细胞肺癌一线治疗。在国内,Alectinib也于2018年8月由中国CFDA批准上市,用于晚期ALK突变的非小细胞肺癌一线治疗。

既往研究结果显示Alectinib不仅能显著延长NSCLC患者的无进展生存期,而且在已经发生脑转的患者中,Alectinib一线使用后的疗效也十分显著。和同类的其他ALK抑制剂,例如克唑替尼、塞瑞替尼、布加替尼相比,Alectinib的无进展生存期最长,治疗效果最佳,备受临床关注。

Alectinib—克唑替尼耐药后的优选药物

既往研究报道Alectinib具有高效低毒的特点,中位PFS可达到34.8个月,是目前ALK+ NSCLC患者的一线优选方案,也是克唑替尼耐药后的优选药物。在不良反应方面,Alectinib常见的不良反应主要有便秘、疲乏、水肿等,主要为1-2级不良反应(图2)。并且,在国内2020年Alectinib已全线降价并进入国家乙类医保,这在很大程度上减轻了广大患者的经济负担。

aa4c49237580a82f3807e2a48356777b.png
图2 Alectinib是克唑替尼耐药后的优选药物

LOGIK 1401最新研究结果

既往LOGIK 1401研究曾报告了在ALK重排阳性非小细胞肺癌(NSCLC)和表现状态(PS)较差的患者中,Alectinib治疗的效果显著并且安全性好,然而关于Alectinib治疗ALK重排阳性非小细胞肺癌(NSCLC)长期获益情况目前尚不明确。近期,《The Oncologist》杂志发表了一篇关于Alectinib治疗ALK重排阳性非小细胞肺癌(NSCLC)长期疗效的研究[1],下面我们一起来看看这项研究的具体结果吧。

研究方法

本研究以IIIB或IV期肺腺癌或术后复发的患者为主要研究对象,所有患者的肿瘤ALK重排检测均呈阳性。从2014年9月至2015年12月期间,本研究在日本共纳入18例患者,具体治疗方案为Alectinib(300 Mg)口服,每日2次,持续服药直到疾病进展或者出现不可接受的毒性为止。服药期间,患者前24周内每6周进行一次胸部和腹部的CT扫描,此后每9周进行一次,直到研究结束(2017年6月)。本研究的主要观察指标是总生存期(OS,即临床试验中患者从分组至因任何原因引起的死亡时间)、无进展生存期(PFS,即从临床试验开始到肿瘤发生进展或因任何原因导致死亡的时间)。

研究结果

本研究纳入的所有患者的中位随访时间为27.3个月。中位无进展生存期(PFS)为16.2个月(95%CI 7.1~30.8个月),中位生存期(OS)为30.3个月(95%CI 11.5个月~未达),3年总生存率为43.8%(95%CI 20.8~ 64.7%)(图3)。

PS评分,又称为体力状况评分,是用来评价肿瘤患者日常生活能力的。PS评分根据患者的日常生活能力由好到坏分为5个等级,具体评分标准如下:肿瘤患者能够正常活动则评为0分;肿瘤患者症状比较轻,生活能够自理,能够从事轻体力活动则评为1分;肿瘤患者具有明显的症状,但生活还能自理,白天卧床时间不超过50%则评为2分;肿瘤患者具有明显的症状,白天卧床时间超过了50%,但还是能够起床站立,生活能够部分自理则评为3分;肿瘤患者症状比较重,卧床不起则评为4分;肿瘤患者死亡则评为5分。本研究结果显示Alectinib对PS为2(MST,20.5月)和PS为≥3(MST,未达到)的患者都有显著疗效,因此,与既往研究结果不同的是,Alectinib对于PS较差的患者同样有效。

81a724438f1634a8e76869d82d058ae3.png

图3 Alectinib在ALK重排的晚期NSCLC患者中显著有效

本研究结果显示Alectinib治疗基线时有中枢神经系统(CNS)转移的患者的PFS为17.5个月,Alectinib治疗基线时没有中枢神经系统(CNS)转移的患者的PFS为16.2个月,统计结果显示Alectinib治疗基线时有或无中枢神经系统(CNS)转移的患者的PFS没有显著差异(p=0.886)(图4)。因此,无论是否存在中枢神经系统转移,Alectinib对ALK重排阳性的NSCLC均显著有效。

b41b70fc2e40569536ac7343ae48d81d.png
图4 Alectinib治疗基线时有或无中枢神经系统(CNS)转移的患者均有效

结论

间变性淋巴瘤激酶基因(ALK)重排的非小细胞肺癌(NSCLC)对ALK酪氨酸激酶抑制剂(TKIs)高度敏感。Alectinib属于二代ALK-TKI,对其他蛋白激酶几乎没有抑制活性,但在ALK重排的晚期NSCLC患者中却显示出明显的抗肿瘤活性。此外,无论是否存在中枢神经系统转移,Alectinib对ALK重排阳性的NSCLC均显著有效,值得临床关注。

参考文献

1. Iwama E , Goto Y , Murakami H , et al. Survival Analysis for Patients with ALK Rearrangement‐Positive Non‐Small Cell Lung Cancer and a Poor Performance Status Treated with Alectinib: Updated Results of Lung Oncology Group in Kyushu 1401[J]. The Oncologist, 2020, 25(4):306-e618.

### 实现7-3重排链表 要实现7-3重排链表的功能,可以按照以下逻辑完成。此问题的核心是对链表的操作以及如何将原链表中的节点按特定顺序重新排列。 #### 1. 数据结构定义 首先需要定义两种数据结构来存储和操作链表的信息: ```c typedef struct Node { int no; // 地址编号 int data; // 节点保存的数据 int non; // 下一个地址编号 struct Node* next; struct Node* front; } Node; typedef struct { int data[100001]; // 存储每个地址对应的数据 int next[100001]; // 存储每个地址对应的下一个地址 int first; // 表头地址 } SqList; ``` 上述 `Node` 和 `SqList` 的定义别用于表示单个节点和整个线性表的存储方式[^1]。 --- #### 2. 构建原始链表 根据输入构建初始链表时,可以通过读取每条记录并将其存入数组形式的线性表中。具体方法如下: 假设输入样例如下: ``` 68237 6 00100 00100 1 99999 99999 5 12309 12309 2 00000 00000 4 33218 33218 3 -1 ``` 对于每一行输入,解析其三个字段别为当前节点的地址 (`Address`)、数据值 (`Data`) 和指向下一节点的地址 (`Next Address`)。这些信息可以直接填充到 `SqList` 中的相应位置[^4]。 --- #### 3. 链表重组算法 为了实现链表的重新排列,需遵循以下原则: 从首尾交替取出节点,并依次连接形成新的链表。以下是具体的实现过程: ##### (1)初始化指针变量 创建两个辅助指针 `pHead` 和 `pTail` 来追踪新链表的头部和尾部。同时维护两个索引来访问原链表的起始部和结束部。 ##### (2)遍历原链表 利用双端队列的思想,每次从原链表的一端提取一个节点加入新链表中。当剩余未处理的节点数量大于等于2时继续执行循环;否则停止。 ##### (3)更新链接关系 在每一次迭代过程中调整被选中节点与其前后邻居之间的关联关系以确保最终形成的是一条完整的连续路径[^3]。 --- #### 4. 完整代码示例 下面提供了一个基于C语言的具体实现方案: ```c #include <stdio.h> #define MAXN 100001 // 结构体声明同上... void build(SqList *list, int n) { char addrStr[6]; int address, data, nextAddr; list->first = -1; // 初始化第一个有效节点为空 while(n--) { scanf("%s %d %d", addrStr, &data, &nextAddr); sscanf(addrStr, "%d", &address); // 将字符串转换成整型 list->data[address] = data; list->next[address] = nextAddr; if(list->first == -1 && nextAddr != -1){ list->first = address; // 记录首个有效的节点作为起点 } } } void rearrange(SqList *list) { int p = list->first, q, prevP=-1, count=0; // 统计总长度 for(q=p; q!=-1; q=list->next[q]) ++count; int mid = (count / 2), i=mid; q = p; // 找到最后一半的第一个元素的位置 while(i--){ prevP = q; q = list->next[q]; } // 断开两半之间原有的联系 if(prevP >=0 ) list->next[prevP]=-1 ; // 开始交叉拼接 while(p != -1 || q != -1 ){ printf("%05d %d ", p>=0?p:q , list->data[p>=0 ? p : q]); if(p >=0 ){ p = list->next[p]; }else{ break; } if(q >=0 ){ printf("%d\n%05d %d ", list->next[q], q, list->data[q]); q = list->next[q]; }else{ break; } } } ``` --- #### 输出说明 以上代码会输出经过重新排序后的链表内容,满足题目要求的形式化表达。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值