Bio Metabolomics Normalization Qc
FreedomIntelligence/OpenClaw-Medical-Skills
Quality control and normalization for metabolomics data. An agent skill from FreedomIntelligence/OpenClaw-Medical-Skills.
Programmatic untargeted LC-MS feature extraction in R with the modern xcms 4.x MsExperiment/XcmsExperiment API, taking raw mzML to a feature table via CentWave peak detection, retention-time…
$ npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GPTomics/bioSkills bio-metabolomics-xcms-preprocessing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/metabolomics/xcms-preprocessing .claude/skills/bio-metabolomics-xcms-preprocessing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bio-metabolomics-xcms-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessing into .claude/skills/bio-metabolomics-xcms-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-metabolomics-xcms-preprocessing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GPTomics/bioSkills bio-metabolomics-xcms-preprocessing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/metabolomics/xcms-preprocessing .agents/skills/bio-metabolomics-xcms-preprocessing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bio-metabolomics-xcms-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessing into .agents/skills/bio-metabolomics-xcms-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-metabolomics-xcms-preprocessing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GPTomics/bioSkills bio-metabolomics-xcms-preprocessing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/metabolomics/xcms-preprocessing .cursor/skills/bio-metabolomics-xcms-preprocessing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bio-metabolomics-xcms-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessing into .cursor/skills/bio-metabolomics-xcms-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-metabolomics-xcms-preprocessing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/GPTomics/bioSkills.git --path metabolomics/xcms-preprocessing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GPTomics/bioSkills bio-metabolomics-xcms-preprocessing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/metabolomics/xcms-preprocessing .gemini/skills/bio-metabolomics-xcms-preprocessing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bio-metabolomics-xcms-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessing into .gemini/skills/bio-metabolomics-xcms-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-metabolomics-xcms-preprocessing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install GPTomics/bioSkills bio-metabolomics-xcms-preprocessingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/metabolomics/xcms-preprocessing .github/skills/bio-metabolomics-xcms-preprocessing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bio-metabolomics-xcms-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessing into .github/skills/bio-metabolomics-xcms-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-metabolomics-xcms-preprocessing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GPTomics/bioSkills bio-metabolomics-xcms-preprocessing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/metabolomics/xcms-preprocessing .opencode/skills/bio-metabolomics-xcms-preprocessing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bio-metabolomics-xcms-preprocessing" agent skill from https://github.com/GPTomics/bioSkills/tree/main/metabolomics/xcms-preprocessing into .opencode/skills/bio-metabolomics-xcms-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-metabolomics-xcms-preprocessing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bio-metabolomics-xcms-preprocessingProgrammatic untargeted LC-MS feature extraction in R with the modern xcms 4.x MsExperiment/XcmsExperiment API, taking raw mzML to a feature table via CentWave peak detection, retention-time…
Bio Metabolomics Xcms Preprocessing is an agent skill from GPTomics/bioSkills. Programmatic untargeted LC-MS feature extraction in R with the modern xcms 4.x MsExperiment/XcmsExperiment API, taking raw mzML to a feature table via CentWave peak detection, retention-time alignment, peak-density correspondence, gap-filling, CAMERA redundancy collapse, and built-in QC feature filtering. Use when converting centroided LC-MS runs into a features-by-samples matrix and deciding centWave/grouping/alignment parameters. For drift correction and QC/CV filtering execution see…
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `usage-guide.md`).
It sits in Data & Analytics, covering Statistics and Database schema design. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.
Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (R), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bio Metabolomics Xcms Preprocessing loads about 4.3k tokens when it runs. Until then it costs about 197 tokens; SKILL.md has 1,715 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 1,715 words, ~4,256 tokens.
.claude/skills/bio-metabolomics-xcms-preprocessing/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Reference examples tested with: xcms 4.x+ (MsExperiment/XcmsExperiment containers), Spectra 1.12+, CAMERA 1.58+
Before using code patterns, verify installed versions match. If versions differ:
packageVersion('xcms') then ?CentWaveParam to verify parameter names and defaultsIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
A feature table is only meaningful alongside its full processing specification: which xcms version, every *Param value, and the fill/filter ordering. The table is a parameterized hypothesis about which molecules exist, not the data.
"Turn my raw LC-MS files into a feature table" -> Detect chromatographic peaks per file, align retention times across runs, group corresponding peaks into features, fill gaps, then collapse adduct/isotope redundancy.
readMsExperiment() -> findChromPeaks() -> adjustRtime() -> groupChromPeaks() -> fillChromPeaks() (xcms)Every cell in the table is the output of a detection + grouping + filling model with chosen parameters. Two analysts with different centWave/grouping settings produce materially different tables from identical raw files, so "not detected" is a statement about the parameters, not the sample. Three consequences reorganize the whole workflow: (1) preprocessing parameters silently set the detection floor - a compound absent from results may be present in the raw data but excluded by noise/prefilter/peakwidth/snthresh; (2) fillChromPeaks integrates whatever signal sits in a feature window even when no peak exists, fabricating a positive number where the honest answer is "below detection"; (3) one compound yields 5-15 features (adducts, isotopologues, in-source fragments, multimers), so a 10,000-feature table is plausibly ~1,000 compounds (Mahieu 2017). Report parameters as part of the result, inspect EICs and alignment of every hit, and collapse redundancy before annotation.
| Path | Containers | Verbs | Status |
|---|---|---|---|
| Modern (xcms 4.x) | MsExperiment (raw, Spectra backend) / XcmsExperiment (result) | findChromPeaks / adjustRtime / groupChromPeaks / fillChromPeaks driven by *Param objects | Preferred |
| Legacy (xcms <3) | xcmsSet / xcmsRaw | findPeaks / group / retcor / fillPeaks; readMSData(mode='onDisk') | Deprecated - do not use in new code |
Parameters are objects, not loose args: findChromPeaks(data, param = CentWaveParam(...)), never findChromPeaks(data, ppm=..., peakwidth=...).
| Situation | Do | Why |
|---|---|---|
| High-res centroid (Orbitrap, Q-Exactive, qTOF) | CentWaveParam | Wavelet on real mass traces, no fixed binning |
| Low-res / quadrupole / profile-only | MatchedFilterParam | Model-peak on binned EICs tolerates poor resolution |
| Profile data of any kind | Centroid first (msconvert vendor peakPicking, or Spectra::pickPeaks) | centWave requires centroids; profile input yields garbage mass traces |
| Many shared, well-behaved peaks across samples | PeakGroupsParam (after an initial groupChromPeaks) | Loess on universal anchor peaks; gentle and fast |
| Few shared peaks / sparse / strong nonlinear drift | ObiwarpParam | Full-profile warping needs no prior peaks |
| Cohort with large case/control compositional differences | ObiwarpParam, or PeakGroupsParam with subset = QC indices | Few universal anchors mis-register the condition-specific metabolome |
| New instrument, no parameter priors | AutoTuner / IPO for a starting neighborhood, then verify against EIC FWHM | Optimizers maximize a surrogate, not biology (McLean 2020) |
| GC-EI data | Deconvolution tools, not xcms peak picking -> metabolomics/msdial-preprocessing | Co-elution + universal fragmentation require component separation first |
Goal: Detect chromatographic peaks in each centroided file.
Approach: Build a CentWaveParam with ppm and peakwidth set from the actual instrument and chromatography (see Quantitative Thresholds), then call findChromPeaks.
library(xcms)
# spectraFiles: centroided mzML paths; pd: data.frame with one row per file
raw <- readMsExperiment(spectraFiles = mzml_files, sampleData = pd)
# ppm is across-scan centroid scatter (~2-3x measured error), NOT the spec mass accuracy.
# peakwidth is c(min, max) in SECONDS, measured from EIC base-widths of known peaks.
cwp <- CentWaveParam(ppm = 10, peakwidth = c(2, 20), snthresh = 10,
prefilter = c(3, 1000), noise = 1000, mzdiff = -0.001,
integrate = 1L, mzCenterFun = 'wMean')
xdata <- findChromPeaks(raw, param = cwp)
nrow(chromPeaks(xdata))Goal: Remove cross-run RT drift so the same compound lands at the same RT in every sample.
Approach: Choose obiwarp (no prior peaks) or peakGroups (anchor-based); align to a pooled QC, never to file #1. Regroup afterward because RTs changed.
# obiwarp: full-profile warping. binSize here is the m/z profile bin (default 1),
# distinct from PeakDensityParam$binSize and MatchedFilterParam$binSize.
xdata <- adjustRtime(xdata, param = ObiwarpParam(binSize = 0.6))
# peakGroups alternative needs an initial correspondence and good universal anchors:
# xdata <- groupChromPeaks(xdata, param = pdp_anchor)
# xdata <- adjustRtime(xdata, param = PeakGroupsParam(minFraction = 0.85, span = 0.4,
# subset = which(sampleData(xdata)$sample_type == 'QC'), subsetAdjust = 'average'))
plotAdjustedRtime(xdata)Goal: Match peaks across samples into consensus features.
Approach: Peak-density grouping in m/z slices; bw is the dominant knob and must reflect residual post-alignment RT scatter, not raw peak width.
pdp <- PeakDensityParam(sampleGroups = sampleData(xdata)$sample_group,
bw = 5, minFraction = 0.5, minSamples = 1, binSize = 0.025)
xdata <- groupChromPeaks(xdata, param = pdp)
nrow(featureDefinitions(xdata))Goal: Integrate signal for features missing a detected peak in some samples.
Approach: fillChromPeaks with ChromPeakAreaParam; treat filled values as imputations, not measurements.
xdata <- fillChromPeaks(xdata, param = ChromPeakAreaParam())
filled <- chromPeakData(xdata)$is_filled # logical flag; lives in chromPeakData, not chromPeaks
feat <- featureValues(xdata, value = 'into') # features x samples matrix
defs <- featureDefinitions(xdata) # mzmed / rtmed / npeaks per featureGoal: Group the same compound's adducts/isotopes/fragments back toward compound spectra before annotation.
Approach: CAMERA in order groupFWHM -> groupCorr -> findIsotopes -> findAdducts (isotopes before adducts). Correlation grouping needs enough samples to be meaningful and can over- or under-merge - verify against the table size.
library(CAMERA)
xsa <- xsAnnotate(as(xdata, 'xcmsSet'))
xsa <- groupFWHM(xsa, perfwhm = 0.6)
xsa <- groupCorr(xsa)
xsa <- findIsotopes(xsa, mzabs = 0.01, ppm = 10)
xsa <- findAdducts(xsa, polarity = 'positive')
peaklist <- getPeaklist(xsa)Goal: Drop features that fail conventional QC, operationalizing Broadhurst 2018 inside the xcms object.
Approach: filterFeatures with RsdFilter (CV in QCs), DratioFilter (sd_QC/sd_sample), PercentMissingFilter, BlankFlag. Drift correction and the full QC pipeline live in metabolomics/normalization-qc.
qc <- sampleData(xdata)$sample_group == 'QC'
study <- sampleData(xdata)$sample_group %in% c('Control', 'Treatment')
xdata <- filterFeatures(xdata, filter = RsdFilter(threshold = 0.3, qcIndex = qc))
xdata <- filterFeatures(xdata, filter = DratioFilter(threshold = 0.5, qcIndex = qc, studyIndex = study))ppm = 3 because the Orbitrap datasheet says 3 ppm.ppm is across-scan centroid scatter, which exceeds time-averaged mass accuracy; too tight fragments one ion into short ROIs that each fail prefilter.ppm to ~2-3x the empirical per-scan centroid scatter, not the datasheet number.c(20, 50) onto modern UHPLC.peakwidth ~ c(0.5x min, 2x max).snthresh while prefilter[I] already kills the trace.I=100 may both under-filter noise and kill trace metabolites.snthresh.prefilter[I] first for trace work; the lowest gate dominates.bw = 30 onto UHPLC, or choosing bw independently of alignment quality.bw=30 merges chromatographically resolved co-eluting compounds; with poor alignment a tight bw instead splits one compound across features.bw from residual post-alignment RT scatter (often 2-6 s on UHPLC); inspect EICs of merged/split features.is_filled; report per-feature filled fraction; for inference use unfilled values with MNAR-aware imputation (QRILC/GSimp), reserving the fill for dense exploratory PCA.| Threshold | Source | Rationale |
|---|---|---|
ppm Orbitrap/Q-Exactive 5-10, qTOF 15-30 | Tautenhahn 2008; instrument physics | ~2-3x measured across-scan centroid scatter, not spec accuracy |
peakwidth UHPLC c(2,20), HPLC c(10,40), HILIC c(10,60) (s) | Smith 2006; chromatography | Must bracket measured EIC base-widths; default c(20,50) wrong for UHPLC |
| Points across peak >= ~6-7 | Zeng 2023 JASMS 34:1136 | Below this, peak-area precision degrades non-linearly; an acquisition limit no parameter recovers |
prefilter = c(3, I) | Tautenhahn 2008 | Min 3 consecutive scans above intensity I; I set per instrument baseline |
Grouping bw 2-6 s (UHPLC) | xcms vignette | Default 30 s merges resolved co-eluting compounds on fast chromatography |
| QC CV (RSD) < 0.20-0.30 | Broadhurst 2018 Metabolomics 14:72 | Features with high QC variance are unreliable |
| D-ratio < 0.5 | Broadhurst 2018 | Technical variance must sit well below biological |
| Blank flag k ~ 3-5 | Broadhurst 2018 | Test-sample mean must exceed k x blank mean |
| ~1 compound per 5-15 features | Mahieu 2017 Anal Chem 89:10397 | ~90% of detected features are adduct/isotope/fragment degeneracy |
| Error / symptom | Cause | Solution |
|---|---|---|
could not find function "readMSData" or legacy verbs missing | Using deprecated xcmsSet/readMSData API on xcms 4.x | Use readMsExperiment() + the findChromPeaks/groupChromPeaks verbs |
unused argument (ppm = ...) in findChromPeaks | Passing loose args instead of a *Param object | Wrap in CentWaveParam(...) and pass via param = |
| Features defined on uncorrected RT | Skipped the regroup after adjustRtime | Call groupChromPeaks again after alignment |
| Garbage mass traces, almost no peaks | Profile (non-centroid) data fed to centWave | Centroid first (msconvert vendor peakPicking or Spectra::pickPeaks) |
sampleGroups length/semantics error | Vector misaligned with sample order or missing | Pass sampleData(xdata)$group matching file order; it is mandatory |
Three different binSize defaults confused | obiwarp (m/z, default 1) vs PeakDensity (m/z, 0.25) vs matchedFilter (m/z, 0.1) | Set each in its own *Param; they are not the same knob |
as(xdata, 'xcmsSet') fails or warns | CAMERA expects the legacy container | Coerce the XcmsExperiment to xcmsSet only for CAMERA; keep modern objects upstream |
© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in metabolomics/xcms-preprocessing of GPTomics/bioSkills.
Open the folder on GitHubat commit d91ed3d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.
Bio Metabolomics Xcms Preprocessing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bio Metabolomics Xcms Preprocessing this skillGPTomics/bioSkills | 1.2k | 1 repos | ~4.3k | Automated safety check: Pass | MIT | |
| Bio Metabolomics Normalization QcFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | 1 repos | ~2.3k | Automated safety check: Pass | None | |
| Databrain Intelligenceinfometa/workbuddyskills | 346 | — | ~8k | Automated safety check: Pass | None | |
| Tooluniverse Metabolomics Analysiswu-yc/LabClaw | 1.1k | 2 repos | ~5.9k | Automated safety check: Pass | None | |
| Sandbox Benchvercel/next.js | 143k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Statistical Analysisspacering-net/codeg | 3.9k | 3 repos | ~5k | Automated safety check: Pass | MIT |
FreedomIntelligence/OpenClaw-Medical-Skills
Quality control and normalization for metabolomics data. An agent skill from FreedomIntelligence/OpenClaw-Medical-Skills.
infometa/workbuddyskills
DataBrain intelligence data query assistant. An agent skill from infometa/workbuddyskills.
wu-yc/LabClaw
Analyze metabolomics data including metabolite identification, quantification, pathway analysis, and metabolic flux.
vercel/next.js
Benchmark React or Next.js changes on Vercel Sandbox VMs with paired A/B statistics: react PR/commit vs base, or Next.js PR/commit vs base, measured end-to-end through the bench/render-pipeline app…
spacering-net/codeg
Guided statistical analysis for research data - test selection, assumption checking, effect sizes, power analysis, Bayesian alternatives, and APA-formatted reporting.
zLanqing/codex-claude-academic-skills
Statistical models library for Python. An agent skill from zLanqing/codex-claude-academic-skills.
GPTomics/bioSkills
Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.
GPTomics/bioSkills
Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.
GPTomics/bioSkills
Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.
GPTomics/bioSkills
Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.
GPTomics/bioSkills
Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.
GPTomics/bioSkills
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.
Categories
Programmatic untargeted LC-MS feature extraction in R with the modern xcms 4.x MsExperiment/XcmsExperiment API, taking raw mzML to a feature table via CentWave peak detection, retention-time…. Bio Metabolomics Xcms Preprocessing is an agent skill from GPTomics/bioSkills.x MsExperiment/XcmsExperiment API, taking raw mzML to a feature table via CentWave peak detection, retention-time alignment, peak-density correspondence, gap-filling, CAMERA redundancy collapse, and built-in QC feature filtering.
Bio Metabolomics Xcms Preprocessing fits situations like: converting centroided LC-MS runs into a features-by-samples matrix and deciding centWave/grouping/alignment parameters; tasks that involve Statistics; tasks that involve Database schema design.
Run `npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a claude-code`. Or copy the skill folder (metabolomics/xcms-preprocessing in GPTomics/bioSkills) into .claude/skills/bio-metabolomics-xcms-preprocessing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a codex`. Or copy the skill folder (metabolomics/xcms-preprocessing in GPTomics/bioSkills) into .agents/skills/bio-metabolomics-xcms-preprocessing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-metabolomics-xcms-preprocessing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-metabolomics-xcms-preprocessing, .gemini/skills/bio-metabolomics-xcms-preprocessing, .github/skills/bio-metabolomics-xcms-preprocessing and .opencode/skills/bio-metabolomics-xcms-preprocessing in your project.
Going by SKILL.md and its folder, Bio Metabolomics Xcms Preprocessing needs R for the scripts in its folder.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Bio Metabolomics Xcms Preprocessing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Bio Metabolomics Xcms Preprocessing: Bio Metabolomics Normalization Qc (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars), Databrain Intelligence (infometa/workbuddyskills, 346 stars), Tooluniverse Metabolomics Analysis (wu-yc/LabClaw, 1.1k stars) and Sandbox Bench (vercel/next.js, 143k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,217 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.
Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.