seq2pipe:解釈駆動型自律マイクロバイオーム解析システム
固定パイプラインから閉ループ適応システムへ
2026-02-23
固定パイプラインの問題
QIIME2を用いたマイクロバイオーム解析は、通常、シーケンスデータのインポート、DADA2によるデノイズ、系統樹構築、多様性指標の算出、統計検定、可視化という固定的なパイプラインに従う。どのデータセットに対しても、同じステップが同じ順序で実行される。
しかし、経験豊富なバイオインフォマティシャンがこのように作業することはない。実際の解析は、解釈-判断-実行の反復サイクルである。アルファ多様性を算出し、結果が有意かどうかを確認し、その上で事後ペアワイズ検定を実行するかどうかを判断する。PERMANOVAで有意な群集変動が示されれば、交絡する分散の差異を除外するためにベータ分散の検証を行う。タクソノミーデータが利用できなければ、属レベルの組成解析は意味のない出力を生成するだけなので、まるごとスキップする。
固定パイプラインはこうした判断ができない。全てのステップを実行して、データが支持しない解析に時間を浪費するか、分岐点ごとに手動介入を必要とするか、どちらかである。後者では自動化の意味がない。
seq2pipeはこの問題を解決するために構築された。バイオインフォマティシャンの反復的な解釈-判断-実行サイクルを計算的に再現し、各結果が生成されるたびにそれを評価して、次に何を行うかを確定的に決定する。

