Download scripts/createTSV.py from OneScience-Group/NABP-LSTM-Att: direct link, hf CLI and curl.
- Browser
- Download file 2.91 kB
-
https://huggingface.co/OneScience-Group/NABP-LSTM-Att/resolve/main/scripts/createTSV.py
- Command line
-
hf download hf://OneScience-Group/NABP-LSTM-Att/scripts/createTSV.py
-
curl -L -o createTSV.py https://huggingface.co/OneScience-Group/NABP-LSTM-Att/resolve/main/scripts/createTSV.py
2.91 kB
| import pickle | |
| import random | |
| import os | |
| from _bootstrap import use_project_root | |
| use_project_root() | |
| random.seed(123) | |
| CDR_kmer = 3 | |
| Ag_kmer = 3 | |
| def sequence2tokens(seq, kmer): | |
| tokens = [] | |
| for i in range(len(seq) - (kmer-1)): | |
| tokens.append(seq[i:i + kmer]) | |
| return tokens | |
| def CDR_Ag_create_tsv(CDR_Ag_pairs, mode, CDR_kmer, Ag_kmer, CDR_TSV, Ag_TSV): | |
| f1 = open(CDR_TSV, "w") | |
| f2 = open(Ag_TSV, "w") | |
| for pair in CDR_Ag_pairs: | |
| ID = pair[0] | |
| CDR_seq = pair[2] | |
| Ag_seq = pair[3] | |
| label = pair[4] | |
| CDR_number = pair[5] | |
| label_str = str(label) | |
| CDR_number_str = str(CDR_number) | |
| CDR = str(CDR_seq).lower() | |
| CDR_tokens = "" | |
| tokens = sequence2tokens(CDR, CDR_kmer) | |
| for token in tokens: | |
| CDR_tokens = CDR_tokens + token + " " | |
| res = mode + "\t" + ID + "\t" + label_str + "\t" + CDR_tokens + "\t" + CDR_number_str | |
| f1.write(res + "\n") | |
| Ag = str(Ag_seq).lower() | |
| Ag_tokens = "" | |
| tokens = sequence2tokens(Ag, Ag_kmer) | |
| for token in tokens: | |
| Ag_tokens = Ag_tokens + token + " " | |
| res = mode + "\t" + ID + "\t" + label_str + "\t" + Ag_tokens + "\t" + CDR_number_str | |
| f2.write(res + "\n") | |
| def CDR_Ag_createTrainValTestTSV(): | |
| with open('conf/data/asPICKLE/train_CDR_antigen.pickle', 'rb') as binary_reader: | |
| train_CDR_antigen = pickle.load(binary_reader) | |
| with open('conf/data/asPICKLE/val_CDR_antigen.pickle', 'rb') as binary_reader: | |
| val_CDR_antigen = pickle.load(binary_reader) | |
| with open('conf/data/asPICKLE/test_CDR_antigen.pickle', 'rb') as binary_reader: | |
| test_CDR_antigen = pickle.load(binary_reader) | |
| # create tsv files for the train dataset | |
| CDR_TSV = "conf/data/asTSV/cdr_kmer" + str(CDR_kmer) + "_ag_kmer" + str(Ag_kmer) + "/CDR_tr.tsv" | |
| Ag_TSV = "conf/data/asTSV/cdr_kmer" + str(CDR_kmer) + "_ag_kmer" + str(Ag_kmer) + "/Ag_tr.tsv" | |
| CDR_Ag_create_tsv(train_CDR_antigen, "train", CDR_kmer, Ag_kmer, CDR_TSV, Ag_TSV) | |
| # create tsv files for the val dataset | |
| CDR_TSV = "conf/data/asTSV/cdr_kmer" + str(CDR_kmer) + "_ag_kmer" + str(Ag_kmer) + "/CDR_val.tsv" | |
| Ag_TSV = "conf/data/asTSV/cdr_kmer" + str(CDR_kmer) + "_ag_kmer" + str(Ag_kmer) + "/Ag_val.tsv" | |
| CDR_Ag_create_tsv(val_CDR_antigen, "val", CDR_kmer, Ag_kmer, CDR_TSV, Ag_TSV) | |
| # create tsv files for the test dataset | |
| CDR_TSV = "conf/data/asTSV/cdr_kmer" + str(CDR_kmer) + "_ag_kmer" + str(Ag_kmer) + "/CDR_te.tsv" | |
| Ag_TSV = "conf/data/asTSV/cdr_kmer" + str(CDR_kmer) + "_ag_kmer" + str(Ag_kmer) + "/Ag_te.tsv" | |
| CDR_Ag_create_tsv(test_CDR_antigen, "test", CDR_kmer, Ag_kmer, CDR_TSV, Ag_TSV) | |
| if not os.path.exists('./conf/data/asTSV'): | |
| os.makedirs('./conf/data/asTSV') | |
| CDR_Ag_createTrainValTestTSV() | |
| print("hello") | |