Edit on GitHub

starplast.sequence_features

Frozen ESM protein representations with residue-complete window pooling.

The optional encoder downloads a pinned public model once. No task labels enter these features. Long proteins are tiled rather than truncated; overlapping token representations receive reciprocal coverage weights before residue averaging.

MODEL = 'facebook/esm2_t6_8M_UR50D'
REVISION = 'c731040fcd8d73dceaa04b0a8e6329b345b0f5df'
def windows(length, size=1000, overlap=128):

Return half-open windows and reciprocal overlap weights for each residue.

def cache_key( sequence, model='facebook/esm2_t6_8M_UR50D', revision='c731040fcd8d73dceaa04b0a8e6329b345b0f5df', size=1000, overlap=128):

Identity includes exact sequence, weights revision and pooling parameters.

def encode( sequences, cache_dir, device='cpu', model='facebook/esm2_t6_8M_UR50D', revision='c731040fcd8d73dceaa04b0a8e6329b345b0f5df', size=1000, overlap=128, batch_tokens=2048, log=<built-in function print>):

Encode a gene-to-protein mapping; resume safely from per-sequence caches.

Returns numeric gene features and a provenance table. The 8M model emits 320 coordinates; these are latent features, not named biological properties. The GPU is optional and evaluation mode disables dropout and gradients.

def main():

Generate ESM features from the bundled Toxoplasma coding sequences.