3層アーキテクチャ
システムは、DataInspector、EvalMediator、DecisionEngineの3層で構成される。各層は明確な責務を持ち、それらが一体となって、人間の介入なしにデータが判断を駆動する閉ループを形成する。
第1層:DataInspector
DataInspectorは、QIIME2アーティファクトのエクスポートを直接パースし、全ての統計検定を純Pythonで実行するモジュールである。QIIME2ランタイムへの依存は一切なく、基本的なPython環境があればどのマシンでも解析評価を実行できる。
特徴量テーブルの検査。 DataInspectorはfeature-table.tsvを読み込み、スパース性(ゼロセル比率)、サンプルごとのリード数、ASV数、総リード数、Pielou's J指数によるサンプル均等性を算出する。
アルファ多様性検定。 2群比較にはMann-Whitney U検定を実行する。タイ補正付き順位変換と、Abramowitz-Stegun CDFによる正規近似を用いた完全な純Python実装である。3群以上にはWilson-Hilferty変換によるカイ二乗生存関数を用いたKruskal-Wallis H検定を実行する。これらの実装は、scipyの対応する関数と99〜100%の一致率で検証されている。
ベータ多様性検定。 距離行列を読み込み、199回の並べ替えによるPERMANOVAと擬似F統計量、群内対群間距離比率、ベータ分散(分散の均質性)を算出する。
タクソノミー解析。 タクソノミーデータが利用可能な場合、門レベルと属レベルの群ごとの相対存在量、群間のフォールドチェンジ、群重心間のBray-Curtis距離による組成変動量を算出する。
全てのデータ読み込みは遅延評価とキャッシングを使用する。結果はDataSnapshotデータクラスにパッケージ化され、下流の全ての評価における唯一の真実の源となる。
第2層:EvalMediator
各解析ステップの実行後、EvalMediatorはDataInspectorの定量的測定値を受け取り、8つの独立した評価軸でスコアリングする。
| 軸 | 重み | 測定内容 |
|---|---|---|
| 統計的有意性 | 20% | DataInspectorの統計検定によるp値の対数変換 |
| 生物学的関連性 | 18% | 群間フォールドチェンジと既知の生物学的重要属へのヒット |
| 行動可能性 | 15% | この結果がトリガーする下流ステップの数 |
| 新規性 | 12% | 既知の発見との非類似度と予期しないフォールドチェンジ |
| データ品質 | 10% | スパース性、リード深度の変動係数、均等性 |
| 効果量 | 10% | Cliffのデルタ、擬似F統計量、またはフォールドチェンジ(解析タイプに依存) |
| 信頼度 | 8% | 統計的検出力の代理指標としての最小群サイズ |
| 再現性 | 7% | 同一カテゴリ内の解析間の一貫性 |
各軸は0.0〜1.0のスコアを生成し、複合スコアはその加重和である。重みは実験タイプごとに調整可能で、抗生物質処理研究、食事介入、経時的デザイン、症例対照研究それぞれに最適化された重みプロファイルがある。
EvalMediatorは完了した全ステップのスコアをKnowledgeStateオブジェクトに蓄積する。表現をコンパクトに保つため、スコア行列(n_steps x 8)はSVDにより3つの主成分に圧縮される。この圧縮された状態が、DecisionEngineとLLMにコンテキストとして渡される。
第3層:DecisionEngine
DecisionEngineは、seq2pipeの適応的挙動の中核である。PythonのIF文で実装された、確定的かつ文献に基づく決定木である。蓄積されたKnowledgeStateとDataInspectorの測定値を受け取り、どのステップをスキップし、どれを追加し、残りの計画をどう並べ替え、何を調査対象としてフラグ付けするかを指定するDecisionオブジェクトを生成する。
判断ロジックは6つのサブツリーに組織化されている。
アルファ多様性の判断。 アルファ多様性のp値が0.05未満かつ効果量が0.5を超える場合、効果量プロットと希薄化曲線を追加する。p値が0.05未満だが効果量が小さい(0.5未満)場合、サンプリングアーティファクトの可能性があるため希薄化曲線のみを追加する。アルファ多様性が有意でない場合、アルファ効果量解析とアルファ軌跡を完全にスキップする。Willis(2019)に準拠。
ベータ多様性の判断。 PERMANOVAが有意(p < 0.05)の場合、Anderson(2001)に従ってベータ分散チェックを必須で追加する。群間/群内距離比が2.0を超える場合、NMDS可視化とペアワイズPERMANOVAを追加する。比率が中程度(1.3〜2.0)の場合、PERMANOVA詳細のみを追加する。ベータ多様性が有意でない場合、PERMANOVA詳細、ベータ分散、NMDS、t-SNE、ベータヒートマップをスキップする。Anderson(2001)およびLegendre & Anderson(1999)に準拠。
タクソノミーの判断。 フォールドチェンジが5を超える場合、差次的ボルケーノプロットとLEfSe解析を追加する。フォールドチェンジが50を超えるが低存在量(1%未満)の場合、組成的アーティファクトの可能性としてフラグ付けし、調査ステップを追加する。有意な属が5以上の場合、PICRUSt2機能予測とインジケーター種解析を追加する。最大存在量差が10%を超える場合、ネットワーク解析を追加する。シグナルが弱い(フォールドチェンジ2未満、差3%未満)場合、差次的ステップの優先度を下げる。Gloor et al.(2017)、Fernandes et al.(2014)、Lin & Peddada(2020)に準拠。
品質の判断。 リード深度の変動係数が0.5を超える場合、McMurdie & Holmes(2014)に従って希薄化曲線を追加する。スパース性が90%を超える場合、スパース性を考慮した解析の調査を追加する。
高度解析の判断。 いずれのカテゴリでも有意なシグナルが見つからない場合、ネットワーク解析、ML分類、PICRUSt2をスキップする。有意なパターンが存在しサンプルサイズが30以上の場合、ML分類器を追加する。nが30未満の場合、過学習のリスクによりMLをスキップする。
カバレッジギャップの判断。 品質管理が先に完了していることを保証する。3つ以上のカテゴリが解析された後、出版用複合図表を追加する。
LLMもステップを提案する場合、Decision.merge_with_llm()メソッドが両者のリストをマージする。全ての競合において、Python決定木が常に優先される。LLMの貢献は追加的なもののみである。
LLMの役割
ローカル大規模言語モデル(デフォルト:qwen2.5-coder:7b、4.7 GB)は2つのタスクを担当する:各解析ステップのPythonコード生成と、創造的な調査仮説の提案である。LLMはワークフロー判断には一切関与しない。LLMがクラッシュしたり使用不能な出力を生成した場合でも、DecisionEngineは解析パイプライン全体を完遂できる。システムは確定的のみの動作に優雅に劣化する。
seq2pipeはqwen2.5-coder:3b、llama3.2:3b、qwen3:8b、codellama:7b、deepseek-coder-v2:liteなど複数のローカルモデルをサポートする。全てのモデルはOllamaを通じて動作し、クラウドAPIアクセスは不要である。
スマートモード:ベイズ推論
ルールベースのDecisionEngineに加えて、seq2pipe v3.0ではベイズ推論モード(--smart)が導入された。これが現在の推奨動作モードである。
スマートモードは7つの明示的な仮説を維持し、それぞれに事前確率を持つ。
| 仮説 | 事前確率 | 説明 |
|---|---|---|
| alpha_differs | 0.5 | アルファ多様性が群間で異なる |
| community_shifts | 0.5 | ベータ多様性の群集組成が変動する |
| taxa_differential | 0.5 | 特定の分類群が差次的に存在する |
| functional_shift | 0.3 | 微生物機能プロファイルが変動する |
| sampling_artifact | 0.2 | 差異が不均一なサンプリング深度に起因する |
| compositional_artifact | 0.2 | 極端なフォールドチェンジが組成的アーティファクトである |
| underpowered | 0.3 | 真の効果を検出するには検出力が不足している |
各解析ステップの完了時に、観測値が尤度比に変換されベイズの定理で各仮説の事後確率が更新される。例えば、p値0.001は該当仮説に対して32の尤度比を生成し、p値0.50は0.18の尤度比を生成する。効果量や群間/群内距離比も、較正済み関数を通じて同様に尤度比に変換される。
事前確率も適応的に変化する。最小群サイズが5未満の場合、underpoweredの事前確率は0.7に引き上げられる。タクソノミーデータが利用できない場合、taxa_differentialは0.2に低下する。4群以上の場合、alpha_differsは0.4に低下する。
各仮説は3つのステップリストを持つ:if_confident(事後確率が閾値超)、if_unconfident(事後確率が閾値未満)、if_uncertain。これにより、最後の検定結果だけでなく、累積的なエビデンスを反映した解析計画が生成される。
堅牢なコード生成:AdaptiveCoder
LLMが生成するコードは初回実行で頻繁に失敗する。seq2pipeはAdaptiveCoderと呼ばれる3コンポーネントシステムでこれに対処する。
ErrorAnalyzerはstderr出力をパースし、障害の根本原因(NameError、KeyError、TypeErrorなど)を信頼度スコアと具体的な修正指示とともに特定する。
CodePatcherはLLMを呼び出すことなくコードを直接パッチする。一般的な障害パターン(matplotlibのインポート漏れ、未定義のFIGURE_DIR、カラム名の不一致、サポートされないキーワード引数の除去など)に対応する。
Feedback Memoryは修正パターンを再利用可能なルールとして蓄積する。同じエラーパターンが将来のステップで再発した場合、コードが実行される前に修正が適用される。
フォールバックチェーンは:LLMリトライ→エラー分析→自動パッチ→テンプレートフォールバックの順である。テンプレートフォールバックは100%の完了を保証する。ベンチマークでは、素朴なLLMコード生成(3回リトライ)の成功率は12%(8回中1回)だったのに対し、学習とフォールバックを備えたAdaptiveCoderは100%を達成した。
学習ストア
seq2pipeは~/.seq2pipe/learning/に保存されるファイルベースの学習システムを備える。全ての判断がlearning_log.jsonlに記録される。誤ったスキップ(実行されるべきだったが省略されたステップ)が検出された場合、システムは自動的にprotection_rules.jsonに保護ルールを生成する。後続の実行で同じデータパターンが出現した場合、保護されたステップはスキップされない。
大規模評価を通じた学習後、誤ったスキップは21,000,000判断中3件にまで削減された。
データ圧縮
LLMの限られたコンテキストウィンドウに解析状態を効率的に渡すために、seq2pipeは3つの圧縮戦略を実装している。
PolarQuantizerは組成データ(シンプレックス上の相対存在量)を超球座標に変換し、8ビット整数に量子化する。ゼロ存在量は最大角度(π/2)にマッピングされる。スパースな特徴量テーブルに対して約90倍の圧縮率を達成する。
DistanceMatrixCompressorは[0, 1]範囲のfloat64距離値をuint8に量子化する。エラー検出のための行チェックサムを含む。圧縮率は8倍。
KnowledgeCompressorはLLMコンテキスト注入用に8軸スコア行列を圧縮し、トークン使用量を約82%削減する。
seq2pipeが生成するもの
1回の実行で、出版可能な品質の図表を含む包括的な解析レポートが生成される。システムは解析の深さと幅をデータに応じて自動的に適応させる。



