single-cell-rna-qc
シングルセルRNA-seqデータ(.h5adまたは.h5ファイル)に対して、MADベースのフィルタリングとscverseのベストプラクティスを用いた品質管理(QC)を実行し、包括的な可視化レポートを生成します。低品質セルのフィルタリング、データ品質の評価、またはscverse/scanpyのベストプラクティスに沿ったシングルセル解析を求めるユーザーに活用してください。
description の原文を見る
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations. Use when users request QC analysis, filtering low-quality cells, assessing data quality, or following scverse/scanpy best practices for single-cell analysis.
SKILL.md 本文
シングルセル RNA-seq クオリティコントロール
scverse ベストプラクティスに従ったシングルセル RNA-seq データの自動 QC ワークフロー。
スキルの使用時期
以下の場合に使用してください:
- シングルセル RNA-seq データのクオリティコントロール (QC) をリクエストする
- 低品質なセルをフィルタリングしたいまたはデータ品質を評価したい
- QC ビジュアライゼーションやメトリクスが必要
- scverse/scanpy ベストプラクティスに従うようリクエストする
- MAD ベースのフィルタリングまたは外れ値検出をリクエストする
サポートされた入力形式:
.h5adファイル(scanpy/Python ワークフローの AnnData 形式).h5ファイル(10X Genomics Cell Ranger 出力)
**デフォルトの推奨:**ユーザーが特定のカスタム要件を持つまたは明確に非標準フィルタリング ロジックをリクエストしていない限り、Approach 1(完全なパイプライン)を使用してください。
Approach 1: 完全な QC パイプライン(標準ワークフロー向けの推奨)
scverse ベストプラクティスに従った標準 QC の場合、便利なスクリプト scripts/qc_analysis.py を使用します:
python3 scripts/qc_analysis.py input.h5ad
# または 10X Genomics .h5 ファイルの場合:
python3 scripts/qc_analysis.py raw_feature_bc_matrix.h5
このスクリプトは自動的にファイル形式を検出し、適切に読み込みます。
このアプローチを使用する場合:
- 調整可能なしきい値を持つ標準 QC ワークフロー(すべてのセルが同じようにフィルタリングされる)
- 複数のデータセットのバッチ処理
- 迅速な探索的分析
- ユーザーが「動作確認済み」のソリューションを望む場合
要件: anndata、scanpy、scipy、matplotlib、seaborn、numpy
パラメータ:
コマンドラインパラメータを使用してフィルタリングしきい値とジーンパターンをカスタマイズします:
--output-dir- 出力ディレクトリ--mad-counts、--mad-genes、--mad-mt- カウント数/ジーン数/MT% の MAD しきい値--mt-threshold- ミトコンドリア % の硬いしきい値--min-cells- ジーンフィルタリングしきい値--mt-pattern、--ribo-pattern、--hb-pattern- 異なる種用のジーン名パターン
--help を使用して現在のデフォルト値を確認してください。
出力:
すべてのファイルはデフォルトでは <input_basename>_qc_results/ ディレクトリに保存されます(または --output-dir で指定されたディレクトリ):
qc_metrics_before_filtering.png- フィルタリング前のビジュアライゼーションqc_filtering_thresholds.png- MAD ベースのしきい値オーバーレイqc_metrics_after_filtering.png- フィルタリング後のクオリティメトリクス<input_basename>_filtered.h5ad- ダウンストリーム解析用のクリーンでフィルタリングされたデータセット<input_basename>_with_qc.h5ad- QC アノテーション付きの元のデータ
ユーザーアクセス用に出力をコピーする場合は、ディレクトリ全体ではなく個別のファイルをコピーして、ユーザーが直接プレビューできるようにしてください。
ワークフローの手順
スクリプトは以下の手順を実行します:
- QC メトリクスを計算 - カウント深度、ジーン検出、ミトコンドリア/リボソーマル/ヘモグロビン含有量
- MAD ベースのフィルタリングを適用 - カウント数/ジーン数/MT% の MAD しきい値を使用した寛容な外れ値検出
- ジーンをフィルタリング - 少数のセルで検出されるジーンを除去
- ビジュアライゼーションを生成 - しきい値オーバーレイ付きの包括的な前後のプロット
Approach 2: モジュール式ビルディングブロック(カスタムワークフロー用)
カスタム分析ワークフローまたは非標準要件の場合、scripts/qc_core.py と scripts/qc_plotting.py のモジュール式ユーティリティ関数を使用します:
# scripts/ ディレクトリから実行するか、必要に応じて sys.path に scripts/ を追加してください
import anndata as ad
from qc_core import calculate_qc_metrics, detect_outliers_mad, filter_cells
from qc_plotting import plot_qc_distributions # ビジュアライゼーションが必要な場合のみ
adata = ad.read_h5ad('input.h5ad')
calculate_qc_metrics(adata, inplace=True)
# ... カスタム分析ロジックをここに挿入
このアプローチを使用する場合:
- 異なるワークフローが必要(ステップをスキップ、順序を変更、サブセットに異なるしきい値を適用)
- 条件付きロジック(例:ニューロンを他のセルと異なるようにフィルタリング)
- 部分的な実行(メトリクス/ビジュアライゼーションのみ、フィルタリングなし)
- より大きなパイプラインの他の分析ステップとの統合
- コマンドラインパラメータでサポートされていないカスタムフィルタリング基準
利用可能なユーティリティ関数:
qc_core.py から(コア QC 操作):
calculate_qc_metrics(adata, mt_pattern, ribo_pattern, hb_pattern, inplace=True)- QC メトリクスを計算して adata に注釈を付けるdetect_outliers_mad(adata, metric, n_mads, verbose=True)- MAD ベースの外れ値検出、ブール値マスクを返すapply_hard_threshold(adata, metric, threshold, operator='>', verbose=True)- 硬いカットオフを適用、ブール値マスクを返すfilter_cells(adata, mask, inplace=False)- ブール値マスクを適用してセルをフィルタリングfilter_genes(adata, min_cells=20, min_counts=None, inplace=True)- 検出によるジーンをフィルタリングprint_qc_summary(adata, label='')- サマリー統計情報を出力
qc_plotting.py から(ビジュアライゼーション):
plot_qc_distributions(adata, output_path, title)- 包括的な QC プロットを生成plot_filtering_thresholds(adata, outlier_masks, thresholds, output_path)- フィルタリングしきい値をビジュアライズplot_qc_after_filtering(adata, output_path)- フィルタリング後のプロットを生成
カスタムワークフロー例:
例 1: メトリクスのみを計算してビジュアライズ、まだフィルタリングしない
adata = ad.read_h5ad('input.h5ad')
calculate_qc_metrics(adata, inplace=True)
plot_qc_distributions(adata, 'qc_before.png', title='Initial QC')
print_qc_summary(adata, label='Before filtering')
例 2: MT% フィルタリングのみを適用、その他のメトリクスは寛容に
adata = ad.read_h5ad('input.h5ad')
calculate_qc_metrics(adata, inplace=True)
# 高い MT% セルのみをフィルタリング
high_mt = apply_hard_threshold(adata, 'pct_counts_mt', 10, operator='>')
adata_filtered = filter_cells(adata, ~high_mt)
adata_filtered.write('filtered.h5ad')
例 3: 異なるサブセットに異なるしきい値を適用
adata = ad.read_h5ad('input.h5ad')
calculate_qc_metrics(adata, inplace=True)
# タイプ別 QC を適用(cell_type メタデータが存在することを想定)
neurons = adata.obs['cell_type'] == 'neuron'
other_cells = ~neurons
# ニューロンはより高い MT% を許容、その他のセルはより厳しいしきい値を使用
neuron_qc = apply_hard_threshold(adata[neurons], 'pct_counts_mt', 15, operator='>')
other_qc = apply_hard_threshold(adata[other_cells], 'pct_counts_mt', 8, operator='>')
ベストプラクティス
- フィルタリングは寛容に - デフォルトしきい値は、稀な集団の損失を避けるため、ほとんどのセルを保持する意図で設計されています
- ビジュアライゼーションを確認 - フィルタリングが生物学的に意味があることを確認するため、常に前後のプロットをレビューしてください
- データセット固有の要因を検討 - 一部のティッシュは自然にミトコンドリア含有量が高い(例:ニューロン、心筋細胞)
- ジーンアノテーションをチェック - ミトコンドリアジーンのプレフィックスは種によって異なります(マウスでは mt-、ヒトでは MT-)
- 必要に応じて反復 - QC パラメータは特定の実験またはティッシュ タイプに基づいて調整が必要な場合があります
参考資料
詳細な QC 方法論、パラメータの根拠、トラブルシューティング ガイダンスについては、references/scverse_qc_guidelines.md を参照してください。この参考資料は以下を提供します:
- 各 QC メトリクスの詳細な説明とそれが重要な理由
- MAD ベースのしきい値の根拠と、それらが固定カットオフより優れている理由
- QC ビジュアライゼーションの解釈に関するガイドライン(ヒストグラム、バイオリンプロット、散布図)
- ジーンアノテーションの種固有の考慮事項
- フィルタリングパラメータを調整する時期と方法
- 高度な QC に関する考慮事項(周囲 RNA 補正、ダブレット検出)
ユーザーが方法論をより深く理解する必要があるときまたは QC の問題をトラブルシューティングするときに、この参考資料を読み込んでください。
QC 後の次のステップ
典型的なダウンストリーム分析ステップ:
- 周囲 RNA 補正(SoupX、CellBender)
- ダブレット検出(scDblFinder)
- 正規化(ログ正規化、scran)
- 機能選択と次元削減
- クラスタリングおよびセルタイプアノテーション
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- anthropics
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/anthropics/knowledge-work-plugins / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。