Download scripts/process_feature/process_feature.py from OneScience-Group/MVGNN-PPIS: direct link, hf CLI and curl.
- Browser
- Download file 1.87 kB
-
https://huggingface.co/OneScience-Group/MVGNN-PPIS/resolve/main/scripts/process_feature/process_feature.py
- Command line
-
hf download hf://OneScience-Group/MVGNN-PPIS/scripts/process_feature/process_feature.py
-
curl -L -o process_feature.py https://huggingface.co/OneScience-Group/MVGNN-PPIS/resolve/main/scripts/process_feature/process_feature.py
1.87 kB
| # -*- coding: utf-8 -*- | |
| import pickle | |
| import numpy as np | |
| import torch | |
| from tqdm import tqdm | |
| from pad_feature import parse_fasta_file | |
| from get_dssp import get_dssp | |
| from get_SC_position import PDBFeature | |
| from get_SC_adj import prepare_adj | |
| from get_T5embedding import getT5 | |
| from pad_feature import prepare_features | |
| def process(dataset): | |
| #处理T5序列信息 | |
| getT5(dataset,'./T5raw/','0') | |
| data = parse_fasta_file(dataset) | |
| Max_protrans = [] | |
| Min_protrans = [] | |
| for i, ID in tqdm(enumerate(data.keys())): | |
| raw_protrans = np.load('./T5raw/' + ID + ".npy") | |
| Max_protrans.append(np.max(raw_protrans, axis = 0)) | |
| Min_protrans.append(np.min(raw_protrans, axis = 0)) | |
| if i == len(data) - 1: | |
| Max_protrans = np.max(np.array(Max_protrans), axis = 0) | |
| Min_protrans = np.min(np.array(Min_protrans), axis = 0) | |
| elif i % 5000 == 0: | |
| Max_protrans = [np.max(np.array(Max_protrans), axis = 0)] | |
| Min_protrans = [np.min(np.array(Min_protrans), axis = 0)] | |
| for ID in tqdm(data.keys()): | |
| # T5 | |
| raw_protrans = np.load('./T5raw/' + ID + ".npy") | |
| # print(f"Max_protrans: {Max_protrans}, Min_protrans: {Min_protrans}") | |
| protrans = (raw_protrans - Min_protrans) / (Max_protrans - Min_protrans) | |
| # torch.save(torch.tensor(protrans, dtype = torch.float), './T5norm/' + ID + '.tensor') | |
| np.save('./T5norm/' + ID + '.npy', protrans) | |
| #dssp | |
| get_dssp(ID, data[ID][0]) | |
| # SC prosition | |
| PDBFeature(ID, '../datasets/alphafold3pdb', './SC_position') | |
| # SC_adj | |
| prepare_adj(ID,869) | |
| # last | |
| prepare_features(ID, data[ID][1], 869) | |
| if __name__ == '__main__': | |
| fasta_file = '../datasets/PRO_Train_335.fa' | |
| process(fasta_file) | |
| fasta_file = '../datasets/PRO_Test_60.fa' | |
| process(fasta_file) | |