Note:

因為blogger會有很多廣告留言,所以我有設留言管制。大家留言留一次就好,只要不是廣告,我都會定期去後檯把留言給撿回來。

造成麻煩還請大家多多見諒。

2015年5月14日 星期四

Parts per notation is not advisable when describing toxicity

這幾年來臺灣的食安問題層出不窮,甚至連藥品也出現了原料來源上的問題。我由於研究的關係,接觸了很多藥品相關的研發與製造法規,也因此接觸到了GMP (Good manufacturing practices)和GCP(Good clinical practices)等概念。在我看來,GMP正是現在食品和藥品管控危機的根源。食品GMP我雖然不熟,但在基本的概念上,和藥品的GMP是極為類似的。因此我打算分享一下我對GMP的了解,看看能不能稍微提供管控食品安全的一些思考面向。

不過在進入GMP之前,有幾個資訊正確性的問題還是需要處理一下。這部份loading就很重了,所以這篇文章會先處理這個部分,GMP等到下篇再說。

這個資訊正確性問題在媒體上還頗為氾濫,不過我在這裡不想講這些糾正不完的新聞,倒是打算從一篇在臉書上被轉載很多次的文章說起:

這篇文章把好幾件不同的事情扯在一起講,讓這個議題變得太過複雜,因此第四點之後,那些過度推論,以及已經被糾正過的水處理問題,我就不發表意見了,這裡只針對我熟悉的部分做解釋。而這可以粗分為幾個比較大的問題,以下我們一個一個來處理:


【五十嵐、、英國藍,到底誰毒誰不毒?】

首先讓我非常感冒的一點,是他的毒理學概念幾乎完全是錯的。關於毒理學的基本介紹,我以前在 ⟪Toxicity is a time-dependent dose-response relationship⟫ 這篇文章裡就介紹過了,有興趣的朋友可以點進去看看。這邊,就讓我們長話短說,難事化簡。

站在人類的立場來看,最簡單的說,一個毒物之所以有毒,是因為他對人體,會產生不良的作用。但毒理學裡頭一個基本的觀念是,每個物質,只要劑量夠高,就會對生物體造成毒性。因此即使如水一般無害的物質,只要喝太多,也是會出現水中毒的症狀。

而一個東西吃進去會不會有毒,基本上是建立在人體對這個東西有多敏感之上。像某些蛇毒,或是氰化物,因為作用機轉的關係,人體對他們非常敏感,所以只要很低的劑量,就足以殺死一個人。反之,我們可以說,人體的生理,對於水份就沒那麼敏感,所以可以吸收很大的量,還是不會有中毒的現象。

有了這個基本概念之後,我們應該就可以很清楚地知道,一個東西毒不毒,和他在茶葉或著便當裡驗出來有多少沒什麼直接的關係,而和人體對他的敏感度有關。假設一個便當驗出含有50公克的農藥A,但是人要吃下超過100公克的農藥A才會產生毒性反應,那吃了這個便當也不會怎樣。反之,另外一個便當若驗出0.002公克的農藥B,但人體只要吃0.00001公克就會死亡,那這0.002公克就很明顯太多。

在這樣的情況下,我們就可以得出一個概念:兩個不同毒物,驗出來的量,是沒辦法直接比較的。是以,該篇文章中:「跟英國藍比起來,英國藍洗洗睡。」的論述是不成立的,因為英國藍雖然含有高量的DDT,但光靠這個資訊,你是無法知道含有0.003ppm Fipronil的五十嵐,是有毒還沒毒,或著有多毒的。我們必須知道人體對Fipronil有多敏感,造成的毒性反應又是什麼,才有可能有辦法判斷。

