基于SAS/AF的肿瘤临床试验有效性分析的可视化与自动输出*

2021-05-08 05:54南京医科大学公共卫生学院生物统计学系211166黄家俊仲子航周佳薇倪森淼于全骥蔡丽馨贺志强柏建岭
中国卫生统计 2021年2期
关键词:泳道临床试验受试者

南京医科大学公共卫生学院生物统计学系(211166) 黄家俊 仲子航 杨 旻 周佳薇 倪森淼 于全骥 耿 正 蔡丽馨 贺志强 柏建岭 于 浩

【提 要】 目的 探讨肿瘤临床试验中有效性统计分析的可视化。方法 该研究基于SAS图形模板语言(GTL)构建后端宏程序,利用SAS/AF模块构建前端用户界面并调用基于GTL的SAS宏程序,实现了肿瘤临床试验中常见有效性统计分析的可视化以及自动化输出。因为SAS是临床试验的推荐程序,因此SAS软件的可视化对于临床试验研究有较好的应用价值。结果 应用可视化系统自动输出肿瘤临床试验中常见的有效性分析的图形包括生存曲线、瀑布图、泳道图、森林图等。结论 结合SAS/AF模块以及基于GTL语言的SAS宏程序,可以构建低门槛、操作简便的定制化绘图程序,实现肿瘤临床试验中常见的有效性统计分析的可视化以及自动化输出,提高统计绘图工作的效率。

在肿瘤临床试验的统计分析报告中,单纯的统计表格往往难以直观地展现整个试验的流程以及每个受试者在试验过程中的具体情况。统计图形则可以弥补这一不足,突出临床试验中的重要信息,并丰富统计分析报告的内容[1]。

尽管目前存在着种类丰富的统计软件,例如R、Excel、SPSS等,但在临床试验中,无论是我国的国家药品监督管理局还是美国的FDA都推荐使用SAS软件进行统计分析。因此在可视化软件的选择上,SAS存在着一定的优势。此外,使用SAS绘图不需要将分析数据集导出或调用不同的软件接口进行数据传输,其可以在统计分析的同时对数据集进行绘图操作。这不仅降低了出错的可能性,还可以使整个分析报告的图形格式趋于统一。同时,SAS软件的功能完备,结合SAS宏、AF模块、GTL语言等各项功能及模块,可以实现自动化较高的统计绘图,这极大地降低了统计分析人员的工作量、提高了统计分析效率。本文主要针对肿瘤临床试验有效性分析中的常见图形,包括生存曲线、瀑布图、泳道图、森林图,应用SAS/AF模块、图形模板语言和宏程序,构建应用程序,从而实现可视化与自动化输出。

原理与方法

1.SAS/AF模块

SAS/AF(applications facility)软件模块是一种构建企业级应用程序的工具,其拥有交互式的开发环境、丰富的面向对象的类集,可以快速开发并部署可利用其他SAS软件产品的可移植GUI应用程序。AF模块主要包括两个主要的组成部分:框架(frames)和SAS组件语言(SAS component language,SCL)[2]。其中,框架是一个包含不同元素(例如字段、按钮和表)的应用程序窗口[3]。SCL是控制SAS/AF应用程序的编程语言,可以较好地丰富和扩展AF组件的功能。

(1)SAS/AF开发环境的构建及主要窗口

SAS提供了多种方法创建框架,包括程序命令方式和窗口操作方式。程序命令方式一般使用PROC BUILD过程或SAS的命令创建框架。例如运行PROC BUILD C=AFDEV.PLOTS.KMPLOT.FRAME;RUN;即可在AFDEV逻辑库下的PLOTS目录新建KMPLOT框架[4]。窗口操作方式一般在SAS资源管理器界面进入逻辑库,右击空白处选择新建目录,随即进入该目录新建所需框架。

SAS/AF开发环境包括4个主要的窗口:框架、组件窗口、属性窗口以及SCL源代码窗口[5]。框架是应用程序的用户界面,组件窗口列出了可以添加到框架中的组件,属性窗口可以查看和编辑框架上已有组件的属性。SCL源代码窗口是一个可编辑程序代码的文本编辑器,SCL代码可以赋予框架更多灵活的功能,增加应用程序的实用性[6]。

