要約
リスク比較のためのWEBアプリ「Risktools」を作っています。今回公開した改良版(ver5)では、農薬の食品中残留濃度からリスクの大きさを評価して、リスクのものさしと共に表示する機能を追加しました。
本文:リスク比較のためのRisktools ver5
本ブログの上部メニューにあるRisktoolsは、リスク比較を目的として、死因別もしくはリスク要因(直接の死因となる病気の原因となる要因)別にリスクの大きさをリスクのものさしと共に表示するツールです。
2022年1月に最初のver1を公開し、これまでの最新版である2024年8月に公開したver4では、「死因別リスクのものさし表示ツール」に最新版のデータを追加、「リスク要因別リスクのものさし表示ツール」に最新版のデータ・性別とリスク指標の選択を追加しました。
この開発の経緯は以下の過去記事に書いています。



本記事では、今回公開したRisktools ver5について紹介します。今回は農薬の食品中残留濃度からリスクの大きさを評価して、リスクのものさしと共に表示する機能を追加しました。今回のバージョンもぜひ自分でいろいろと試して頂ければと思います。
Risktools ver5の改良点:農薬の食品中残留濃度からのリスク評価
今回新たに加えた機能は、以下にリンクした前回の記事にて計算したような、食品中残留農薬のリスクを評価して、リスクのものさしと共に表示するものです。

現在のRisktools ver4は、「がん」や「新型コロナウイルス」などの死因別のリスクを表示したり、がんの原因になるような「たばこ」や「アルコール」などのリスク要因別のリスクを表示できます。
リスク指標としては「人口10万人あたりの年間死者数(死亡率)」、「人口10万人あたりの損失余命」、「人口10万人あたりのDALY」の3つがあります。DALY(disability-adjusted life year:障害調整生命年)については以下の過去記事を参照してください。

農薬などの化学物質の場合は、このような指標で評価することは一般的ではありません。以下の過去記事のように「曝露マージン(動物実験で得られた無影響量/化学物質の摂取量)」などの指標がよく使われます。

化学物質のリスクを他のリスクと比較するためには上記の3つのリスク指標で表現することが必要です。そこで、本ブログではそのための手法を検討してきました。

これを食品中残留農薬のリスクを評価に応用したものが今回ツールに実装する機能です。必要な情報は農薬のADI(許容一日摂取量)、残留濃度、残留している食品の種類、の3つです。
ADIから死亡に関する無毒性量を推定し、残留している食品の種類からその食品を1日にどれくらい食べるかを決めます。そうすると、体重50kgの人が毎日その農薬が残留した食品を食べた場合にどの程度の死亡率、損失余命、DALYになるかを計算できます。
この計算をWEBアプリケーション上で計算できるようにしたものが「食品中残留農薬のリスクのものさし表示ツール」です。
以下、実際の結果を例示していきます。
農薬の食品中残留濃度からのリスク評価事例
Rikstoolsの一番下に、以下のような「食品中残留農薬のリスクのものさし表示ツール」があります。

ここで、農薬の種類と食品、残留濃度を入力します。上記で紹介した残留農薬超過事例を元に入力してみましょう。この例では、イソキサチオンが春菊に8.4ppm(mg/kg)残留していたというものです。
農薬の種類を入力するプルダウンメニューは検索が可能ですので、「イソ」などと入力すると「イソキサチオン」が出てきますので、それを選択します。
次に、食品の種類を選択しますが、春菊はこのリスクにはありませんので、代わりに「その他の緑黄色野菜」を選択します。二段階プルダウンメニューになっていますので、最初に食品分類として「野菜」を選択すると、その下にいろいろな野菜が出てきますので、「その他の緑黄色野菜」を選択してください。
最後に残留濃度を入力します。これは数字で「8.4」と入力すれば大丈夫です。
最後に「決定」ボタンを押しましょう。そうすると以下の結果が表示されます。

「その他の緑黄色野菜」は平均的に一日あたり31.7g食べられているので、その場合のリスクが計算されます。
最初に、どのくらい食べ続ければADIを超えるか、曝露マージンの計算結果が出され、その下にリスクのものさしが表示されています。
別の事例として、以下の過去記事で取り上げたシアントラニリプロールがいちごから0.14mg/kg検出された場合も計算してみましょう。


とっても簡単ですね。これを自分で計算しようとするとかなり大変ですが、自動で計算してくれるので非常に便利だと思います。
開発裏話
最後に今回の開発について書いておきます。データ分析は本職なのでサーバーサイド(pythonを用いた計算の部分)の開発は問題ないのですが、私が苦手なのがWEBページを作るフロントサイド、特にjavascriptです。
今回のツールでも、二段階プルダウンメニュー(最初に食品分類を選択すると、その分類に属する食品が選択できるようになる機能)や検索付きプルダウンメニュー(農薬の選択の際に検索が可能)の部分でjavascriptを使っています。
私はjavascriptはまったくできません。これはpythonなどのサーバーサイド言語とあまりに違い過ぎるので読んでもまったく何をやっているのかわからず、勉強する気にもなかなかならないのですね。
便利なもので、最近はchatGPTなどにやりたいことを入力すればすぐにそのためのコードが出てきますので、ますます勉強する気がなくなってしまいました。
特に、今回検索付きプルダウンメニューはjQueryのselect2というプラグインを使ったのですが、最初なかなかうまく動きませんでした。chatGPTにトラブルシューティングをお願いすると、懇切丁寧にアドバイスしてくれるので、それをひとつずつ試して原因を探ることでうまく動かすことができました。
さらに、今回はAIにわからない部分を聞く、というサポート役として活用しましたが、最近ではもうAIがアプリケーション丸ごと作ってしまう、というレベルまできています。
「Build apps with Gemini」は、「○○するアプリを作ってください」などとプロンプトを入力するだけで、アプリに必要なコードを自動で生成して、アプリが完成します。また、その場ですぐに動作確認ができるので、動きを確認しながら修正指示を出すことができます。さらに、クリック一つでデプロイ(アプリをWEB上に公開すること)もできてしまいます。
まだこういうのを使ってアプリ開発をしたことはないのですが、開発のプロセス自体が変わり、非エンジニアにとってもアプリケーションの開発がどんどん容易になりつつあることを実感しますね。
まとめ:リスク比較のためのRisktools ver5
Risktoolsの改良版(ver5)では、「食品中残留農薬のリスクのものさし表示ツール」を実装しました。農薬の種類と食品、残留濃度を入力することで、死亡率、損失余命、DALYという3つのリスク指標をリスクのものさしと共に表示できるツールとなっています。
コメント