| |
| """ |
| Test script to verify the epitope prediction model is working correctly |
| """ |
|
|
| import sys |
| import os |
| import logging |
|
|
| |
| sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) |
|
|
| from model_predictor import EpitopePredictor |
|
|
| |
| logging.basicConfig(level=logging.INFO) |
| logger = logging.getLogger(__name__) |
|
|
| def test_model(): |
| """Test the epitope prediction model""" |
| logger.info("Starting model test...") |
| |
| try: |
| |
| logger.info("Initializing EpitopePredictor...") |
| predictor = EpitopePredictor() |
| logger.info("Model loaded successfully!") |
| |
| |
| model_info = predictor.get_model_info() |
| logger.info(f"Model info: {model_info}") |
| |
| |
| test_sequences = { |
| "Test_Sequence_1": "MKLLILTCLVAVALARPKHPIKHQGLPQEVLNENLLRFFVAPFPEVFGKEKVNEL", |
| "Test_Sequence_2": "GIVEQCCTSICSLYQLENYCN", |
| "Test_Sequence_3": "FVNQHLCGSHLVEALYLVCGERGFFYTPKT" |
| } |
| |
| for seq_name, sequence in test_sequences.items(): |
| logger.info(f"\nTesting sequence: {seq_name} (length: {len(sequence)})") |
| logger.info(f"Sequence: {sequence}") |
| |
| try: |
| |
| b_cell_epitopes, t_cell_epitopes = predictor.predict_epitopes(sequence) |
| |
| logger.info(f"Results for {seq_name}:") |
| logger.info(f" B-cell epitopes: {len(b_cell_epitopes)}") |
| for i, (epitope, confidence, pos_range) in enumerate(b_cell_epitopes[:3]): |
| logger.info(f" {i+1}. {epitope} (confidence: {confidence:.3f}, position: {pos_range})") |
| |
| logger.info(f" T-cell epitopes: {len(t_cell_epitopes)}") |
| for i, (epitope, confidence, pos_range) in enumerate(t_cell_epitopes[:3]): |
| logger.info(f" {i+1}. {epitope} (confidence: {confidence:.3f}, position: {pos_range})") |
| |
| except Exception as e: |
| logger.error(f"Error predicting epitopes for {seq_name}: {e}") |
| |
| logger.info("\nModel test completed successfully!") |
| return True |
| |
| except Exception as e: |
| logger.error(f"Model test failed: {e}") |
| return False |
|
|
| if __name__ == "__main__": |
| success = test_model() |
| sys.exit(0 if success else 1) |
|
|