[摘要]"在人工智能與大數(shù)據(jù)分析技術(shù)迅速發(fā)展的背景下,R語言逐漸受到科研工作者,特別是青年學(xué)者和研究生的青睞。本文基于R語言的特點,探索醫(yī)學(xué)院校R語言課程的教學(xué)內(nèi)容及教學(xué)模式的重構(gòu)改革,結(jié)合醫(yī)學(xué)專業(yè)的特點,設(shè)計實用性強且易學(xué)易懂的應(yīng)用案例,通過對案例的開發(fā),激發(fā)醫(yī)學(xué)生學(xué)習(xí)R語言的興趣,培養(yǎng)醫(yī)學(xué)生利用計算機技術(shù)進行大數(shù)據(jù)分析的能力。
[關(guān)鍵詞]"大數(shù)據(jù)分析;R語言;生物信息學(xué)
[中圖分類號]"R857.3""""""[文獻標(biāo)識碼]"A""""""[DOI]"10.3969/j.issn.1673-9701.2024.31.020
1""引言
20世紀(jì)80年代,分子生物學(xué)的快速發(fā)展和DNA測序技術(shù)的進步,導(dǎo)致DNA序列、蛋白質(zhì)序列、基因表達數(shù)據(jù)等生物分子數(shù)據(jù)呈現(xiàn)出爆炸性的增長。傳統(tǒng)的生物學(xué)研究方法難以有效管理和分析這些數(shù)據(jù),因此亟需新的分析方法。人類基因組計劃于1990年啟動,至2001年人類基因組工作草圖發(fā)表,期間產(chǎn)生大量的基因組數(shù)據(jù),標(biāo)志著生物信息學(xué)進入一個新的發(fā)展階段。信息技術(shù)的進步和跨學(xué)科的合作進一步推動生物信息學(xué)的迅速發(fā)展,使其在醫(yī)療健康領(lǐng)域發(fā)揮重要作用。
王丹等[1]通過對生物信息學(xué)人才需求的調(diào)查研究發(fā)現(xiàn),生物信息學(xué)人才需具備利用計算機技術(shù)解決實際應(yīng)用問題的能力。王莉等[2]以生物信息學(xué)前沿課程為例,探討新理念下的教學(xué)改革,實現(xiàn)醫(yī)工的有機結(jié)合。李曼菲等[3]針對生物信息學(xué)課程的教學(xué)改革提出培養(yǎng)學(xué)生具有創(chuàng)新能力為目標(biāo)的方案。王莉等[4]以培養(yǎng)學(xué)生的創(chuàng)新思維為目標(biāo),研究生物信息學(xué)前沿課程的教學(xué)改革。胡艷玲等[5]通過分析當(dāng)前生物信息學(xué)教學(xué)中的不足,提出將科研實踐融入課程教學(xué)的新方法。王燕忠等[6]討論醫(yī)學(xué)檢驗專業(yè)學(xué)習(xí)生物信息學(xué)課程的必要性,闡述生物信息學(xué)在培養(yǎng)綜合性醫(yī)學(xué)檢驗人才方面的重要性。阮陟等[7]探討醫(yī)學(xué)信息學(xué)教學(xué)對培養(yǎng)醫(yī)學(xué)研究生計算思維及科研思維能力的重要性。諸多學(xué)者對生物信息學(xué)課程的教學(xué)與實踐進行深入研究和探討[8-12]。
綜合上述研究發(fā)現(xiàn)R語言是生物信息學(xué)課程學(xué)習(xí)的一項重要工具。R語言是一種開源編程語言,專為統(tǒng)計計算和圖形生成而設(shè)計,由新西蘭奧克蘭大學(xué)的Robert"Gentleman和Ross"Ihaka等人開發(fā)。R語言具有強大的數(shù)據(jù)處理能力,能夠高效分析生物信息學(xué)中的大型數(shù)據(jù)集,包括數(shù)據(jù)清洗、數(shù)據(jù)歸一化及格式轉(zhuǎn)換等。R語言內(nèi)置的統(tǒng)計分析功能,如相關(guān)性分析、聚類分析和邏輯回歸分析,能構(gòu)建多種復(fù)雜模型。此外,R語言豐富的圖表生成功能非常適合展示生物學(xué)中復(fù)雜的數(shù)據(jù)關(guān)系。在生物信息學(xué)領(lǐng)域,基因組學(xué)、轉(zhuǎn)錄組學(xué)和代謝組學(xué)等數(shù)據(jù)分析可通過R語言的擴展包實現(xiàn)。如可利用R語言的Biostrings包處理生物序列數(shù)據(jù),差異表達基因分析則可通過R語言中的DESeq2或edgeR包實現(xiàn),而對全基因組序列數(shù)據(jù)的訪問和處理則可通過BSgenome包完成。此外,R語言還可用于生物路徑分析,并實現(xiàn)多種機器學(xué)習(xí)算法,以構(gòu)建預(yù)測模型用于疾病預(yù)測或生物標(biāo)志物的發(fā)現(xiàn)。
R語言對數(shù)據(jù)處理、圖形生成和統(tǒng)計分析的強大功能為生物學(xué)研究提供有力支持。國內(nèi)外多所高校和研究機構(gòu)已為本科生開設(shè)R語言課程。但目前各醫(yī)學(xué)院校的生物信息學(xué)專業(yè)開設(shè)時間較短,具備交叉學(xué)科背景的師資隊伍相對匱乏,缺乏豐富的R語言課程教學(xué)經(jīng)驗,而R語言課程的內(nèi)容往往枯燥難懂,學(xué)生難以理解。因此,探索R語言課程的教學(xué)內(nèi)容與教學(xué)模式,對醫(yī)學(xué)院校有效開設(shè)該課程并取得良好教學(xué)效果至關(guān)重要。
2""R語言的優(yōu)勢
2.1""數(shù)據(jù)分析的意義
數(shù)據(jù)分析是從數(shù)據(jù)中提取有價值信息的過程,通常包括數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換和建模等步驟。通過運用數(shù)學(xué)算法、統(tǒng)計方法及多種工具來實現(xiàn)這一過程。大數(shù)據(jù)分析則是指對大規(guī)模數(shù)據(jù)進行分析。大數(shù)據(jù)的來源、數(shù)據(jù)類型及其特征見圖1。
2.2""數(shù)據(jù)分析工具的對比
數(shù)據(jù)分析工具主要包括R、Python、Stata、MATLAB、EViews、SAS和SPSS等。每種數(shù)據(jù)分析工具的特點描述見圖2。
2.3""R語言的特點
R語言具有強大的統(tǒng)計數(shù)據(jù)分析能力和繪圖功能,其源代碼是開放的。與其他統(tǒng)計分析工具相比,R語言具有諸多優(yōu)點,因此更適用于生物大數(shù)據(jù)的分析與挖掘,見圖3。
生物信息學(xué)專業(yè)注重學(xué)科交叉與融合,因此醫(yī)
學(xué)院校生物信息學(xué)專業(yè)的學(xué)生學(xué)習(xí)R語言課程,旨在啟發(fā)他們綜合運用數(shù)學(xué)、物理和計算機知識的能力,拓寬知識面,了解學(xué)科前沿及最新進展,培養(yǎng)解決該領(lǐng)域?qū)嶋H問題的能力,為今后進行生命科學(xué)研究奠定基礎(chǔ)。因此,在醫(yī)學(xué)院校生物信息學(xué)專業(yè)開設(shè)R語言課程十分必要。
3""R語言課程設(shè)計
3.1""教學(xué)內(nèi)容重構(gòu)設(shè)計
R語言的主要功能包括統(tǒng)計分析和可視化,因此R語言課程的教學(xué)內(nèi)容主要分為R語言的基礎(chǔ)知識、可視化和統(tǒng)計分析,見圖4。
由于醫(yī)學(xué)院校的學(xué)生大多計算機編程基礎(chǔ)較薄弱,因此R語言課程的內(nèi)容安排盡可能簡潔、通俗易懂。該課程大致分為三個部分:第一部分主要介紹R語言的基礎(chǔ)知識。R是一種解釋型編程語言,輸入的命令能夠直接執(zhí)行,與C語言等其他編程語言不同,無需編譯和鏈接等操作。在R語言中,所有操作都是針對存儲在活動內(nèi)存中的對象進行的。因此,本部分引入數(shù)據(jù)對象和數(shù)據(jù)類型的相關(guān)介紹。數(shù)據(jù)、結(jié)果及圖形的輸入和輸出通過文件的讀寫實現(xiàn)。R語言通過使用工作目錄來處理文件的讀取和寫入,即數(shù)據(jù)的存儲和讀取。這一部分的最后將從編程的角度闡述R語言中的基本技術(shù)。第二部分內(nèi)容主要描述R語言的可視化繪圖功能。R語言中主要有兩種繪圖函數(shù):一種是高級繪圖函數(shù),用于創(chuàng)建新的圖形;另一種是低級繪圖函數(shù),用于在現(xiàn)有圖形上添加元素。本部分將重點介紹R語言中常見圖形的繪制方法。第三部分主要是R語言的數(shù)據(jù)分析功能。將通過具體實例介紹R語言的多種數(shù)據(jù)分析功能,包括相關(guān)分析、經(jīng)典回歸分析、時間序列分析、主成分分析與因子分析、判別分析與聚類分析、典型相關(guān)分析與對應(yīng)分析。每種數(shù)據(jù)分析方法都將通過應(yīng)用案例的方式進行引入和闡述,以便更好地理解其實際應(yīng)用。
3.2""教學(xué)模式設(shè)計
為幫助學(xué)生更好地理解和掌握R語言,教學(xué)方式采用理論與實踐相結(jié)合、線上與線下相結(jié)合、課內(nèi)教學(xué)與課后實踐相結(jié)合以及項目化實現(xiàn)的綜合方法。這4種教學(xué)方式在教學(xué)過程中交替運用,通過與專業(yè)相關(guān)的案例驅(qū)動,旨在實現(xiàn)開發(fā)案例目標(biāo)。結(jié)合多種教學(xué)方式,可加深學(xué)生對R語言課程理論內(nèi)容的理解,并熟練掌握R語言的編程操作。具體的教學(xué)方式見圖5。
3.3""應(yīng)用案例
結(jié)合醫(yī)學(xué)專業(yè),以應(yīng)用案例驅(qū)動的方式引入直方圖的制作方法,通過以下簡單易懂的案例講解如何使用R語言制作直方圖。
案例:使用R語言制作上海市各區(qū)手足口病患病人數(shù)的直方圖。相關(guān)數(shù)據(jù)以.xlsx格式的文件分發(fā)給學(xué)生。核心程序代碼如下:
gt;library(RODBC)
gt;zlt;-odbcConnectExcel2007(\"C:/data/disease.xlsx\")
gt;sqlt;-sqlFetch(z,\"Sheet1\")
gt;close(z)
gt;hist(sq$DLXF)
請為上述直方圖添加標(biāo)題,并修改坐標(biāo)軸的刻度和名稱??墒褂靡韵抡Z句對直方圖進行相應(yīng)修改。
gt;hist(sq$\"手足口病人數(shù)/萬人\",
main=\"手足口病人數(shù)分布\",xlim=c(0,10),"ylim=c(0,10),
xlab=\"手足口病人數(shù)\",ylab=\"人數(shù)\")
在上述程序運行過程中,學(xué)生可能遇到各種程序運行錯誤,如在執(zhí)行sqlFetch(z,\"Sheet1\")時出現(xiàn)錯誤提示:“第一個參數(shù)不是一個打開的RODBC通道”。通過對程序運行中出現(xiàn)的錯誤進行分析,引入R語言的理論知識講解。在顯示正確結(jié)果后,返回程序源代碼,通過逐行講解每一句代碼,逐步引入R語言的基礎(chǔ)理論知識。如R函數(shù)的安裝、調(diào)用及數(shù)據(jù)文件的讀取和關(guān)閉等。案例驅(qū)動的教學(xué)方式簡單易懂,初學(xué)者易接受。這不僅能激發(fā)非計算機專業(yè)的醫(yī)學(xué)生對R語言課程的興趣,還能通過實際操作加深他們對R語言理論知識的理解。
基于R語言制作直方圖的程序代碼,完成課后作業(yè):制作散點圖。提示:散點圖的函數(shù)為plot()。素材文件以.xlsx格式分發(fā)。結(jié)果要求顯示見圖6。
對R語言的其他圖表制作采用案例驅(qū)動方式。如制作人口普查情況曲線標(biāo)繪圖和箱線圖見圖7、圖8。在學(xué)習(xí)每一類圖表制作的過程中,結(jié)合多種教學(xué)方法完成案例的開發(fā)。通過對每個應(yīng)用案例的程序編寫過程,融入R語言的基礎(chǔ)理論知識講解。在程序運行過程中,可出現(xiàn)各種類型的代碼錯誤,通過對這些錯誤的修改,能加深對R語言基礎(chǔ)知識的理解。程序編寫的過程也是鍛煉學(xué)生計算思維能力的過程。最終,通過綜合案例的開發(fā),提升學(xué)生利用計算機技術(shù)解決實際問題的邏輯思維能力和創(chuàng)新應(yīng)用能力。
4""結(jié)語
在大數(shù)據(jù)背景下,生命科學(xué)領(lǐng)域的數(shù)據(jù)量迅速增加,促進生物信息學(xué)的產(chǎn)生與發(fā)展。對生物信息的處理、存儲及分析是生物醫(yī)藥數(shù)據(jù)科學(xué)領(lǐng)域?qū)W生必須掌握的基本能力。首先,R語言作為一種新興的統(tǒng)計編程語言,其眾多優(yōu)點使其成為醫(yī)學(xué)院生物信息學(xué)專業(yè)學(xué)生進行數(shù)據(jù)分析的理想工具。然而,由于生物信息學(xué)是一門交叉學(xué)科,授課教師需具備生命科學(xué)、數(shù)學(xué)和計算機等多方面的背景,這類人才目前十分緊缺,導(dǎo)致R語言課程建設(shè)進展緩慢。其次,傳統(tǒng)的教學(xué)手段多以理論教學(xué)為主,實際操作時間不足,課程內(nèi)容往往顯得抽象和枯燥,學(xué)生難以理解,興趣較低,導(dǎo)致課程內(nèi)容的掌握變得困難。第三,教學(xué)內(nèi)容缺乏新穎性,教學(xué)案例未能與醫(yī)學(xué)相關(guān)專業(yè)相結(jié)合,無法有效解決學(xué)生在本專業(yè)中遇到的實際問題。因此在醫(yī)學(xué)院校開設(shè)R語言課程不僅需要提升教師的專業(yè)水平,還需從教學(xué)內(nèi)容和教學(xué)方式等方面對R語言課程進行改革和建設(shè)。本文基于對R語言課程的分析,探索教學(xué)內(nèi)容及教學(xué)方式改革,重構(gòu)R語言課程的教學(xué)內(nèi)容和教學(xué)模式。期望通過對R語言課程的學(xué)習(xí),醫(yī)學(xué)院的學(xué)生能熟練掌握R語言,利用其進行生物醫(yī)學(xué)大數(shù)據(jù)的分析,并有效解決本專業(yè)相關(guān)的實際問題。
利益沖突:所有作者均聲明不存在利益沖突。
[參考文獻]
[1] 王丹,"王晨宇,"沙巖."生物信息學(xué)人才培養(yǎng)的需求調(diào)查研究[J]."繼續(xù)醫(yī)學(xué)教育,"2022,"36(10):"61–64.
[2] 王莉,"林佳,"曹蕾,"等."基于“新發(fā)展理念”的醫(yī)工融合教學(xué)探析——以《生物信息學(xué)前沿》為例[J]."華北理工大學(xué)學(xué)報(社會科學(xué)版),"2022,"22(1):"142–146.
[3] 李曼菲,"黃敏,"杜何為."創(chuàng)新創(chuàng)業(yè)背景下《生物信息學(xué)》課程的教學(xué)改革與實踐[J]."科技資訊,"2022,"20(23):"152–156.
[4] 王莉,"林佳,"曹蕾."基于生物信息學(xué)前沿課程的醫(yī)工融合教學(xué)改革研究[J]."高教學(xué)刊,"2022,"8(18):"142–145.
[5] 胡艷玲,"黃海純,"蔣永華,"等."科研實踐融進生物信息學(xué)課程教學(xué)研究[J]."大學(xué)教育,"2023(5):"53–55.
[6] 王燕忠,"但青,"張鈞."生物信息學(xué)在醫(yī)學(xué)檢驗中的研究進展及研究生教學(xué)中的意義與應(yīng)用[J]."全科醫(yī)學(xué)臨床與教育,"2023,"21(3):"242–244,"255.
[7] 阮陟,"王澤宇,"馮曄."醫(yī)學(xué)生物信息學(xué)培養(yǎng)研究生科研思維初探[J]."基礎(chǔ)醫(yī)學(xué)教育,"2021,"23(1):"64–66.
[8] 古麗娟,"曾智."生物信息學(xué)在醫(yī)學(xué)研究生科研活動中的意義及培養(yǎng)途徑[J]."繼續(xù)醫(yī)學(xué)教育,"2021,"35(7):"53–55.
[9] 華琳,"夏翃."淺談醫(yī)學(xué)院?!渡镄畔W(xué)》課程的在線教學(xué)[J]."醫(yī)學(xué)教育管理,"2021,"7(z1):"78–80,"107.
[10] 陳湖星,"嚴(yán)海丹,"王先龍,nbsp;等."具有醫(yī)學(xué)特色的生物信息學(xué)研究型教學(xué)模式探究[J]."福建醫(yī)科大學(xué)學(xué)報(社會科學(xué)版),"2020,"21(2):"60–64.
[11] 王慧,"張培培,"蔡潤林,"等."《生物信息學(xué)》課程的跨學(xué)科教學(xué)模式探索與實踐[J]."汕頭大學(xué)學(xué)報(自然科學(xué)版),"2022,"37(2):"75–80.
[12] 王喻."《生物信息學(xué)課程設(shè)計》教學(xué)探索[J]."產(chǎn)業(yè)與科技論壇,"2020,"19(5):"181–182.
(收稿日期:2024–07–29)
(修回日期:2024–10–17)