alterlab-qiime2-amplicon について
alterlab-qiime2-ampliconは、ペアエンドリードからQIIME 2でマーカー遺伝子の微生物解析を行うコマンドラインスキルです。デノイズ、分類、多様性解析までを扱い、処理順序、アーティファクトの来歴、品質に基づくパラメーター選択を重視します。
主な機能
- 01manifestからペアエンドリードをインポート
- 02DADA2の前にプライマーを除去
- 03特徴テーブル作成と分類付与
- 04系統解析とコア多様性解析
- 05QIIME 2アーティファクトの来歴を解説
活用シーン
- 0116SまたはITSのFASTQリード処理
- 02品質プロットに基づくトランケーション長の選択
- 03ASVテーブル作成と分類付与
- 04コア多様性解析結果の生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-qiime2-ampliconインストール後、Claude Code で/alterlab-qiime2-ampliconを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/classifiers.mdimport_and_manifest.mdinstallation.mdpipeline_steps.mdversion_notes.mdscripts/check_artifact.pymake_manifest.py詳細
QIIME 2 Amplicon — 16S/ITS マイクロバイオームパイプライン(FASTQ → Feature Table → Taxonomy → Diversity)
マーカー遺伝子(アンプリコン)マイクロバイオーム解析のための、コマンドラインおよびワークフローランナーのエントリーポイントです。生のデマルチプレックス済みペアエンドリードを受け取り、QIIME 2 の標準的な順序(インポート → プライマー除去 → ノイズ除去 → 分類 → 多様性解析)に沿って処理します。また、特によく間違われる次の 2 点を解説します。DADA2 の前にプライマーをトリミングすることと、.qza/.qzv のプロベナンスモデルです。生データから結果までを処理し、特徴量テーブルをメモリー内解析スキルに引き渡すパイプラインです(下記のルーティングを参照)。
現行リリースである QIIME 2 2026.7(2026-07-22 リリース)を対象に記述しています。以前 amplicon と呼ばれていたディストリビューションは 2026.4 で qiime2 に改名され、conda 環境ファイルには rachis- プレフィックスが付いています(フレームワークパッケージは 2026.1 で qiime2 から rachis に改名されました)。変更されたのは環境名、チャンネルパス、ファイル名のみです。以下のプラグインコマンドは、これらのリリースを通じて変更されていません。
このスキルを使用する場面
シーケンシングリードからアンプリコン/マイクロバイオームパイプラインを実行する依頼には、このスキルを使用してください。
- 「ペアエンドリードで QIIME 2 の 16S パイプラインを実行してください。」
- 「ITS アンプリコン FASTQ があります。DADA2 でノイズ除去して、分類群を割り当ててください。」
- 「特徴量テーブル/ASV テーブルを作成して、SILVA に対して分類してください。」
- 「品質プロットからトランケーション長を選び、コアメトリクスの多様性解析を実行してください。」
- 「QIIME 2 で DADA2 の前にプライマーをトリミングするにはどうすればよいですか?」
- 「QIIME 2 コマンドの正しい順序は何ですか?」
該当しない場合 — 以下にルーティングしてください
| 依頼の実際の内容… | ルーティング先 |
|---|---|
| すでにエクスポート済みの特徴量テーブル/距離テーブルに対するアルファ/ベータ多様性、UniFrac、PCoA 順序付け、PERMANOVA(メモリー内、Python) | alterlab-scikit-bio |
| QIIME 2 の外で系統樹を構築/操作する、系統樹を可視化する、または比較系統解析を行う | alterlab-phylogenetics / alterlab-etetoolkit |
| ショットガンメタゲノミクスの分類学的プロファイリング、MAG アセンブリ、機能遺伝子(マーカー遺伝子アンプリコンではない) | このスキルの対象外です — アンプリコンのみです。対象外であることを伝えてください |
| RNA-seq の転写産物定量(salmon/kallisto)、差次的発現解析 | alterlab-rnaseq-quant → alterlab-pydeseq2 |
| バリアントコーリング FASTQ → VCF(生殖細胞系列/体細胞) | alterlab-nf-core-sarek |
| タンパク質/核酸の配列類似性検索(BLAST+/DIAMOND) | alterlab-blast |
| 空間トランスクリプトミクスの近傍/エンリッチメント解析 | alterlab-squidpy-spatial |
| 遺伝子/配列/データベースの簡単な単発検索 | alterlab-gget |
| BAM/SAM/VCF の読み書き、アライメントファイルの編集 | alterlab-pysam |
このスキルの対象はアンプリコン(マーカー遺伝子)のみです。データがショットガンメタゲノム、シングルセル、または 16S/18S/ITS マーカー遺伝子シーケンシング以外のものである場合は、その旨を伝えて処理を中止してください。
アーティファクトモデル(.qza / .qzv)— 最初にお読みください
QIIME 2 のすべてのデータは、独自のプロベナンスを記録する型付きの圧縮アーティファクトです。
.qza— QIIME 2 のアーティファクトです。データ(特徴量テーブル、配列、分類器など)に加えて、埋め込みのセマンティック型(例:SampleData[PairedEndSequencesWithQuality]、FeatureTable[Frequency])と、その生成に関わったすべてのアクションの完全なプロベナンスグラフを含みます。.qzv— ビジュアライゼーションです。人が閲覧できるレポート(品質プロット、サマリー、多様性の Emperor プロットなど)です。**https://view.qiime2.org**(オフラインでブラウザー内)にドラッグするか、`qiime tools view file.qzv` を実行してください。- プロベナンスは再現性を実現するうえで重要です。すべての
.qza/.qzvには、生成に使われた正確なコマンド、パラメーター、プラグインのバージョンが記録されています。エクスポートしたファイルだけでなく、アーティファクトも保持してください。
セマンティック型を契約として扱ってください。アクションが受け付けるのは、宣言された型のアーティファクトのみです。そのため、インポート(ステップ 1)が非常に重要です。
正規の順序(並べ替えないでください)
manifest import → cutadapt trim-paired (primers) → dada2 denoise-paired
→ feature-table summarize → feature-classifier classify-sklearn
→ phylogeny → diversity core-metrics-phylogenetic
プライマーのトリミングはDADA2より先に行います。 DADA2は塩基ごとのエラー率をモデル化します。プライマーやアダプターの塩基が残っていると、そのエラーモデルが乱れ、誤ったASVが増加します。まずcutadapt trim-pairedでトリミングしてから、デノイズします。(リードからすでにプライマーが除去されている場合(例:EMP形式)は、cutadaptを省略できますが、決めつけずに確認してください。)
0. 環境をインストール/有効化する(condaのみ — pipは使用しない)
QIIME 2はpipではインストールできません。conda環境として提供されています。2026.7の場合(環境ファイルはqiime2/distributionsで検証済み):
# Linux — 2026.7 qiime2 distribution
conda env create \
--name rachis-qiime2-2026.7 \
--file https://raw.githubusercontent.com/qiime2/distributions/refs/heads/dev/2026.7/qiime2/released/rachis-qiime2-linux-64-conda.yml
# macOS: swap the filename for rachis-qiime2-osx-64-conda.yml
conda activate rachis-qiime2-2026.7
qiime info # confirm version + installed plugins
環境ファイル名には、2026.4より前に使われていたOSランナー名ではなく、プラットフォーム(linux-64、osx-64)が記載されています。リリースごとに専用の環境を用意してください。分類器は実行中のバージョンと一致している必要があるため、複数の環境を並行して使うのが一般的であり、無駄ではありません。
ほかのリリースでも、環境名とURLパスのバージョンを置き換えれば、同じ方法を使えます。QIIME 2 Libraryのクイックスタートを参照してください。インストールの詳細と環境ファイルの一覧については、references/installation.mdを参照してください。
DADA2による一括デノイズと分類器のトレーニングには、大量のCPU/RAMが必要です。CemのM4 Maxではローカルで問題なく実行できます。APIでは実行せず、
conda activate済みのシェルで実行してください。
1. デマルチプレックス済みのペアエンドリードをインポートする(マニフェスト)
マニフェスト(サンプルIDと絶対パスのFASTQファイルを対応付けるTSV)を使うと、各ファイルをどのサンプルに対応させるかを正確に管理できます。形式:PairedEndFastqManifestPhred33V2(q2-typesで検証済み)。
qiime tools import \
--type 'SampleData[PairedEndSequencesWithQuality]' \
--input-format PairedEndFastqManifestPhred33V2 \
--input-path manifest.tsv \
--output-path demux.qza
qiime demux summarize \
--i-data demux.qza \
--o-visualization demux.qzv # ← READ THIS to choose trunc-len
マニフェストのスキーマ、シングルエンドおよびEMP形式、ITSに関する注意事項については、references/import_and_manifest.mdを参照してください。FASTQファイルのフォルダーからマニフェストを生成するには、scripts/make_manifest.pyを使ってください。
2. cutadaptでプライマーをトリミングする(DADA2より先に)
qiime cutadapt trim-paired \
--i-demultiplexed-sequences demux.qza \
--p-front-f GTGYCAGCMGCCGCGGTAA \ # forward primer (example: 515F)
--p-front-r GGACTACNVGGGTWTCTAAT \ # reverse primer (example: 806R)
--p-discard-untrimmed \
--o-trimmed-sequences demux-trimmed.qza
qiime demux summarize --i-data demux-trimmed.qza --o-visualization demux-trimmed.qzv
--p-discard-untrimmedを指定すると、プライマーが見つからなかったリードが破棄されます(ターゲットアンプリコンでは、通常これが望ましい動作です)。アクション名とフラグ名はq2-cutadaptのソースで検証済みです。領域ごとのプライマーの選び方(515F/806R、ITS1F/ITS2など)については、references/pipeline_steps.mdを参照してください。
3. DADA2でデノイズする → ASVとフィーチャーテーブル
demux-trimmed.qzvを開き、インタラクティブな品質プロットを確認して、中央値の品質が低下する位置に合わせてトリミング長を選びます(フォワードとリバースはそれぞれ個別に判断してください)。ペアをマージできるだけのオーバーラップが残るように、リードのトリミング長を設定してください。
qiime dada2 denoise-paired \
--i-demultiplexed-seqs demux-trimmed.qza \
--p-trunc-len-f 0 --p-trunc-len-r 0 \ # ← set from the quality .qzv (0 = no truncation)
--p-trim-left-f 0 --p-trim-left-r 0 \
--o-representative-sequences rep-seqs.qza \
--o-table table.qza \
--o-denoising-stats denoising-stats.qza
qiime metadata tabulate \
--m-input-file denoising-stats.qza --o-visualization denoising-stats.qzv
必ずdenoising-stats.qzvを確認してください。マージ率やキメラ除去後の残存率が低い場合、通常はtrunc-lenが厳しすぎてオーバーラップが不足しているか、プライマーがトリミングされていません。
4. フィーチャーテーブルを要約する — 2026.1での変更に注意
qiime feature-table summarize \
--i-table table.qza \
--m-sample-metadata-file sample-metadata.tsv \
--o-summary table.qzv
2026.1での破壊的変更(リリースノートで検証済み): 旧summaryビジュアライザーは_summarizeに改名され、以前の**summarize_plusパイプラインは現在summaryになっています**。つまり、現在のfeature-table summarizeは拡張版の要約です(フィーチャー頻度とサンプル頻度のアーティファクトも出力します)。古いチュートリアルでsummary_plusを使っている場合は、summaryに切り替えてください。詳細はreferences/version_notes.mdを参照してください。
5. 分類群を割り当てる — 分類器のバージョンを一致させる
qiime feature-classifier classify-sklearn \
--i-classifier silva-138-99-nb-classifier.qza \ # MUST match your QIIME 2 version
--i-reads rep-seqs.qza \
--o-classification taxonomy.qza
qiime metadata tabulate --m-input-file taxonomy.qza --o-visualization taxonomy.qzv
事前学習済みのナイーブベイズ分類器はpickle形式のscikit-learnモデルであり、学習に使用されたQIIME 2リリースでのみ読み込めます。QIIME 2 Libraryから使用するバージョン向けに構築された分類器をダウンロードしてください(16S/18SにはSILVA 138、16SにはGreengenes2、ITSにはUNITE)。バージョン不一致の注意点と独自の分類器を学習する方法については、references/classifiers.mdを参照してください。
6. 系統発生 + コア多様性
qiime phylogeny align-to-tree-mafft-fasttree \
--i-sequences rep-seqs.qza \
--o-alignment aligned.qza --o-masked-alignment masked.qza \
--o-tree unrooted-tree.qza --o-rooted-tree rooted-tree.qza
qiime diversity core-metrics-phylogenetic \
--i-phylogeny rooted-tree.qza \
--i-table table.qza \
--p-sampling-depth 1103 \ # ← choose from table.qzv rarefaction; see below
--m-metadata-file sample-metadata.tsv \
--output-dir core-metrics
サンプリング深度は希薄化の下限です。すべてのサンプルをこのリード数までサブサンプリングし、それを下回るサンプルは除外します。深度とサンプル保持数のバランスを取るため、table.qzv を確認して決めてください。推測で決めてはいけません。core-metrics-phylogenetic を実行すると、Faith's PD、Shannon、観測された特徴量、Bray-Curtis/Jaccard/重み付き・非重み付き UniFrac 距離行列、さらに Emperor PCoA の .qzv が一度に生成されます。
エクスポートしたテーブルを使った統計と序列化(PERMANOVA、カスタム PCoA、Python でのアルファ/ベータ指標)を行う場合は、エクスポートして alterlab-scikit-bio に渡してください。これはこのパイプラインと組み合わせてメモリ内で処理するツールです。
後続処理への引き渡し用にエクスポート
qiime tools export --input-path table.qza --output-path exported/ # → feature-table.biom
qiime tools export --input-path taxonomy.qza --output-path exported/ # → taxonomy.tsv
scripts/check_artifact.py は .qza/.qzv(単なる zip ファイルです)を読み込み、QIIME 2 をインストールせずに、セマンティック型、UUID、来歴アクションの一覧を出力します。アーティファクトが後続の処理で想定されているものかを確認するのに便利です。
報告前のセルフチェック
- DADA2 の前にプライマーをトリミングしましたか?
--p-discard-untrimmedによってほとんどすべてが除外された場合は、プライマー配列が間違っている可能性があります。 - トランケーション長は品質
.qzvをもとに選びましたか? また、denoising-stats.qzvではマージ後および非キメラの保持率が妥当ですか? - 分類器は、実行中の QIIME 2 リリースと同じバージョンですか?
--p-sampling-depthは推測ではなく、table.qzvをもとに決めましたか?- 削除されたアクション名ではなく、
feature-table summarize(2026.1 以降、旧summarize_plus)を呼び出しましたか?
参考資料
references/installation.md— conda 環境ファイル(現行は 2026.7、2026.4 でのqiime2への名称変更)、qiime info、pip を使わない理由。references/import_and_manifest.md— マニフェスト形式、シングルエンド/EMP/ITS のインポート。references/pipeline_steps.md— 各ステップのフラグ、領域別のプライマーセット、デノイジング QC の読み方。references/classifiers.md— SILVA 138/Greengenes2/UNITE、バージョンの一致、自前での学習。references/version_notes.md— 2026.7 までのリリースごとの差分、qiime2への名称変更、summarizeの変更点。
AlterLab Academic Skills スイートの一部です。