npx skills add smithery/plurigrid --skill julia-scientific
plurigrid/asi
julia-scientific
Julia package equivalents for 137 K-Dense-AI scientific skills. Maps Python bioinformatics, chemistry, ML, quantum, and data science packages to native Julia ecosystem.
Installation
npx skills add plurigrid/asi --skill julia-scientific
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Guidance for distinctive, intentional visual design when building new UI or reshaping an existi…
866.4K installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsDebug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe …
568.9K installsAlso in this package
Other skills from plurigrid/asi · top by installs.
npx skills add plurigrid/asi
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Skill metadata
Parsed from SKILL.md frontmatter.
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md13,379 B -
docs
SUMMARY.md192 B
History
- First seen on skills.sh
- First recorded snapshot · 1 installs
SKILL.md
Julia Scientific Package Mapping Skill
"Two languages diverged in a scientific wood, and Julia—Julia took the one with multiple dispatch."
bmorphism Contributions
"We are building cognitive infrastructure for the next trillion minds"
— Plurigrid: the story thus far
"complexity of information / the burden of integrating it in real time makes technology an indispensable part of our cognitive infrastructure"
— @bmorphism
Key References from Plurigrid:
- Towards Foundations of Categorical Cybernetics
- Organizing Physics with Open Energy-Driven Systems
- Compositional game theory
Overview
This skill provides comprehensive mappings from 137 K-Dense-AI Python scientific skills to their Julia package equivalents. Coverage is ~85% native Julia, with the remainder accessible via PyCall.jl interop.
Quick Reference
| Category | Skills | Coverage | Key Packages |
|---|---|---|---|
| Bioinformatics | 25 | 92% | BioJulia ecosystem |
| Chemistry | 17 | 85% | JuliaMolSim, Chemellia |
| Quantum | 4 | 100% | Yao.jl, QuantumToolbox.jl |
| ML/AI | 10 | 95% | Flux.jl, MLJ.jl, Lux.jl |
| Data/Stats | 11 | 100% | DataFrames.jl, Turing.jl |
| Visualization | 6 | 100% | Makie.jl, Plots.jl |
| Physics/Astro | 6 | 90% | JuliaAstro ecosystem |
| Clinical/DB | 13 | 60% | JuliaHealth, HTTP.jl |
| Symbolic/Geo | 3 | 100% | Symbolics.jl, GeoDataFrames.jl |
| Lab Automation | 8 | 50% | DrWatson.jl, Dagger.jl |
| Documents | 5 | 80% | PDFIO.jl, Weave.jl |
GF(3) Conservation
Julia scientific triads maintain balance:
bioinformatics (-1) ⊗ visualization (0) ⊗ quantum (+1) = 0 ✓
chemistry (-1) ⊗ data-science (0) ⊗ ml-ai (+1) = 0 ✓
physics (-1) ⊗ symbolic (0) ⊗ clinical (+1) = 0 ✓
Core Mappings
Bioinformatics (BioJulia)
| Python | Julia | Performance |
|---|---|---|
| biopython | BioSequences.jl + FASTX.jl | 2-5x faster |
| scanpy | SingleCellProjections.jl | 10x faster |
| anndata | Muon.jl | Native H5AD |
| cobrapy | COBREXA.jl | GPU support |
| pysam | XAM.jl | 3x faster BAM |
Chemistry (JuliaMolSim + Chemellia)
| Python | Julia | Notes |
|---|---|---|
| rdkit | MolecularGraph.jl | Pure Julia SMILES |
| deepchem | AtomicGraphNets.jl | GNN molecular ML |
| pymatgen | DFTK.jl + AtomsBase.jl | DFT calculations |
| pyopenms | mzML.jl | Mass spec data |
Quantum (QuantumBFS)
| Python | Julia | Advantage |
|---|---|---|
| qiskit | Yao.jl | Native differentiable |
| cirq | Yao.jl + QuantumClifford.jl | Faster simulation |
| pennylane | JuliVQC.jl | 2-5x faster VQC |
| qutip | QuantumToolbox.jl | GPU + autodiff |
ML/AI (FluxML + MLJ)
| Python | Julia | Notes |
|---|---|---|
| pytorch-lightning | FluxTraining.jl + Lux.jl | Explicit params |
| transformers | Transformers.jl | Pretrained loading |
| stable-baselines3 | ReinforcementLearning.jl | Modular RL |
| shap | ShapML.jl + ExplainableAI.jl | Native Shapley |
| torch_geometric | GraphNeuralNetworks.jl | PyG-inspired |
Data Science (JuliaData + JuliaStats)
| Python | Julia | Performance |
|---|---|---|
| polars | DataFrames.jl | Comparable |
| dask | Dagger.jl | DAG scheduler |
| pymc | Turing.jl | Often faster |
| statsmodels | GLM.jl + MixedModels.jl | Native |
| networkx | Graphs.jl | Much faster |
Visualization (Makie + Plots)
| Python | Julia | Notes |
|---|---|---|
| matplotlib | Plots.jl + CairoMakie.jl | Multi-backend |
| plotly | PlotlyJS.jl + WGLMakie.jl | Interactive |
| seaborn | AlgebraOfGraphics.jl | Grammar-of-graphics |
Document Processing (Papers/OCR)
| Python | Julia | Use |
|---|---|---|
| pdfminer | PDFIO.jl | Native PDF parsing |
| pytesseract | Tesseract.jl | OCR wrapper |
| markdown | Weave.jl + Literate.jl | Literate programming |
| latex | TikzPictures.jl + PGFPlotsX.jl | Publication quality |
Mathpix Integration
using HTTP, JSON3
function mathpix_ocr(image_path; app_id, app_key)
headers = ["app_id" => app_id, "app_key" => app_key,
"Content-type" => "application/json"]
body = JSON3.write(Dict(
"src" => "data:image/png;base64," * base64encode(read(image_path)),
"formats" => ["latex_styled", "text"]
))
resp = HTTP.post("https://api.mathpix.com/v3/text", headers, body)
JSON3.read(resp.body)
end
Key Julia Organizations
| Org | Focus | Packages |
|---|---|---|
| BioJulia | Bioinformatics | 90+ packages |
| JuliaMolSim | Molecular simulation | Molly, DFTK, AtomsBase |
| Chemellia | Chemistry ML | AtomicGraphNets, ChemistryFeaturization |
| QuantumBFS | Quantum computing | Yao, YaoBlocks |
| FluxML | Deep learning | Flux, Zygote, FluxTraining |
| JuliaStats | Statistics | GLM, Distributions, Turing |
| JuliaAstro | Astronomy | AstroLib, FITSIO, SkyCoords |
| JuliaHealth | Medical/clinical | BioMedQuery, OMOP |
| JuliaGeo | Geospatial | GeoDataFrames, ArchGDAL |
| SciML | Scientific ML | DifferentialEquations, ModelingToolkit |
Usage Examples
Single-Cell Analysis (scanpy → SingleCellProjections.jl)
using SingleCellProjections, Muon
# Load AnnData
adata = readh5ad("pbmc3k.h5ad")
# Process (10x faster than scanpy)
adata = normalize_total(adata)
adata = log1p(adata)
adata = highly_variable_genes(adata)
adata = pca(adata)
adata = umap(adata)
Quantum Circuit (qiskit → Yao.jl)
using Yao
# Bell state
circuit = chain(2, put(1=>H), control(1, 2=>X))
# Measure
result = measure(zero_state(2) |> circuit, nshots=1000)
# Differentiable!
grad = expect'(Z ⊗ Z, zero_state(2) => circuit)
Molecular GNN (deepchem → Chemellia)
using AtomicGraphNets, ChemistryFeaturization
# Featurize molecules
mol = smilestomol("CCO") # ethanol
fg = featurize(mol, GraphNodeFeaturization())
# Train GNN
model = CGCGNModel(fg, target_prop=:logP)
train!(model, molecules, targets)
Bayesian Inference (pymc → Turing.jl)
using Turing
@model function linear_regression(x, y)
α ~ Normal(0, 10)
β ~ Normal(0, 10)
σ ~ truncated(Normal(0, 1), 0, Inf)
for i in eachindex(y)
y[i] ~ Normal(α + β * x[i], σ)
end
end
chain = sample(linear_regression(x, y), NUTS(), 1000)
Full Mapping Document
See: [JULIAPACKAGEMAPPING.md](./JULIAPACKAGEMAPPING.md)
The Homoiconic Bridge: Scheme ↔ SMILES ↔ ACSet
Deep structural insight: S-expressions (Scheme), SMILES strings (chemistry), and ACSets share a common foundation — trees/graphs with recursive self-reference.
Scheme S-expr: (+ (* 2 3) (- 4 1)) → AST tree
SMILES: CC(=O)Oc1ccccc1C(=O)O → Molecular graph
ACSet: Graph{V,E,src,tgt} → Typed graph functor
All three: linearized representations of graph structure
What Comes After SMILES: Learnable Chemical Structure
The evolution of molecular representation — 7 parallel streams colored via Gay.jl (seed=137):
| Gen | Color | Representation | Julia Package | Properties |
|---|---|---|---|---|
| 1 | #43D9E1 |
SMILES string | MolecularGraph.jl | Canonical, not learnable |
| 2 | #18CDEF |
SELFIES | PyCall+selfies | Robust, generative-friendly |
| 3 | #18D6D0 |
Fingerprints | MolecularGraph.jl | Fixed-dim vectors |
| 4 | #C70D22 |
Graph features | ChemistryFeaturization.jl | Handcrafted node/edge |
| 5 | #E44ABB |
GNN (MPNN/GAT/SchNet) | GraphNeuralNetworks.jl | Fully learnable |
| 6 | #58A021 |
3D coordinates | Chemfiles.jl, DFTK.jl | Geometry-aware |
| 7 | #BDB223 |
Foundation models | Coming | Pre-trained, transferable |
Parallel Evolution Insight: Each generation evolves along its own deterministic color stream. Workers 1-3 explore the space in parallel (Strong Parallelism Invariance: same seeds = same colors).
Stream 1 (SMILES): #43D9E1 → #B78225 → #D54E82 (canonical → extended → stereochem)
Stream 2 (SELFIES): #18CDEF → #6CBA3C → #EC9426 (robust → constrained → grammar)
Stream 5 (GNN): #E44ABB → #50CD2E → #942B89 (MPNN → GAT → SchNet/DimeNet)
Stream 7 (Foundation): #BDB223 → #88ECA7 → #5CDA99 (pretrain → finetune → adapt)
# The homoiconic bridge in code
using LispSyntax, MolecularGraph, Catlab, AtomicGraphNets
# Scheme code → AST → ACSet
sexp = @lisp (defun f (x) (+ x 1))
ast_acset = ast_to_acset(sexp)
# SMILES → Molecular graph → ACSet → GNN embedding
mol = smilestomol("c1ccccc1") # benzene
mol_acset = mol_to_acset(mol)
embedding = gnn_embed(mol_acset) # 64-dim learned vector
# Both navigate identically via Specter patterns!
branches_in_ast = select([ALL, pred(is_call_node)], ast_acset)
rings_in_mol = select([ALL, pred(is_ring_atom)], mol_acset)
# The deep insight: code and molecules are both graphs
# → same tools (ACSets, GNNs) work for both
Coloring Parallel Evolution with Gay.jl
using Gay
# 7 generations evolving in parallel streams (seed=137)
struct MolRepGeneration
name::String
color::String
learnable::Bool
evolution::Vector{String} # Color stream for sub-generations
end
function color_mol_evolution(seed=137)
streams = Gay.interleave(seed, n_streams=7, count=3)
generations = [
MolRepGeneration("SMILES", streams[1][1], false, streams[1]),
MolRepGeneration("SELFIES", streams[2][1], false, streams[2]),
MolRepGeneration("Fingerprints", streams[3][1], false, streams[3]),
MolRepGeneration("GraphFeatures", streams[4][1], false, streams[4]),
MolRepGeneration("GNN", streams[5][1], true, streams[5]), # Learnable!
MolRepGeneration("3DCoords", streams[6][1], true, streams[6]),
MolRepGeneration("Foundation", streams[7][1], true, streams[7])
]
# GF(3) balance: non-learnable (-1) + transition (0) + learnable (+1) = 0
return generations
end
# Visualize evolution paths
for gen in color_mol_evolution()
trit = gen.learnable ? "+1" : "-1"
println("$(gen.name) [$(trit)]: $(join(gen.evolution, " → "))")
end
Key Julia Packages for Learnable Chemistry
| Package | Role | From Python | GNN Arch |
|---|---|---|---|
| MolecularGraph.jl | SMILES parsing, fingerprints | rdkit | — |
| ChemistryFeaturization.jl | Node/edge featurization | deepchem | — |
| GraphNeuralNetworks.jl | MPNN, GCN, GAT, GraphSAGE | torch_geometric, dgl | ✓ |
| GeometricFlux.jl | Geometric deep learning | PyG | ✓ |
| Flux.jl | Training infrastructure | pytorch | — |
| Chemfiles.jl | 3D structure I/O | MDAnalysis | — |
| DFTK.jl | Electronic structure (DFT) | pymatgen | — |
| NNlib.jl | Neural network primitives | torch.nn | — |
GNN Architecture Evolution:
MPNN (2017) → GCN → GAT (attention) → SchNet (3D) → DimeNet → Equivariant GNNs
↓ ↓ ↓
Message Graph Attention Geometry-aware
Passing (multi-head) (E(3) invariant)
Related Skills
- acsets - Algebraic databases with Gay.jl coloring
- gay-julia / julia-gay - Deterministic color generation
- specter-acset - Bidirectional navigation
- structured-decomp - Sheaf-based decompositions
- condensed-analytic-stacks - Scholze-Clausen mathematics
- lispsyntax-acset - S-expression ↔ ACSet bridge
Commands
# Search Julia equivalents
julia -e 'using Pkg; Pkg.status()' | grep -i biojulia
# Install BioJulia stack
julia -e 'using Pkg; Pkg.add(["BioSequences", "FASTX", "XAM", "BioStructures"])'
# Install ML stack
julia -e 'using Pkg; Pkg.add(["Flux", "MLJ", "GraphNeuralNetworks"])'
# Install quantum stack
julia -e 'using Pkg; Pkg.add(["Yao", "QuantumToolbox"])'
GF(3) Skill Triads
julia-scientific (0) ⊗ gay-mcp (+1) ⊗ acsets (-1) = 0 ✓
julia-scientific (0) ⊗ specter-acset (+1) ⊗ structured-decomp (-1) = 0 ✓
Generated from exhaustive parallel search of Julia package ecosystem (2025-12-30)
SDF Interleaving
This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):
Primary Chapter: 3. Variations on an Arithmetic Theme
Concepts: generic arithmetic, coercion, symbolic, numeric
GF(3) Balanced Triad
julia-scientific (+) + SDF.Ch3 (○) + [balancer] (−) = 0
Skill Trit: 1 (PLUS - generation)
Secondary Chapters
- Ch9: Generic Procedures
- Ch8: Degeneracy
- Ch7: Propagators
- Ch4: Pattern Matching
- Ch2: Domain-Specific Languages
- Ch10: Adventure Game Example
Connection Pattern
Generic arithmetic crosses type boundaries. This skill handles heterogeneous data.
REPL atlas
Part of: repl-commons. Family canonical: sicm.