图1 SAS/AF开发环境及主要窗口

(2)AF应用程序开发的基本流程

AF程序的构建需要熟悉开发环境的主要窗口及其功能,其通常包括以下步骤:

①创建框架并向其中添加组件。

创建AF框架并在框架左侧的组件窗口选择需要的组件(控件或者模型)。控件是显示在界面上的程序组件,如:按钮、复选框、输入框等。模型是作用于控件后台的功能,选择模型直接拖动到特定控件上建立连接以实现其特定的功能[7]。

②修改组件的属性。

右键指定的组件打开属性窗口以修改属性。常用的属性包括组件的外观特点、默认值以及功能方式。通过修改组件的属性,可以改善界面设计、提供预设值并增加特定功能。

③添加SCL编程代码。

右击框架中的组件选择框架SCL以添加SCL编程代码。SCL窗口类似于SAS编辑器,但其通过SCL语言进行编程[8]。SCL代码使得AF程序可以在后台调用其他SAS程序,实现复杂功能。

④保存框架并编译,然后测试框架。

AF程序在运行前需要进行编译以及测试,如果编译不通过,SAS会在日志窗口显示错误提示,用户可以查看并根据提示修改框架组件或SCL代码。

⑤重复步骤②到④,直到应用程序正常运行并达到设计要求。

程序编译通过以后,我们可以根据设计目标进行改进或完善,使其达到设计要求并可以投入实际使用。

2.肿瘤有效性分析的可视化

在肿瘤临床试验的有效性指标的统计分析中,通常会根据不同疗效指标应用不同的统计图形,其中四种常见的图形为生存曲线、泳道图、瀑布图、森林图。

(1)在肿瘤临床试验的有效性分析中,如果主要疗效指标为生存时间(overall survival,OS)或疾病进展时间(progress free survival,PFS),一般应用生存曲线展示结果。生存曲线是描述一组或多组受试者生存结局(或终点事件)发生情况的统计图表。图中横轴表示时间,纵轴表示生存概率(PFS为终点指标时为疾病未进展的概率),“+”一般表示删失。生存曲线通常还包含各个时间点不同组别的受试者数、发生终点事件数、中位生存时间及95%的可信区间、风险比以及log-rank检验的结果。

(2)如果研究者希望了解每一位受试者在整个治疗期间疾病进展情况,通常使用泳道图。泳道图显示了每个受试者的肿瘤响应随时间的变化情况,图中的每个水平条代表一例受试者接受药物治疗的时间,并在图中标出受试者部分响应、完全响应或者死亡的时间节点。在图中使用不同的颜色区分研究分组或直接将每一例受试者的分组信息标注在纵坐标轴上。

(3)瀑布图一般用于显示治疗前后肿瘤大小的变化情况。瀑布图中,每一个纵向的条表示一例受试者,纵坐标表示治疗后病灶大小相较于治疗前变化的百分比,以不同的颜色表示不同的治疗组,并在柱状图的顶端标注受试者当前的肿瘤响应情况。

(4)森林图显示了不同的亚组受试者的人数、RR值及其可信区间,其可以更直观地展示不同亚组间的差异。同时,森林图也用于展示meta分析的统计分析结果,是meta分析中最为常见的结果展现形式。

结 果

我们基于SAS/AF模块搭建了肿瘤临床试验数据可视化系统。其利用AF框架构建前端用户程序界面,并可以在后端调用SAS程序实现不同的功能。

1.可视化程序的主界面

肿瘤临床试验数据可视化系统的主菜单包含6个功能键,不同的功能按钮可以为用户提供数据导入与查看、数据处理、SAS程序编辑、肿瘤疗效指标常见有效性图形的绘制与输出等功能,见图2。

图2 肿瘤临床试验数据可视化系统主界面

2.数据导入与查看功能

