没有合适的资源?快使用搜索试试~ 我知道了~
基于Web的快速分析系统用于表面等离子体共振信号处理—2022年软件X 18 (101057)
软件X 18(2022)101057原始软件出版物基于Web的表面等离子体共振信号处理系统用于快速分析Isa Anshoria,b,Sunday,1,Suksmandhira Harimurtia,b,1,Mahendra Baleno Ramab,ReyEzra Langelob,Jessikaa,Lenny Putri Yuliantic,Gilang Gumilard,Muhammad Yusufe,Silmina Prastriyantie,Brian Yuliartod,f,Husna Nugrahaprajag,Wyanda Arnafiah,Irvan Faizalia印度尼西亚万隆技术研究所生物医学工程系芯片实验室小组b印度尼西亚万隆技术学院电气工程和信息学院生物医学工程系c印度尼西亚万隆技术学院电气工程和信息学院信息学研究组d印度尼西亚万隆技术学院工程物理系先进功能材料实验室印度尼西亚帕 贾 贾 兰 大 学 分子生物技术和生物信息学研 究 中心f印度尼西亚万隆技术研究所纳米科学和纳米技术研究中心g印度尼西亚万隆技术学院生命科学和技术学院遗传学和分子生物技术研究组hPT Tekad Mandiri Cipta,印度尼西亚iBadan Pengkajian dan Penerapan Teknologi(BPPT),印度尼西亚ar t i cl e i nf o文章历史记录:接收7可以2021收到修订版2021年11月12日接受2022年保留字:表面等离子体共振基线预测Web应用程序数据可视化PythonFirebasea b st ra ct大多数市售的表面等离子体共振(SPR)装置没有配备由非专业人员操作的方便的分析软件。我们介绍了一个基于Web的SPR样本数据分析应用程序,使用Python的Matplotlib和Bokeh作为主要工具。用户可以直接上传和分析SPR数据输出,其中数据存储在Firebase云存储中。Web应用程序嵌入了多个功能,包括图形标签、工具提示和交互式图例。使用该应用程序,SPR样品分析只需在几分钟内运行,并且通过实现Python虚拟环境使系统可移植©2022作者(S)。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v1.0 2020此代码版本使用的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00091Code Ocean computecapsulehttps://codeocean.com/capsule/3079688/tree法律代码许可证MIT使用git的代码版本控制系统使用Python和HTML的软件代码语言、工具和服务编译要求,操作环境依赖性Python 3如果可用,链接到开发人员文档/手册https://github.com/jejessika/webappspr问题支持电子邮件isaa@staff.stei.itb.ac.id,sukman@staff.itb.ac.id1. 介绍COVID-19大流行已成为全球最大的问题,由于其高传播率和严重性,*通讯作者。电子邮件地址:isaa@staff.stei.itb.ac.id(Isa Anshori),sukman@staff.itb.ac.id(Suksmandhira Harimurti)。1 两位作者都有贡献。https://doi.org/10.1016/j.softx.2022.101057几个年龄组。世界卫生组织建议,检测是控制COVID-19传播和减少每日病例的大流行应对策略的重要组成部分[1]。该建议意味着,必须广泛提供负担得起的检测,以便利追踪,并帮助利益攸关方决定下一步措施。由于仅依赖PCR检测、诊断替代方法如基于抗体、基于抗原和其他分子快速检测方法2352-7110/©2022作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxIsa Anshori,Suksmandhira Harimurti,Mahendra Baleno Rama etal.软件X 18(2022)1010572仍然需要在不消耗PCR测试负荷的情况下提供群体监测,同时提供大规模测试。表面等离子体共振(SPR)是印度尼西亚国家COVID-19非PCR检测研究小组目前正在开发的前瞻性COVID-19检测方法之一。光学生物传感器通过检测抗体和抗原之间相互作用的折射率SPR读取植入了由重组蛋白或特异性抗体制成的生物受体的微芯片,以识别SARS-CoV-2病毒,并记录样品介质的折射率随传感器芯片上捕获的病毒2. 问题和背景SPR开发的挑战之一是使设备对用户(卫生工作者和实验室技术人员)友好。来自SPR装置的原始信号易于产生噪声和异常值。因此,处理信号并将其适当可视化以产生可理解的信息非常重要。信号处理软件还可以帮助用户自动化信号分析,而无需费力和耗时的数据处理。然而,大多数市售SPR装置没有配备方便的和交互式的用户界面以使它们更容易被非专业人员使用和解释。这个问题会导致一些限制,阻碍用户探索设备,以最大限度地利用它。一些已发布的应用程序在其产品中包含了重要的功能:原始信号处理和分析可视化。Dahl等人开发了一种用于SPR数据处理和分析的统一的基于网络的平台;然而,其被调整为仅与Biacore SPR设备兼容[3]。Krämer等人也创建了在线开源SPR分析软件,但由于复杂的数据处理功能,用户界面对于新手用户来说仍然具有相当大的挑战性[4]。其他类似的SPR数据分析应用程序也可用,例如TraceDrawer、Scrubber 2、MP-SPR Navi、OpenSPR、IBISTriangle和Octet [5由于软件费和订阅费,它们不能免费使用,因此不能广泛使用。其余的价格实惠的SPR设备,如NanoSPR,通常不带有用户友好的软件,也不配备自动信号处理功能。使用基于Web的应用程序来处理SPR输出数据具有几个优点,包括其实用性,允许用户访问应用程序,而无需在使用前下载这个特性在研究环境中非常重要,因为多个研究人员可以更容易地同时进行协作。以下基于Web的应用程序开发工作是我们以前工作的延续,可以在任何设备上运行[11,12]。SPR数据处理应用程序是用Python 开 发 的 , 并 使 用 了 几 个 Python 库 , 即 Matplotlib 和Bokeh。该应用程序的主要目标是执行几个功能,包括读取几种格式(.csv、.xls、.xlsx和.sp2)的原始文件,使用几种信号处理算法对其进行处理,根据用户输入交互式可视化数据,并检查最新的测试数据。系统设计、实施以及与商业SPR设备用户界面的比较的详细信息在以下章节中进行了说明。3. 软件框架凭借其易于使用和可读的语法,Python自20世纪90年代初以来一直很受欢迎。Python由于其独特的特性(如跨平台友好、模块化和许多辅助模块的可用性)而成为一个通用平台[13]。Python在函数、类和模块中提供了实现代码可重复性的工具。面向对象的方法是Python的优势之一,此外,Python可以通过超文本传输协议(HTTP)促进Web服务器测试和通信,因为它有一个用于网络交互的内置模块,可以处理与协议相关的所有内部事务。在这项工作中,使用Flask开发Web应用程序 作为其框架。使用Flask的Python Web开发为系统提供了健壮性。鲁棒性允许算法在系统发现输入、计算等异常时继续运行。Matplotlib和Bokeh这两个众所周知的库用于执行数据可视化。Matplotlib是一个全面的库,可以在Python中创建静态,动画和交互式可视化[14]。它以多种格式和跨不同平台的交互式环境生成出版质量的图形SPR数据可视化中使用的类之一是pyplot,它可以方便地绘制MATLAB等函数。具体来说,Matplotlib库是从SPR数据可视化基线的主要工具。Bokeh是一个Python库,用于现代Web浏览器的交互式可视化[15]。它提供了一个通用的图形结构和高性能的交互性,在大型数据集或流数据。这个库有几个可用于数据可视化的类。我们使用三 个 类 来 交 互 式 地 可 视 化 数 据 , 例 如 bokeh.models ,bokeh.plotting和bokeh. embed。散景模型由图或工具、控件、字形和数据源组成。散景通过设置其各种属性的本节提供了每个散景模型的参考,包括有关每个模型的每个属性的信息使用的一些函数包括BoxAnnotation、Label和Legend。Bokeh.plotting更侧重于图形创建,例如图表类型和图形命令。Bokeh.embed facil-使用Bokeh服务器在用于Web应用程序的HTML文件中嵌入来自独立文档和内容的图形的过程。使用的功能之一是将来自独立文档的图形嵌入到HTML文件中。在这项工作中使用散景库来可视化最终图上的SPR和基线HTML(超文本标记语言)是用于在万维网上生成文档的主要语言,其中包含几个称为“标签”的关键字它是一种平台无关的语言,可以跨多个平台使用.为了使文档显示得更美观,HTML还提供了标记来修改字体大小和颜色,还可以在文档中添加图形。它的简单性使HTML成为世界范围内使用的编程语言,作为网站的构建块,而CSS则用于设计基于HTML语义标记的网站[17]。实际上,每个浏览器都会为网站的外观编写HTML和CSS代码,然后外观中每个组件的功能将执行组件的每个功能来开发网站。例如,Django和Flask允许使用Python编程语言在网站的外观上执行组件的功能。CSS的使用提供了几个优点,因为它将文档布局与文档内容分开。因此,两个人可以同时编写内容和设计布局。Web应用程序的顺序图如图所示。1.一、Isa Anshori,Suksmandhira Harimurti,Mahendra Baleno Rama etal.软件X 18(2022)1010573Fig. 1. Web应用程序的顺序图。4. 执行情况和实证结果来自SPR装置的输出数据是以反射率单位(RU)为单位的反射率相对于时间(秒)。这些数据来自对两个样本的测试:COVID-19蛋白刺突的受体结合结构域(RBD)和传染性细支气管炎病毒(IBV)。在添加样品期间,将观察到反射率增加形式的响应。这是因为样品和生物受体之间的相互作用。这种相互作用将导致朝向检测器反射的光量增加。当样品流停止时,样品和生物受体之间的相互作用减少。该动作导致朝向检测器反射的光减少,这降低了反射率的响应。SPR装置的数据可视化过程可以分为以下几个阶段4.1. 数据收集和存储用户上传SPR数据文件,该文件位于.sp2(原始数据)中.csv、.xls或.xlsx格式,如图所示。二、获取的文件将通过HTTP通信存储在Firebase存储中。客户端将使用POST请求方法向服务器发送请求以接收文件之后,文件被存储在一个变量中,并使用一个函数来拆分文件名以获得文件类型,因为Firebase存储根据文件类型存储文件。get_url()函数用于获取文件文件不仅在指定的页面上处理,而且在其他页面上处理。因此,变量中的文件URL应该在每个网页上都可以访问。需要第二个对象(称为会话)来从一个页面传递变量中包含的数据到另为了保持变量上的数据可以从不同的网页访问,数据将被存储为会话。在这种情况下,还需要会话来存储系统执行数据可视化时要访问的基线输入数据、类型和样本浓度。在执行信号处理之前,使用urllib模块中的urlopen函数读取SPR原始数据,其中文件将转换为列表。这种转变需要克服Pandas模块中无法读取.sp2文件。此后,使用Rollame函数,将列表加载到一个框架。出于可访问性的目的,使用numpy模块将包含SPR响应(以折射单元的形式)的列将使用信号处理算法处理相应的列,然后在交互式图形中可视化。除了.sp2类型,Web应用程序还可以接受.xls、.xlsx和.csv类型。上述文件类型将不使用信号处理算法进行处理,因为这些文件已经包含由信号处理算法产生的数据。4.2. 数据探索SPR设备的输出是原始数据,仍然包含噪声和异常值,应在执行信号处理之前消除[15]。despike函数用于去除离群值。除了去除离群值外,还使用移动平均和Savitzky-Golay滤波器执行平滑算法。然后 , 处 理 后 的 数 据 将 用 作baseline_prediction和baseline_poly_manual函数的输入,以自动或手动生成基线图4.3. 数据表示和列报Matplotlib和Bokeh用于支持本应用程序中的数据使用线图表示。为了提供信息图表,利用用户的附加信息,通过向图表添加标签和色带来一旦SPR数据被处理,系统将从检测到的时间获得附加数据引入和停止样品的流动。引入和停止样品流的时间戳将存储在特定样品的同一行中。塑料进行分类一个字符串(;),并将被拆分以设置色带。 色带将标记特定样本的周期,the system.例如,如果算法检测到三种样本,则在图形上显示三色色带。分裂的结果是每个样本的数组由两个元素组成。第一个元素显示引入样本的时间,可以使用第0个索引访问。第二个元素显示停止样品流的时间,可以使用第一个索引访问。该过程将在下一个样品中继续进行。Isa Anshori,Suksmandhira Harimurti,Mahendra Baleno Rama etal.软件X 18(2022)1010574图二、 用户输入表格网页,用户可在 其 中 输入SPR RAW数据文件。图3.第三章。 SPR图形数据分析的可视化,包括响应值和预测基线。除色带外,图表上还将显示一些标签,以提供每个样品的信息。第一种类型的标签用于显示特定样品的名称。这位于引入特定样品的时间戳的x和y坐标第二种类型的标签显示每个样本响应的平均值(平均R.U.)。该标签位于引入特定样本的时间戳的x坐标和每个响应的最大值的y坐标上,如图所示。3.第三章。4.4. 数据呈现信号处理完成后,生成的图形将显示在Web应用程序上。因此,它需要通过使用Bokeh提供的组件功能来嵌入。Components函数返回script> tag,它包含图的数据,div> tag作为图的容器。这些标记需要存储在构建测试结果页面的HTML文件中。图所需的所有数据都存储在docs_json中Isa Anshori,Suksmandhira Harimurti,Mahendra Baleno Rama etal.软件X 18(2022)1010575表1SPR数据可视化和分析应用的特点比较参数安娜贝尔[18][19]第十九话拟议的Web应用程序开源是的没有是的操作系统是的没有是的独立性(R环境)(Python环境)曲线是(平均)没有是(平均)增强/平滑基线识别没有没有是(手动和自动)数据悬停没有没有是的数据标注没有是的是(自动)(手动)单道分析是的是的是的多样品分析没有是的是的多通道分析是的是的没有结合特性是的没有没有分析变量div>标记将被替换为脚本>执行时可视化的图形。4.5. 数据列表最近的测试页面包含数据结果的历史记录,以表格的形式进行了检查。为为了方便用户,该表配备了几个功能。首先是排序功能,用户只需要点击表格的最上面一行列,该列就会按字母和数字排序。在表格的右上角有一个搜索功能,使用户更容易找到所需的数据。表格中的行数也可以在表格左上角的按钮此外,在表格的右下角表格的最右列也有一个图标,如果点击该图标,页面上所有按钮的形状和颜色也都调整到了调色板上。5. 影响SPR测量的结果可以使用NanoSPR8软件以图形表示形式显示然而,NanoSPR8软件没有配备任何消除噪声的算法此外,用户需要通过Microsoft Excel浏览数据,手动绘制数据,通过悬停鼠标指针观察特定数据点的详细信息因此,NanoSPR8软件不适用于显示SPR数据,因为它耗时且繁琐。考虑到使用NanoSPR8软件的问题,我们开发了一个Web应用程序,可以以交互式图形表示的方式显示SPR数据。Web应用程序可以存储用户上传的多个文件,并使用平滑算法处理它们,以产生平滑和可解释的数据。用户还可以通过填写用户输入页面上提供的表格来提供有关样品测量的此外,我们的Web应用程序允许用户通过将鼠标指针悬停在图表上来获取有关特定数据点的当鼠标指针悬停在图形上时,将出现包含详细信息(如相应数据点的x和y坐标)的工具提示或弹出窗口。此外,图形表示还包含与SPR数据相同布局的基线图。不同颜色和更厚 折线图用于将其与SPR图区分开。我们的Web应用程序还提供了交互式图例,以提供有关每个线图的信息。当用户需要观察特定的线图时,他们可以通过单击交互式图例上的相应行。所有这些功能都允许研究人员仅使用一个软件进一步探索SPR测量获得的数据 作为基准,我们比较了SPR数据可视化和分析从三个不同的应用程序,即。我们提出的基于网络的应用程序,Anabel和NanoSPR8默认应用程序,使用相同的原始SPR数据。数据可视化比较见图S1Anabel用于比较,因为它是与我们的Web应用程序类似的应用程序。Anabel(结合事件分析+l)是一种基于R语言构建的开源网络应用程序,用于分析SPR数据测量的分子结合相互作用[18]。它也是独立于操作系统的,因此应用程序可以在任何PC上本地安装和离线运行。从数据可视化,分析和功能比较来看,我们提出的Web应用程序确实具有其他应用程序的优势,特别是在数据可视化方面。事实上,它也有一些局限性。这些优点和局限性总结如下不好意思:开源,无需安装应用程序。跨平台,可以运行在任何安装有Python环境的操作系统上。对用于计算SPR响应值• 多样品检测分析局限性:• 不用于实时SPR测量。• 不提供绑定特性分析。• 不支持多通道分析。6. 结论在本文中,一个基于Web的应用程序,用于处理和可视化SPR数据已经开发使用两个Python的li-tool,Matplotlib和Bokeh,作为主要的数据可视化工具。系统模型是预先设计使用几种方法,如需求,用例和活动图。定义了一个需求图来显示系统中需求之间的关系,其中包括信号处理算法、数据可视化和用户界面。Web应用系统的两个主要功能在用例图中定义,用于在交互式图中处理和可视化SPR数据,以及查找和检查最新数据。同时,系统行为用···Isa Anshori,Suksmandhira Harimurti,Mahendra Baleno Rama etal.软件X 18(2022)1010576活动图,其中解释了用户输入和交互式绘图的需求。Matplotlib被发现在手动基线图中很方便,因为它的ginput()函数用于从图中获取选定的数据点,而Bokeh则可以通过其工具和函数有效地生成交互式和解释性的图通过简单的导航和吸引人的设计,Web应用程序竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢作者要感谢万隆技术研究所(ITB),授权号为STEI.PPMI-1-16-2021 ,技术评估和应用机构(Badan Pengkajian dan PenerapanTeknologi/BPPT),以及研究和技术部/国家研究和创新机构,资助号 为 02/Swakelola/PPK 4/BPPT/IV/2020 , 以 及 PT Tekad MandiriCitra为这项研究工作提供NanoSPR 8设备的慷慨支持。此外,作者还 要 感 谢 Pusat Riset Bioteknologi Molekendan BioinformatikaUniversitas Pad- jadjaran提供进行整个研究实验所需的设施。我们还要向Antonius Eko Nugroho表示最大的感谢,感谢他在分析SPR数据方面提供了巨大的帮助,并在SPR数据可视化的不同用户界面附录A. 补充数据与本文相关的补充材料可以在https://doi.org/10.1016/j.softx.2022.101057上找到。引用[1] 世界卫生组织。世卫组织-中国2019冠状病毒病联合特派团报告。2020年,从https://www. who.int/上13 2021.[2]Baidu ML,Tavaziva G,Abidi SK,Campbell JR,Haraoui LP,JohnstonJC.新冠肺炎血清学检测的诊断准确性:系统综述和荟萃分析。第370章.http://dx.doi.org/10.1136/bmj.m2516网站。[3]Dahl G,Steigele S,Hillertz P,Tigerström A,Egnéus A,Mehrle A.药物研究中高效SPR数据分析的统一软件解决方案。SLAS DISCOVERY:Adv LifeSci R D 2017;22(2):203-9. http://dx.doi.org/10.1177/1087057116675316.[4] Kramer SD,Wöhrle J,Rath C,RothG.安娜贝尔:一个在线实时动态的工具分析的结合事件BioinformBiol Insig 2019;13:1177932218821383. http://dx.doi.org/10.1177/1177932218821383.[5]Ridgeview仪器。TraceDrawer:用于评估SPT和其他实时绑定数据的最终解决方案。2021年,于2021年13日从tracedrawer.com/[6]BioLogic Software Pty Ltd. BioLogic软件:洗涤器。2017年,于2021年13日从http://www.biologic.com.au/[7]BioNavigations Ltd. MP-SPR navi™软件。 2019年,来自https://www.bionavis.com/上13 2021.[8]尼克小队OpenSPR分析软件。2021年,检索自nicoyalife.com/,13 2021年。[9]IBIS Technologies BV. IBIS三角形软件。 2021年,来自https://www.ibis-spr.nl/上13 2021.[10]Sartorius AG.八位系统软件。2021年,从https://www. sartorius.com/上132021.[11] Anshori I,Rama MB,Ezra R,Harimurti S,Gumilar G,Yusuf M,etal. Web app design for surface plasmon resonance signal processing. 2020年雷达、天线、微波、电子和电信国际会议。IEEE; 2020,第358-61页。http://dx.doi.org/10.1109/ICRAMET 51080.2020.9298653.[12] Anshori I,Solihin A,Alrasyid MH,Harimurti S,Gumilar G,YusufM , et al. Signal processing algorithm for pre-processing the surfaceplasmon resonance signal response. 2020年雷达、天线、微波、电子和电信国际会议。IEEE。2020,第348-351页。http://dx.doi.org/10.1109/ICRAMET51080.2020.9298617网站。[13]作者:J.第2章Python入门编码渗透测试2017;4:3-79。[14]Aslam FA,Mohammed HN,Lokhande P.使用Python和Flask进行Web开发的有效方法。Int J Adv Res Comput Sci 2015;6(2):54[15]亨特JD。Matplotlib:2D图形环境。IEEE Ann Hist Comput2007;9(03):90-5.[16]Bokeh开发团队。Bokeh:用于交互式可视化的Python库。2018年,于2021年13日从http://www.bokeh.pydata.org/[17]Gabarró SA,Gabarrâo SA. Web应用程序设计和实现:Apache 2,PHP 5,MySQL,JavaScript和Linux/UNIX。Wiley-Interscience;2007.[18]放大图片作者:Kramer SD,Wohrle J,Rath C,Roth G. Anabel:一个在线工 具 ,结 合 事 件 的 实 时 动 力 学 分 析 。 Bioinform Biol Insig2019;13 :1177932218821383。[19]https://nanospr.com/nanospr8-eight-channel-electrochemical-surface- 等离子体共振光谱仪
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功