此外,從超標的量來看,我們也無法判斷,到底DDT和Fipronil比起來,到底誰比較毒,誰的超標又比較嚴重。事實上,DDT以急性毒性(acute toxicity)來看,並不是一個非常毒的物質(LD50是113 mg/kg,也就是說要吃到這個量,才會有一半的實驗動物死亡),DDT的可怕之處在於它是環境賀爾蒙(xenoestrogens),會對很多動物的生殖系統造成影響,劑量高且長時間接觸,也可能對人類的生殖系系統造成影響,甚至影響胎兒發育,像是早產、流產、不孕等等。

反之,Fipronil的研究指出,這東西對某些無脊椎動物,例如某些昆蟲很毒。而在人身上,則可能有一點致癌性。

這樣完全不同的毒性反應,會讓這兩者完全無法比較。想想看,我們要怎麼比造成人類流產和可能在人身上致癌哪個比較毒?要怎麼比較很低劑量就會殺死昆蟲,和會造成老鼠生殖系統的傷害,哪個比較毒?這完全是不同層面的事情,放在不同context會有不同答案,根本不能這樣概略的比較。

不過如果我們分開來看,要知道每一個物質,吃下去特定的量,對人類會不會有毒,這倒是有辦法。一般來說,要判斷這件事情,我們會需要兩個數值,一個叫做NOAEL,另一個叫做ADI或TDI。這部份我講過很多次了,懶得再重寫,就把之前和朋友做的解釋貼上來,想要更詳細的了解,可以點 ⟪Toxicity is a time-dependent dose-response relationship⟫ 這篇文章,裡頭會有更仔細的解釋。

「No observed adverse effect level (NOAEL)是一個劑量,常常會用mg/kg表示,代表的是在這個量以下(含),實驗動物上看不到任何急性與慢性的毒性反應。用mg/kg表示,是因為要對體重做normalisation。譬如說這次五十嵐查到的Fipronil,他在大鼠上做出來的NOAEL是1.9 mg/kg,就表示對一隻1 kg的大鼠來說,他每天做多吃到1.9 mg的Fipronil,在實驗室裡看不到任何毒性反應。

在實驗動物身上找到的NOAEL要轉換到人身上,為了安全,通常會除上一個safty factor,一般來說從大鼠轉到人我們會抓100。這個值完全是由經驗來的,研究時間越短,safty factor會抓越大。譬如做兩年的實驗會除上safty factor 100,但做2個月可能就會除上1000。假設我們用超高標準去看待Fipronil的毒性,把Fipronil在人身上的NOAEL抓在0.0019 mg/kg好了(1.9乘上safty factor 0.001),這樣就是0.0019 ppm(百萬分之0.0019)。以一個60 kg的人來說,他每天可以吃0.114 mg(60 x 0.0019)。這個0.0019 mg/kg的量,又被稱做是acceptable daily intake (ADI),這才是用來判斷Fipronil吃進去會不會有毒的數值。」


【ppm到底是什麼?0.001 ppm到底是大還是小?】

接著讓我們來處理一下「0.001ppm微乎其微」這件事。

在那篇文章中,作者寫道:「去年七月以前國家標準是0.005ppm,去年七月修法以後才改成0.002ppm導致他超標,合理推斷超標的是庫存茶不然就是誤差(0.001ppm微乎其微)」這裡的推論,有一些明顯的問題。

首先,讓我們來定義一下ppm。ppm的全名,是parts per million,他是parts per notation的其中一員。以ppm為例,1 ppm的定義是「在每一百萬個單位中,含有一個單位」。這樣講很拗口,直接用例子解釋會比較簡單。譬如說,今天在一公斤的石頭中,含有百萬分之一公斤的黃金(mg/kg),或著一百萬公升的溶液中,含有一公升的乙醇(L/1M L),又或著在一百萬莫耳的分子中,有一莫耳的葡萄糖(1 mol/ 1M mol),甚至一百萬赫茲中的一赫茲(1 Hz/ 1M Hz,常用在nuclear magnetic resonance (NMR) spectroscopy),這些都叫做ppm。

