1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"""Input validation utilities for foldit-runner plugins.
This module provides common validation functions for model inputs
like amino acid sequences, temperatures, and iteration counts.
Usage:
from validation_utils import validate_sequence, validate_num_steps
validate_sequence(sequence) # Raises ValueError if invalid
validate_num_steps(num_steps, min_val=50, max_val=1000)
"""
# Standard amino acid codes (20 canonical amino acids)
=
"""Validate an amino acid sequence.
Args:
sequence: Amino acid sequence string
max_length: Optional maximum length (raises ValueError if exceeded)
Raises:
ValueError: If sequence is empty, contains invalid characters,
or exceeds max_length
Example:
validate_sequence("MKTAYIAKQRQISFVK") # OK
validate_sequence("MKTX") # Raises ValueError (X is invalid)
validate_sequence("", max_length=100) # Raises ValueError (empty)
"""
=
= -
"""Validate a numeric parameter is within a valid range.
Args:
num_steps: Value to validate
min_val: Minimum allowed value (inclusive)
max_val: Maximum allowed value (inclusive)
param_name: Parameter name for error messages
Raises:
ValueError: If value is outside the valid range
Example:
validate_num_steps(500, min_val=50, max_val=1000) # OK
validate_num_steps(10, min_val=50, max_val=1000) # Raises ValueError
"""
"""Validate a temperature parameter for sampling.
Args:
temperature: Temperature value
min_val: Minimum allowed value (default 0.0)
max_val: Maximum allowed value (default 2.0)
Raises:
ValueError: If temperature is outside the valid range
Example:
validate_temperature(0.1) # OK
validate_temperature(-0.5) # Raises ValueError
"""
"""Validate that a value is a positive integer.
Args:
value: Value to validate
param_name: Parameter name for error messages
Raises:
ValueError: If value is not a positive integer
Example:
validate_positive_int(10, "num_designs") # OK
validate_positive_int(0, "num_designs") # Raises ValueError
"""