丘陵,黃雄波,劉武萍,廖葉權(quán)
作者單位: 528000 廣東省佛山市中醫(yī)院藥劑科(丘陵、廖葉權(quán)) 528137 廣東省佛山市,佛山職業(yè)技術(shù)學(xué)院電子信息學(xué)院(黃雄波、劉武萍)
藥代動(dòng)力學(xué)是由新興藥學(xué)與應(yīng)用數(shù)學(xué)之間相互交叉和相互滲透而形成的邊緣科學(xué),其重點(diǎn)研究藥物進(jìn)入人體后,相關(guān)的各種體液、組織及排泄物的代謝產(chǎn)物水平與時(shí)間之間的變化規(guī)律[1-4]。藥物作為一種異物進(jìn)入體內(nèi)后,機(jī)體就會(huì)動(dòng)員各種機(jī)制使藥物發(fā)生化學(xué)結(jié)構(gòu)的改變,即藥物發(fā)生代謝轉(zhuǎn)化的過程,而代謝是藥物在體內(nèi)消除的重要途徑。藥物經(jīng)代謝后作用往往降低或完全消失,但也有極小量的藥物經(jīng)代謝后藥理作用增強(qiáng)。在實(shí)際的臨床研究和試驗(yàn)中,如何構(gòu)建合理的數(shù)學(xué)模型以便精確描述藥物血藥濃度的變化規(guī)律,對(duì)新藥研發(fā)、藥物評(píng)級(jí)及臨床合理用藥均有重要的現(xiàn)實(shí)意義[5-7]。
對(duì)藥物進(jìn)行動(dòng)力學(xué)分析,通常是基于某一數(shù)學(xué)模型對(duì)血藥濃度序列進(jìn)行擬合分析,并運(yùn)用相關(guān)的數(shù)值計(jì)算方法求解對(duì)應(yīng)的參數(shù),進(jìn)而得到合適的藥代動(dòng)力學(xué)模型[8-9]。當(dāng)前,藥物動(dòng)力學(xué)有種類繁多的數(shù)學(xué)模型,若按照輸入和輸出的關(guān)系進(jìn)行劃分,則分為有線性模型和非線性模型兩種;而按照人體機(jī)制的原理進(jìn)行劃分,則可分為房室模型和生理模型。此外,房室模型根據(jù)房室數(shù)量,還可劃分為單室模型、雙室模型及多室模型。非線性藥物動(dòng)力模型可通過泰勒級(jí)數(shù)展開的方法實(shí)現(xiàn)線性化轉(zhuǎn)換,故本文重點(diǎn)對(duì)線性房室模型展開研究。針對(duì)現(xiàn)有的藥代動(dòng)力學(xué)分析軟件存在的不足,為有效提升藥物工作者的效能,本文擬研制具有最優(yōu)房室選擇機(jī)制的藥代動(dòng)力學(xué)分析系統(tǒng)。
若要準(zhǔn)確描述某一藥物在人體內(nèi)的代謝變化過程,可通過在不同的時(shí)刻點(diǎn)提取有關(guān)的血藥濃度樣本,并選擇合適的模型對(duì)該血糖序列樣本進(jìn)行擬合。房室模型只有確定最佳的房室數(shù)量,才能準(zhǔn)確表征藥物的代謝動(dòng)力學(xué)特征。被評(píng)價(jià)藥物是屬于單室模型藥物、雙室模型還是多室模型直接影響擬合模型的精度,因此,最優(yōu)房室數(shù)量的確定尤為重要。
1.1 最優(yōu)線性房室模型 如式(1)所示,利用線性房室模型對(duì)藥物進(jìn)入人體后的血藥濃度樣本加以描述[10]。
式(1)中,C(t)為t時(shí)刻對(duì)應(yīng)的血藥濃度數(shù)值,j為模型中房室的數(shù)量,αi,βi(i=1,2,…j)為各房室對(duì)應(yīng)的指數(shù)項(xiàng)參數(shù)。
(2)
1.2 系統(tǒng)的設(shè)計(jì)原理與框圖 利用現(xiàn)有的藥代動(dòng)力學(xué)分析軟件進(jìn)行血藥濃度的建模與分析,需預(yù)先初始化模型的房室數(shù)量,為了獲得最優(yōu)的線性房室模型,藥物工作者往往需進(jìn)行多次的試探性操作及花費(fèi)大量無效的計(jì)算工作。針對(duì)這些不足,擬設(shè)計(jì)具有最優(yōu)房室選擇機(jī)制的藥物動(dòng)力學(xué)分析系統(tǒng)。新研制系統(tǒng)主要有兩大模塊組成:房室模型的預(yù)處理和最優(yōu)模型的參數(shù)求解,見圖1。具體的原理方法如下。
圖1 具有最優(yōu)房室選擇機(jī)制的藥代動(dòng)力學(xué)分析系統(tǒng)的程序流程圖
1.2.1 房室模型的預(yù)處理:預(yù)處理模塊用于確定最優(yōu)線性房室模型的房室數(shù)量,在此基礎(chǔ)上,析出各房室指數(shù)曲線的參數(shù)初值。
1.2.1.1 房室分離及求解對(duì)應(yīng)指數(shù)曲線的參數(shù)初值:根據(jù)殘數(shù)法得知,各房室曲線對(duì)應(yīng)的指數(shù)應(yīng)滿足如下關(guān)系
β1≥β2≥…≥βj
(3)
聯(lián)合式(1)和式(3)可知,隨著時(shí)間的t不斷增長(zhǎng),血藥濃度中指數(shù)數(shù)值較大的房室成分便逐漸趨向于零。于是,對(duì)血藥濃度序列St進(jìn)行取對(duì)數(shù)的操作處理,式(4)表明,血藥濃度的對(duì)數(shù)序列[lg(St)]在其末端(t→n)處近似為一條直線。為此,基于某一誤差閾值自右向左地選取Lj個(gè)呈直線趨勢(shì)的樣本,在此基礎(chǔ)上,如式(5)所示求得該直線的斜率k和截距b,便可得到當(dāng)前被分離房室對(duì)應(yīng)指數(shù)曲線的參數(shù)初值。
lgS(t)≈lg(α1e-β1t+α2e-β2t+…+αje-βjt)
(4)
1.2.1.2 分離并析出殘差序列:首先更新序列的樣本長(zhǎng)度n,然后從已有序列St中刪除步驟(1)中已處理的Lj個(gè)樣本點(diǎn),即
式(6)的Left(St,n-Lj)為左向分離函數(shù),其功能是從左邊首位置起,提取n-Lj個(gè)樣本點(diǎn)。利用式(7)去掉上一房室成分對(duì)序列St的影響,并得到如下的殘差序列:
St←St-αje-βjt,t=1,2,…,n-Lj
(7)
增加房室數(shù)量j=j+1,重復(fù)式(4)~(7)的處理,直至現(xiàn)有序列其樣本長(zhǎng)度n≤0。最后,得到待分析血藥濃度序列的最優(yōu)房室數(shù)量j及其對(duì)應(yīng)的指數(shù)曲線的參數(shù)初值。
1.2.2 最優(yōu)模型的參數(shù)求解:用對(duì)數(shù)化分段處理的方式對(duì)血藥濃度序列進(jìn)行分離,得到的指數(shù)曲線參數(shù)仍有一定的誤差,為進(jìn)一步提高擬合精度,設(shè)參數(shù)向量(α1,β1;α2,β2;…αj,βj)T為X,并定義
于是,式(2)的極小問題便可化為求解如下的多元函數(shù)φ(X)的極小值
(9)
利用Gauss-Newton迭代法求解式(9),得到相對(duì)應(yīng)的迭代求解表達(dá)式為[11-12]
(X)k+1=(X)k-G((X)k)-1g((X)k)
(10)
式(10)中,G(X)和g(X)的定義如下
基于上述的原理分析方法,在Microsoft Visual Studio 2015的C++開發(fā)環(huán)境中編制具有最優(yōu)房室選擇機(jī)制的藥代動(dòng)力學(xué)軟件分析系統(tǒng),下面將結(jié)合具體實(shí)例來說明系統(tǒng)的運(yùn)行情況。
2.1 數(shù)據(jù)來源 實(shí)驗(yàn)選用的血藥濃度序列來源于文獻(xiàn)[13],具體的數(shù)值見表1。
表1 某血藥濃度的實(shí)測(cè)序列
2.2 實(shí)驗(yàn)結(jié)果 在新研制的《基于最優(yōu)房室模型的藥物動(dòng)力學(xué)分析系統(tǒng)》中,首先通過[初始預(yù)置]模塊設(shè)置“誤差閾值”≤10%、“直線趨勢(shì)的最小樣本數(shù)”為3,然后單擊系統(tǒng)工具欄中的[數(shù)據(jù)導(dǎo)入]、[房室分離]及[迭代求解]等操作按鈕,得到計(jì)算結(jié)果。見圖2。
圖2 最優(yōu)房室模型的藥物動(dòng)力學(xué)分析系統(tǒng)的計(jì)算結(jié)果示例
在圖2中,系統(tǒng)自動(dòng)計(jì)算出表1對(duì)應(yīng)的血藥濃度序列其最優(yōu)房室數(shù)量為2,與文獻(xiàn)[13]的結(jié)論一致。較現(xiàn)有的藥代動(dòng)力學(xué)分析系統(tǒng)而言,由于本系統(tǒng)無需用戶預(yù)置所需的房室數(shù)量,從而有效提高系統(tǒng)的易用性。此外,在模型參數(shù)的迭代求解過程中,通過增加求解參數(shù)的位數(shù)字長(zhǎng),系統(tǒng)得到的擬合精度優(yōu)于文獻(xiàn)[13]的結(jié)果。
3.1 結(jié)果分析 以表1的血藥濃度序列為例,單擊圖3的[查看過程]按鈕,系統(tǒng)將圖文并茂地顯示建模分析的過程數(shù)據(jù)。其中,“房室模型的預(yù)處理過程”面板里有被處理的血濃序列原值、對(duì)數(shù)處理后的序列值及相鄰兩點(diǎn)的斜率計(jì)算結(jié)果;而“房室模型的參數(shù)迭代求解過程”面板則顯示各次迭代所得的參數(shù)值以及對(duì)應(yīng)的迭代誤差。
圖3 最優(yōu)房室模型的藥物動(dòng)力學(xué)分析系統(tǒng)的計(jì)算過程示意圖
在圖3中,系統(tǒng)根據(jù)斜率的不同數(shù)量等級(jí)自右向左地對(duì)血濃序列進(jìn)行房室劃分。由于
不難發(fā)現(xiàn),斜率序列的數(shù)量等級(jí)在(-0.5112,-1.4225)之間發(fā)生跳變,轉(zhuǎn)折點(diǎn)為“-0.5112”,所以系統(tǒng)便析出最佳的房室數(shù)為2,其對(duì)應(yīng)的斜率子序列分別為{-0.25,-0.2599,-0.2605,-0.5112}和{-0.5112,-1.4225,-2.0999,-2.4427}。
分別利用上述子序列的首尾元素對(duì)應(yīng)的時(shí)間值及血濃對(duì)數(shù)值{(0.165,4.1748),(1.5,1.5953)}、{(1.5,1.5953),( 7.5,-0.3425)}構(gòu)造兩個(gè)直線方程,即
解上述方程組,有(k1=-1.9322,b1=4.4936)和(k2=-0.3229,b2=2.0798),在此基礎(chǔ)上,系統(tǒng)將方程組的解代入式(5),得到如圖3所示的兩個(gè)房室參數(shù)的迭代初值(α1=89.4518,β1=1.9322)和(α2=7.7493,β2=0.3015)。
基于已求出的房室數(shù)量和迭代初值,系統(tǒng)利用Gauss-Newton迭代法對(duì)表1的血藥濃度序列進(jìn)行最優(yōu)模型參數(shù)求解。從圖3可知,系統(tǒng)在擬合誤差1×10-4的迭代結(jié)束條件下,進(jìn)行了3次迭代求解后獲得相應(yīng)的計(jì)算結(jié)果;從迭代過程的數(shù)值和曲線族看,系統(tǒng)具有良好的算法收斂性。
3.2 模型檢驗(yàn) 擬運(yùn)用F檢驗(yàn)法[14-15]對(duì)上述的房室模型進(jìn)行有效性的確認(rèn)。
3.2.1F檢驗(yàn)法的檢驗(yàn)過程:F檢驗(yàn)法的檢驗(yàn)過程主要分為如下兩步:
3.2.1.1 計(jì)算各房室模型的F值:不同房室數(shù)量的擬合模型,其F檢驗(yàn)值可用下式進(jìn)行計(jì)算
(15)
式(15)中,Sω1和Sω2分別為相鄰兩種房室數(shù)量的擬合模型的殘差平方和;df為自由度,其值等于實(shí)驗(yàn)樣本點(diǎn)的長(zhǎng)度減去參數(shù)的數(shù)目。如表1的血藥濃度序列的樣本長(zhǎng)度為8,且單室、雙室及三室模型的參數(shù)數(shù)目分別為2、4和6,于是該序列對(duì)應(yīng)的單室、雙室及三室模型的df分別為6、4和2。
3.2.1.2 模型的F檢驗(yàn):若當(dāng)前房室模型的F值比相應(yīng)自由度的F界值(5%顯著水平)大,便可認(rèn)為將擬合模型的房室數(shù)量增1是有意義的;否則,房室數(shù)量應(yīng)選擇較小的那個(gè)房室數(shù)。
3.2.2 新模型的F檢驗(yàn)法:運(yùn)用式(15)計(jì)算新研制系統(tǒng)求得的各房室模型的F值,并按照P<0.05的顯著性水平查F界值表,得到表2所示的結(jié)果。
表2 新研制系統(tǒng)求得的各房室模型的值
從表2的數(shù)據(jù)得知,由于46.42>6.94,說明擬合模型從單室增加到雙室是有意義的;又由于2.19<4.53,按照模型參數(shù)的最小化原則,擬合模型的房室數(shù)量未增至為三室。
綜上所述,通過對(duì)新研制系統(tǒng)的房室模型進(jìn)行F檢驗(yàn),得出的最優(yōu)房室數(shù)量為2是正確和可信的。
本文基于殘數(shù)法和Gauss-Newton迭代法,采用Microsoft Visual Studio 2015的C++編程語言,構(gòu)建了一個(gè)具有最優(yōu)房室選擇機(jī)制的藥代動(dòng)力學(xué)軟件分析系統(tǒng),由于系統(tǒng)能自動(dòng)析出待分析血濃序列的最佳房室數(shù)量,并求出更精確的房室模型參數(shù),所以新研制的系統(tǒng)可有效提高藥物工作者的效能,具有一定的應(yīng)用推廣價(jià)值。