由上面的例子,我們可以知道,ppm是一個「比例」,而比例,是沒有單位的,因為你分子和分母的單位相同,相除之後,單位就消掉了。

這樣就會造成幾個問題。首先是只看ppm,我們無法知道本來的單位級距是什麼。0.003 ppm的Fipronil可以來自一公斤的茶葉,也可以來自一公克的茶葉,而不知道這件事情,會讓我們沒辦法判斷一個東西毒不毒。下面我再次引用我自己寫過的例子來解說:

「現在我們驗到茶葉含有0.003 ppm的Fipronil。為了簡化,我們就假設這裏是1公斤的茶葉,會含有0.003 mg的Fipronil。假如說一公斤的茶葉可以泡一杯五十嵐,那就是一杯五十嵐會含有0.003 mg的Fipronil。換句話說一個60公斤的人,喝到撐死,也不太可能超過0.114 mg的ADI,而且一公斤的茶葉泡一杯五十嵐是超嚴重的高估,幾十公克通常就濃到喝不下去了。

所以根據這樣算,五十嵐本身查出來的Fipronil量算是很安全。但是這沒辦法光從茶葉驗出有幾ppm的Fipronil直接判斷,你得做上面那些換算才行。假設今天茶葉是需要用100公斤去泡1杯五十嵐,那麼一杯五十嵐就會含有0.3 mg的Fipronil,這樣只要一杯就超標了。這就是為什麼0.001 ppm不見得是微乎其微。ppm是一個比例,不是一個絕對的大小。1的百萬分之1很小,但一百億的百萬分之一卻是很大的絕對值。所以用驗出來的ppm是多少去說一個東西毒不毒,根本是在胡扯,你一定要有ADI,然後進行一系列的換算,才可以判斷。」

從這個例子裡,我們可以知道,0.001 ppm,到底是不是微乎其微,會取決於你起始的絕對值。像那篇臉書文章中石門水庫的例子,雖然0.001 ppm是很小的比例,但在「有效庫容量2億123萬噸的石門水庫,0.001 ppm,就是202公斤的Fipronil」。

202公斤大不大?當然大啊,別說吃死你了,壓死你都可以呢。

而從這裡,就可以回答該篇文章關於實驗誤差的疑問。各位可以想像一下,我們現在要把一個叫做A的東西稀釋十倍。理論上,你是把1 μl的A,加入9 μl的水中,還是把100 μl的A,加入900 μl的水,意思是一樣的。

但假設我們今天在把1 μl的A,加入9 μl的水中的稀釋時,我們使用的工具,多沾到了一小滴的A。一小滴的A,我們假設大概是1 μl的量好了,那你就變成加了2 μl的A,到9 μl的水中,變成了2/11,而不是本來的1/10。以體積濃度來看,這是一個從0.10變成0.18,差了1.8倍的誤差。

可是如果你做的是100 μl的A,加入900 μl的水,然後你不小心多沾了五滴A,那就是105 μl的A,加入900 μl的水,變成105/1005,從體積濃度上來看,就是從0.100變成0.104的誤差,只差了1.04倍。

上面這個例子,是在告訴我們,決定實驗誤差影響大小的,是你的實驗誤差量,佔你實驗總量的比例。所以一般來說,當我們在實驗室做連續稀釋時,雖然理論上把1 μl加入9 μl的稀釋,和把100 μl加入900 μl的稀釋,是完全一樣的,都是稀釋成10%,但我們都會建議把體積放大一點,這樣誤差才不會太大。

而如前所述,ppm剛好就是一個比例的概念,它不是一個絕對值,也沒有單位。所以一個實驗的誤差值,佔實驗值的比例,會不會大到影響實驗結果,是沒辦法從ppm這個資訊去判斷的。如果套到前面那個例子,我們自己創造一個比例叫做parts per ten,ppt好了,那上面兩個例子,都是1個ppt,可是一個的誤差,會大幅影響到你的實驗結果,另一個則不會。是以,要知道0.001 ppm的差距,是否可能是由實驗誤差所造成,你得知道實驗得到的絕對數值,和誤差的絕對數值,才有辦法。

