File size: 6,333 Bytes
90d94ec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | import pandas as pd
import numpy as np
from sklearn.metrics import mean_squared_error, mean_absolute_error
from sklearn.metrics import r2_score
from scipy.stats import pearsonr
res = np.array(pd.read_excel('1_all_samples_metrics.xlsx', sheet_name='Sheet1')).T
sequence = res[1]
smiles = res[2]
Type = res[6]
Value = res[7]
Predict_Label = res[8]
Training_test = res[9]
print(sequence[0], smiles[0], Type[0], Value[0], Predict_Label[0], Training_test[0])
def Whole_dataset():
# Calculate the whole dataset
Pcc = pearsonr(Value, Predict_Label)[0]
RMSE = np.sqrt(mean_squared_error(Value, Predict_Label))
MAE = mean_absolute_error(Value, Predict_Label)
r2 = r2_score(Value, Predict_Label)
print('***The whole set***')
print('Pcc:', Pcc, 'RMSE:', RMSE, 'MAE:', MAE, 'r2:', r2)
def test_dataset():
# Calculate the test dataset
Value_test = []
Predict_Label_test = []
for i in range(len(Training_test)):
if Training_test[i] == 1:
Value_test.append(Value[i])
Predict_Label_test.append(Predict_Label[i])
Value_test = np.array(Value_test)
Predict_Label_test = np.array(Predict_Label_test)
Pcc_test = pearsonr(Value_test, Predict_Label_test)[0]
RMSE_test = np.sqrt(mean_squared_error(Value_test, Predict_Label_test))
MAE_test = mean_absolute_error(Value_test, Predict_Label_test)
r2_test = r2_score(Value_test, Predict_Label_test)
print('***Test set***')
print('Pcc:', Pcc_test, 'RMSE:', RMSE_test, 'MAE:', MAE_test, 'r2:', r2_test)
def Wildtype_all_dataset():
# Calculate the Wildtype/Mutant dataset
Value_wildtype = []
Predict_Label_wildtype = []
for i in range(len(Type)):
if Type[i] == 'wildtype':
Value_wildtype.append(Value[i])
Predict_Label_wildtype.append(Predict_Label[i])
Value_wildtype = np.array(Value_wildtype)
Predict_Label_wildtype = np.array(Predict_Label_wildtype)
Pcc_test = pearsonr(Value_wildtype, Predict_Label_wildtype)[0]
RMSE_test = np.sqrt(mean_squared_error(Value_wildtype, Predict_Label_wildtype))
MAE_test = mean_absolute_error(Value_wildtype, Predict_Label_wildtype)
r2_test = r2_score(Value_wildtype, Predict_Label_wildtype)
print('***The whole wildtype set***')
print('Pcc:', Pcc_test, 'RMSE:', RMSE_test, 'MAE:', MAE_test, 'r2:', r2_test)
def Wildtype_test_dataset():
# Calculate the Wildtype/Mutant dataset
Value_wildtype = []
Predict_Label_wildtype = []
for i in range(len(Type)):
if Type[i] == 'wildtype' and Training_test[i] == 1:
Value_wildtype.append(Value[i])
Predict_Label_wildtype.append(Predict_Label[i])
Value_wildtype = np.array(Value_wildtype)
Predict_Label_wildtype = np.array(Predict_Label_wildtype)
Pcc_test = pearsonr(Value_wildtype, Predict_Label_wildtype)[0]
RMSE_test = np.sqrt(mean_squared_error(Value_wildtype, Predict_Label_wildtype))
MAE_test = mean_absolute_error(Value_wildtype, Predict_Label_wildtype)
r2_test = r2_score(Value_wildtype, Predict_Label_wildtype)
print('***The test wildtype set***')
print('Pcc:', Pcc_test, 'RMSE:', RMSE_test, 'MAE:', MAE_test, 'r2:', r2_test)
def Mutant_all_dataset():
# Calculate the Wildtype/Mutant dataset
Value_wildtype = []
Predict_Label_wildtype = []
for i in range(len(Type)):
if Type[i] != 'wildtype':
Value_wildtype.append(Value[i])
Predict_Label_wildtype.append(Predict_Label[i])
Value_wildtype = np.array(Value_wildtype)
Predict_Label_wildtype = np.array(Predict_Label_wildtype)
Pcc_test = pearsonr(Value_wildtype, Predict_Label_wildtype)[0]
RMSE_test = np.sqrt(mean_squared_error(Value_wildtype, Predict_Label_wildtype))
MAE_test = mean_absolute_error(Value_wildtype, Predict_Label_wildtype)
r2_test = r2_score(Value_wildtype, Predict_Label_wildtype)
print('***The whole mutant set***')
print('Pcc:', Pcc_test, 'RMSE:', RMSE_test, 'MAE:', MAE_test, 'r2:', r2_test)
def Mutant_test_dataset():
# Calculate the Wildtype/Mutant dataset
Value_wildtype = []
Predict_Label_wildtype = []
for i in range(len(Type)):
if Type[i] != 'wildtype' and Training_test[i] == 1:
Value_wildtype.append(Value[i])
Predict_Label_wildtype.append(Predict_Label[i])
Value_wildtype = np.array(Value_wildtype)
Predict_Label_wildtype = np.array(Predict_Label_wildtype)
Pcc_test = pearsonr(Value_wildtype, Predict_Label_wildtype)[0]
RMSE_test = np.sqrt(mean_squared_error(Value_wildtype, Predict_Label_wildtype))
MAE_test = mean_absolute_error(Value_wildtype, Predict_Label_wildtype)
r2_test = r2_score(Value_wildtype, Predict_Label_wildtype)
print('***The test mutant set***')
print('Pcc:', Pcc_test, 'RMSE:', RMSE_test, 'MAE:', MAE_test, 'r2:', r2_test)
def New_substrate_enzyme_dataset():
# Calculate the test New_substrate_enzyme dataset
Trainingset_seq_smiles = []
for i in range(len(Training_test)):
if Training_test[i] == 0:
Trainingset_seq_smiles.append(sequence[i])
Trainingset_seq_smiles.append(smiles[i])
Value_test = []
Predict_Label_test = []
for i in range(len(Training_test)):
if Training_test[i] == 1 and (sequence[i] not in Trainingset_seq_smiles or smiles[i] not in Trainingset_seq_smiles):
Value_test.append(Value[i])
Predict_Label_test.append(Predict_Label[i])
Value_test = np.array(Value_test)
Predict_Label_test = np.array(Predict_Label_test)
Pcc_test = pearsonr(Value_test, Predict_Label_test)[0]
RMSE_test = np.sqrt(mean_squared_error(Value_test, Predict_Label_test))
MAE_test = mean_absolute_error(Value_test, Predict_Label_test)
r2_test = r2_score(Value_test, Predict_Label_test)
print('***The Test new_substrate_enzyme dataset***')
print('Pcc:', Pcc_test, 'RMSE:', RMSE_test, 'MAE:', MAE_test, 'r2:', r2_test)
if __name__ == '__main__':
# Whole_dataset()
# test_dataset()
# Wildtype_all_dataset()
# Wildtype_test_dataset()
# Mutant_all_dataset()
# Mutant_test_dataset()
New_substrate_enzyme_dataset()
|