豊富なタクソノミー情報を持つデータセットに対しては、詳細な組成解析や差次的存在量検定を実行する。特定のメタデータやタクソノミーレベルが欠如しているデータセットに対しては、無意味な出力を生成するのではなく、関連のないステップを適切にスキップする。最終レポートはbase64埋め込み画像付きHTMLまたはLuaLaTeX/XeLaTeXによるLaTeX/PDFとして生成可能。
動作モード
seq2pipeは、異なるユースケースに応じた複数の動作モードを提供する。
- プロンプトモード:自然言語リクエストからツール呼び出しエージェントが図表を生成し、改善ループを回す。
- オートモード(
--auto):FASTQファイルからQIIME2処理(71ステップ)、確定的解析(29図表)、適応的LLM駆動解析、HTMLレポート生成まで一貫実行。 - マニュアルオートモード(
--manual-auto):メタデータ駆動の解析。43種の解析レジストリと実験デザインの自動検出。 - AI駆動モード(
--ai-driven):DataInspector、EvalMediator、DecisionEngine、LLMによる完全な3層アーキテクチャ。 - スマートモード(
--smart):ベイズ推論、データ圧縮、学習ストアを統合。v3.0の推奨モード。
評価と精度
AI駆動モード
seq2pipeは、4つの公開マイクロバイオームデータセットから導出した12のシナリオ、計252のステップレベルの独立した判断(12シナリオ x 21ステップ)で評価された。各判断は、経験豊富なバイオインフォマティシャンのエキスパート判断と比較された。