通过肿瘤临床试验数据可视化系统主界面的“导入数据”功能选项,可以进入外部数据导入系统。导入系统目前支持XLS、XLSX、CSV数据格式的导入。通过文件路径输入框一侧的文件夹按钮打开资源管理器浏览文件系统,并选择需要导入的数据文件所在的目录。文件目录选定以后,可以导入系统的数据文件会自动显示在下方的文件列表里,选择一个或者多个文件并单击导入所选文件进行文件导入操作。如果数据文件较多,导入系统还提供了批量导入功能。点击“导入全部文件”按钮,系统会自动将文件列表中的数据文件全部导入为SAS数据集。右侧的下拉菜单提供了导入逻辑库选择按钮,可以将不同分类的数据文件导入各自相应的逻辑库,见图3。

图3 外部数据导入系统主界面

数据查看器则是肿瘤临床试验数据可视化系统中一个方便实用的工具。通过选择逻辑库、数据集以及变量,可以快速地访问并查看当前系统内的SAS数据集。

3.程序编辑与系统退出

虽然肿瘤临床试验数据可视化系统内置了丰富的功能,但是在实际操作中,考虑到数据集和图形的不同,往往SAS编程也是不可或缺的部分。通过点击“程序编辑器”功能按钮,可以轻松访问并编辑SAS程序,提高系统的可用度。

“退出系统”按钮则提供了快速退出当前肿瘤临床试验数据可视化系统的功能,并在关闭前再次提醒用户是否确认退出。用户如果无需退出系统,只要点击“否”则可回到原界面,这可以让用户获得更为人性化的操作体验,避免误操作。

4.数据处理功能

肿瘤临床试验数据可视化系统开发了一个方便易用的数据处理工具,其提供常见的数据集处理功能。在左侧菜单栏选择逻辑库和数据集名称,右侧即可快速预览对应数据集,在条件语句文本框内输入SAS条件语句,可以实现数据集内变量的增加、修改、删除,数据集之间合并、删除等常见的SAS数据过程步,同时右侧预览框将实时刷新并展示数据集所进行的修改。最后,修改后的数据集可以根据用户需求写入新命名的数据集,见图4。

图4 数据处理工具主界面

5.统计图形绘制功能

肿瘤临床试验数据可视化系统目前主要提供了四种常见的有效性图形的绘制:泳道图、生存曲线、瀑布图、森林图。

泳道图、生存曲线、瀑布图的绘制均基于个体级别(subject-level)的数据集,即每一位受试者在数据集中存在一条数据。绘制泳道图需要数据集中包含组别、治疗时间、疾病进展和死亡的时间节点变量;生存曲线需要的变量包括组别、终点时间发生时间以及删失标志;瀑布图则需要组别、肿瘤变化率以及进展状态的变量。森林图通常要求数据中的每一条观测与图形中的每一行结果一一对应。

统计图形的绘制主要通过编写图形模板并调用SAS宏程序实现。SAS图形模板语言(GTL)具有结构化的语法,其使用TEMPLATE过程定义图形模板,SGRENDER过程指定进行绘图的数据集和预设的图形模板,最后输出较为复杂的统计图形[9-10]。有效性图形的主要图形模板以及宏程序如表1所示。

表1 有效性统计图形相应的图形模板以及宏程序

绘图程序主界面一般包括五个参数模块,以泳道图(swimmer plot)程序为例,参数模块包括:逻辑库和数据集参数(library and dataset)、变量参数(variables)、图形绘制参数(picture options)、输出参数(output options)以及主要功能按钮,见图5。

图5 泳道图绘制程序主界面

逻辑库和数据集参数主要用于指定图形绘制所需的数据集以及所在的逻辑库,为下一步的绘图变量选择提供选项。变量参数是图形中产生不同的图形元素所需的变量,在泳道图中,Group变量代表受试者的组别,Time变量表示受试者接受试验药物的时长,CRTime、PRTime、PDTime、DeathTime变量分别表示受试者完全缓解、部分缓解、疾病进展和死亡的时间节点,ContinueFlag变量体现了受试者是否仍在试验中。选择正确的变量参数是绘制图形的关键,如果选错变量,一般无法获得理想的结果。图形参数一般用于调整图片的标题、坐标轴、分组显示格式、图形中标志大小情况以及指定所需的绘图模板样式,通过指定一系列的图形参数,可以调整图片的格式与布局,使得图片更为美观。输出参数主要用于图形产生后的输出和存储,其包括图片名称、图片输出路径、DPI大小。功能按钮主要用于实现重置、返回、提交绘图任务等功能。

