horsepurve / DeepRTplus

Deep (Transfer) Learning for Peptide Retention Time Prediction
MIT License
48 stars 22 forks source link

Prediction time scale #2

Open bfurtwa opened 6 years ago

bfurtwa commented 6 years ago

I trained a model with these parameters: conv1_kernel = 10 conv2_kernel = 10 min_rt = 0 max_rt = 61 time_scale = 60 max_length = 51

Is this model now restricted to input in the scale of the parameters also when predicting? e.g. RT in 0-61min, time_scale in sec and max length of the peptides = 51?

When predicting (python prediction_emb.py 100 model.pt 10 input_file.txt), what does the RT_scale mean? The observed values in the prediction_file are different from the RTs in the input_file, because they are multiplied with the RT_scale parameter?

obse,pred1=pred_from_model(conv1,conv1,round1model,RTtest,15)
pred_ensemble = pred1*scale
obse = obse*scale

I would like the output RTs to be between 0-100, independent of the input time.

horsepurve commented 6 years ago

Hi, yes, the min_rt, max_rt, and max_length need to be the same in training and prediction.

The parameter RT_scale means the max_rt (e.g. 61 in your training data). Because before training we use min_rt and max_rt to normalize all RT values to (0,1), when predicting we multiply max_rt to change them back to their original range (min_rt is normally 0).

So just use max_rt here. And all predicted RT values will be within (0,1) before multiplying this parameter.