PepINVENT icon

PepINVENT

(commit e976dd1)Code (opens in a new tab)Docs

Generate non-natural amino acids and optimize peptide chemistry.

Not available for new jobs

PepINVENT is unavailable for new jobs while scientific verification and development acceptance are completed.
Task
Sample peptide fragmentsOptimize peptides

Output

Configure inputs to begin

Set options on the left, then click “Submit job”.

PepINVENT webserver overview

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.

Pricing

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 runtimeFinal credits
30 seconds14
1 minute27
5 minutes135

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.

Inputs

InputFormatRequired
Native run configurationJSON file or pasted JSON objectBoth modes
Masked peptidesCSV file or pasted CSV with an exact Source_Mol columnSampling 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.

Settings

ParameterTypeDefaultDescription
Run mode (run_type)enumsamplingSample 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.

Sampling configuration

ParameterTypeDefaultDescription
model_typestringRequiredUse mol2mol for the published pretrained model.
run_typeenumsamplingMust match Sample peptide fragments.
num_samplesinteger1000Number of fragment samples requested per input.
batch_sizeinteger1Native sampling batch size.
beam_sizeinteger1000Accepted 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.

Reinforcement configuration

ParameterTypeDefaultDescription
namestringRequiredNative run name.
model_typestringRequiredUse mol2mol.
run_typeenumreinforcementMust match Optimize peptides with reinforcement learning.
input_sequencestringRequiredOne masked CHUCKLES peptide, including its topology and stereochemistry.
learning_configurationobjectRequiredNative learning settings below.
scoring_functionobjectRequiredAggregation and objective components.
diversity_filterobjectNative defaultsDiversity filter and its parameters.

Learning settings

These parameters belong inside learning_configuration. An empty object {} keeps all five defaults.

ParameterTypeDefaultDescription
number_stepsinteger200Reinforcement learning steps.
batch_sizeinteger50Samples in each learning step.
learning_ratenumber0.0001Native optimizer learning rate.
score_multiplierinteger20Multiplier used by the native learning objective.
distance_thresholdinteger-20Native likelihood-distance threshold; preserve its sign.

Scoring configuration

These fields belong inside scoring_function.

ParameterTypeDefaultDescription
scoring_functionenumRequiredweighted_average or geometric_mean.
scoring_componentsarrayRequiredObjective objects with the fields below.

Each object in scoring_components has the following fields.

ParameterTypeDefaultDescription
nameenumRequiredOne of the six objective names below.
weightintegerRequiredRelative weight in the selected aggregation.
specific_parametersobjectRequiredObjective parameters and optional transformation; {} uses that objective's defaults.
Objective nameNative value or configuration
maximum_ring_sizeNumber of atoms in the largest ring.
molecular_weightRDKit molecular weight in g/mol.
lipophilicityDimensionless RDKit logP.
substructure_matchSMARTS patterns in the smiles array, default []. Score is 1 for any match and 0.5 otherwise; an empty array scores 1.
custom_alertsSMARTS patterns in the smarts array, default []. Raw score is 0 for any alert match and 1 otherwise.
predictive_modelSupplied 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.

Score transformations

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.

TransformationParametersBehavior
no_transformationNoneKeeps the raw component value, including its units.
sigmoidRequired numbers: low, high, kSmoothly favors higher values.
reverse_sigmoidRequired numbers: low, high, kSmoothly favors lower values.
double_sigmoidRequired numbers: low, high, coef_div, coef_si, coef_seFavors a target interval with smooth boundaries.
right_stepRequired number: low1 at or above low; 0 below it.
left_stepRequired number: low1 at or below low; 0 above it.
stepRequired numbers: low, high1 within the inclusive interval; 0 outside it.
custom_interpolationOptional fields belowInterpolates 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.

ParameterTypeDefaultDescription
interpolation_maparray[{"origin":0,"destination":0},{"origin":1,"destination":1}]Points with numeric origin and destination values.
truncate_leftbooleantrueAdds a constant-score point one unit below the first origin.
truncate_rightbooleantrueAdds a constant-score point one unit above the last origin.

The published configuration examples show complete objective and transformation objects.

Diversity filter

These parameters belong inside diversity_filter. Omitting this object keeps the defaults below.

ParameterTypeDefaultDescription
nameenumNoFilterNoFilter retains scores; NoFilterWithPenalty penalizes previously stored peptides; IdenticalMurckoScaffold penalizes duplicates and full scaffold buckets.
score_thresholdnumber0.4Minimum score for a valid peptide to enter diversity memory.
bucket_sizeinteger25With IdenticalMurckoScaffold, a score becomes zero when its scaffold count exceeds this size.
similarity_thresholdnumber0.4Accepted configuration field; unused by these three filters.
penaltynumber0.5Multiplier 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.

Outputs

DownloadContents
output.csvSampling report with native CSV index, Input, serialized NLLs and Generated_smi_1 through the returned sample columns.
results.csvRL diversity-memory report with step, filled peptide CHUCKLES, RDKit peptide SMILES, scaffold, component scores, raw values and total score.
TensorBoard event filesNative RL scores, likelihoods, images and diagnostics, including nested event groups.
run.logNative standard output, warnings and error details.
Submitted and effective configuration filesOriginal inputs and the configuration used for execution.
Provenance and license filesSource 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.

Understanding results

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.

Table of contents

Related tools

PocketXMol

PocketXMol

Generate docking poses, drug-like molecules, and peptides inside protein binding pockets with PocketXMol.

BoltzGen

BoltzGen

Design protein, peptide, and nanobody binders against protein or small-molecule targets.

PepMimic

PepMimic

Peptide binder design through binding interface mimicry with a latent diffusion model

PepMLM

PepMLM

Target sequence-conditioned peptide binder design using masked language modeling

ProteusAI

ProteusAI

Learn from measured fitness and prioritize protein variants.

AntiFold

AntiFold

Design antibody sequences from structure with AI-powered inverse folding

Boltz Sequence Redesign

Boltz Sequence Redesign

Redesign chosen residues on a fixed protein structure.

BoltzProt-1

BoltzProt-1

Protein, peptide, nanobody and antibody binder design.

EvoDiff

EvoDiff

Generate protein sequences de novo, scaffold fixed motifs, or inpaint selected regions.

Genie 3

Genie 3

All-atom SE(3)-equivariant diffusion for unconditional generation, motif scaffolding, and binder design.