Was macht CF Evidenzschleife?
Ein Forscher beginnt nicht mit einer Antwort. Er durchläuft einen festgelegten Satz von Fragen anhand der öffentlichen Aufzeichnungen: Was wurde veröffentlicht, wurde etwas davon zurückgezogen, was befindet sich in klinischen Studien, was ist zugelassen und für wen, wie viele Menschen sind betroffen, was empfiehlt das Fachgebiet und was sagt das Feld über Zuschüsse und Preprints? Diese Fähigkeit gibt einem Agenten diese Schleife als Kommandozeile, mit einer Regel: Nichts kommt ohne seine Quelle, sein Datum und das, was es nicht belegt, zurück.
Forschung, kein medizinischer Rat. Die von diesem Tool zurückgegebenen Datensätze beschreiben öffentliche Dokumente. Sie interpretieren nichts für eine Person, und der Indikationstext eines Etiketts entspricht nicht der Eignung einer Person.
1. Was diese Fähigkeit bewirkt
| Frage | Befehl | Quelle |
|---|---|---|
| Was wurde dazu veröffentlicht? | pubmed "<Begriff>" [--sort pub_date] | PubMed via NCBI E-utilities |
| Was sagen systematische Reviews und Cochrane? | reviews "<Begriff>" | PubMed Systematic-Review-Subset plus Cochrane Journal |
| Suche mit Open-Access- und Zitationsmetadaten | epmc '<Europe PMC Abfrage>' | Europe PMC |
| Wie oft wird dieser DOI zitiert und ist er Open Access? | cited <DOI> | Europe PMC |
| Wurde diese Arbeit zurückgezogen oder korrigiert? | retractions <DOI> [<DOI> ...] | Crossref, Retraction Watch Daten |
| Was ist dieser DOI? | doi <DOI> | Crossref |
| Wann hat die FDA dieses Medikament erstmals zugelassen? | approval <MARKE> | openFDA Drugs@FDA |
| Was sagt das aktuelle US-amerikanische Etikett? | label <MARKE> [--sections ...] | openFDA label |
| Wann hat die EMA dieses Arzneimittel in der EU zugelassen? | ema <ARZNEIMITTEL> [--file PFAD] | Europäische Arzneimittel-Agentur (offline heruntergeladener JSON-Bericht) |
| Welche Studien listen diese Erkrankung auf? | trials "<Erkrankung>" [--term X] [--status RECRUITING] | ClinicalTrials.gov v2 |
| Was enthält das Register zu dieser Studie? | trial <NCTId> | ClinicalTrials.gov v2 |
| Was ist dieser Preprint? | `preprint <biorxiv | medrxiv> ` |
| Welche CF-Preprints sind in einem Zeitfenster erschienen? | preprints <Server> <YYYY-MM-DD> <YYYY-MM-DD> [--pattern] | bioRxiv / medRxiv |
| Wie wird diese Variante klassifiziert? | variants "<ClinVar Abfrage>" | ClinVar via NCBI E-utilities |
| Wen fördert das NIH zu diesem Thema? | grants "<Text>" [--fy 2025] | NIH RePORTER |
| Wen fördert UKRI zu diesem Thema? | ukri "<Abfrage>" [--limit 25] | UKRI Gateway to Research (Alias: gtr) |
| Wie hoch ist der Bevölkerungsnenner für eine Region? | population <Entität> [--variable Count_Person] [--year YYYY] | Google Data Commons |
| Variante mit CADD, ClinVar, SnpEff, gnomAD-Häufigkeit annotieren | myvariant "<Variantenabfrage>" [--limit 5] | MyVariant.info |
| gnomAD-Allelfrequenzen abfragen (standardmäßig abgelehnt) | gnomad <Chrom-Pos-Ref-Alt> | gnomAD (nur manueller Zugriff; wird von der Katalogrichtlinie immer abgelehnt) |
| Was enthält OpenAlex zu dieser Arbeit (Zitationen, Rücknahme, OA)? | `openalex <DOI | ID>` |
| OpenAlex-Werke durchsuchen | openalex-search "<Abfrage>" [--limit 10] | OpenAlex via OurResearch (Schlüssel erforderlich) |
| Welche Open-Access-Standorte und Lizenzmetadaten indexiert Unpaywall? | unpaywall <DOI> | Unpaywall via OurResearch |
| Welchen Zitationsgraphen und Publikationsmetadaten enthält Semantic Scholar? | s2 <DOI> | Semantic Scholar via Ai2 (Alias: semantic-scholar) |
| Vollständigen Papierpfad auflösen (Crossref, Unpaywall OA, Semantic Scholar-Zitationen) | paper-trail <DOI> | Crossref, Unpaywall, Semantic Scholar (Alias: paper) |
| Welche Verbindungsmetadaten, klinischen Phasen und ATC-Codes enthält ChEMBL? | `chembl <CHEMBL_ID | Name> [--limit 5]` |
| Welche quantitativen Bioaktivitätstests (EC50, IC50, Ki, Kd) enthält ChEMBL? | `chembl-activity <CHEMBL_ID | Name> [--target CHEMBL4051]` |
| Welche Ziel-Tractability, Sicherheitsrisiken, Krankheits-Scores oder FAERS-Statistiken enthält Open Targets? | `opentargets <ID | Abfrage> [--limit 5]` |
| Welche stützende, widersprechende und erwähnende Zitationszahlen enthält Scite zu diesem DOI? | scite <DOI> [--rest] | Scite Pro MCP (scite-mcp) oder Nullquotenvorratspublic REST (--rest, scite-api) |
| Bis zu 500 DOIs pro Anfrage auf Smart-Citation-Zahlen, Rücknahmen und Abschnittsaufschlüsselung mit 0 Quotenkosten prüfen | scite-batch <DOI...> [--papers] [--sections] | Scite public REST (POST /tallies, POST /papers, POST /tallies/cited-by-sections; 0 Quotenkosten) |
| Wie sind die Zitationen zu diesem DOI auf Einleitung, Methoden, Ergebnisse und Diskussion verteilt? | scite-sections <DOI> | Scite public REST (GET /tallies/cited-by-sections/{doi} + /tallies/{doi}; 0 Quotenkosten) |
| Wortgetreue Volltextauszüge und Smart-Citation-Ausschnitte in einem bestimmten Papier lesen | scite-excerpts <DOI> "<Abfrage>" [--limit 5] | Scite Pro MCP Mode C (scite-mcp, in <untrusted_data> unter Quarantäne) |
| Welche verwandten Papiere empfiehlt Scite von einem Seed-DOI aus? | scite-recommend <DOI> [--limit 5] | Scite Partner REST (GET /api_partner/recommend-papers/{doi}, durch 650/Monat REST-Schutz begrenzt) |
| Literatur mit Scite Smart-Citation-Zahlen durchsuchen | scite-search "<Abfrage>" [--limit 5] | Scite Pro MCP (scite-mcp, OAuth/Schlüssel erforderlich) |
| PubMed-ID zu einem DOI ohne Quotenkosten auflösen | scite-pmid <PMID> | Scite public REST (GET /papers/resolve-pmid/{pmid}, 0 Quotenkosten) |
| Smart-Citation-Zahlen über bis zu 100 DOIs ohne Quotenkosten aggregieren | scite-aggregate <DOI...> | Scite public REST (POST /tallies/aggregate, 0 Quotenkosten) |
| Zitierende Publikationen und zurückgezogene Zitierungen für einen Ziel-DOI ohne Quotenkosten auflisten | scite-sources <DOI> [--limit 5] | Scite public REST (GET /papers/sources/{target_doi}, 0 Quotenkosten) |
| 1-Sprung-Zitationsnetzwerk mit Intent-Klassifikation und unter Quarantäne gestellten Ausschnitten erkunden | scite-graph <DOI> [--direction both] [--limit 5] | Scite Pro MCP (citation_graph, in <untrusted_data> unter Quarantäne) |
| Paginierten Volltextkörper nach DOI oder PMID lesen | `scite-fulltext <DOI | PMID> [--offset 0] [--length 8000]` |
| Scite Evidence-Datensätze durchsuchen (UK MHRA, Patente, 510(k), MAUDE, FAERS, Zuschüsse, Arzneimittel, Studien) | scite-evidence <Datensatz> "<Abfrage>" [--filter F] [--page 1] | Scite Pro MCP (search_mhra, search_patents, search_510k_summaries, usw., in <untrusted_data> unter Quarantäne) |
| HGVS- oder SPDI-Variantenkoordinaten normalisieren | `ncbi-variation <HGVS | SPDI>` |
| UniProtKB-Proteinsequenz, Domänengrenzen und natürliche Varianten nachschlagen | `uniprot <ACCESSION | Abfrage> [--limit 5]` |
| Ensembl-Genomkoordinaten, kanonische Transkripte oder rsID-Folgen nachschlagen | `ensembl <rsID | ENSG |
| NLM DailyMed Strukturierte Produktkennzeichnungen (SPL) nach Arzneimittelnamen durchsuchen | dailymed <ARZNEIMITTEL> [--limit 5] | DailyMed RESTful web services v2 (dailymed-web-services) |
| Bedingungen oder rechtliche Seite vor Katalogeintrag lesen | read-page <HTTPS_URL> [--out DATEI] [--max-chars N] | Vom Menschen initiiertes Lesen von Bedingungs-/Richtlinienseiten oder PDFs unter Laborverhaltensregeln |
| Deterministisch CFTR RefSeq NM_000492.4 Exon- und UniProt P13569 Domänenkontext nachschlagen | `cftr-context <Variante | Codon>` |
| Deterministisch CFTR-Modulator-Marke, API, Molekülcode, NDA und openFDA SPL Boxed Warning Sicherheitskontext nachschlagen | `cftr-modulator <Marke | Code |
| Deterministisch CFTR Cryo-EM Koordinatenstruktur-Metadaten nachschlagen | cftr-structure <pdb_id> [--list] | Nullnetzwerk-deterministische CFTR Cryo-EM Strukturauflösung, Liganden, Konformation und Referenz (Alias: cftr-pdb) |
| Was kann dieses Tool überhaupt erreichen? | sources | der Katalog |
| Was sagen mehrere Quellen zu einem Medikament, einer Variante oder einer Studie? | brief drug <MARKE>, brief variant "<ClinVar Abfrage>", brief trial <NCTId> | die obigen Quellen, kreuzgeprüft (siehe Briefs) |
| Existieren alle DOIs, PMIDs und Studien-IDs in dieser Notiz? | cite-check <DATEI> [--max-ids 30] [--scite-bulk] | Crossref, PubMed, ClinicalTrials.gov, plus optionaler Nullquoten-Scite-Bulk-Vorabprüfung (siehe Cite-check) |
Was der Client-Code ablehnt: Jeglichen Host zu erreichen, der nicht in catalog.yaml erlaubt ist (eine Weiterleitung wird bei API-Datenabfragen niemals gefolgt); sich als Browser auszugeben; Zertifikatsprüfungen zu überspringen; nach einer Ablehnung erneut zu versuchen. Für das vorherige Lesen von Katalogbedingungen erzwingt read-page das strenge Netzwerkverhalten des Labors: HTTPS only, robots.txt zuerst via robots_allows, Crawl-Delay wird eingehalten, verweigerte/unlesbare robots brechen den Abruf ab, HTTPS-Weiterleitungen zur gleichen Site werden erneut gegen robots geprüft, Zertifikatsüberprüfung an, 5 MB Körperbegrenzung, einzelne Anfrage. Es benötigt keinen Katalogeintrag, da es speziell für das menschlich initiierte Lesen von Bedingungsseiten vor der Existenz eines Katalogeintrags existiert, nicht für die Datenextraktion. Das Paket ruft auch niemals ein Sprachmodell auf und fragt keine Quelle ab, die individuelle Daten enthält.
2. Ausführen
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
Flags für jeden Befehl: --json für ein JSON-Objekt pro Datensatz, --ledger PFAD zum Anhängen von Datensätzen an ein JSONL-Evidenzjournal. Exit-Code 0, wenn jeder Datensatz found oder not_found ist; 3, wenn einer blocked, rate_limited oder error ist.
Briefs
Ein Brief stellt eine Frage an mehrere Quellen über denselben Client, sodass das Katalog-Gate, die Taktung, das Budget und der Schutzschalter weiterhin gelten. Er gibt jeden Datensatz aus, den jede Quelle zurückgegeben hat, den Status jeder Quelle, die Felder, die verglichen wurden, und einen kurzen Kreuzprüfungsblock.
| Rezept | Ausführungen | Kreuzprüfungen |
|---|---|---|
brief drug TRIKAFTA | approval, label, trials nach Begriff (5), pubmed für die Marke (5) | Status jeder Quelle; dass das Jahr des Inkrafttretens des Etiketts nicht vor dem Jahr der Erstzulassung durch Drugs@FDA liegt; OpenAlex-Literatur- und Rücknahmescan; CFTR-Modulator-Sicherheitsgrenze (AH-4) und primäre PDB-Kreuzprüfung |
brief variant "CFTR[gene] AND F508del" | variants, pubmed für denselben Begriff (5) | Status jeder Quelle; wie viele ClinVar-Datensätze übereinstimmten, mit Klassifikation und Prüfstatus für jeden |
brief trial NCT05033080 | trial, pubmed für die NCT-ID (5) | Status jeder Quelle; die ID des Registereintrags; welche zurückgegebenen Arbeiten die Studie in ihrem Titel nennen |
So lesen Sie die Kreuzprüfungen:
PASS: Die Werte stimmen überein, oder die Quelle hat geantwortet. Es handelt sich nicht um einen Befund zum Medikament, zur Variante oder zur Studie.CHECK: Eine Person sollte nachschauen. Eine Quelle hat nicht geantwortet; mehrere ClinVar-Datensätze stimmten überein (alle sind aufgelistet, keiner wird ausgewählt); oder das Inkrafttretensdatum des Etiketts liegt vor der Erstzulassung des Medikaments, was nicht richtig sein kann, also ist einer der beiden Datensätze inkonsistent. Das Inkrafttretensdatum eines Etiketts ist seine letzte Überarbeitung, daher wird ein Etikettjahr gleich oder später als das Zulassungsjahr erwartet und istPASS.NOT STATED: Eine Quelle hat den Wert nicht angegeben, also wurde nichts verglichen. PubMed-Datensätze enthalten keine Zusammenfassung oder Volltext, daher ist eine Arbeit, die die Studie nicht in ihrem Titel erwähnt,NOT STATED, nicht "erwähnt sie nicht".
Was ein Brief nicht tut: Er fügt keine eigene Tatsache hinzu. Jeder von ihm ausgegebene Wert wird aus einem Datensatzfeld kopiert oder ist eine beschriftete Anzahl oder Jahreslücke, und ein fehlender Wert wird als not stated ausgegeben. Eine blockierte, ratenbegrenzte oder fehlschlagende Quelle stoppt nicht die anderen Quellen; sie wird mit ihrem Status aufgelistet und der Exit-Code ist 3. Mit --json kommen die Datensätze zuerst und ein letztes Objekt, {"brief": ...}, enthält die Quellen, Felder, Kreuzprüfungen und die Fußzeile; --ledger speichert nur die Datensätze. Jeder Brief endet mit: Forschung, kein medizinischer Rat. Ein Brief listet öffentliche Dokumente auf; er interpretiert nichts für eine Person.
Cite-check
Jede Zitation durchläuft den Evidenzdatensatz, und eine, die nicht aufgelöst werden kann, wird gelöscht oder aus einer Quelle korrigiert, niemals aus dem Gedächtnis repariert. cite-check DATEI wendet es auf eine gesamte Notiz an. Es findet jeden DOI, jede PubMed-ID als PMID 123, PMID: 123 oder als pubmed/123-URL und jede NCT-ID, entfernt Duplikate (behält die Zeile des ersten Vorkommens) und sucht jede mit dem Einzelsuchcode nach: doi für einen DOI, eine PubMed-Suche im Feld [pmid] für eine PMID (zwei Anfragen), trial für eine NCT-ID. Der übliche Client gilt: Katalog-Gate, Taktung, Budget, Schutzschalter, Buchhaltung.
| Zeile | Bedeutung |
|---|---|
PASS | Die Quelle hat einen Datensatz zurückgegeben; Titel und Jahr oder Daten werden ausgegeben, not stated, wo abwesend |
NOT FOUND | Die Quelle hat geantwortet, dass es diese ID nicht gibt. Löschen Sie sie oder korrigieren Sie sie aus einer Quelle; raten Sie niemals |
UNRESOLVED | Die Suche wurde blockiert, ratenbegrenzt oder ist fehlgeschlagen. Unaufgelöst ist nicht dasselbe wie nicht existent |
TITLE PASS / TITLE CHECK | Ein zitierter oder hervorgehobener Ausdruck von vier oder mehr Wörtern in derselben Zeile teilt mindestens 0,6 (oder weniger) der Wörter der kürzeren Seite mit dem Titel des Datensatzes, ohne Berücksichtigung von Groß-/Kleinschreibung und Satzzeichen |