1/ We scored 176/300 and finished 35th in the @IntrinsicAI hackathon, short of the top-30 cutoff to qualify.
Our robot learned to plug in a fiber optic cable fully end-to-end (pixels in, motion out) and hit 86/100, until one tiny connector broke us.
Here's the whole story π§΅
We are losing our voice to tokens.
Earlier the only thing that existed between your thoughts and the real world was your own lossy compression. This lossy compression was guided by your experiences, your memory, your outlook and most importantly your inner representation. But now Im seeing more and more this representation converge. But the worry is not that the convergence is towards a bad region (that would have been fixable), actually the point where its converging to is quite reasonable. LLM output of most models have now latched onto a small variance region of direct, factual and explainative soul. An idea, action or provocation is disassembled into its constituents and laid bare - naked. The journey of inverting the lossy compression to rediscover, to rebuild the original thought is gone and that I feel is a real shame.
In order to make a better predictor for a cell's state to perturbation, you need to give the model information on how changing a specific gene X leads to downstream changes Y. This is exactly what CRISPR knockdown experiments capture at the genome scale and datasets like Replogle et al., CD4 Perturb-seq etc exist... What i was trying out today was in addition to this precise but scarce dataset are there more abundant datasets with even faint signals.
The place i went looking for this is an eQTL dataset. This dataset contains expression vectors of genes in a cell at population scale. In a population there are random changes in an inherited DNA of individuals that cause changes in the expression of genes. So using this dataset u can effectively synthesize a pseudo-perturbation dataset that measures the downstream effects on genes Y, caused by expression changes in gene X which in turn is caused by an a variation in the DNA from different people.
So for testing whether this data has any meaningful signal, I drew the statistics off of CD4 T cell, this was chosen coz there exists both the CRISPR knockdown experiments and also large scale population genetics.
After the actual measurement :
Natural ripple: split the donors by what type of DNA variant they inherited (that also controls the expression of gene X), and for every gene Y measure how much Y's expression shifts between different groups
Engineered ripple: CRISPR-knock-down directly X, measure the change of every gene Y.
Ideally what I hoped was that the natural ripple had some correlation with the engineered ripple, but the data shows pretty much no direct correlation above the noise floor.
I further tried is there any perceivable signal in the eQTL perturbation that is consistant with itself. I did this by splitting the donors in half and trying to see if there is correlation with the eQTL dataset itself and again nothing over the noise floor.
Finally I tried to see is it just because of dilution that I was not seeing correlation. The natural ripple covers ~10,000 genes, and almost all of them have no real connection to X, that's 10,000 noise values drowning the few dozen genes that actually matter. Maybe the signal is real but washed out.
So i tried letting CRISPR tell which genes are the real targets, then look at the natural effect only there.... And again no signal only noise floor.
So looking at population data to augment targeted data seems to be not working... Need to find something else
To create a capable virtual cell, the first thing to narrow down is how do we compare two cell states. To completely know this we would require to know the RNA levels, the protien levels, the chromatin and epigenomic stuff. A good enough proxy which is relatively easy to measure is the RNA expression in the cell and how it changes under different perturbations. This is usually measured using a perturb-seq experiment where a population of cells is divided into a control and test cells. The test cell genes are then modified one at a time and the change in expression is compared wrt to the control population.
This is the gold standard for trying to model causal relationships as they provide 1 to 1 mapping. More and more datasets are slowly emerging and this data would be of immense quality for training virtual cell model. However, there exists a huge dataset already provided by nature in terms of evolution with varients sprinkled randomly, what I am trying to see if possible is: can a model bootstrap and learn something useful from this abundant natural perturbations and more importantly teach it something useful about how to respond to large and still scarce engineered perturbations (perturb-seq)
One of the key metrics that influence the rate of progress is how fast you can iterate, and get feedback. Even a faint feedback signal compounded over quick iterations is much more informative than long stretches of deep open loop exploration. The faster iteration cycles in the world of bits as compared to the hardware world is one of the reasons for the asymmetric growth in all things software in the previous decades as compared to mechanical or electrical domain. A desire to shorten the hardware iteration loop saw the rise in simulations that help designers prototype at much lower costs and more importantly in much lower time, and as a hardware designer I have benefited a lot, be it EMI simulation of circuits or fluid sims of hydrofoils.
I have recently picked up a leaning towards the fascinating world of bio-infomatics which has seen tremendous activity in the recent months and weeks. From new protien folding models to models that design binders tailor made for a specific protien, the space is getting new breakthroughs daily.
Its during this time where I try to read whenever i can that I was drawn to the very specific problem of virtual cells that caught my eye. These could prove extremely useful, as a good virtual model would allow screening for different perturbations in-silico rather than costly wet lab experiments. Current solutions use various models and emerging high volume perturbation data to try and predict what will happen to a cell given a particular perturbation. Although accuracy is decent on perturbation and cell state combinations the model has seen in the training data, the general consensus is that the existing models are not able to extrapolate to slightly different cells and actually learn the latent state representation of a cell and how it evolves.
I have been trying to put together the pieces of an architecture that would have a better shot at trying to learn these latents and their dynamics. More to come soon..
Big news from Boltz - our biggest update yet! π
Today weβre releasing two new state-of-the-art models for protein and small molecule design with extensive wet lab validation and a new API to run all of our models on scalable GPUs wherever you (or your agents) work! π₯
For the improved multi-mode model, I made some improvements to the deepsets model to extend it to predict the new 6D vector and also added 3 extra frequency set features (fmax, fmin, and fstd) to give the model more information about ranges of observed chatter in the set (This set of optimal features were identified from a seprate ablation study to pick the best ones)
The final model is now able to generalize well to both single and multi mode cases.
Next up expanding the dataset and analyzing model generalization over a wider range of natural modes
Made improvements to the deepsets modal parmaeters identification model.
The previous verison was mainly a single dominant mode detector. To try and predict multiple modes, first the input data is clustered based on chatter frequency and the individual points are passed into the model which outputs a single 3D vecotor (stiffness, damping and natural frequency) for each cluster
The parameters are then concatenated to provide the full modal parameter set.
This model worked pretty well for single dominant cases (not surprising) but in cases where there is genuine superposition of different modes it just averages the parameters, which doesnt result in good reconstruction of the SLD.
(blue actual SLD and red reconstructed SLD)
Amazing paper, and it was all open source, ran the ESMFold2/ESMC binder-generation loop on RBX1 (earlier Adaptyv competition target).
Got the top design: ESMFold2 ipTM 0.88, cross-checked with Boltz-2, the two independent models agree on the binding pose to ~2 Γ .
Nothing validated in actual wet lab but actually good in silico numbers
Iβm so excited about the launch of ESMFold2, ESMC, and the new ESM Atlas. This was a massive team effort, and Iβm grateful to have worked with such an incredible group @biohub.
A headline result Iβm especially excited about: ESMFold2 can design minibinders and antibodies with nanomolar affinity, target selectivity, and functional activity against therapeutically relevant targets.
Today, weβre sharing the full binder design protocol.
As a second round instead of training a native 6D model,
- I first clustered points in the training data according to their vibration frequency, then used the previous 3D deepsets model to train on these patches and output a 3D vector.
- then i repeated the same for all different clusters.
- then concatenate the parameters to finally get a 6D vector.
This trained 3D model with a "router" performed noticeably better with errors dropping and now being comparable to the actual 3D case.
The final predicted SLD diagrams also show the same improvement in accuracy for truly multimodal machines.
Been running a few more experiments:
- The initial deepsets model, was trained to predict the modal parameters of the machine from recording the maximum possible depth before the cut becomes unstable at different spindle speeds.
- Some simplifications were made to get results fast and validate. The machine modal parameters were assumed to have only one mode and also the X and Y axis modal parameters were considered to be the same (anisotropic and axis symmetric). Both valid approximations, as usually vibrations happen near a dominant mode and usually the machine is roughly symmetric along its axes.
- with the model able to predict this simplified 3D case next I went on with the next level: introducing another mode, but keeping the axis symmetric. Now the model has to predict a 6D vector instead of a 3D vector from the cutting data.
- training data was collected and as seen in the figure at different spindle speed different modes are excited (shown in different colors)
The first try was to see if by just giving the model the complete data is it able to predict the 6D vector.
After collecting 1000 samples for different machine parameters and training the modified deepsets model to output a 6D vector the results were not that great:
- In the two mode case the modal frequency which is the most important had an error of 9% as compared to the 1% of the single mode case. The damping and stiffness also had similar 3x and 4x errors
I have been trying a different approach to identifying these parameters without taking the machine offline. The pipeline just uses data from a sample set of cuts which is then fed into a small trained model which then predicts the best fit for the modal parameters. Still early in the process but the model is performance is promising in early trials.
More to come soon...
CNC milling machines are high speed monsters that turn blocks of metal into machined parts. To get the most out of these machines an operator has to know the limits that they can push the machine to, one of the tools used to determine this is the stability lobe diagram of the machine. Simply put its a curve that specifies whats the maximum depth of cut you can perform at a given spindle speed. These curves are determined by parameters like the vibration parameters of the CNC mill, the tool properties and also the material properties.
Most of these can be estimated or calculated relatively easily, but one thing thats hard to predict is the actual machine modal parameters, i.e how the machine vibrates naturally. This has to be measured using a tap test, where the machine is idled and then sensors are attached on its spindle and a hammer is used to strike the spindle inorder to measure the resposne. This is a slow process and the machine has to be taken off the line and carefully rigged up with sensors to take readings.
@maahirpanchal Clean interface, stl processing is also pretty fast.
one small thing u might want to look into.
the live estimate card is placed towards the bottom.
Would be better to have it sticky and placed at the top always so u dont have to scroll. Like how shopify does it