{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":91249,"databundleVersionId":11294684,"sourceType":"competition"}],"dockerImageVersionId":30918,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"BYU - Locating Bacterial Flagellar Motors 2025","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19"}},{"cell_type":"markdown","source":"# Overview\n## Overview\nこのコンペティションの目標は、細菌の3D再構成においてべん毛モーターの存在と位置を特定するアルゴリズムを開発することです。この従来は手作業で行われていた作業を自動化することで、巨視的分子複合体の研究が加速し、分子生物学の基本的な疑問に答える助けとなり、薬物開発が改善され、合成生物学が進展します。","metadata":{}},{"cell_type":"markdown","source":"## Description\n### Introduction\nべん毛モーターは、化学走性から病原性に至るさまざまなプロセスで重要な役割を果たし、多くの微生物の運動性を促進する分子機械です。クライオ電子トモグラフィー（cryo-ET）により、これらのナノマシンを自然に近い状態で画像化することが可能になりました。しかし、これらの三次元再構成（トモグラム）におけるべん毛モーターの特定は手間がかかります。低い信号対雑音比、可変なモーターの方位、および込み合った細胞内環境の複雑さなどの要因が自動識別を困難にしています。人間が介在するボトルネックによってクライオ-ET研究は制限を受けています。このコンテストでは、べん毛モーターが存在する場合、その位置を特定する画像処理アルゴリズムの開発が課題です。<br>\n<br>\nトモグラムとは、一連の2D投影画像から再構成された三次元画像です。このチャレンジの画像は、氷の中で瞬時に凍結された細菌のトモグラムであり、これにより撮像プロセスで細菌の分子構造が保持されます。このビデオは、べん毛モーターを含む細菌細胞のさまざまな特徴を強調するトモグラムのスライスを示しています。添付されたテキストには、モーターの目的と機能が記述されています。\n\n","metadata":{"execution":{"iopub.status.busy":"2025-03-05T23:29:27.453879Z","iopub.execute_input":"2025-03-05T23:29:27.454200Z","iopub.status.idle":"2025-03-05T23:29:27.462204Z","shell.execute_reply.started":"2025-03-05T23:29:27.454175Z","shell.execute_reply":"2025-03-05T23:29:27.460679Z"}}},{"cell_type":"markdown","source":"## Evaluation\n### Evaluation Metric\n提出物は、Fβスコアとユークリッド距離の組み合わせを使用して評価されます。目標は、トモグラムにモーターが含まれているかどうかを判断し、含まれている場合はその位置を正確に予測することです。<br>\n<br>\n実際の位置を y とし、予測された位置を y¯とします。ユークリッド距離 |y−y¯|2 によって分類が決定されます。\n- True Positive (TP): If |y−y¯|2≤τ, 予測は閾値の中にある.\n- False Negative (FN): If |y−y¯|2>τ, 予測は閾値の外にある<br>\nここでτは１０００オングストロームです。<br>\n<br>\n### Fβスコア\nFβスコアは、適合率と再現率のバランスを取り、β>1のときに再現率を重視し、β<1のときに適合率を重視します（今回はβ=2を使用するため、再現率を適合率より重視しています）。これは以下のように定義されます：<br>\n後で書く<br>\n<br>\nこの指標は、予測されたモーターの存在と位置の正確さの両方が最終スコアに考慮されることを保証します。<br>\n評価ノートブックへのリンク：https://www.kaggle.com/code/metric/byu-biophysics-91249","metadata":{}},{"cell_type":"markdown","source":"## Submission Format\n提出物は、テストセットに含まれる各トモグラムごとに1行のCSVファイルでなければなりません。重要：モーターが存在しないと予測する場合、Motor axis 0、Motor axis 1、Motor axis 2を-1に設定してください。\n","metadata":{"execution":{"iopub.status.busy":"2025-03-05T23:33:01.704018Z","iopub.execute_input":"2025-03-05T23:33:01.704389Z","iopub.status.idle":"2025-03-05T23:33:01.711622Z","shell.execute_reply.started":"2025-03-05T23:33:01.704363Z","shell.execute_reply":"2025-03-05T23:33:01.709936Z"}}},{"cell_type":"markdown","source":"## Timeline\n- 2025年3月5日 : 開始日 \n- 2025年5月28日 : エントリー締切。この日までに競技規則に同意する必要があります。 2025年5月28日 - チーム合併締切。参加者がチームに参加または合併できるのはこの日までです。 \n- 2025年6月4日 : 最終提出締切 すべての締切は特に記載がない限り、該当日の午後11時59分（UTC）です。<br>\n  \n競技主催者は必要と判断した場合、コンテストのタイムラインを更新する権利を保有します。\n","metadata":{"execution":{"iopub.status.busy":"2025-03-05T23:33:39.501716Z","iopub.execute_input":"2025-03-05T23:33:39.502074Z","iopub.status.idle":"2025-03-05T23:33:39.508636Z","shell.execute_reply.started":"2025-03-05T23:33:39.502048Z","shell.execute_reply":"2025-03-05T23:33:39.507090Z"}}},{"cell_type":"markdown","source":"## Code Requirements\nこれはコードコンペティションです。このコンペティションへの提出は、ノートブックを通じて行う必要があります。コミット後に「提出」ボタンを有効にするためには、以下の条件を満たす必要があります：\n\n- CPUノートブック：実行時間12時間以内\n- GPUノートブック：実行時間12時間以内\n- インターネットアクセスは無効\n- 自由で公開されている外部データの使用は許可されています（事前学習モデルを含む）\n- 提出ファイルは submission.csv という名前でなければなりません\n- 提出時間には若干のばらつきがあり、同じ提出を繰り返した場合でもスコアが出るまでに最大15分の差異が生じることがあります  \n\n提出方法の詳細については、コードコンペティションのFAQを参照してください。また、提出エラーが発生している場合はコードデバッグのドキュメントを確認してください。\n","metadata":{"execution":{"iopub.status.busy":"2025-03-05T23:36:21.396794Z","iopub.execute_input":"2025-03-05T23:36:21.397176Z","iopub.status.idle":"2025-03-05T23:36:21.403761Z","shell.execute_reply.started":"2025-03-05T23:36:21.397150Z","shell.execute_reply":"2025-03-05T23:36:21.402393Z"}}},{"cell_type":"markdown","source":"## Citation\nAndrew Darley, Braxton Owens, Bryan Morse, Eben Lonsdale, Gus Hart, Jackson Pond, Joshua Blaser, Matias Gomez Paz, Matthew Ward, Rachel Webb, Andrew Crowther, Nathan Smith, Grant J. Jensen, TJ Hart, Maggie Demkin, Walter Reade, and Elizabeth Park. BYU - Locating Bacterial Flagellar Motors 2025. https://kaggle.com/competitions/byu-locating-bacterial-flagellar-motors-2025, 2025. Kaggle.","metadata":{}},{"cell_type":"markdown","source":"# Data\n## Dataset Description\nこのコンペティションでは、3Dトモグラム内のべん毛モーターの中心を見つけることが課題となります。トモグラムとは、物体の3D体積表現です。このコンペティションでは、各トモグラムがユニークなディレクトリに保存された2D画像スライス（JPEG）のセットとして提供されます。べん毛モーターが存在する場合、その位置を予測することが求められます。\n","metadata":{"execution":{"iopub.status.busy":"2025-03-05T23:37:14.055296Z","iopub.execute_input":"2025-03-05T23:37:14.055718Z","iopub.status.idle":"2025-03-05T23:37:14.060370Z","shell.execute_reply.started":"2025-03-05T23:37:14.055688Z","shell.execute_reply":"2025-03-05T23:37:14.059263Z"}}},{"cell_type":"markdown","source":"### Files and Directories\ntrain/: それぞれがトレーニングに使用されるトモグラムスライスのスタックを含むサブディレクトリのディレクトリ。各トモグラムサブディレクトリは、各JPEGがトモグラムの2DスライスであるJPEGファイルで構成されています。<br>\n<br>\ntrain_labels.csv: トレーニングデータのラベル。各行は一意のモーター位置を表し、一意のトモグラムではありません。\n\n- row_id - 行のインデックス\n- tomo_id - トモグラムの一意の識別子。トレインセットの一部のトモグラムには複数のモーターがあります。\n- Motor axis 0 - モーターのz座標、すなわちどのスライスに位置しているか\n- Motor axis 1 - モーターのx座標\n- Motor axis 2 - モーターのy座標\n- Array shape axis 0 - z軸の長さ、すなわちトモグラムのスライス数\n- Array shape axis 1 - x軸の長さ、すなわち各スライスの幅\n- Array shape axis 2 - y軸の長さ、すなわち各スライスの高さ\n- Voxel spacing - トモグラムのスケーリング；ボクセルあたりのオングストローム\n- Number of motors - トモグラム内のモーターの数。なお、各行はモーターを表すため、複数のモーターを持つトモグラムにはそれぞれのモーターを特定するために複数の行があります。  \n\n  \ntest/: ダミーのテストトモグラムが含まれる3つのディレクトリのディレクトリ。再実行テストデータセットには約900のトモグラムが含まれています。テストデータには1つまたはゼロのモーターしか含まれていません。<br>\n<br>\nsample_submission.csv: 正しい形式のサンプル提出ファイル。（モーターが存在しないと予測する場合は、Motor axis 0、Motor axis 1、Motor axis 2を '-1' に設定します）\n","metadata":{"execution":{"iopub.status.busy":"2025-03-05T23:41:07.596950Z","iopub.execute_input":"2025-03-05T23:41:07.597338Z","iopub.status.idle":"2025-03-05T23:41:07.605832Z","shell.execute_reply.started":"2025-03-05T23:41:07.597312Z","shell.execute_reply":"2025-03-05T23:41:07.604551Z"}}},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}