
PepINVENT
Generate non-natural amino acids and optimize peptide chemistry.
Not available for new jobs
PepINVENT generates non-natural amino acid fragments and optimizes peptide chemistry with reinforcement learning. ProteinIQ runs the published MolecularAI project at commit e976dd1 with its pretrained generative model and supplied predictive model.
Inputs use CHUCKLES, a sequence of amino acid SMILES fragments separated by |. Each ? marks a position to generate. Ring labels and stereochemistry are part of the input. Natural amino acid sequences and FASTA are not converted to CHUCKLES automatically.
PepINVENT uses runtime billing at 27 credits per minute, rounded up to a whole credit. The minimum credit reservation is 27 credits; the reservation is a spending limit, not the final charge. The playground shows the rate and reservation before submission, and unused reserved credits are refunded after settlement.
| Billable runtime | Final credits |
|---|---|
| 30 seconds | 14 |
| 1 minute | 27 |
| 5 minutes | 135 |
These examples assume a completed run with enough reserved credits. Neither run mode changes the rate. Actual runtime depends on the number of inputs, samples, learning steps and batch size. A job has a one-hour execution limit, with a 3,500-second limit for peptide computation.
| Input | Format | Required |
|---|---|---|
| Native run configuration | JSON file or pasted JSON object | Both modes |
| Masked peptides | CSV file or pasted CSV with an exact Source_Mol column | Sampling only |
The configuration's run_type, when supplied, must match the Run mode selector. For reinforcement learning, supply one masked peptide in input_sequence inside the JSON configuration. The sampling CSV is inactive in this mode.
Input files can be uploaded or selected from saved Files. A batch can contain up to 10 configuration inputs, subject to the plan's batch limit. Each configuration starts a separate job. Sampling processes the rows of its CSV within that job.
Each input file and the combined staged submission are limited to 50 MiB.
The pretrained model, sampling CSV and output locations are managed automatically, including model_path, input_sequences_path, results_output and RL logging paths. The predictive objective uses the supplied predictive_model.pckl and feature_scalar.pckl; arbitrary model files are not accepted. Its model_path and scalar_path may be omitted or use those exact filenames. Submitted input bytes and the effective configuration are included in the downloads.
| Parameter | Type | Default | Description |
|---|---|---|---|
Run mode (run_type) | enum | sampling | Sample peptide fragments (sampling) or Optimize peptides with reinforcement learning (reinforcement). |
All other scientific parameters belong in the Native run configuration JSON. Omitted parameters keep the published program's defaults.
| Parameter | Type | Default | Description |
|---|---|---|---|
model_type | string | Required | Use mol2mol for the published pretrained model. |
run_type | enum | sampling | Must match Sample peptide fragments. |
num_samples | integer | 1000 | Number of fragment samples requested per input. |
batch_size | integer | 1 | Native sampling batch size. |
beam_size | integer | 1000 | Accepted by the published configuration but unused by the sampling program. |
The published program uses multinomial sampling. It provides no temperature or random-seed configuration setting. The sampling example uses 10 samples to provide a small starting run; omitting num_samples retains the native default of 1,000.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | Required | Native run name. |
model_type | string | Required | Use mol2mol. |
run_type | enum | reinforcement | Must match Optimize peptides with reinforcement learning. |
input_sequence | string | Required | One masked CHUCKLES peptide, including its topology and stereochemistry. |
learning_configuration | object | Required | Native learning settings below. |
scoring_function | object | Required | Aggregation and objective components. |
diversity_filter | object | Native defaults | Diversity filter and its parameters. |
These parameters belong inside learning_configuration. An empty object {} keeps all five defaults.
| Parameter | Type | Default | Description |
|---|---|---|---|
number_steps | integer | 200 | Reinforcement learning steps. |
batch_size | integer | 50 | Samples in each learning step. |
learning_rate | number | 0.0001 | Native optimizer learning rate. |
score_multiplier | integer | 20 | Multiplier used by the native learning objective. |
distance_threshold | integer | -20 | Native likelihood-distance threshold; preserve its sign. |
These fields belong inside scoring_function.
| Parameter | Type | Default | Description |
|---|---|---|---|
scoring_function | enum | Required | weighted_average or geometric_mean. |
scoring_components | array | Required | Objective objects with the fields below. |
Each object in scoring_components has the following fields.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | enum | Required | One of the six objective names below. |
weight | integer | Required | Relative weight in the selected aggregation. |
specific_parameters | object | Required | Objective parameters and optional transformation; {} uses that objective's defaults. |
| Objective name | Native value or configuration |
|---|---|
maximum_ring_size | Number of atoms in the largest ring. |
molecular_weight | RDKit molecular weight in g/mol. |
lipophilicity | Dimensionless RDKit logP. |
substructure_match | SMARTS patterns in the smiles array, default []. Score is 1 for any match and 0.5 otherwise; an empty array scores 1. |
custom_alerts | SMARTS patterns in the smarts array, default []. Raw score is 0 for any alert match and 1 otherwise. |
predictive_model | Supplied classifier's second-class probability, a dimensionless value. Model and scaler paths are bound automatically. |
substructure_match is a separate multiplier on the aggregate when exactly one such component is configured; its weight is not part of the weighted mean. Both aggregations need at least one other objective with a nonzero total weight.
An optional transformation object inside specific_parameters selects transformation_type. Omitting it or using {} keeps no_transformation. Substructure matching keeps its native match score and does not apply the configured transformation.
| Transformation | Parameters | Behavior |
|---|---|---|
no_transformation | None | Keeps the raw component value, including its units. |
sigmoid | Required numbers: low, high, k | Smoothly favors higher values. |
reverse_sigmoid | Required numbers: low, high, k | Smoothly favors lower values. |
double_sigmoid | Required numbers: low, high, coef_div, coef_si, coef_se | Favors a target interval with smooth boundaries. |
right_step | Required number: low | 1 at or above low; 0 below it. |
left_step | Required number: low | 1 at or below low; 0 above it. |
step | Required numbers: low, high | 1 within the inclusive interval; 0 outside it. |
custom_interpolation | Optional fields below | Interpolates a supplied value-to-score map. |
Sigmoid descriptions assume low < high and positive slope coefficients. Supplied parameter values determine the transformation's shape.
Custom interpolation parameters belong in the same transformation object.
| Parameter | Type | Default | Description |
|---|---|---|---|
interpolation_map | array | [{"origin":0,"destination":0},{"origin":1,"destination":1}] | Points with numeric origin and destination values. |
truncate_left | boolean | true | Adds a constant-score point one unit below the first origin. |
truncate_right | boolean | true | Adds a constant-score point one unit above the last origin. |
The published configuration examples show complete objective and transformation objects.
These parameters belong inside diversity_filter. Omitting this object keeps the defaults below.
| Parameter | Type | Default | Description |
|---|---|---|---|
name | enum | NoFilter | NoFilter retains scores; NoFilterWithPenalty penalizes previously stored peptides; IdenticalMurckoScaffold penalizes duplicates and full scaffold buckets. |
score_threshold | number | 0.4 | Minimum score for a valid peptide to enter diversity memory. |
bucket_size | integer | 25 | With IdenticalMurckoScaffold, a score becomes zero when its scaffold count exceeds this size. |
similarity_threshold | number | 0.4 | Accepted configuration field; unused by these three filters. |
penalty | number | 0.5 | Multiplier for previously stored peptides with NoFilterWithPenalty. |
CamSol scoring is absent from this published implementation. Its CRBP example cannot run unchanged and is rejected. The hosted modes use pretrained models; supervised pretraining and unavailable internal training data are not included.
| Download | Contents |
|---|---|
output.csv | Sampling report with native CSV index, Input, serialized NLLs and Generated_smi_1 through the returned sample columns. |
results.csv | RL diversity-memory report with step, filled peptide CHUCKLES, RDKit peptide SMILES, scaffold, component scores, raw values and total score. |
| TensorBoard event files | Native RL scores, likelihoods, images and diagnostics, including nested event groups. |
run.log | Native standard output, warnings and error details. |
| Submitted and effective configuration files | Original inputs and the configuration used for execution. |
| Provenance and license files | Source commit, model and input hashes, installed runtime identities and source license. |
Tables preserve native column and row order. Sampling groups repeated identical inputs under the same native input key. Neither mode adds a best-candidate ranking. RL does not export an optimized model checkpoint.
In sampling, Generated_smi_* values are filler fragments, not reconstructed complete peptides. NLLs retains the native list of negative log likelihoods as text.
In RL, results.csv contains valid peptides entered into diversity memory at the configured score threshold, with each converted SMILES stored once. It does not list every sample from every step. CHUCKLES contains the filled peptide in the program's chemical representation and SMILES contains its RDKit-converted representation.
raw_* columns retain component values before transformation. Component columns contain the scores used by the aggregation; substructure matching retains its native match score. total_score is the score recorded when the peptide enters diversity memory. The predictive model's probability is not a physical permeability coefficient. Computational scores and generated chemistry require independent scientific and experimental validation.
Generate docking poses, drug-like molecules, and peptides inside protein binding pockets with PocketXMol.
Design protein, peptide, and nanobody binders against protein or small-molecule targets.
Peptide binder design through binding interface mimicry with a latent diffusion model
Target sequence-conditioned peptide binder design using masked language modeling
Learn from measured fitness and prioritize protein variants.
Design antibody sequences from structure with AI-powered inverse folding
Redesign chosen residues on a fixed protein structure.
Protein, peptide, nanobody and antibody binder design.
Generate protein sequences de novo, scaffold fixed motifs, or inpaint selected regions.
All-atom SE(3)-equivariant diffusion for unconditional generation, motif scaffolding, and binder design.
Not available for new jobs