# config.py | |
from fuson_plm.utils.logging import CustomParams | |
CLEAN = CustomParams( | |
### Changing these parameters is not recommended | |
FODB_PATH = '../data/raw_data/FOdb_all.csv', # path to raw FOdb database | |
FODB_PUNCTA_PATH = '../data/raw_data/FOdb_puncta.csv', # path to raw FOdb puncta experimental data | |
FUSIONPDB_PATH = '../data/raw_data/FusionPDB.txt', # path to raw FusionPDB Level 1 .txt download | |
) | |
# Clustering Parameters | |
CLUSTER = CustomParams( | |
MAX_SEQ_LENGTH = 2000, # INCLUSIVE max length (amino acids) of a sequence for training, validation, or testing | |
# MMSeqs2 parameters: see GitHub or MMSeqs2 Wiki for guidance | |
MIN_SEQ_ID = 0.3, # % identity | |
C = 0.8, # % sequence length overlap | |
COV_MODE = 0, # cov-mode: 0 = bidirectional, 1 = target coverage, 2 = query coverage, 3 = target-in-query length coverage. | |
# File paths | |
INPUT_PATH = '../data/fuson_db.csv', | |
PATH_TO_MMSEQS = '../mmseqs' # path to where you installed MMSeqs2 | |
) | |
# Splitting Parameters | |
# We randomly split clusters in two rounds to arrive at a Train, Validation, and Test set. | |
# Round 1) All clusters -> Train (final) and Other (temp). Round 2) Other (temp) clusters -> Val (final) and Test (final) | |
SPLIT = CustomParams( | |
FUSON_DB_PATH = '../data/fuson_db.csv', | |
CLUSTER_OUTPUT_PATH = '../data/clustering/mmseqs_full_results.csv', | |
RANDOM_STATE_1 = 2, # random_state_1 = state for splitting all data into train & other | |
TEST_SIZE_1 = 0.18, # test size for data -> train/test split. e.g. 20 means 80% clusters in train, 20% clusters in other | |
RANDOM_STATE_2 = 6, # random_state_2 = state for splitting other from ^ into val and test | |
TEST_SIZE_2 = 0.44 # test size for train -> train/val split. e.g. 0.50 means 50% clusters in train, 50% clusters in test | |
) |