npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

m3triq

v0.2.13

Published

M3TRIQ — protein-ligand analysis from the terminal

Readme

m3t

The M3TRIQ CLI — protein-ligand analysis from the terminal.

Query self-hosted databases (ChEMBL, FooDB, ZINC), predict ADMET properties, run molecular docking, and submit molecular dynamics simulations — all from the command line.

Install

npm install -g m3triq

Setup

m3t config --key <your-api-key>
m3t projects                  # list your projects
m3t use <project-id>          # set active project

Databases

ChEMBL (2.4M compounds, self-hosted)

m3t chembl search aspirin
m3t chembl info CHEMBL25
m3t chembl targets PDE3B
m3t chembl binders EGFR --max-value 1000 --save "EGFR Binders"
m3t chembl activities CHEMBL25 --type IC50
m3t chembl similar "CC(=O)Oc1ccccc1C(=O)O" --threshold 0.7
m3t chembl sql "SELECT chembl_id, pref_name FROM molecule_dictionary WHERE pref_name ILIKE '%caffeine%'"

FooDB (food compounds, self-hosted)

m3t foodb search tomato --limit 20
m3t foodb info caffeine
m3t foodb export banana --name "Banana Compounds"
m3t foodb random --count 50 --group Fruits

ZINC (14M purchasable compounds, self-hosted)

m3t zinc search --subset drug-like --mw-min 200 --mw-max 500
m3t zinc info ZINC000000000001
m3t zinc random --count 20 --subset lead-like

ADMET Prediction (41 properties)

Self-hosted ADMET-AI model. Predicts absorption, distribution, metabolism, excretion, and toxicity.

m3t admet predict "CC(=O)Oc1ccccc1C(=O)O"
m3t admet batch "CCO" "CC(=O)Oc1ccccc1C(=O)O" "CN1C=NC2=C1C(=O)N(C(=O)N2C)C"
m3t admet compare "CCO" "CCCO" --name1 Ethanol --name2 Propanol

Molecular Docking

# Single compound
m3t dock gnina "CCO" 5NJ8 --cx 10 --cy 20 --cz 30
m3t dock vina "CCO" 5NJ8 --cx 10 --cy 20 --cz 30
m3t dock diffdock "CCO" 5NJ8

# Batch (CSV with smiles column)
m3t batch gnina compounds.csv 5NJ8 --cx 10 --cy 20 --cz 30

Molecular Dynamics

GPU-accelerated simulations to validate docking poses.

m3t md run --protein 5NJ8 --ligand-smiles "CCO" --mode quick
m3t md run --diffdock-job <job-id> --mode standard
m3t md results <job-id>

Structure Prediction

m3t predict esmfold MKFLILLFNILCL...        # Fast (~10s, max 1024aa)
m3t predict alphafold2 MKFLILLFNILCL...     # Accurate (~15-20min, max 2048aa)

# ESMFold2-Fast — monomer or multi-chain complex (self-hosted A100, max 2048aa total).
# Beats AlphaFold3 on antibody-antigen DockQ from single sequence; returns pLDDT/pTM/ipTM.
m3t predict esmfold2 --sequence MKFLILLFNILCL...              # monomer
m3t predict esmfold2 --chain A:EVQL... --chain B:DIQM...      # complex (antibody-antigen, PPI)
m3t predict esmfold2-batch inputs.json                        # fold N complexes (results in input order)

# Boltz-2 — biomolecular complex (protein + DNA/RNA + ligand) with binding affinity
m3t predict boltz2 --protein MKFL... --ligand "CC(=O)O" --rna GGUC...

Protein Embeddings

# ESMC-6B per-residue embeddings + pseudo-perplexity (lower = more "natural" sequence)
m3t embed esmc --sequence MKFLILLFNILCL...           # single sequence
m3t embed esmc --sequence SEQ1 --sequence SEQ2       # batch (repeatable, max 32)

Protein Design

m3t design rfantibody 6VXX --hotspots A100,A105 --type nanobody --designs 3

Other Commands

m3t jobs                          # list recent jobs
m3t job <id>                      # job status & results
m3t data                          # list project datasets
m3t dataset <id> --limit 20      # view dataset rows
m3t run script.py --packages pandas,httpx --save "Results"

JSON Mode

Pipe-friendly output for scripting:

m3t --json chembl binders PDE3B | jq '.[].canonical_smiles'
m3t --json zinc search --subset drug-like | jq length

Project-per-folder

Like .git, each directory can be tied to a different M3TRIQ project:

cd ~/research/egfr && m3t use <project-id>    # writes .m3triq here
cd ~/research/pde3b && m3t use <project-id>   # different project
m3t use --global <id>                          # fallback

Links