從某個角度上看,這也是我一直都非常反對使用parts per notation的原因。Parts per notation因為沒有單位,也無法從他的數值看出絕對值,因此若這些資訊不給你,你根本無從判斷他現在在講的是體積的ppm、容量的ppm、長度的ppm,還是莫耳數的ppm,也不知道我們現在講的是怎樣一個級距(scale)的概念,是mg/kg,μg/g,還是ng/mg?

這些資訊在每個特定學界,都有約定成俗的用法,所以如果你是巷子內的人,那當然不是問題,你看到人家寫ppm,就會知道大概是在講什麼級距的什麼單位。但隔壁條巷子的人,很可能就讀不懂你的ppm了,因為你的ppm,和我的ppm,很可能是完全不同的兩件事。

把不同單位的ppm弄混,會有什麼問題呢?我下面用把體積和質量弄混來當例子。體積要換算成重量,必須知道密度(密度等於質量除以體積),也就是說我們會在這邊多加入一個因子,把問題變得更複雜。

這通常不是什麼太大的問題,因為在生物體上,大部份的時候,我們都是在處理很稀薄的水溶液,而水的密度大概是1 kg/L,所以這時候體積(或容積)和質量是可以很直觀的轉換的。因為一公斤的水體積大概就是一公升,所以我們在表示ppm的時候,可以把1mg/kg當作是1mg/L,因而直接用1 ppm表示。但是1mg/L = 1 ppm在概念上是錯的,parts per notation必須要分子分母單位相同(dimensionless),才能夠成立。

若回去探究毒理學研究的最源頭,其實我們在做研究時,真正給藥測毒性的時候,常常用的是濃度單位,不管是莫耳濃度,還是體積濃度,他們的分子和分母,單位都不會一樣,也就是說,他們都不應該直接用parts per notation來表示

之所以會用濃度單位有幾個原因,第一個是大部份這些毒物或藥物,都是配成水溶液,在實驗上才會比較好操作。不論是直接加到cell culture中,或著給老鼠做靜脈注射,在操作和藥物動力學的計算上都都會簡單許多。

另一個學理上的原因,是因為我們真正在做毒理學測試的時候,藥物或毒物在生物體內的有效濃度(bioavailability),才是我們真正關注的。一個毒物,不管透過什麼路徑給藥,最後都會進入體循環,也就是血液系統中,這是一個水溶液的系統。而該毒物在這個水溶液系統裡面的濃度、酸鹼值和水溶性,會影響到他跑到不同組織裡的量(distribution)。在組織中若累積多了,就可能會對組織造成毒性,所以在研究毒理學的時候,都要把這些因素考慮進去。

一般而言,我們會把體循環當作是一個單一的空間(single-compartment model),來去做一些簡單的藥理學或毒理學計算,而這裡都是用濃度下去轉換的。也因此,實際上我們做出來的NOAEL,應該是一個濃度。不過我們可以很容易從濃度得到量(dose,通常單位是質量),所以只要做一個簡單的換算,就可以得到吃進去的總量,而量的概念比較直觀,也比較容易對體重做normalisation,所以NOAEL才會以mg/kg這樣的方式表示,也才有之後換成ppm的空間。

換言之,從嚴格的定義上,當一個東西進入到體循環裡面,會形成一個濃度,也就是該物質的量,去除上血液的總體積。然後這個濃度會影響到該物質在體內的分佈,也因此會影響特定組織中該物質的量有多少,量若高到會產生毒性反應,那這東西才會有毒。因此我們給的毒物雖然可以定量,可是這個物質在生物體內的濃度,才是真正影響這個物質毒裡特性的關鍵。

