import os
import sys
sys.path.append("..")  # add top folder to path

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import torch
import impepdom
import pickle

hla_allele = 'HLA-A01:01'
fold_idx = [0, 1, 2]
hla_a01_01 = impepdom.PeptideDataset(hla_allele, padding='after2', toy=True)
peploader = hla_a01_01.get_peptide_dataloader(fold_idx)
mlp = impepdom.MultilayerPerceptron()

folder = impepdom.train_nn(mlp,
                           peploader,
                           hla_allele,
                           fold_idx,
                           save_results=True)

predictions = mlp(torch.tensor(hla_a01_01.get_fold([3])[0]).float())
print(folder)
pred_path = os.path.join(folder, 'pred-3')
outfile = open(pred_path, 'wb')
pickle.dump(predictions, outfile)
outfile.close()
Beispiel #2
0
    'HLA-B07:02',  # >>> Khoi 2 <<<
    'HLA-A24:02',
    'HLA-B27:05',  # >>> Michael
    'HLA-A68:01'  # <<< Michael
]

hla_alleles_test = ['HLA-A01:01']
impepdom.time_tracker.reset_timer()  # start counting time

for i, hla_allele in enumerate(hla_alleles_test):  # change allele list here
    print(impepdom.time_tracker.now() +
          'working with allele {0} out of {1}'.format(
              i + 1, len(hla_alleles_test)))  # change allele list here

    dataset = impepdom.PeptideDataset(hla_allele=hla_allele,
                                      padding='flurry',
                                      toy=False)

    best_config = impepdom.hyperparam_search(
        model_type='MultilayerPerceptron',
        dataset=dataset,
        max_epochs=15,
        batch_sizes=[32],
        learning_rates=[1e-3],
        dropout_input_list=[0.75, 0.65],
        dropout_hidden_list=[0.50, 0.45],
        conv_flags=[False],
        num_conv_layers_list=[2],
        conv_filt_sz_list=[5],
        conv_stride_list=[1],
    )
import os
import sys
sys.path.append("..")  # add top folder to path

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import pickle

from sklearn.metrics import roc_auc_score
import torch
import impepdom

model = impepdom.models.MultilayerPerceptron(num_hidden_layers=2,
                                             hidden_layer_size=100)
dataset = impepdom.PeptideDataset(hla_allele='HLA-A01:01',
                                  padding='flurry',
                                  toy=True)

folder, baseline_metrics, _ = impepdom.run_experiment(model,
                                                      dataset,
                                                      train_fold_idx=[1, 2, 3],
                                                      val_fold_idx=[0],
                                                      learning_rate=2e-3,
                                                      num_epochs=5,
                                                      batch_size=32)

trained_model, train_history = impepdom.load_trained_model(model, folder)
impepdom.plot_train_history(train_history, baseline_metrics)