|
Download README.md from BoHuangLab/CELL-FM: direct link, hf CLI and curl.
- Browser
- Download file 5.27 kB
-
https://huggingface.co/BoHuangLab/CELL-FM/resolve/main/README.md
- Command line
-
hf download hf://BoHuangLab/CELL-FM/README.md
-
curl -L -o README.md https://huggingface.co/BoHuangLab/CELL-FM/resolve/main/README.md
5.27 kB
| license: mit | |
| library_name: cell-fm | |
| tags: | |
| - biology | |
| - microscopy | |
| - protein | |
| - condensate | |
| - flow-matching | |
| # CELL-FM weights | |
| Checkpoints of CELL-FM. | |
| | File | Model | | |
| |---|---| | |
| | `condenseq/cellfm_seq2img.bin` | CELL-FM CS sequence-to-image generator, trained with IDPs held out (includes the ESM-C 600M encoder) | | |
| | `condenseq/vae.bin` | Image VAE, 160x160, 3 down blocks, 4 latent channels | | |
| | `condenseq/vit_cls.bin` | ViT condensed/diffuse classifier, 2-channel 160x160 input | | |
| | `condenseq/reference_nucleus.npy` | The DAPI channel every CondenSeq generation is conditioned on: `(1, 160, 160)` float32 in [-1, 1]. CondenSeq protein index 12626, image 0 β the same one the offline seq2img runs used | | |
| | `hpa/cellfm_seq2img.bin` | CELL-FM sequence-to-image generator for HPA, trained with test proteins held out; 256x256, 3-channel conditioning (includes the ESM-C 600M encoder) | | |
| | `hpa/cellfm_vs.bin` | CELL-FM virtual-staining generator for HPA, trained on all HPA proteins; 256x256, 3-channel conditioning (includes the ESM-C 600M encoder) | | |
| | `hpa/vae.bin` | Image VAE at 256x256, the one both `hpa/cellfm_seq2img.bin` and `hpa/cellfm_vs.bin` were trained against | | |
| | `hpa/vit.bin` | Image-embedding ViT for HPA: 12 layers, 512 hidden, 2048 MLP, 8 heads, patch 4, 256x256 input. Trained to identify the protein in an image over 13,908 classes; the embedding is the representation, not the prediction. Four input channels β protein, nucleus, ER, microtubules | | |
| | `hpa/cellfm_img2seq.bin` | CELL-FM image-to-sequence model for HPA, 512x512, 3-channel conditioning (includes the ESM-C 600M encoder) | | |
| | `hpa/vae_512.bin` | Image VAE at 512x512, the one `hpa/cellfm_img2seq.bin` was trained against β a different model from `hpa/vae.bin`, not a rename | | |
| | `opencell/cellfm_vs.bin` | CELL-FM virtual-staining generator for OpenCell, fine-tuned on all OpenCell proteins and meant for those proteins only; 256x256, single nucleus conditioning channel (includes the ESM-C 600M encoder) | | |
| | `opencell/vae.bin` | Image VAE at 256x256, the one `opencell/cellfm_vs.bin` was trained against β OpenCell-finetuned, so not interchangeable with `hpa/vae.bin` despite the matching shape | | |
| | `opencell/vit.bin` | The same ViT fine-tuned on OpenCell, 1,311 classes. Identical backbone to `hpa/vit.bin`, but its input stem takes **two** channels β protein and nucleus β where the HPA one takes four, so the two cannot be swapped: the count is fixed in `conv_proj` and a mismatch fails there | | |
| | `opencell/vs_anchor_nucleus.npy` | The nucleus every OpenCell generation is conditioned on: `(1, 256, 256)` float32 in [-1, 1]. Gene ATG7, crop `CID001813_FID00035838_proj_11` β bit-for-bit the conditioning channel of the published offline run | | |
| | `opencell/vs_genes.csv` | OpenCell's 1,311 genes: name, protein name, UniProt accession, Ensembl id, localization annotation and sequence. The metadata table minus its image paths | | |
| | `opencell/vs_reference_cells.npz` | Four proteins in two matched pairs (POLR1A/SNRPF nuclear, LSM14A/DDX6 both P-body), each with one real OpenCell crop as a `(nucleus, protein)` float16 pair β the image shown beside the generated one | | |
| | `hpa/anchor_cell.npy` | The fixed cell every NLS-screening image is conditioned on: `(3, 256, 256)` float32 in [-1, 1], channels nucleus, ER, microtubules. HPA gene H3C13, cell crop `1194_B2_2_4` | | |
| | `hpa/anchor_masks.npz` | Two 256x256 boolean masks over that cell, `nucleus` and `cell`; cytoplasm is `cell & ~nucleus` | | |
| | `hpa/pls_anchor_nls.npz` | The cell PLS generation conditions on for nuclear signals: `cell` `(3, 512, 512)` nucleus/ER/microtubules and `protein` `(1, 512, 512)`, float32 in [-1, 1]. HPA gene PPM1G (Nucleoplasm), crop `392_B9_1_11` | | |
| | `hpa/pls_anchor_nes.npz` | The same for export signals. HPA gene DIAPH1 (Cytosol, Plasma membrane), crop `1608_B3_1_1` | | |
| | `hpa/proteome_aa_counts.json` | Residue counts over the 12,894 HPA proteins (7,940,784 residues), the proteome baseline the frequency analysis compares against | | |
| | `hpa/pls_reference_nls.csv` | The 320 published NLS signals: 20 independent draws at each of 16 tail lengths, 10-25 aa | | |
| | `hpa/pls_reference_nes.csv` | The same 320 for export signals | | |
| Hyperparameters for the CondenSeq models are set in `pipeline.py` in the Space and mirror | |
| `scripts/cell_fm_cs/evaluate_seq2img.sh` and | |
| `scripts/vit_cls_condenseq_img/pretrain.sh` in the CELL-FM repository. The HPA | |
| hyperparameters are spelled out in `notebooks/nls_screening.ipynb` and mirror | |
| `scripts/cell_fm/evaluate_virtual_staining_hpa_dict.sh`. The img2seq pair mirrors | |
| `scripts_local/cell_fm/evaluate_img2seq_hpa_v2.sh`: 512 px, `sample_size` 128, | |
| `encoder_patch_size` 8, `img_generator_patch_size` 4, 8 attention heads. The OpenCell pair | |
| mirrors `scripts/cell_fm/evaluate_virtual_staining_opencell.sh`: 256 px, `sample_size` 64, | |
| `encoder_patch_size` 4, `img_generator_patch_size` 2, 18 attention heads, `cell_image` `nucl` | |
| β spelled out in `notebooks/opencell_vs.ipynb`. That single conditioning channel is the one | |
| architectural difference a caller can see: the HPA generator takes three. | |
| Each generator must be loaded with the VAE it was trained against β pairing | |
| `cellfm_img2seq.bin` with the 256 px `vae.bin` gives a latent-size mismatch. | |