ProbTransformer
Probabilistic Transformer: Modelling Ambiguities and Distributions for RNA Folding and Molecule Design
Install / Use
/learn @automl/ProbTransformerREADME
Probabilistic Transformer
Modelling Ambiguities and Distributions for RNA Folding and Molecule Design
This repository contains the source code to the NeurIPS 2022 paper Probabilistic Transformer: Modelling Ambiguities and Distributions for RNA Folding and Molecule Design
Structure of the repository
configs
Contains the configuration files for our experiments on the Synthetic Sequential Distribution, RNA folding and molecule design task we reported in the paper.
data
Contains training, validation and test data for the RNA folding and molecule design task. We use the processed Guacamol dataset from https://github.com/devalab/molgpt and created the RNA folding data based on the description in the paper.
prob_transformer
Contains the source code of the ProbTransformer, the data handler and the training script train_transformer.py.
The train script runs out of the box on a downscaled config and creates an experiments folder in the base directory.
Install conda environment
Please adjust the cuda toolkit version in the environment.yml file to fit your setup.
conda env create -n ptenv -f environment.yml
conda activate ptenv
pip install -e .
Prepare data
RNA data
tar -xf data/rna_data.plk.xz -C data/
Molecule data
Download the Guacamol dataset and extract into data.
unzip data/guacamol2.csv.zip -d data/
Model Checkpoints
Please find checkpoints for the ProbTransformer and the CNN head for RNA folding at:
https://ml.informatik.uni-freiburg.de/research-artifacts/probtransformer/prob_transformer_final.pth
https://ml.informatik.uni-freiburg.de/research-artifacts/probtransformer/cnn_head_final.pth
Use the ProbTransformer for RNA folding
Please use the infer_rna_folding.py script to fold a sequence of nucleotides (ACGU).
python infer_rna_folding.py -s ACGUCCUGUGCGAGCAUGCAUGC
To evaluate the uploaded model checkpoints on the test set TS0 use the evaluate flag.
python infer_rna_folding.py -e
Train a ProbTransformer/Transformer model
on the Synthetic Sequential Distribution Task
python prob_transformer/train_transformer.py -c configs/ssd_prob_transformer.yml
python prob_transformer/train_transformer.py -c configs/ssd_transformer.yml
on the RNA folding Task
python prob_transformer/train_transformer.py -c configs/rna_prob_transformer.yml
python prob_transformer/train_transformer.py -c configs/rna_transformer.yml
on the Molecule Design Task
python prob_transformer/train_transformer.py -c configs/mol_prob_transformer.yml
python prob_transformer/train_transformer.py -c configs/mol_transformer.yml
Related Skills
diffs
340.5kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
1.9kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
