CF エビデンスループ は何をしますか?
研究者は答えから始めません。彼らは公開された記録に対して決まった一連の質問を歩きます:何が発表されたか、そのうちのどれが撤回されたか、何が治験中か、何が承認されて誰のためか、それが何人に関係するか、その分野が推奨すること、そしてその分野が助成金やプレプリントで何を言っているか。このスキルは、エージェントにそのループをコマンドラインとして提供し、一つのルールがあります:ソース、日付、そしてそれが何を立証しないかがなければ、何も返ってきません。
研究であり、医療アドバイスではありません。このツールが返すレコードは公開文書を記述しています。それらは個人のために何かを解釈するものではなく、ラベルの適応症テキストは個人の適格性ではありません。
1. このスキルの機能
| 質問 | コマンド | ソース |
|---|---|---|
| これについて何が発表されたか? | pubmed "<term>" [--sort pub_date] | NCBI E-utilities経由のPubMed |
| 系統的レビューとCochraneは何と言っているか? | reviews "<term>" | PubMed系統的レビューサブセットとCochraneジャーナル |
| オープンアクセスと引用メタデータで検索 | epmc '<Europe PMC query>' | Europe PMC |
| このDOIはどのくらい引用され、オープンアクセスか? | cited <DOI> | Europe PMC |
| この論文は撤回または訂正されたか? | retractions <DOI> [<DOI> ...] | Crossref、Retraction Watchデータ |
| このDOIは何か? | doi <DOI> | Crossref |
| FDAはこの薬をいつ初めて承認したか? | approval <BRAND> | openFDA Drugs@FDA |
| 現在の米国ラベルは何と言っているか? | label <BRAND> [--sections ...] | openFDAラベル |
| EMAはいつEUでこの医薬品を承認したか? | ema <DRUG> [--file PATH] | 欧州医薬品庁(オフラインでダウンロードされたJSONレポート) |
| どの治験がこの状態をリストしているか? | trials "<condition>" [--term X] [--status RECRUITING] | ClinicalTrials.gov v2 |
| この治験についてレジストリは何を保持しているか? | trial <NCTId> | ClinicalTrials.gov v2 |
| このプレプリントは何か? | `preprint <biorxiv | medrxiv> ` |
| 特定の期間にどのCFプレプリントが出現したか? | preprints <server> <YYYY-MM-DD> <YYYY-MM-DD> [--pattern] | bioRxiv / medRxiv |
| このバリアントはどのように分類されるか? | variants "<ClinVar query>" | NCBI E-utilities経由のClinVar |
| NIHはこのトピックに誰に助成金を出しているか? | grants "<text>" [--fy 2025] | NIH RePORTER |
| UKRIはこのトピックに誰に助成金を出しているか? | ukri "<query>" [--limit 25] | UKRI Gateway to Research(エイリアス: gtr) |
| 地域の人口分母は何か? | population <entity> [--variable Count_Person] [--year YYYY] | Google Data Commons |
| バリアントをCADD、ClinVar、SnpEff、gnomAD頻度で注釈 | myvariant "<variant query>" [--limit 5] | MyVariant.info |
| gnomADの集団対立遺伝子頻度をクエリ(設計上拒否) | gnomad <chrom-pos-ref-alt> | gnomAD(手動アクセスのみ、カタログポリシーにより常に拒否) |
| OpenAlexはこの著作(引用、撤回、OA)について何を保持しているか? | `openalex <DOI | ID>` |
| OpenAlexの著作を検索 | openalex-search "<query>" [--limit 10] | OurResearch経由のOpenAlex(キー必須) |
| Unpaywallはどのオープンアクセスロケーションとライセンスメタデータをインデックスしているか? | unpaywall <DOI> | OurResearch経由のUnpaywall |
| Semantic Scholarはどの引用グラフと論文メタデータを保持しているか? | s2 <DOI> | Ai2経由のSemantic Scholar(エイリアス: semantic-scholar) |
| 完全な論文トレイルを解決(Crossref、Unpaywall OA、Semantic Scholar引用) | paper-trail <DOI> | Crossref、Unpaywall、Semantic Scholar(エイリアス: paper) |
| ChEMBLはどの化合物メタデータ、臨床フェーズ、ATCコードを保持しているか? | `chembl <CHEMBL_ID | name> [--limit 5]` |
| ChEMBLはどの定量的バイオアッセイ(EC50、IC50、Ki、Kd)を保持しているか? | `chembl-activity <CHEMBL_ID | name> [--target CHEMBL4051]` |
| Open Targetsはどのターゲットの扱いやすさ、安全性の懸念、疾患スコア、FAERS統計を保持しているか? | `opentargets <ID | query> [--limit 5]` |
| SciteはこのDOIに対してどのような支持、対比、言及の引用数を保持しているか? | scite <DOI> [--rest] | Scite Pro MCP(scite-mcp)またはゼロクォータのパブリックREST(--rest、scite-api) |
| 1リクエストあたり最大500のDOIをスクリーニングし、Smart Citation数、撤回、セクション内訳を0クォータコストで取得 | scite-batch <DOI...> [--papers] [--sections] | SciteパブリックREST(POST /tallies、POST /papers、POST /tallies/cited-by-sections、0クォータコスト) |
| このDOIへの引用がIntroduction、Methods、Results、Discussionセクションにどのように分布しているか? | scite-sections <DOI> | SciteパブリックREST(GET /tallies/cited-by-sections/{doi} + /tallies/{doi}、0クォータコスト) |
| 特定の論文内の逐語的な全文抜粋とSmart Citationスニペットを読む | scite-excerpts <DOI> "<query>" [--limit 5] | Scite Pro MCP Mode C(scite-mcp、<untrusted_data>内で隔離) |
| SciteがシードDOIからどの関連論文を推奨するか? | scite-recommend <DOI> [--limit 5] | Scite Partner REST(GET /api_partner/recommend-papers/{doi}、650/月のRESTシールドで制限) |
| Scite Smart Citation数で文献を検索 | scite-search "<query>" [--limit 5] | Scite Pro MCP(scite-mcp、OAuth/キー必須) |
| PubMed IDを0クォータコストでDOIに解決 | scite-pmid <PMID> | SciteパブリックREST(GET /papers/resolve-pmid/{pmid}、0クォータコスト) |
| 最大100のDOIにわたるSmart Citation数を0クォータコストで集約 | scite-aggregate <DOI...> | SciteパブリックREST(POST /tallies/aggregate、0クォータコスト) |
| ターゲットDOIの引用出版物と撤回引用数を0クォータコストでリスト | scite-sources <DOI> [--limit 5] | SciteパブリックREST(GET /papers/sources/{target_doi}、0クォータコスト) |
| 意図分類と隔離されたスニペットで1ホップ引用ネットワークを探索 | scite-graph <DOI> [--direction both] [--limit 5] | Scite Pro MCP(citation_graph、<untrusted_data>内で隔離) |
| DOIまたはPMIDでページネーションされた全文本文を読む | `scite-fulltext <DOI | PMID> [--offset 0] [--length 8000]` |
| Scite Evidenceデータセットを検索(UK MHRA、特許、510(k)、MAUDE、FAERS、助成金、医薬品、治験) | scite-evidence <dataset> "<query>" [--filter F] [--page 1] | Scite Pro MCP(search_mhra、search_patents、search_510k_summariesなど、<untrusted_data>内で隔離) |
| HGVSまたはSPDIバリアント座標を正規化 | `ncbi-variation <HGVS | SPDI>` |
| UniProtKBタンパク質配列、ドメイン境界、自然バリアントを検索 | `uniprot <ACCESSION | query> [--limit 5]` |
| Ensemblゲノム座標、標準転写産物、またはrsIDの結果を検索 | `ensembl <rsID | ENSG |
| NLM DailyMed構造化製品ラベル(SPL)を薬剤名で検索 | dailymed <DRUG> [--limit 5] | DailyMed RESTful web services v2(dailymed-web-services) |
| カタログエントリの前に利用規約または法的ページを読む | read-page <HTTPS_URL> [--out FILE] [--max-chars N] | ラボの行動ルールの下での利用規約/ポリシーページまたはPDFの人間が開始する読み取り |
| CFTR RefSeq NM_000492.4エクソンとUniProt P13569ドメインコンテキストを決定論的に検索 | `cftr-context <variant | codon>` |
| CFTRモジュレーターブランド、API、分子コード、NDA、およびopenFDA SPL boxed warning安全性コンテキストを決定論的に検索 | `cftr-modulator <brand | code |
| CFTR Cryo-EM座標構造メタデータを決定論的に検索 | cftr-structure <pdb_id> [--list] | ゼロネットワーク決定論的CFTR Cryo-EM構造解像度、リガンド、コンフォメーション、および参照(エイリアス: cftr-pdb) |
| このツールは全体的に何に到達できるか? | sources | カタログ |
| 複数のソースが一つの薬剤、バリアント、または治験について何と言っているか? | brief drug <BRAND>、brief variant "<ClinVar query>"、brief trial <NCTId> | 上記のソース、相互検証される(Briefs参照) |
| このノート内のすべてのDOI、PMID、治験IDは存在するか? | cite-check <FILE> [--max-ids 30] [--scite-bulk] | Crossref、PubMed、ClinicalTrials.gov、オプションのゼロクォータScite一括プリフライト(Cite-check参照) |
クライアントコードが拒否すること:catalog.yamlで許可されていないホストに到達すること(リダイレクトはAPIデータクエリで決して追跡されません);ブラウザとして振る舞うこと;証明書チェックをスキップすること;拒否後に再試行すること。カタログ前の利用規約読み取りのために、read-pageはラボの厳格なネットワーク行動を強制します:HTTPSのみ、最初にrobots_allowsによるrobots.txt、Crawl-delayを尊重、拒否/読み取り不能なrobotsはフェッチを中止、同一サイトHTTPSリダイレクトはrobotsに対して再チェック、証明書検証オン、5 MB本文キャップ、シングルリクエスト。カタログエントリを必要としません。なぜなら、これはデータ抽出のためではなく、カタログエントリが存在する前に利用規約ページを人間が開始する読み取りのために特別に存在するからです。このパッケージは言語モデルを決して呼び出さず、個人レベルのデータを保持するソースをクエリしません。
2. 実行方法
pip install -r scripts/requirements.txt
python scripts/evidence_cli.py retractions 10.1038/ng.2745
python scripts/evidence_cli.py approval TRIKAFTA
python scripts/evidence_cli.py variants "CFTR[gene] AND F508del" --limit 5
python scripts/evidence_cli.py population country/USA
python scripts/evidence_cli.py cftr-context "F508del"
python scripts/evidence_cli.py cftr-context "621+1G->T" --json
python scripts/evidence_cli.py cftr-context "711+1G->T"
python scripts/evidence_cli.py cftr-modulator "Trikafta"
python scripts/evidence_cli.py cftr-modulator "VX-121" --json
python scripts/evidence_cli.py cftr-structure "8EIQ"
python scripts/evidence_cli.py cftr-structure "8EIZ"
python scripts/evidence_cli.py cftr-structure "7SV7"
python scripts/evidence_cli.py cftr-structure "7SVR"
python scripts/evidence_cli.py cftr-structure "6O2P"
python scripts/evidence_cli.py cftr-pdb --list
すべてのコマンドに適用されるフラグ:--jsonはレコードごとに1つのJSONオブジェクトを出力、--ledger PATHはレコードをJSONLエビデンス台帳に追加。終了コード0はすべてのレコードがfoundまたはnot_foundの場合、3はいずれかがblocked、rate_limited、またはerrorの場合。
Briefs
briefは、同じクライアントを通じて複数のソースに1つの質問を尋ねるため、カタログゲート、ペーシング、予算、およびサーキットブレーカーがすべて適用されます。各ソースが返したすべてのレコード、各ソースのステータス、比較したフィールド、および短い相互検証ブロックを出力します。
| レシピ | 実行 | 相互検証 |
|---|---|---|
brief drug TRIKAFTA | approval、label、用語によるtrials(5)、ブランドのpubmed(5) | 各ソースのステータス;ラベルの有効日付年がDrugs@FDAの初回承認年より前でないこと;OpenAlex文献および撤回スキャン;CFTRモジュレーター安全境界(AH-4)および一次PDB相互検証 |
brief variant "CFTR[gene] AND F508del" | variants、同じ用語のpubmed(5) | 各ソースのステータス;一致したClinVarレコードの数、分類およびレビューステータスがすべて表示 |
brief trial NCT05033080 | trial、NCT IDのpubmed(5) | 各ソースのステータス;レジストリレコードのID;タイトルに治験名を記載した返された論文 |
相互検証の読み方:
PASS:値が一致する、またはソースが応答した。薬剤、バリアント、または治験に関する調査結果ではありません。CHECK:人が確認すべき。ソースが応答しなかった;複数のClinVarレコードが一致した(すべてリストされ、どれも選択されていない);またはラベルの有効日付が薬剤の初回承認より前である場合、これは正しくないため、2つのレコードのうち1つが矛盾している。ラベルの有効日付は最新の改訂版であるため、承認年と等しいかそれ以降のラベル年は期待され、PASSとなります。NOT STATED:ソースが値を提供しなかったため、比較されなかった。PubMedレコードには要約や全文がないため、タイトルに治験名を記載していない論文は「言及していない」ではなくNOT STATEDです。
briefが行わないこと:独自の事実を追加しません。出力されるすべての値はレコードフィールドからコピーされるか、ラベル付きのカウントまたは年差であり、欠損値はnot statedとして出力されます。ブロック、レート制限、または障害が発生したソースは他のソースを停止しません。そのステータスとともにリストされ、終了コードは3です。--jsonを使用すると、レコードが最初に出力され、最後のオブジェクト{"brief": ...}がソース、フィールド、相互検証、およびフッターを保持します;--ledgerはレコードのみを保存します。すべてのbriefは次のように終わります:研究であり、医療アドバイスではありません。briefは公開文書をリストします。個人のために何かを解釈するものではありません。
Cite-check
すべての引用はエビデンスレコードを通じて行われ、解決できないものはソースから削除または修正され、決して記憶から修復されません。cite-check FILEはノート全体に適用されます。すべてのDOI、PMID 123、PMID: 123、またはpubmed/123 URLとして記述されたすべてのPubMed ID、およびすべてのNCT IDを見つけ、重複を削除し(最初の出現行を保持)、単一ルックアップコード(DOIの場合はdoi、PMIDの場合はPubMedの[pmid]フィールド検索(2リクエスト)、NCT IDの場合はtrial)でそれぞれを検索します。通常のクライアントが適用されます:カタログゲート、ペーシング、予算、サーキットブレーカー、アカウンティング。
| 行 | 意味 |
|---|---|
PASS | ソースがレコードを返した。タイトルと年または日付が出力され、欠損時はnot stated |
NOT FOUND | ソースがそのようなIDは存在しないと応答した。ソースから削除するか修正する。決して推測しない |
UNRESOLVED | ルックアップがブロック、レート制限、または失敗した。未解決は存在しないと同じではない |
TITLE PASS / TITLE CHECK | 同じ行にある4語以上の引用または強調された語句が、レコードのタイトルと、大文字小文字と句読点を無視して、短い方の単語の少なくとも0.6(またはそれ以下)を共有する |
…
[翻訳用に切り詰め]