Spaces:
Running
on
Zero
Running
on
Zero
| # Copyright (c) CAIRI AI Lab. All rights reserved | |
| import argparse | |
| def create_parser(): | |
| parser = argparse.ArgumentParser() | |
| # Set-up parameters | |
| parser.add_argument('--device', default='cuda', type=str, | |
| help='Name of device to use for tensor computations (cuda/cpu)') | |
| parser.add_argument('--display_step', default=10, type=int, | |
| help='Interval in batches between display of training metrics') | |
| parser.add_argument('--res_dir', default='./results', type=str) | |
| parser.add_argument('--ex_name', default='debug', type=str) | |
| parser.add_argument('--use_gpu', default=True, type=bool) | |
| parser.add_argument('--gpu', default=0, type=int) | |
| parser.add_argument('--seed', default=42, type=int) | |
| parser.add_argument('--resume_from', type=str, default=None, help='the checkpoint file to resume from') | |
| parser.add_argument('--auto_resume', action='store_true', default=False, | |
| help='When training was interupted, resume from the latest checkpoint') | |
| parser.add_argument('--test', action='store_true', default=False, help='Only performs testing') | |
| # dataset parameters | |
| parser.add_argument('--data_name', '-d', default='CATH', type=str, | |
| choices=['CATH', 'TS50', 'TS500', 'AlphaFold']) | |
| parser.add_argument('--data_root', default='./data/', type=str) | |
| parser.add_argument('--batch_size', '-b', default=16, type=int, help='Training batch size') | |
| parser.add_argument('--num_workers', default=4, type=int) | |
| # af dataset parameters | |
| parser.add_argument('--upid', default='UP000000437_7955_DANRE_v2') | |
| parser.add_argument('--limit_length', default=0, type=int) | |
| parser.add_argument('--joint_data', default=0, type=int) | |
| parser.add_argument('--score_thr', default=70.0, type=float) | |
| # method parameters | |
| parser.add_argument('--method', '-m', default='PiFold', type=str, | |
| choices=['PiFold', 'AlphaDesign', 'StructGNN', 'GraphTrans', 'GVP', 'GCA', 'ProteinMPNN', 'ESMIF'], | |
| help='Name of CPD method to train (default: "PiFold")') | |
| parser.add_argument('--config_file', '-c', default=None, type=str, | |
| help='Path to the default config file') | |
| # Training parameters | |
| parser.add_argument('--epoch', default=100, type=int, help='end epoch') | |
| parser.add_argument('--log_step', default=1, type=int, help='Log interval by step') | |
| parser.add_argument('--opt', default='adam', type=str, metavar='OPTIMIZER', | |
| help='Optimizer (default: "adam"') | |
| parser.add_argument('--opt_eps', default=None, type=float, metavar='EPSILON', | |
| help='Optimizer epsilon (default: None, use opt default)') | |
| parser.add_argument('--opt_betas', default=None, type=float, nargs='+', metavar='BETA', | |
| help='Optimizer betas (default: None, use opt default)') | |
| parser.add_argument('--momentum', type=float, default=0.9, metavar='M', | |
| help='Optimizer sgd momentum (default: 0.9)') | |
| parser.add_argument('--weight_decay', default=0., type=float, help='Weight decay') | |
| parser.add_argument('--sched', default='onecycle', type=str, metavar='SCHEDULER', | |
| help='LR scheduler (default: "onecycle"') | |
| parser.add_argument('--lr', default=0.001, type=float, help='Learning rate') | |
| parser.add_argument('--lr_k_decay', type=float, default=1.0, | |
| help='learning rate k-decay for cosine/poly (default: 1.0)') | |
| parser.add_argument('--warmup_lr', type=float, default=1e-5, metavar='LR', | |
| help='warmup learning rate (default: 1e-5)') | |
| parser.add_argument('--min_lr', type=float, default=1e-6, metavar='LR', | |
| help='lower lr bound for cyclic schedulers that hit 0 (1e-5)') | |
| parser.add_argument('--final_div_factor', type=float, default=1e4, | |
| help='min_lr = initial_lr/final_div_factor for onecycle scheduler') | |
| parser.add_argument('--warmup_epoch', type=int, default=5, metavar='N', | |
| help='epochs to warmup LR, if scheduler supports') | |
| parser.add_argument('--decay_epoch', type=float, default=100, metavar='N', | |
| help='epoch interval to decay LR') | |
| parser.add_argument('--decay_rate', '--dr', type=float, default=0.1, metavar='RATE', | |
| help='LR decay rate (default: 0.1)') | |
| parser.add_argument('--filter_bias_and_bn', type=bool, default=False, | |
| help='LR decay rate (default: 0.1)') | |
| parser.add_argument('--patience', default=20, type=int, | |
| help='patient epochs for early stopping') | |
| parser.add_argument('--augment_eps', default=0.0, type=float, help='augment_eps') | |
| parser.add_argument('--removeTS', default=0, type=int, | |
| help='remove training and validation samples that have 30+% similarity to TS50 and TS500') | |
| # feature parameters | |
| parser.add_argument('--node_dist', default=1, type=int) | |
| parser.add_argument('--node_angle', default=1, type=int) | |
| parser.add_argument('--node_direct', default=1, type=int) | |
| parser.add_argument('--edge_dist', default=1, type=int) | |
| parser.add_argument('--edge_angle', default=1, type=int) | |
| parser.add_argument('--edge_direct', default=1, type=int) | |
| parser.add_argument('--edge_dist_remove_Ca', default=0, type=int) | |
| parser.add_argument('--edge_dist_remove_C', default=0, type=int) | |
| parser.add_argument('--edge_dist_remove_N', default=0, type=int) | |
| parser.add_argument('--edge_dist_remove_O', default=0, type=int) | |
| parser.add_argument('--virtual_num', default=3, type=int) | |
| parser.add_argument('--edge_dist_only_Ca', default=0, type=int) | |
| parser.add_argument('--edge_dist_only_Ca_Ca', default=0, type=int) | |
| parser.add_argument('--edge_dist_only_self', default=0, type=int) | |
| parser.add_argument('--Ca_Ca', default=1, type=int) | |
| parser.add_argument('--Ca_C', default=1, type=int) | |
| parser.add_argument('--Ca_N', default=1, type=int) | |
| parser.add_argument('--Ca_O', default=1, type=int) | |
| parser.add_argument('--C_C', default=1, type=int) | |
| parser.add_argument('--C_N', default=1, type=int) | |
| parser.add_argument('--C_O', default=1, type=int) | |
| parser.add_argument('--N_N', default=1, type=int) | |
| parser.add_argument('--N_O', default=1, type=int) | |
| parser.add_argument('--O_O', default=1, type=int) | |
| # debug parameters | |
| parser.add_argument('--proteinmpnn_type', default=0, type=int) | |
| parser.add_argument('--num_decoder_layers1', default=3, type=int) | |
| parser.add_argument('--kernel_size1', default=3, type=int) | |
| parser.add_argument('--act_type', default='silu', type=str) | |
| parser.add_argument('--num_decoder_layers2', default=3, type=int) | |
| parser.add_argument('--kernel_size2', default=3, type=int) | |
| parser.add_argument('--glu', default=0, type=int) | |
| parser.add_argument('--dihedral_type', default=0, type=int) | |
| parser.add_argument('--NAT', default=3, type=int) | |
| # AlphaDesign parameters | |
| parser.add_argument('--num_encoder_layers', default=10, type=int) | |
| parser.add_argument('--node_context', default=1, type=int) | |
| parser.add_argument('--edge_context', default=0, type=int) | |
| parser.add_argument('--AT_layer_num', default=3, type=int) | |
| # Adesign_plus parameters | |
| parser.add_argument('--att_layer', default=1, type=int) | |
| parser.add_argument('--cnn_layer', default=3, type=int) | |
| # refine | |
| parser.add_argument('--refine_seq', default=0, type=int) | |
| parser.add_argument('--refine_itr', default=3, type=int) | |
| parser.add_argument('--wandb', default=0, type=int) | |
| parser.add_argument('--egnn', default=0, type=int) | |
| return parser | |