也因此,量的概念,只是一個非常概略的概算法。有的時候,我們可以透過控制某一物質的釋放速率,來改變它在血液內的濃度,讓同樣的量,達到不同的效果。而如果關鍵是濃度,那要考量的,就應該是多少量的某物質,進入到多大體積/容積內(總血液量)

所以當我們用mg/kg做normalisation的時候,其實我們是做了一個體重(body mass)和體積成正比的假設。

這個假設通常不會太離譜,所以我們可以這樣簡單的概算。同時,在不考慮釋放(liberation)的情況下,同樣的量吃下去,或著跑到血液中之後,產生的分佈體積( volume of distribution,吃下去的藥物總量,除以血液中的藥物濃度,可以看出藥物有多少跑到組織中)應該是一樣的,所以這樣的概算通常不會有太大的問題。

也因此,當我們在表示NOAEL,或著ADI的時候,可以直接用mg/kg來表示,也就能夠被換成ppm。加上我們都會除上safety factor,所以就算有一點誤差,理論上還是安全無虞。而食品中規定能夠驗出來的量,通常是除了safety factor之後,還要再低個幾十倍,所以我們可以大致的說,即使驗出超標的某物質,只要不具有生物累積效應,且有辦法快速代謝,基本上應該不會對健康有非常直接且快速的負面影響。

這樣一路推論下來,這裡沒差,那裡可以省略,或許各位會覺得,那使用ppm也沒什麼不可以。從某個角度上來看是這樣沒錯,不然就不會到現在,學術界很多人都還是用ppm來表示自己的研究。可是這裡沒差,那裡沒差,不斷簡略的結果,很可能就是在搞不清楚的情況下,最後做出有差的錯誤判斷,像是這篇文章引用的臉書文,就是這樣,概念上既模糊,又錯誤百出。這也是為什麼我一直很不喜歡用簡略的概念去說明事情:簡化是一種對已經理解道理的人,用來偷懶的方法,但直接解釋簡化的道理,卻很可能會造成不懂的人的誤解,於是基於不精確的前提下,做出離譜的推論。

最後,我這篇文章東扯一點,西拉一些的,有點雜亂,所以要來歸納一下幾個重點:

1) 毒物之間,多數情況下無法直接概略比較誰毒誰不毒;

2) ppm是一種比例,無法回推單位,也無法回推scale。ppm的分子和分母,必須是同個單位,mg/L不是一種ppm的表示法;

3) 描述毒性的時候,最好使用有單位的數值,會比ppm更清楚;

4) 我們無法光從一個產品(譬如茶葉),驗出特定量的毒物(例如Fipronil),得知他有多毒,或有沒有毒。

5) 超標不代表吃下去就有毒,這點是由NOAEL來決定的。人類身上的NOAEL通常是除上safety factor的概略值,所以並不精確,但通常頗安全。

這樣看起來,Fipronil超標一點點,擺在NOAEL和ADI的概念下,好像也沒什麼差,不太嚴重的樣子。但實際上這是一個非常嚴重的事情,因為這代表著整個GMP架構的崩壞,而這也將會是下一篇文章的重點。現在,我們只需要知道,看到某某東西驗出毒物超標時,從這東西有多毒去切入,是很難直接建立關聯性的,也就是說,現在多半的報導,都是用不精確的方式,在製造恐慌。而除去恐慌,才是能夠正確分析事情的第一步。

2 則留言:

匿名 提到...

有趣的是如果拿0.001ppm的Fipronil茶葉用熱水泡的茶湯檢驗答案絕對nd,茶葉沒人直接啃的

seventeen 提到...

也不一定啦,要考慮的條件很多。從他們用ppm來表示,我猜標準的檢驗法應該是萃取之後打mass,水溶液的話只要濃縮以後做檢驗,之後再回算也還是可以做。

不過我大概了解你的意思,這裡還要考慮solubility的問題。