实例应用

以肿瘤临床试验数据可视化系统绘制泳道图(swimmer plot)为例,导入外部数据绘制并输出图形的步骤如下:

(1)打开肿瘤临床试验数据可视化系统并在主界面选择导入数据功能,在外部数据导入系统中选择需要导入的文件路径并指定数据文件,选择需要导出的逻辑库,并点击导入按钮(如图3所示)。

(2)数据导入成功后,可以在系统主界面选择查看数据功能打开数据查看器,查看导入的数据文件是否正确。如果需要对数据集进行修改操作,在主界面选择数据处理功能即可打开数据处理工具对数据集进行一定的修改,以满足绘图程序的需求。

图6 数据查看器查看导入的数据集

(3)数据导入和修改完成后,在系统主界面选择统计图形按钮并选择泳道图,即可进入泳道图绘制程序(如图5所示),在绘制程序中选择合适的数据集参数、变量参数、填入图形属性并指定输出图片的名称和路径并提交,系统会根据指定的参数产生统计图形。

图7 泳道图绘制程序输出结果

讨 论

肿瘤临床试验数据可视化系统是一款基于SAS/AF模块开发的可视化应用程序,其充分结合了AF模块所提供的构建前端窗口同时在后端调用并执行SAS程序的功能[4]。本系统具有交互式的用户界面,同时提供了数据导入与查看、数据处理、程序编辑、统计图形绘制等一系列功能,让用户在一定程度上省去复杂的SAS编程以及宏程序调用的过程。用户只需在系统主界面进行简单的选择或输入,即可完成对数据的导入、查看、整理操作,并利用已经开发好的宏程序输出统计图形结果。这极大地降低了用户使用SAS进行统计绘图的门槛,且可以较为便捷地输出复杂的统计图形,使得非专业的SAS使用者也可以轻松获得所需的图形结果[11]。

同时,SAS/AF开发的应用程序具有较好的可移植性[3]。本可视化系统程序以SAS目录(catalog)的形式保存为文件,且文件体积十分小巧,可以轻松拷贝或传输到任意一台安装有同版本SAS的计算机上直接运行,无需进行其他安装部署或调试。

本系统的局限在于,它是一款基于SAS内置的AF模块程序,完全依赖SAS运行,不能跳过SAS软件直接访问,也无法在没有安装SAS的计算机上打开。这在一定程度上限制了本系统的应用范围。此外,系统的功能目前还稍显简单,只能提供一些较为常见的数据操作,绘制并输出的统计图形目前只包括肿瘤临床试验中较为常见的四种统计图形,即生存曲线、泳道图、瀑布图、森林图。一些复杂的数据操作功能和更多种类的统计图形的绘制功能还有待进一步的开发。

但是,SAS/AF应用的开发、统计图形模板的创建分别需要使用SCL语言和图形模板语言,其语法相对于普通的SAS过程步较为繁冗且选项众多[12]。开发一款功能强大的可视化系统需要学习并熟练运用两种新的语言,这无疑给进一步开发系统功能的工作带来了挑战。

猜你喜欢
泳道临床试验受试者
涉及人的生物医学研究应遵循的伦理原则
涉及人的生物医学研究应遵循的伦理原则
涉及人的生物医学研究应遵循的伦理原则
抗疫中第一个获批临床试验的中药——说说化湿败毒方
奔奔兔学游泳
家蚕色氨酸羟化酶 (TRH) 基因的克隆及表达特性分析
涉及人的生物医学研究应遵循的伦理原则
游泳池里的航母
肿瘤治疗药物Tosedostat的Ⅱ期临床试验结束
泳道少了61厘米