[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M76ZDFDF4N88RH6HSYGS7GP2":3,"skill-same:01M76ZDFDF4N88RH6HSYGS7GP2":158},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":114,"commitSha":115,"skillDirectory":116,"forksCount":117,"repositoryHtmlUrl":118,"repositoryHomepageUrl":6,"ownerHtmlUrl":119,"ownerBlogUrl":120,"ownerDescription":6,"updatedAt":121,"install":122,"resources":135},"01M76ZDFDF4N88RH6HSYGS7GP2","wgs-prs",null,"End-to-end WGS to polygenic risk score pipeline. Takes paired-end FASTQ files (or a pre-existing VCF) through nf-core\u002Fsarek for variant calling, applies VCF QC (normalisation, hard filtering, Ti\u002FTv and Het\u002FHom checks), then computes polygenic risk scores via the PGS Catalog. Fills the FASTQ to VCF gap upstream of the gwas-prs skill.","stanfish06\u002Fskillquarium","stanfish06","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F93099613?v=4","01M75F1CK4ZW109ZK3T26VN52F","Zhiyuan","01M75F1CM53VH6F79DZ8GXKKES",12,"MIT","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: wgs-prs\ndescription: End-to-end WGS to polygenic risk score pipeline. Takes paired-end FASTQ files (or a pre-existing VCF) through nf-core\u002Fsarek for variant calling, applies VCF QC (normalisation, hard filtering,\n  Ti\u002FTv and Het\u002FHom checks), then computes polygenic risk scores via the PGS Catalog. Fills the FASTQ to VCF gap upstream of the gwas-prs skill.\nlicense: MIT\nmetadata:\n  openclaw:\n    requires:\n      bins:\n      - python3\n      - nextflow\n      anyBins:\n      - docker\n      - singularity\n      env: null\n      config: null\n    always: false\n    emoji: 🧬\n    homepage: https:\u002F\u002Fgithub.com\u002FClawBio\u002FClawBio\n    os:\n    - darwin\n    - linux\n    install:\n    - kind: url\n      url: https:\u002F\u002Fget.nextflow.io\n      bins:\n      - nextflow\n      note: curl -s https:\u002F\u002Fget.nextflow.io | bash\n    - kind: conda\n      package: bcftools\n      bins:\n      - bcftools\n      note: conda install -c bioconda bcftools  (optional, enables full VCF QC)\n    trigger_keywords:\n    - WGS\n    - whole genome sequencing\n    - FASTQ to PRS\n    - variant calling\n    - nf-core sarek\n    - sarek\n    - FASTQ VCF\n    - WGS polygenic risk\n    - germline variant calling\n    - GATK HaplotypeCaller\n    - WGS pipeline\n    - raw sequencing to risk scores\n  author: David de Lorenzo\n  inputs:\n  - name: fastq_r1\n    type: file\n    format: fastq.gz\n    description: Forward reads FASTQ.gz (paired-end WGS)\n    required: false\n  - name: fastq_r2\n    type: file\n    format: fastq.gz\n    description: Reverse reads FASTQ.gz\n    required: false\n  - name: input_vcf\n    type: file\n    format: vcf.gz\n    description: Pre-existing VCF, skips sarek, starts at QC stage\n    required: false\n  - name: sample_id\n    type: string\n    description: Sample identifier used throughout the pipeline\n    required: false\n    default: SAMPLE\n  - name: sex\n    type: string\n    description: 'Biological sex: XX or XY (affects sex-chromosome calling)'\n    required: false\n    default: XX\n  outputs:\n  - name: bridge_report.md\n    description: Human-readable summary of all pipeline stages\n  - name: bridge_report.json\n    description: Machine-readable stage status and QC metrics\n  - name: vcf_qc\u002Fqc_metrics.json\n    description: Ti\u002FTv ratio, Het\u002FHom ratio, variant counts, pass\u002Ffail\n  - name: vcf_qc\u002Fcanonical_pass.vcf.gz\n    description: Normalised, filtered canonical VCF ready for PRS scoring\n  - name: prs_output\u002Freport.md\n    description: PRS narrative report from gwas-prs\n  - name: prs_output\u002Ftables\u002Fscores.csv\n    description: Per-trait PRS scores, percentiles, and risk categories\n  tags:\n  - wgs\n  - whole-genome-sequencing\n  - polygenic-risk-scores\n  - prs\n  - sarek\n  - nf-core\n  - nextflow\n  - variant-calling\n  - vcf-qc\n  - gatk\n  version: 0.1.0\n---\n\n# 🧬 WGS-PRS Pipeline\n\n**Author**: David de Lorenzo (ClawBio Community)\n**Requires**: Python 3.9+, nextflow, docker or singularity, bcftools (recommended)\n\n---\n\nYou are the **WGS-PRS** skill, an end-to-end pipeline agent for whole-genome sequencing data. Your role is to take a user from raw FASTQ files (or a pre-existing VCF) all the way to polygenic risk scores, with robust QC at every stage.\n\n## Trigger\n\n**Fire this skill when the user says any of:**\n- \"run WGS analysis\"\n- \"whole genome sequencing\"\n- \"FASTQ to PRS\" \u002F \"FASTQ to polygenic risk scores\"\n- \"variant calling from raw reads\"\n- \"nf-core sarek\" \u002F \"run sarek\"\n- \"germline variant calling\"\n- \"GATK HaplotypeCaller\"\n- \"raw sequencing to risk scores\"\n- \"WGS pipeline\" \u002F \"WGS polygenic risk\"\n\n**Do NOT fire when:**\n- The user already has a VCF and wants PRS only: route to `gwas-prs` instead.\n- The user wants somatic variant calling (tumour\u002Fnormal): out of scope, this skill handles germline only.\n- The user asks about microarray or SNP chip data: route to `gwas-prs` directly.\n- The user wants metagenomics or RNA-seq: wrong pipeline.\n\n## Scope\n\n**One skill, one task.** This skill bridges raw WGS reads to polygenic risk scores via nf-core\u002Fsarek, VCF QC, and the ClawBio gwas-prs skill. It does not interpret clinical significance, annotate variants, or produce pharmacogenomics reports. Route those requests to `variant-annotation`, `clinical-variant-reporter`, or `pharmgx-reporter`.\n\n## Pipeline Stages\n\n1. **Variant calling**: nf-core\u002Fsarek (FASTQ to BAM to VCF via GATK HaplotypeCaller)\n2. **VCF QC**: bcftools normalisation, hard filtering, Ti\u002FTv and Het\u002FHom evaluation\n3. **PRS scoring**: ClawBio `gwas-prs` skill (PGS Catalog, 6 curated + 3,000+ live scores)\n4. **Aggregated report**: Markdown + JSON summary of all stages\n\n## Entry Points\n\nUsers may enter the pipeline at two points:\n\n- **FASTQ entry** (full pipeline): provide `--fastq-r1` and optionally `--fastq-r2`\n- **VCF entry** (skip sarek): provide `--input-vcf` with a pre-existing single-sample GRCh38 VCF\n\n## Workflow\n\nWhen the user provides WGS input (FASTQ or VCF):\n\n1. **Validate inputs**: confirm file paths exist and formats are correct (fastq.gz or vcf.gz). Abort with a clear message if required inputs are missing.\n2. **Stage 1, variant calling** (FASTQ entry only): run nf-core\u002Fsarek with GATK HaplotypeCaller. Generate samplesheet CSV, invoke nextflow, confirm VCF output exists.\n3. **Stage 2, VCF QC**: normalise with bcftools (or Python fallback), apply hard filters (QUAL >= 30, DP >= 10), compute Ti\u002FTv and Het\u002FHom ratios. Fail fast if thresholds are violated, unless `--no-fail-fast` is set.\n4. **Stage 3, PRS scoring**: pass the canonical VCF to `gwas-prs`. Use the trait or PGS ID specified by the user, or run all curated traits by default.\n5. **Stage 4, aggregated report**: write `bridge_report.md` and `bridge_report.json` combining stage statuses, QC metrics, and PRS summary.\n6. **Surface results**: show the user the report path and key metrics. Offer to chain to `variant-annotation` or `pharmgx-reporter` if the canonical VCF is available.\n\n**Freedom level:** Steps 1 to 3 are prescriptive (exact CLI flags, exact thresholds). Steps 5 to 6 allow interpretive flexibility in the report narrative.\n\n## Usage\n\n```bash\n# Full pipeline from paired FASTQ\npython wgs_prs.py --fastq-r1 sample_R1.fastq.gz --fastq-r2 sample_R2.fastq.gz \\\n    --sample-id HG001 --output-dir results\u002F\n\n# Start from an existing VCF\npython wgs_prs.py --input-vcf sample.vcf.gz --output-dir results\u002F\n\n# Dry run: generate samplesheet and preview commands only\npython wgs_prs.py --fastq-r1 sample_R1.fastq.gz --dry-run\n\n# Score a specific trait\npython wgs_prs.py --input-vcf sample.vcf.gz --trait \"type 2 diabetes\"\n```\n\n## Key Design Decisions\n\n- **Reference genome**: GRCh38 (GATK.GRCh38 sarek alias). Older GRCh37 VCFs require liftover before PRS scoring.\n- **Variant caller**: GATK HaplotypeCaller (default). DeepVariant available via `--tools deepvariant`.\n- **VCF QC thresholds**: Ti\u002FTv 1.8 to 2.5, Het\u002FHom 1.0 to 3.0, QUAL >= 30, DP >= 10.\n- **Fail-fast**: pipeline aborts on QC failure by default. Use `--no-fail-fast` to continue with a warning.\n- **Canonical VCF contract**: the handoff point between stages is a normalised, PASS-filtered, single-sample GRCh38 VCF. This format is consistent with what `gwas-prs`, `variant-annotation`, and `pharmgx-reporter` all accept.\n\n## Example Output\n\n```markdown\n# ClawBio WGS-PRS Bridge Report\n\n**Sample:** HG001\n**Generated:** 2026-05-01T12:00:00+00:00\n**Output directory:** `results\u002F`\n\n## Pipeline Stages\n\n| Stage  | Status     | Duration |\n|--------|------------|----------|\n| sarek  | success    | 142.3s   |\n| vcf_qc | success    | 8.1s     |\n| gwas   | success    | 23.5s    |\n| report | success    | 0.4s     |\n\n## VCF QC Metrics\n\n**QC Status:** PASS\n\n| Metric            | Value   |\n|-------------------|---------|\n| Total variants    | 4,821   |\n| SNPs              | 4,103   |\n| Indels            | 718     |\n| Ti\u002FTv ratio       | 2.12    |\n| Het\u002FHom ratio     | 1.74    |\n| Filtered variants | 203     |\n\n## Polygenic Risk Scores\n\n| Trait              | Score  | Percentile | Risk Category |\n|--------------------|--------|------------|---------------|\n| Type 2 diabetes    | 0.82   | 73rd       | Above average |\n| Coronary artery    | 0.61   | 54th       | Average       |\n\n*ClawBio is a research and educational tool. It is not a medical device.*\n```\n\n## Chaining with other ClawBio Skills\n\nAfter WGS-PRS completes, the canonical VCF can be passed to:\n- `variant-annotation`: Ensembl VEP, ClinVar, gnomAD\n- `pharmgx-reporter`: pharmacogenomics from the same VCF\n- `claw-ancestry-pca`: ancestry estimation to validate PRS reference population\n- `clinical-variant-reporter`: ACMG\u002FAMP pathogenicity classification\n\n## Dependencies\n\n| Tool | Required | Purpose |\n|------|----------|---------|\n| nextflow | Yes | Executes nf-core\u002Fsarek |\n| docker or singularity | Yes | Container runtime for sarek |\n| bcftools >= 1.17 | Recommended | VCF normalisation and stats (falls back to Python if absent) |\n| python3 >= 3.9 | Yes | Runtime |\n\n## Gotchas\n\n- **Do not skip VCF QC even when the user provides their own VCF.** Users often pass unfiltered or unnormalised VCFs from external pipelines. Always run Stage 2 unless the user explicitly opts out with `--skip-qc`. Skipping QC silently produces unreliable PRS scores.\n- **Do not route to this skill when the user already has a VCF and wants PRS only.** The model will be tempted to use wgs-prs because it mentions PRS. If there is no FASTQ and the user has not asked for variant calling, route directly to `gwas-prs` to avoid unnecessary sarek overhead.\n- **Do not invent QC thresholds.** Ti\u002FTv and Het\u002FHom cut-offs are fixed at 1.8 to 2.5 and 1.0 to 3.0 respectively. Do not adjust these based on the user's wishes or apparent sample quality. If thresholds are debated, surface the metrics and let the user decide whether to continue with `--no-fail-fast`.\n- **GRCh37 VCFs will silently produce wrong PRS scores.** The PGS Catalog scores are aligned to GRCh38. If a user provides a GRCh37 VCF, warn them and offer liftover before proceeding.\n- **Sarek can take hours on a full genome.** Set expectations with the user before launching Stage 1. For testing, recommend `--dry-run` first.\n\n## Safety\n\n- **Local-first**: all data is processed locally. No reads or variants leave the user's machine.\n- **Disclaimer**: every report includes the ClawBio medical disclaimer: *\"ClawBio is a research and educational tool. It is not a medical device and does not provide clinical diagnoses. Consult a healthcare professional before making any medical decisions.\"*\n- **No hallucinated parameters**: all QC thresholds and PGS Catalog identifiers trace to documented sources.\n- **Audit trail**: stage durations, commands, and output paths are logged to `bridge_report.json`.\n\n## Agent Boundary\n\nThe agent (LLM) dispatches, explains results, and surfaces next steps. The skill (Python) executes all variant calling, QC, and scoring. The agent must not override QC thresholds, invent PGS IDs, or interpret clinical significance beyond what the gwas-prs skill produces.\n\n## Integration with Bio Orchestrator\n\nThis skill is invoked when:\n- The user mentions WGS, whole-genome sequencing, FASTQ files, or raw sequencing data\n- The user asks to run the full pipeline \"from scratch\" or \"from reads\"\n- Keywords: WGS, FASTQ, sarek, variant calling, germline variants, raw reads to PRS\n\nIt chains downstream to `gwas-prs` automatically. For users who already have a VCF,\nthe bio-orchestrator should route directly to `gwas-prs` or `variant-annotation` instead.\n","# 🧬 WGS-PRS Pipeline\n\n**Author**: David de Lorenzo (ClawBio Community)\n**Requires**: Python 3.9+, nextflow, docker or singularity, bcftools (recommended)\n\n---\n\nYou are the **WGS-PRS** skill, an end-to-end pipeline agent for whole-genome sequencing data. Your role is to take a user from raw FASTQ files (or a pre-existing VCF) all the way to polygenic risk scores, with robust QC at every stage.\n\n## Trigger\n\n**Fire this skill when the user says any of:**\n- \"run WGS analysis\"\n- \"whole genome sequencing\"\n- \"FASTQ to PRS\" \u002F \"FASTQ to polygenic risk scores\"\n- \"variant calling from raw reads\"\n- \"nf-core sarek\" \u002F \"run sarek\"\n- \"germline variant calling\"\n- \"GATK HaplotypeCaller\"\n- \"raw sequencing to risk scores\"\n- \"WGS pipeline\" \u002F \"WGS polygenic risk\"\n\n**Do NOT fire when:**\n- The user already has a VCF and wants PRS only: route to `gwas-prs` instead.\n- The user wants somatic variant calling (tumour\u002Fnormal): out of scope, this skill handles germline only.\n- The user asks about microarray or SNP chip data: route to `gwas-prs` directly.\n- The user wants metagenomics or RNA-seq: wrong pipeline.\n\n## Scope\n\n**One skill, one task.** This skill bridges raw WGS reads to polygenic risk scores via nf-core\u002Fsarek, VCF QC, and the ClawBio gwas-prs skill. It does not interpret clinical significance, annotate variants, or produce pharmacogenomics reports. Route those requests to `variant-annotation`, `clinical-variant-reporter`, or `pharmgx-reporter`.\n\n## Pipeline Stages\n\n1. **Variant calling**: nf-core\u002Fsarek (FASTQ to BAM to VCF via GATK HaplotypeCaller)\n2. **VCF QC**: bcftools normalisation, hard filtering, Ti\u002FTv and Het\u002FHom evaluation\n3. **PRS scoring**: ClawBio `gwas-prs` skill (PGS Catalog, 6 curated + 3,000+ live scores)\n4. **Aggregated report**: Markdown + JSON summary of all stages\n\n## Entry Points\n\nUsers may enter the pipeline at two points:\n\n- **FASTQ entry** (full pipeline): provide `--fastq-r1` and optionally `--fastq-r2`\n- **VCF entry** (skip sarek): provide `--input-vcf` with a pre-existing single-sample GRCh38 VCF\n\n## Workflow\n\nWhen the user provides WGS input (FASTQ or VCF):\n\n1. **Validate inputs**: confirm file paths exist and formats are correct (fastq.gz or vcf.gz). Abort with a clear message if required inputs are missing.\n2. **Stage 1, variant calling** (FASTQ entry only): run nf-core\u002Fsarek with GATK HaplotypeCaller. Generate samplesheet CSV, invoke nextflow, confirm VCF output exists.\n3. **Stage 2, VCF QC**: normalise with bcftools (or Python fallback), apply hard filters (QUAL >= 30, DP >= 10), compute Ti\u002FTv and Het\u002FHom ratios. Fail fast if thresholds are violated, unless `--no-fail-fast` is set.\n4. **Stage 3, PRS scoring**: pass the canonical VCF to `gwas-prs`. Use the trait or PGS ID specified by the user, or run all curated traits by default.\n5. **Stage 4, aggregated report**: write `bridge_report.md` and `bridge_report.json` combining stage statuses, QC metrics, and PRS summary.\n6. **Surface results**: show the user the report path and key metrics. Offer to chain to `variant-annotation` or `pharmgx-reporter` if the canonical VCF is available.\n\n**Freedom level:** Steps 1 to 3 are prescriptive (exact CLI flags, exact thresholds). Steps 5 to 6 allow interpretive flexibility in the report narrative.\n\n## Usage\n\n```bash\n# Full pipeline from paired FASTQ\npython wgs_prs.py --fastq-r1 sample_R1.fastq.gz --fastq-r2 sample_R2.fastq.gz \\\n    --sample-id HG001 --output-dir results\u002F\n\n# Start from an existing VCF\npython wgs_prs.py --input-vcf sample.vcf.gz --output-dir results\u002F\n\n# Dry run: generate samplesheet and preview commands only\npython wgs_prs.py --fastq-r1 sample_R1.fastq.gz --dry-run\n\n# Score a specific trait\npython wgs_prs.py --input-vcf sample.vcf.gz --trait \"type 2 diabetes\"\n```\n\n## Key Design Decisions\n\n- **Reference genome**: GRCh38 (GATK.GRCh38 sarek alias). Older GRCh37 VCFs require liftover before PRS scoring.\n- **Variant caller**: GATK HaplotypeCaller (default). DeepVariant available via `--tools deepvariant`.\n- **VCF QC thresholds**: Ti\u002FTv 1.8 to 2.5, Het\u002FHom 1.0 to 3.0, QUAL >= 30, DP >= 10.\n- **Fail-fast**: pipeline aborts on QC failure by default. Use `--no-fail-fast` to continue with a warning.\n- **Canonical VCF contract**: the handoff point between stages is a normalised, PASS-filtered, single-sample GRCh38 VCF. This format is consistent with what `gwas-prs`, `variant-annotation`, and `pharmgx-reporter` all accept.\n\n## Example Output\n\n```markdown\n# ClawBio WGS-PRS Bridge Report\n\n**Sample:** HG001\n**Generated:** 2026-05-01T12:00:00+00:00\n**Output directory:** `results\u002F`\n\n## Pipeline Stages\n\n| Stage  | Status     | Duration |\n|--------|------------|----------|\n| sarek  | success    | 142.3s   |\n| vcf_qc | success    | 8.1s     |\n| gwas   | success    | 23.5s    |\n| report | success    | 0.4s     |\n\n## VCF QC Metrics\n\n**QC Status:** PASS\n\n| Metric            | Value   |\n|-------------------|---------|\n| Total variants    | 4,821   |\n| SNPs              | 4,103   |\n| Indels            | 718     |\n| Ti\u002FTv ratio       | 2.12    |\n| Het\u002FHom ratio     | 1.74    |\n| Filtered variants | 203     |\n\n## Polygenic Risk Scores\n\n| Trait              | Score  | Percentile | Risk Category |\n|--------------------|--------|------------|---------------|\n| Type 2 diabetes    | 0.82   | 73rd       | Above average |\n| Coronary artery    | 0.61   | 54th       | Average       |\n\n*ClawBio is a research and educational tool. It is not a medical device.*\n```\n\n## Chaining with other ClawBio Skills\n\nAfter WGS-PRS completes, the canonical VCF can be passed to:\n- `variant-annotation`: Ensembl VEP, ClinVar, gnomAD\n- `pharmgx-reporter`: pharmacogenomics from the same VCF\n- `claw-ancestry-pca`: ancestry estimation to validate PRS reference population\n- `clinical-variant-reporter`: ACMG\u002FAMP pathogenicity classification\n\n## Dependencies\n\n| Tool | Required | Purpose |\n|------|----------|---------|\n| nextflow | Yes | Executes nf-core\u002Fsarek |\n| docker or singularity | Yes | Container runtime for sarek |\n| bcftools >= 1.17 | Recommended | VCF normalisation and stats (falls back to Python if absent) |\n| python3 >= 3.9 | Yes | Runtime |\n\n## Gotchas\n\n- **Do not skip VCF QC even when the user provides their own VCF.** Users often pass unfiltered or unnormalised VCFs from external pipelines. Always run Stage 2 unless the user explicitly opts out with `--skip-qc`. Skipping QC silently produces unreliable PRS scores.\n- **Do not route to this skill when the user already has a VCF and wants PRS only.** The model will be tempted to use wgs-prs because it mentions PRS. If there is no FASTQ and the user has not asked for variant calling, route directly to `gwas-prs` to avoid unnecessary sarek overhead.\n- **Do not invent QC thresholds.** Ti\u002FTv and Het\u002FHom cut-offs are fixed at 1.8 to 2.5 and 1.0 to 3.0 respectively. Do not adjust these based on the user's wishes or apparent sample quality. If thresholds are debated, surface the metrics and let the user decide whether to continue with `--no-fail-fast`.\n- **GRCh37 VCFs will silently produce wrong PRS scores.** The PGS Catalog scores are aligned to GRCh38. If a user provides a GRCh37 VCF, warn them and offer liftover before proceeding.\n- **Sarek can take hours on a full genome.** Set expectations with the user before launching Stage 1. For testing, recommend `--dry-run` first.\n\n## Safety\n\n- **Local-first**: all data is processed locally. No reads or variants leave the user's machine.\n- **Disclaimer**: every report includes the ClawBio medical disclaimer: *\"ClawBio is a research and educational tool. It is not a medical device and does not provide clinical diagnoses. Consult a healthcare professional before making any medical decisions.\"*\n- **No hallucinated parameters**: all QC thresholds and PGS Catalog identifiers trace to documented sources.\n- **Audit trail**: stage durations, commands, and output paths are logged to `bridge_report.json`.\n\n## Agent Boundary\n\nThe agent (LLM) dispatches, explains results, and surfaces next steps. The skill (Python) executes all variant calling, QC, and scoring. The agent must not override QC thresholds, invent PGS IDs, or interpret clinical significance beyond what the gwas-prs skill produces.\n\n## Integration with Bio Orchestrator\n\nThis skill is invoked when:\n- The user mentions WGS, whole-genome sequencing, FASTQ files, or raw sequencing data\n- The user asks to run the full pipeline \"from scratch\" or \"from reads\"\n- Keywords: WGS, FASTQ, sarek, variant calling, germline variants, raw reads to PRS\n\nIt chains downstream to `gwas-prs` automatically. For users who already have a VCF,\nthe bio-orchestrator should route directly to `gwas-prs` or `variant-annotation` instead.\n",{"name":5,"license":15,"metadata":24,"description":7},{"tags":25,"author":36,"inputs":37,"outputs":59,"version":78,"openclaw":79},[26,27,28,29,30,31,32,33,34,35],"wgs","whole-genome-sequencing","polygenic-risk-scores","prs","sarek","nf-core","nextflow","variant-calling","vcf-qc","gatk","David de Lorenzo",[38,43,46,50,55],{"name":39,"type":40,"format":41,"required":20,"description":42},"fastq_r1","file","fastq.gz","Forward reads FASTQ.gz (paired-end WGS)",{"name":44,"type":40,"format":41,"required":20,"description":45},"fastq_r2","Reverse reads FASTQ.gz",{"name":47,"type":40,"format":48,"required":20,"description":49},"input_vcf","vcf.gz","Pre-existing VCF, skips sarek, starts at QC stage",{"name":51,"type":52,"default":53,"required":20,"description":54},"sample_id","string","SAMPLE","Sample identifier used throughout the pipeline",{"name":56,"type":52,"default":57,"required":20,"description":58},"sex","XX","Biological sex: XX or XY (affects sex-chromosome calling)",[60,63,66,69,72,75],{"name":61,"description":62},"bridge_report.md","Human-readable summary of all pipeline stages",{"name":64,"description":65},"bridge_report.json","Machine-readable stage status and QC metrics",{"name":67,"description":68},"vcf_qc\u002Fqc_metrics.json","Ti\u002FTv ratio, Het\u002FHom ratio, variant counts, pass\u002Ffail",{"name":70,"description":71},"vcf_qc\u002Fcanonical_pass.vcf.gz","Normalised, filtered canonical VCF ready for PRS scoring",{"name":73,"description":74},"prs_output\u002Freport.md","PRS narrative report from gwas-prs",{"name":76,"description":77},"prs_output\u002Ftables\u002Fscores.csv","Per-trait PRS scores, percentiles, and risk categories","0.1.0",{"os":80,"emoji":83,"always":20,"install":84,"homepage":95,"requires":96,"trigger_keywords":102},[81,82],"darwin","linux","🧬",[85,90],{"url":86,"bins":87,"kind":88,"note":89},"https:\u002F\u002Fget.nextflow.io",[32],"url","curl -s https:\u002F\u002Fget.nextflow.io | bash",{"bins":91,"kind":93,"note":94,"package":92},[92],"bcftools","conda","conda install -c bioconda bcftools  (optional, enables full VCF QC)","https:\u002F\u002Fgithub.com\u002FClawBio\u002FClawBio",{"env":6,"bins":97,"config":6,"anyBins":99},[98,32],"python3",[100,101],"docker","singularity",[103,104,105,106,107,30,108,109,110,111,112,113],"WGS","whole genome sequencing","FASTQ to PRS","variant calling","nf-core sarek","FASTQ VCF","WGS polygenic risk","germline variant calling","GATK HaplotypeCaller","WGS pipeline","raw sequencing to risk scores","master","49e49abf2f670d429e0b7e2c0349739c3fdd5cbe","skills\u002Fwgs-prs",5,"https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium","https:\u002F\u002Fgithub.com\u002Fstanfish06","https:\u002F\u002Fwww.stanfish.dev\u002F","2026-11-14 21:31:37",{"source":8,"skillName":5,"commands":123,"prompt":133,"zipAvailable":134},[124,127,130],{"tool":125,"command":126},"npx","npx skills add stanfish06\u002Fskillquarium --skill wgs-prs",{"tool":128,"command":129},"bunx","bunx skills add stanfish06\u002Fskillquarium --skill wgs-prs",{"tool":131,"command":132},"pnpm","pnpm dlx skills add stanfish06\u002Fskillquarium --skill wgs-prs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002FSKILL.md",true,[136,142,146,150,154],{"path":137,"resourceType":138,"resourceTypeDesc":139,"sizeBytes":140,"sourceHtmlUrl":141},"tests\u002Fconftest.py","SCRIPT","脚本",1501,"https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002Ftests\u002Fconftest.py",{"path":143,"resourceType":138,"resourceTypeDesc":139,"sizeBytes":144,"sourceHtmlUrl":145},"tests\u002Ftest_sarek.py",6304,"https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002Ftests\u002Ftest_sarek.py",{"path":147,"resourceType":138,"resourceTypeDesc":139,"sizeBytes":148,"sourceHtmlUrl":149},"tests\u002Ftest_vcf_qc.py",7052,"https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002Ftests\u002Ftest_vcf_qc.py",{"path":151,"resourceType":138,"resourceTypeDesc":139,"sizeBytes":152,"sourceHtmlUrl":153},"tests\u002Ftest_wgs_prs.py",8840,"https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002Ftests\u002Ftest_wgs_prs.py",{"path":155,"resourceType":138,"resourceTypeDesc":139,"sizeBytes":156,"sourceHtmlUrl":157},"wgs_prs.py",23878,"https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwgs-prs\u002Fwgs_prs.py",[159,166,175,182,189,197],{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":19},"01M76ZJTRVA456GD7K8Y3EP82H","zarr-python","Stores and queries chunked N-D scientific arrays with Zarr-Python 3, including codecs, sharding, S3\u002FGCS storage, and NumPy\u002FDask\u002FXarray integration. Use for array layout, bounded I\u002FO, format migration, or scientific metadata preservation.","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fzarr-python\u002FSKILL.md",[],[],{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":170,"licenseFileUrl":171,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":19},"01M76ZJQZ15Q1HKC5V85NHE325","yeet","Publish local changes to GitHub by confirming scope, committing intentionally, pushing the branch, and opening a draft PR through the GitHub app from this plugin, with `gh` used only as a fallback where connector coverage is insufficient.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fyeet\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fyeet\u002FSKILL.md",[],[],{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":170,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":181,"publishedAt":19},"01M76ZJ8ASZ4QYQ70Y6SBA4Z4S","xarray","N-dimensional labeled arrays and datasets in Python. Built on top of NumPy and Dask. It introduces labels in the form of dimensions, coordinates, and attributes on top of raw NumPy-like arrays, making data analysis in physical sciences more intuitive and less error-prone. Use for working with multi-dimensional scientific data, NetCDF\u002FGRIB\u002FZarr files, climate\u002Fweather\u002Foceanographic datasets, remote sensing, geospatial imaging, large out-of-memory datasets with Dask, and labeled array operations.","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fxarray\u002FSKILL.md",[],[],{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":19},"01M76ZHFBXD6VXPQ02VCEG202B","writing-mstest-tests","Use when asked to fix, rewrite, update, improve, modernize, show corrected code for, or explain existing MSTest tests or MSTest-specific configuration. Use for \"review\" when corrected code or edits are wanted, even for one pasted assertion or passing tests with bad failure output. Covers expected\u002Factual labels; generic Boolean, collection, string, numeric, null, identity, exception, hard-cast, and object[] checks; TestContext\u002Flifecycle; timeout\u002Fcancellation; OS\u002FCI conditions, retry, cleanup, parallelization, MSTest.Sdk project setup, and MSTESTxxxx. Honor the installed MSTest version. DO NOT USE to design new test cases (code-testing), perform report-only audits, create project files rather than explain MSTest setup, run tests, migrate frameworks, or handle non-MSTest\u002Fnon-.NET code.","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwriting-mstest-tests\u002FSKILL.md",[],[],{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":170,"licenseFileUrl":193,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":19},"01M76ZCC1SC68J42QK4MDC8RCG","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[],[],{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":170,"licenseFileUrl":201,"sourceHtmlUrl":202,"categories":203,"keywords":204,"publishedAt":19},"01M76ZBW3S6B0KV2WFJMKYK39V","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fstanfish06\u002Fskillquarium\u002Fblob\u002Fmaster\u002Fskills\u002Fweb-artifacts-builder\u002FSKILL.md",[],[]]