evo_prot_grad.models
OneHotCNN
          evo_prot_grad.models.downstream_cnn.OneHotCNN
  
            Bases: nn.Module
A CNN that takes one-hot encoded sequences as input.
OneHotCNN uses 1D convolution over the one-hot encoding dimension to embed each amino acid into a vector of size matching the sequence length, and uses length max-pooling (1D max-pooling on the sequence length dimension) to reduce this dimension to 1. The output is then fed through a linear layer to produce a single scalar output.
__init__(vocab_size: int, kernel_size: int, input_size: int, dropout: int = 0.0)
  Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| vocab_size | int | the size of the vocabulary (e.g., 20). | required | 
| kernel_size | int | the size of the convolutional kernel | required | 
| input_size | int | the size of the input embedding | required | 
| dropout | float | the dropout probability | 0.0 | 
forward(x: torch.Tensor) -> torch.Tensor
  Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| x | torch.Tensor | one-hot tensor of shape [parallel_chains, seq_len, vocab_size] | required | 
Returns:
| Name | Type | Description | 
|---|---|---|
| output | torch.Tensor | shape [parallel_chains] | 
EVCouplings Potts
          evo_prot_grad.models.potts.EVCouplings
  
            Bases: nn.Module
EVCoupling Potts model implemented in PyTorch.
Represents a Potts model with a single coupling matrix and a single bias vector for a specific region (i.e., subsequence) of the wild type protein sequence under directed evolution.
forward(x: torch.Tensor) -> torch.Tensor
  Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| x | torch.Tensor | one-hot tensor of shape [parallel_chains, seq_len, vocab_size] | required | 
Returns:
| Name | Type | Description | 
|---|---|---|
| hamiltonian | torch.Tensor | shape [parallel_chains] |