(北京旌準醫(yī)療科技有限公司,北京 100176)
C語言于1972年誕生于美國貝爾實驗室,是當下普遍使用的一種高級程序設計語言,它既包含了相關高級語言的特點,也包含了匯編語言的相應特點。C語言以其功能豐富、使用靈活方便、應用面廣泛、可移植性好、易于調(diào)試和維護等優(yōu)點,不僅在計算機應用領域得到了迅速推廣和使用,在各類科研領域也發(fā)揮著非常重要的作用。它不僅可以用于模塊化程序設計、系統(tǒng)軟件編寫、單片機系統(tǒng)開發(fā)等,同時具有非常強大的科研分析和數(shù)據(jù)處理能力。
目標粒子受干擾粒子的影響,其分布一般與不含干擾粒子下的分布不同。當干擾粒子對目標粒子產(chǎn)生的干擾作用定向性越強,目標粒子分布相對無干擾粒子下的分布,其偏離程度越大;當干擾粒子產(chǎn)生的干擾作用隨機性越強,目標粒子分布相對無干擾粒子下的分布,其偏離程度越小,但當干擾作用完全隨機時,偏離程度并非為零,而是存在一定的擾動影響。針對上述分析,利用C語言程序模擬干擾作用完全隨機的情況下目標粒子進入孔洞的過程,對干擾粒子對目標粒子分布的影響進行分析與計算,從而得到干擾作用完全隨機的情況下干擾粒子對目標粒子的擾動機制,這對芯片數(shù)字PCR中目的核酸進入反應通孔的芯片反應通孔數(shù)設計、流式細胞法中熒光標記粒子(可看做目標粒子)的頻率分布特征分析等具有一定的應用價值。
通過C語言模擬“干擾作用完全隨機的情況下目標粒子進入孔洞的過程”的模擬算法如圖1所示,具體過程如下:
第一步:在[0,h+n*h/m)區(qū)間內(nèi)生成m+n個隨機數(shù),其中[0,h-1]區(qū)間內(nèi)的隨機數(shù)代表目標粒子,總數(shù)為m;[h,h+n*h/m)區(qū)間內(nèi)的隨機數(shù)代表干擾粒子,總數(shù)為n;h代表孔洞數(shù)。
圖1 模擬算法程序圖
在這一步中隨機數(shù)生成的關鍵性程序如下:
rand_ret = (rand()*(RAND_MAX+1) +
rand())%(m+n)
第二步:統(tǒng)計[0,h-1]內(nèi)非重復隨機數(shù)的總數(shù)N,N表示m個目標粒子在h個孔洞中的入孔總數(shù);
這一步中統(tǒng)計總數(shù)N的關鍵性程序如下:
if(rand_ret { if(buf[rand_ret]==0 ) { buf[rand_ret] = 1; ++sum; } } 第三步:將上述過程重復K次,并統(tǒng)計不同N對應的出現(xiàn)次數(shù)Y; 1 為了分析干擾作用完全隨機的情況下,干擾粒子有無及其多少對目標粒子分布的影響,根據(jù)圖1所示采用如下統(tǒng)計分析過程: 設目標粒子個數(shù)為1 000,干擾粒子個數(shù)為1 000b(b分別取0、10、100、1 000、10 000),孔洞數(shù)為1 000a(a分別取1、3、7)。當孔洞數(shù)取1 000時,利用C算法程序隨機生成1 000+1 000b個介于[0,999+1 000b〗的隨機數(shù),且[0,999]之間的隨機數(shù)1 000個,代表目標粒子;[1 000,999+1 000b]之間的隨機數(shù)1 000b個,代表干擾粒子。當生成隨機數(shù)x(0≤x≤999)時表示目標粒子落入標號為x的孔洞內(nèi),統(tǒng)計代表目標粒子的1 000個隨機數(shù)的非重復數(shù)值的總數(shù)N,N就表示1 000個目標粒子在1 000b個干擾粒子作用下在1 000個孔洞中的入洞總數(shù)。將上述過程重復5萬次,統(tǒng)計不同入洞總數(shù)N對應的出現(xiàn)次數(shù)Y,從而得到1 000個目標粒子在1 000b個干擾粒子作用下在1 000個孔洞中的分布情況,如圖2和表1所示。 圖2 目標粒子在1 000個孔洞中的分布 目標與干擾的數(shù)量比N-Y曲峰對應N值目標與干擾的數(shù)量比N-Y曲峰對應N值無干擾粒子6321∶1 0006361∶106331∶10 0006321∶100632 當孔洞數(shù)h取3000時,利用C算法程序隨機生成1 000+1 000b(b分別取0、10、100、1 000、10 000)個介于[0,2 999+3 000b]的隨機數(shù),當生成隨機數(shù)x(0≤x≤2999)時表示目標粒子落入標號為x的孔洞內(nèi),并統(tǒng)計代表目標粒子的1 000個隨機數(shù)的非重復數(shù)值的總數(shù)N。將上述過程重復5萬次,統(tǒng)計不同入洞總數(shù)N對應的出現(xiàn)次數(shù)Y,從而得到1 000個目標粒子在1 000b個干擾粒子作用下在3 000個孔洞中的分布情況,如圖3和表2所示。 圖3 目標粒子在3 000個孔洞中的分布 (a)無干擾粒子對應的目標粒子分布;(b)、(c)、(d)、(e)分別對應干擾粒子個數(shù)是目標粒子的10、100、1 000、10 000倍時的目標粒子分布; (f)前述5類情況的合成圖. 表2N-Y曲線波峰對應的入洞總數(shù)N(3 000個孔洞) 目標與干擾的數(shù)量比N-Y曲峰對應N值目標與干擾的數(shù)量比N-Y曲峰對應N值無干擾粒子8511∶1 0008551∶108491∶10 0008521∶100852 依此類推,可得到當孔洞數(shù)h取7 000時1 000個目標粒子在1 000b個(b分別取0、10、100、1 000、10 000)干擾粒子作用下在7 000個孔洞中的分布情況,如圖4和表3所示。 圖4 目標粒子在7 000個孔洞中的分布 (a)無干擾粒子對應的目標粒子分布;(b)、(c)、(d)、(e)分別對應干擾粒子個數(shù)是目標粒子的10、100、1 000、10 000倍時的目標粒子分布; (f)前述5類情況的合成圖. 表3N-Y曲線波峰對應的入洞總數(shù)N(7 000個孔洞) 目標與干擾的數(shù)量比N-Y曲峰對應N值目標與干擾的數(shù)量比N-Y曲峰對應N值無干擾粒子9311∶1 0009351∶109331:10 0009331∶100933 從圖2到圖4發(fā)現(xiàn),不論孔洞數(shù)h為多少,含干擾粒子的4類N-Y曲線分布與不含干擾粒子的N-Y曲線分布基本重合或相同,且干擾粒子個數(shù)越小,其對應的N-Y曲線分布與不含干擾粒子的N-Y曲線分布的重合度或相似度越高;而從表1到表3同樣發(fā)現(xiàn),不論孔洞數(shù)h為多少,含干擾粒子的4類N-Y曲線的主峰對應的N值與不含干擾粒子的N-Y曲線的主峰對應的N值幾乎相同。上述結(jié)果表明,在干擾作用完全隨機的情況下,對于任意取值的孔洞數(shù)h,干擾粒子有無及其多少不會破壞目標粒子的隨機分布程度,這決定了無論有無干擾粒子或其存在多少,目標粒子都將具有基本相同的N-Y曲線分布。 但是,從圖2到圖4可以發(fā)現(xiàn),當加入干擾粒子時會引起目標粒子N-Y分布曲線的局域統(tǒng)計波動或漲落(即N-Y曲線中的鋸齒波動),且隨著干擾粒子個數(shù)逐漸增多,目標粒子N-Y分布曲線的局域統(tǒng)計波動或漲落也越大。這樣的結(jié)果表明,加入干擾粒子后目標粒子的入洞總數(shù)N將發(fā)生局域統(tǒng)計波動或漲落,且隨著干擾粒子個數(shù)的增多,入洞總數(shù)N的局域統(tǒng)計波動或漲落越大,但這種局域統(tǒng)計波動或漲落不會影響目標粒子的整體N-Y曲線分布。 利用C語言模擬干擾作用完全隨機的情況下目標粒子進入孔洞的過程,對干擾粒子對目標粒子分布的影響進行了分析與計算,得到了如下結(jié)論: 在干擾作用完全隨機的情況下,對于任意取值的孔洞數(shù),干擾粒子有無或其多少均不會破壞目標粒子的隨機分布程度,因此,無論有無干擾粒子或其存在多少,目標粒子都將具有基本相同的N-Y曲線分布,但是干擾粒子會引起目標粒子入洞總數(shù)N的局域統(tǒng)計波動或漲落,且隨著干擾粒子個數(shù)的增多,局域統(tǒng)計波動或漲落越大,但這種局域統(tǒng)計波動或漲落不會影響目標粒子的整體N-Y曲線分布。 上述結(jié)果不僅可以應用于芯片數(shù)字PCR的芯片反應通孔數(shù)設計、流式細胞法中熒光標記粒子的頻率分布特征分析等設計與分析過程,對于眾多涉及需要在干擾背景下對目標粒子的分布與狀態(tài)進行處理分析的過程,由于定然需要對目標與干擾粒子之間的擾動機制問題進行分析與解決,因而上述結(jié)果在實際生產(chǎn)和生活中對于其它眾多干擾環(huán)境下目標粒子的處理問題同樣具有一定的普遍應用價值。2 擾動機制分析
3 結(jié) 論