Install
openclaw skills install @sciminer/biomedical-patent-trendsDownload, search, and analyze Patent-Mol-Wiki biomedical-patent packages. Use when users ask what happened in a recent patent period, need portfolio or trend statistics from wiki index.md files, ask whether a target, disease, modality, organization, or patent is present, need charts of patent distributions, or need molecular-structure analysis from selected patent folders.
openclaw skills install @sciminer/biomedical-patent-trendsAnalyze the supplied Patent-Mol-Wiki corpus as a local, potentially very large knowledge base. State the covered download period and data limitations; do not claim that a patent is absent when the corpus, search scope, or alias set is incomplete.
~/.config/sciminer/credentials.json, send it as X-Auth-Token, and never print, persist, or place it in prompts, logs, or repository files.scripts/download_wiki.py --date-range recent_week --outdir <project>/data. Use --patent-ids only when the user supplied patent numbers; it overrides the date range. Preserve the script's task manifest and raw service response beside the downloaded archive.index.md files with rg --files <data-root> -g index.md. Treat each index as the authoritative aggregate view for its own wiki folder.<project>/analysis/<period>/) so downloads remain immutable and derived artifacts are separable.| Request | First action | Deliverable |
|---|---|---|
| “What happened in the recent week?” or other open-ended period review | Read every index.md, then run scripts/index_stats.py across them. Inspect a small, transparent sample of patents only to explain the leading changes. | weekly_summary.json, chart SVGs, concise trend brief |
| Target, disease, modality, company, or patent lookup | Build aliases first, then use scripts/search_wiki.py against the extracted corpus. Read only the returned files and surrounding passages. | matched patent table, evidence snippets, coverage/alias caveat |
| Distribution/comparison question | Derive counts from the relevant index.md or matched-result table; generate a chart suited to the number of categories. | CSV/JSON plus SVG or another reproducible chart |
| Molecular-structure question | Search metadata/text first to identify candidate patent folders, then read structure-analysis.md and run the structure script only there. | structure table, method/version, results, limitations |
Never begin a targeted question by opening every patent text file. Search filenames and extracted text first, use specific aliases, and report the exact search root, query set, files searched, and match count.
Download recent_week unless a fresh extracted weekly package already exists and its manifest proves the coverage. Do not silently substitute calendar week dates for the provider's range.
Inventory wiki roots and index files. Run:
python scripts/index_stats.py <data-root> --outdir <analysis-root>
Use the generated aggregate counts and charts to describe patent volume, targets, diseases, organizations, modalities/technical fields, patent types, and leading ranked categories when those fields are present. Compare with the immediately preceding period only if its package exists and has compatible index fields.
To explain a leading category, search it with scripts/search_wiki.py and read the matched entries. Do not infer a trend simply because a keyword appears many times in boilerplate.
Deliver: coverage and collection time; headline numbers; notable concentrations/new entities; a compact chart set; 3–5 evidence-backed observations; and exclusions/uncertainties. Link every conclusion to an index metric or listed patent identifiers.
Use a horizontal bar chart for ranked categories, a stacked/grouped bar chart for compatible period comparisons, and a line chart only for three or more comparable time periods. Include labels, the total denominator, a readable title, and an explicit “source: local Patent-Mol-Wiki index.md” caption. Do not use a word cloud as the sole quantitative evidence.
Normalize terminology before search. Include official symbol/name, common aliases, spelling variants, protein family member, disease synonym/ontology label, and relevant modality names. Keep the alias list in the output.
python scripts/search_wiki.py <data-root> --query 'GLP-1R' --query 'GLP1R' --query 'glucagon-like peptide-1 receptor' --out <analysis-root>/glp1r_matches.json
Use exact/literal search by default. Add --regex only for deliberate patterns. Deduplicate at patent-file level, inspect context, and distinguish: direct claim/embodiment, background mention, comparator, and ambiguous hit. For a negative answer, say “no matches under these aliases in this downloaded corpus” and give coverage—not “no patent exists.”
After candidate patents are identified, use scripts/analyze_structures.py <candidate-folder> --outdir <analysis-root>/structures. It supports SDF, SMILES, and delimited files with SMILES columns, and uses RDKit for canonicalization, descriptors, and Bemis–Murcko scaffold counts. Preserve source file and record number. Treat OCR-derived or image-only structures as unverified until inspected or processed with an appropriate structure-recognition workflow.
https://sciminer.tech/utility.~/.config/sciminer/credentials.json as {"api_key":"your_api_key_here"}.api_key field from that file and send it as the X-Auth-Token header.If the credential file is unavailable or has no api_key field, stop and tell the user to configure it. Do not fall back to an environment variable, an inline key, or another service.
Some provider downloads contain one index.md per patent (profile: patmap-wiki-data-v1) rather than a dashboard index with precomputed categories. In that layout, count the patent folders and run scripts/summarize_wiki.py <wiki-root> --outdir <analysis-root> for a reproducible overview. It produces patent titles, transparent overlapping modality/disease keyword counts, and SVG charts. Do not represent these keyword counts as claim-level classifications or target annotations. Use scripts/search_wiki.py followed by claim inspection for a specific target, disease, company, or structure question.