固定パイプラインのベースライン精度(適応的判断に関係なく常に正しいステップ)は33%(21ステップ中7ステップ)。DecisionEngineを用いた場合:
- タクソノミーデータが利用可能な場合、精度は**95%**に向上(ベースラインから31パーセンテージポイントの改善)。
- タクソノミーデータが利用不可能な場合、精度は**52%**で改善なし。タクソノミー依存の判断サブツリーが活性化できないため、これは想定通りの結果。
- 全シナリオの全体平均:73.0%。

偽陰性スキップは構造的にゼロ。 エキスパートが必要と判断したステップをシステムがスキップすることは一度もなかった。タクソノミー利用可能シナリオにおける残り5%の不一致は、全てseq2pipeがエキスパートが任意と判断した追加の探索的ステップを含めることを選択したケースで構成されている。これは、効率性よりも網羅性を重視する保守的なエラーモードである。
再現性は完全。 120回の反復実行にわたり、判断の標準偏差は0であった。決定木は完全に確定的であり、同じ入力データに対して常に同じ出力を生成する。
重み独立性。 8つの評価軸に対して10,221通りの異なる重み設定でテストされた。全て同一の判断が生成され、決定木の分岐ロジックが合理的な重み摂動に対してロバストであることが確認された。
統計検定の一致率。 DataInspectorの純Python統計実装は、scipyの対応する関数と99〜100%の一致率を示した。

スマートモード(ベイズ)
ベイズスマートモードでは、精度は86.1%に達した(固定パイプラインの53.8%に対して)。学習後の誤ったスキップは21,000,000判断中3件にまで削減された。ステップあたりの判断時間はLLMの関与なしで60ミリ秒。--safeフラグにより偽陰性ゼロを保証する。
コード生成
4データセットx2タスク(8試行)において、素朴なLLMコード生成(3回リトライ)の成功率は12%(8回中1回、平均77秒)。学習とフォールバックを備えたAdaptiveCoderは100%(8回中8回、平均82秒)。テンプレートのみの生成も**100%**で0.1秒(770倍高速)だが、LLMの創造的仮説生成機能は含まれない。
正直な注意点
READMEでは以下の重要な注意点が明示的に述べられている:
- 73%の全体精度は、常に正しい33%のベースラインステップを含む。実効的な改善はタクソノミー利用可能シナリオに集中している。
- 偽陰性 = 0 は、保守的な「スキップのみ」設計の構造的帰結であり、精度の指標ではない。DecisionEngineはステップをスキップすることしかできず、有害なステップを誤って追加することは決してない。
- エキスパートプロトコルとDecisionEngineは同じ文献ベースのルールをエンコードしている。両者間の一致は、外的妥当性ではなく内的一貫性の確認である。
コード公開
seq2pipeはMITライセンスのもとオープンソースとしてGitHubで公開されている:
https://github.com/Rhizobium-gits/seq2pipe
リポジトリには、ソースコード一式、ドキュメント、サンプルデータセット、再現可能な実行のためのDockerサポートが含まれている。seq2pipeはOllamaを通じて7Bパラメータの LLM をローカルで動作させ、クラウドAPIアクセスは不要であるため、機密性の高い未公開研究データにも適している。macOS、Linux、Windowsをサポートする。