├── README.md ├── data ├── ANF.csv ├── DNA_sequences.txt ├── Data_for_boxplot.tsv ├── Data_for_heatmap.tsv ├── Kmer.csv ├── Lysine_crotonylation.txt ├── Malonylation.txt ├── Merged_ANF_and_Kmer.csv ├── RNA_sequences.txt ├── binary.csv ├── binary_ind.csv ├── data.csv ├── data_for_hist.tsv ├── data_for_roc1.tsv ├── data_for_roc_curve.tsv ├── data_for_scatter_plot.tsv ├── lncRNA_sequences.txt ├── m1A_DNA_sequences.txt ├── mutitask.tsv └── peptide_sequences.txt ├── docs └── iLearnPlus_manual.pdf ├── iLearnPlus.py ├── iLearnPlusAutoML.py ├── iLearnPlusBasic.py ├── iLearnPlusEstimator.py ├── iLearnPlusLoadModel.py ├── images ├── Architecture.png ├── AutoML.png ├── Basic.png ├── Case_1.png ├── Case_2.png ├── DataVisualization.png ├── Estimator.png ├── LoadModel.png ├── iLearnPlus.png ├── logo.ico ├── logo.png └── progress_bar.gif ├── models ├── SVM_model_1.pkl ├── SVM_model_2.pkl ├── SVM_model_3.pkl ├── SVM_model_4.pkl └── SVM_model_5.pkl ├── requirements.txt └── util ├── CheckAccPseParameter.py ├── DataAnalysis.py ├── EvaluationMetrics.py ├── FileProcessing.py ├── InputDialog.py ├── MCL.py ├── MachineLearning.py ├── ModelMetrics.py ├── Modules.py ├── Nets.py ├── PlotWidgets.py ├── TableWidget.py ├── __init__.py └── data ├── AAidx.txt ├── AAindex.data ├── AAindex.txt ├── CTD.txt ├── DPCP.data ├── DPCP.txt ├── Grantham.txt ├── PAAC.txt ├── PCPsD.data ├── PCPsD.txt ├── Schneider-Wrede.txt ├── TPCP.data ├── TPCP.txt ├── __init__.py ├── __pycache__ ├── __init__.cpython-38.pyc ├── test.cpython-38.pyc └── tmp.cpython-38.pyc ├── blosum62.txt ├── diRNAPhyche.txt ├── didnaPhyche.data ├── didnaPhyche.txt ├── dirnaPhyche.data ├── test.py ├── tmp.py ├── triDNAPhyche.txt └── tridnaPhyche.data /README.md: -------------------------------------------------------------------------------- 1 | # *iLearnPlus*: a comprehensive and automated machine-learning platform for nucleic acid and protein sequence analysis, prediction and visualization. 2 | 3 | ## Introduction 4 | *iLearnPlus* is the first machine-learning platform with both graphical- and web-based user interface that enables the construction of automated machine-learning pipelines for computational analysis and predictions using nucleic acid and protein sequences. *iLearnPlus* integrates 21 machine-learning algorithms (including 12 conventional classification algorithms, two ensemble-learning frameworks and seven deep-learning approaches) and 19 major sequence encoding schemes (in total 147 feature descriptors), outnumbering all the current web servers and stand-alone tools for biological sequence analysis, to the best of our knowledge. In addition, the friendly GUI (Graphical User Interface) of *iLearnPlus* is available to biologists to conduct their analyses smoothly, significantly increasing the effectiveness and user experience compared to the existing pipelines. iLearnPlus is an open-source platform for academic purposes and is available at https://github.com/Superzchen/iLearnPlus/. The iLearnPlus-Basic module is online accessible at http://ilearnplus.erc.monash.edu/. 5 | 6 | ## Methods 7 | Four major modules, including *iLearnPlus-Basic*, *iLearnPlus-Estimator*, *iLearnPlus-AutoML*, and *iLearnPlus-LoadModel*, are provided in *iLearnPlus* for biologists and bioinformaticians to conduct customizable sequence-based feature engineering and analysis, machine-learning algorithm construction, performance assessment, statistical analysis, and data visualization, without additional programming.![iLearnPlus](https://github.com/Superzchen/iLearnPlus/blob/main/images/Architecture.png ) 8 | 9 | ## Running environment 10 | *iLearnPlus* is an open-source Python-based toolkit, which operates in the Python environment (Python version 3.6 or above) and can run on multiple operating systems (such as Windows, Mac and Linux). Prior to installing and running *iLearnPlus*, all the dependencies should be installed in the Python environment, including sys, os, re, PyQt5, qdarkstyle, numpy (1.18.5), pandas (1.0.5), threading, sip, datetime, platform, pickle, copy, scikit-learn (0.23.1), math, scipy (1.5.0), collections, itertools, torch (≥1.3.1), lightgbm (2.3.1), xgboost (1.0.2), matplotlib (3.1.1), seaborn, joblib, warnings, random, multiprocessing and time. **For convenience, we strongly recommended users to install the Anaconda Python environment in your local computer. The software can be freely downloaded from https://www.anaconda.com/.** 11 | 12 | ## Installation 13 | 14 | ### Method 1 15 | - Step 1. Download and install the anaconda platform. 16 | ```sh 17 | Download from: https://www.anaconda.com/products/individual 18 | ``` 19 | 20 | - Step 2. Install PyTorch: 21 | ```sh 22 | Please refer to https://pytorch.org/get-started/locally/ for PyTorch installation. 23 | ``` 24 | 25 | - Step 3. Install iLearnPlus through pip3: 26 | ```sh 27 | pip3 install ilearnplus 28 | ``` 29 | 30 | - Step 4. run iLearnPlus: 31 | ```sh 32 | $ python 33 | >>> from ilearnplus import runiLearnPlus 34 | >>> runiLearnPlus() 35 | ``` 36 | 37 | 38 | ### Method 2 39 | - Download *iLearnPlus* by 40 | ```sh 41 | git clone https://github.com/Superzchen/iLearnPlus 42 | ``` 43 | 44 | 45 | - Step 1. Download and install the anaconda platform. 46 | ```sh 47 | Download from: https://www.anaconda.com/products/individual 48 | ``` 49 | 50 | - Step 2. Install PyTorch: 51 | ```sh 52 | Please refer to https://pytorch.org/get-started/locally/ for PyTorch installation. 53 | ``` 54 | 55 | - Step 3. Install lightgbm, xgboost and qdarkstyle: 56 | ```sh 57 | pip3 install lightgbm 58 | pip3 install xgboost 59 | pip3 install qdarkstyle 60 | ``` 61 | 62 | - Step 4. run iLearnPlus: 63 | cd to the *iLearnPlus* folder which contains iLearnPlus.py and run the ‘iLearnPlus.py’ script as follows: 64 | ```sh 65 | python iLearnPlus.py 66 | ``` 67 | 68 | ## Guidance to use : 69 | Please refer to [*iLearnPlus* manual](https://github.com/Superzchen/iLearnPlus/blob/main/docs/iLearnPlus_manual.pdf ) for detailed usage. 70 | 71 | ## *iLearnPlus* interfaces: 72 | 73 | ### *iLearnPlus* main interface: 74 | 75 | ![iLearnPlus](https://github.com/Superzchen/iLearnPlus/blob/main/images/iLearnPlus.png ) 76 | 77 | ### *iLearnPlus-Basic* module interface: 78 | 79 | The *iLearnPlus-Basic* module facilities analysis and prediction using a selected feature-based representation of the input protein/RNA/DNA sequences (sequence descriptors) and a selected machine-learning classifier. This module is particularly instrumental when interrogating the impact of using different sequence feature descriptors and machine-learning algorithms on the predictive performance. 80 | 81 | ![Basic module](https://github.com/Superzchen/iLearnPlus/blob/main/images/Basic.png ) 82 | 83 | ### *iLearnPlus-Estimator* module interface: 84 | 85 | The *iLearnPlus-Estimator* module provides a flexible way to perform feature extraction by allowing users to select multiple feature descriptors. 86 | 87 | ![Estimator module](https://github.com/Superzchen/iLearnPlus/blob/main/images/Estimator.png ) 88 | 89 | ### *iLearnPlus-AutoML* module interface: 90 | 91 | The *iLearnPlus-AutoML* module focuses on automated benchmarking and maximization of the predictive performance across different machine-learning classifiers that are applied on the same set or combined sets of feature descriptors. 92 | 93 | ![AutoML module](https://github.com/Superzchen/iLearnPlus/blob/main/images/AutoML.png ) 94 | 95 | ### *iLearnPlus-LoadModel* module interface: 96 | 97 | The *iLearnPlus-LoadModel* module allows users to upload, deploy and test their models. 98 | 99 | ![LoadModel module](https://github.com/Superzchen/iLearnPlus/blob/main/images/LoadModel.png ) 100 | 101 | ### *iLearnPlus* Data visualization: 102 | 103 | ![Data visualizaiton](https://github.com/Superzchen/iLearnPlus/blob/main/images/DataVisualization.png) 104 | 105 | ## Application example 106 | ### Identification of lysine crotonylation site 107 | #### Estimate the performance of multiple feature descriptors using *iLearnPlus-Estimator* module 108 | Here, the *iLearnPlus-Estimator* module was used to comparatively assess the performance of different feature sets. We used the *iLearnPlus-Estimator* module in the standalone GUI version to load the data, produced seven feature sets (AAC, EAAC, EGAAC, DDE, binary, ZScale, and BLOSUM) and selected a machine-learning algorithm, the random forest algorithm (with the default setting of 1000 trees) to construct the classifier via 10-fold cross-validation. This analysis reveals that the model built utilizing the EGAAC feature descriptors achieved the best performance. 109 | 110 | ![Case study](https://github.com/Superzchen/iLearnPlus/blob/main/images/Case_1.png) 111 | 112 | #### Estimate the performance multiple ML algorithms using *iLearnPlus-AutoML* module 113 | Then, the *iLearnPlus-AutoML* module to comparatively evaluate the predictive performance across seven machine-learning algorithms: SGD, LR, XGBoost, LightGBM, RF, MLP, and CNN. We used the bootstrap tests to assess statistical significance of the differences between the ROC curves produced by these algorithms. 114 | 115 | ![Case study](https://github.com/Superzchen/iLearnPlus/blob/main/images/Case_2.png) 116 | 117 | The result shows that the deep-learning model, CNN, achieved the best predictive performance among all the seven machine-learning algorithms, with Acc=85.4% and AUC=0.823. 118 | 119 | #### Dataset download 120 | The lysine crotonylation datasets can be downloaded [here](https://github.com/Superzchen/iLearnPlus/blob/main/data/Lysine_crotonylation.txt ). 121 | 122 | *iLearnPlus* makes it easy and straightforward to design and optimize machine-learning pipelines to achieve a competitive (if not the best) predictive performance. 123 | 124 | ## Citation 125 | If you find *iLearnPlus* useful, please kindly cite the following paper: 126 | 127 | Zhen Chen, Pei Zhao, Fuyi Li, André Leier, Tatiana T Marquez-Lago, Yanan Wang, Geoffrey I Webb, A Ian Smith, Roger J Daly*, Kuo-Chen Chou*, Jiangning Song*, *iFeature*: a Python package and web server for features extraction and selection from protein and peptide sequences. *Bioinformatics*, 2018, 34(14): 2499–2502. https://doi.org/10.1093/bioinformatics/bty140 128 | 129 | Zhen Chen, Pei Zhao, Fuyi Li, Tatiana T Marquez-Lago, André Leier, Jerico Revote, Yan Zhu, David R Powell, Tatsuya Akutsu, Geoffrey I Webb, Kuo-Chen Chou, A Ian Smith, Roger J Daly, Jian Li, Jiangning Song*, *iLearn*: an integrated platform and meta-learner for feature engineering, machine-learning analysis and modeling of DNA, RNA and protein sequence data. *Briefings in Bioinformatics*, 2020, 21(3): 1047–1057. https://doi.org/10.1093/bib/bbz041 130 | 131 | Zhen Chen, Pei Zhao, Chen Li, Fuyi Li, Dongxu Xiang, Yong-Zi Chen, Tatsuya Akutsu, Roger J Daly, Geoffrey I Webb, Quanzhi Zhao*, Lukasz Kurgan*, Jiangning Song*, *iLearnPlus*: a comprehensive and automated machine-learning platform for nucleic acid and protein sequence analysis, prediction and visualization. *Nucleic Acids Research* , 2021;, gkab122, https://doi.org/10.1093/nar/gkab122 132 | -------------------------------------------------------------------------------- /data/Data_for_boxplot.tsv: -------------------------------------------------------------------------------- 1 | A B C D E F G H 2 | 11 27 9 27 16 4 25 19 3 | 7 23 19 20 8 4 19 4 4 | 12 5 19 6 14 9 4 23 5 | 22 22 28 6 11 2 17 2 6 | 15 26 20 21 21 4 25 16 7 | 19 26 7 19 2 2 21 29 8 | 2 2 24 4 15 29 4 9 9 | 11 5 19 1 26 3 27 18 10 | 24 9 15 28 11 1 17 1 11 | 12 4 23 13 13 10 7 3 12 | 25 16 20 27 21 2 2 24 13 | -------------------------------------------------------------------------------- /data/Data_for_heatmap.tsv: -------------------------------------------------------------------------------- 1 | B C D E F G H 2 | a 27 9 27 16 4 25 19 3 | b 23 19 20 8 4 19 4 4 | c 5 19 6 14 9 4 23 5 | d 22 28 6 11 2 17 2 6 | e 26 20 21 21 4 25 16 7 | f 26 7 19 2 2 21 29 8 | g 2 24 4 15 29 4 9 9 | h 5 19 1 26 3 27 18 10 | i 9 15 28 11 1 17 1 11 | j 4 23 13 13 10 7 3 12 | k 16 20 27 21 2 2 24 13 | -------------------------------------------------------------------------------- /data/RNA_sequences.txt: -------------------------------------------------------------------------------- 1 | >P_1|1|training 2 | CGCCUCCCACGCGGGAGACCCGGGUUCAAUUCCCGGCCAAU 3 | >P_2|1|training 4 | CCGGGUUCAAUUCCCGGCCACUGCACGUGGUUGUUUUUCAC 5 | >P_3|1|training 6 | GGCCGUGGGUGUGUAGAGGCCUUGGUGGUGCAGUGGUAGAA 7 | >P_4|1|training 8 | GUGCAGUGGUAGAAUUCUCGCCUCCCACGUGGGAGACCCGG 9 | >P_5|1|training 10 | UGACUGCAGAUCAAGAGGUCCCCGGUUCAAAUCCGGGUGCC 11 | >P_6|1|training 12 | GCUGAAGGCAUUCAAAGGUUCCGGGUUCGAGUCCCGGCGGA 13 | >P_7|1|training 14 | AGAUGUUGGUGGUAGUAGCACAUAUUCUAAAGAGAACUUCA 15 | >P_8|1|training 16 | AGCCCAGGGCUGGGCCCGGGCAGAGCCGCCGCAGGUGCAGA 17 | >P_9|1|training 18 | CUGCGGUGAGUCUUGAAGCCCAGGGCUGGGCCCGGGCAGAG 19 | >P_10|1|training 20 | UAUUUGAUCGGAUCGUGACCCCAGCCCCGCCGGGCCGACCC 21 | >P_11|1|training 22 | CGCUGUGGUCCCCGAGGUCCCGGAGCUGGCCCUGCGGGGCC 23 | >P_12|1|training 24 | GAGACUCUUAAUCUCAGGGUCGUGGGUUCGAGCCCCACGUU 25 | >P_13|1|training 26 | AGACGCCAGUAAUCAGUGCCCGGCUAGCUCAGUCGGUAGAG 27 | >P_14|1|training 28 | GGUUCGAAUCCGAGUCACGGCAGGUGGUUCUAACUUGCUGG 29 | >P_15|1|training 30 | UGCGUUGUGGCCGCAGCAACCUCGGUUCGAAUCCGAGUCAC 31 | >P_16|1|training 32 | GCGCCGCCUGGUUAGUGGCUCGCCGUGAUCGUAUAGUGGUU 33 | >P_17|1|training 34 | GCCUCACACGCGAAAGGUCCCCGGUUCGAAACUGGGCGGAA 35 | >P_18|1|training 36 | CAGGUUCCGCCUGUGGUUUCCGUAGUGUAGUGGUUAUCACG 37 | >P_19|1|training 38 | AGCGUGCUGGGCCCAUAACCCAGAGGUCGAUGGAUCGAAAC 39 | >P_20|1|training 40 | GUCGAUGGAUCGAAACCAUCCUCUGCUAUCGGAGUUUUUUC 41 | >P_21|1|training 42 | GUCGCAGUCUCCCCUGGAGGCGUGGGUUCGAAUCCCACUCC 43 | >P_22|1|training 44 | AGUGCCCUUGCCGAGAGCGGCUCGUUGGUCUAGGGGUAUGA 45 | >P_23|1|training 46 | CUUCGGGAGCGCCCGGAUAGCUCAGUCGGUAGAGCAUCAGA 47 | >P_24|1|training 48 | UUAGUACUUGGAUGGGAGACCGCCUGGGAAUACCUGGUGCU 49 | >P_25|1|training 50 | AACACGCCAGAUCUCGGAAACUAAGCAGGGUCGGGCCUGGU 51 | >P_26|1|training 52 | UGGUCUUGUAAACCAGGGGUCGCGAGUUCGAUCCUCGCUGG 53 | >P_27|1|training 54 | GAAGCUAAGCAGGGUCGGGCCUGGUUAGUACUUGGACGGGA 55 | >P_28|1|training 56 | UGGCCGAGUGGUCUAAGGCGCCAGACUCAAGGUAAGCACCU 57 | >P_29|1|training 58 | CCAUACCACCCUGAACGCGCCCAAUCUCGUCUGAUCUCGGA 59 | >P_30|1|training 60 | AUCUCUGUCUACGGCCAUACCACCCUGAACGCGCCCAAUCU 61 | >P_31|1|training 62 | CUGCUUUACACGCAGAAGGUCCUGGGUUCAAGCCCCAGUGG 63 | >P_32|1|training 64 | AAUCCAAUGGGGUCUCCCCGCGCAGGUUCGAACCCUGCUCG 65 | >P_33|1|training 66 | CUGCUGCCGUGAUCGUAUAGCGGUUAGUAGUCUGCGUUGUG 67 | >P_34|1|training 68 | GUGGAACCAUGAGAUGUUACCUAGCGUUUUGUGAGCCAGGU 69 | >P_35|1|training 70 | AAGGCGUUGGACUUAAGAUCCAAUGGAUUCAUAUCCGCGUG 71 | >P_36|1|training 72 | AAAUAGCUCAGUUGGGAGAGCGUUAGACUGAAGAUCUAAAG 73 | >P_37|1|training 74 | GGUUUGGGUCCGAGAGGUCCCGGGUUCAAAUCCCGGACGAG 75 | >P_38|1|training 76 | GUGCCUCUCAUGUACAAGGCCCUGAGUUUGACUCCCAGCAC 77 | >P_39|1|training 78 | AAGGCGUUGGACUCGAAAUCCAAUGGGGUUUCCCCGCACAG 79 | >P_40|1|training 80 | CCCGACGGGGAGGUGUGUAGCUGCACUUUUUUGGCGACAGU 81 | >P_39|1|training 82 | CUGCGCGAGCCACAGCCCAGCAGGACCUCGUGGCGCAACGG 83 | >P_42|1|training 84 | AACGGUAGCGCGUCUGACUCCAGAUCAGAAGGCUGCGUGUU 85 | >P_43|1|training 86 | UGCUUUGCAUGUAUGAGGCCCCGGGUUCGAUCCCCGGCAUC 87 | >P_44|1|training 88 | CCCGACGGGGAGGCCAAGUACGUUUUUACCAUUCUUCCGUA 89 | >P_45|1|training 90 | CGUAACGGCUGCCGAAAUAGCUCAGUUGGGAGAGCGUUAGA 91 | >P_46|1|training 92 | AGGUGGCCCGGGUUCGACUCCCGGUAUGGGAACGCUUCCUU 93 | >P_47|1|training 94 | UGGUCUAGCGGUUAGGAUUCCUGGUUUUCACCCAGGUGGCC 95 | >P_48|1|training 96 | UGGUUUUCACCCAGGCGGCCCGGGUUCGACUCCCGGUGUGG 97 | >P_49|1|training 98 | CCGCGCGAGGUCAGACUGGGCAGGAGAUGCCGUGGACCCCG 99 | >P_50|1|training 100 | UAAGAGUAUCUGUAUCGCGGCUCGUUGGUCUAGGGGUAUGA 101 | >P_51|1|training 102 | AUUUGUGGACAUCCUUAGGUCGCUGGUUCGAUUCCGGCUCG 103 | >P_52|1|training 104 | GUAGAGCGGAGGACUGUAGCCUGUAGAAACAUUUGUGGACA 105 | >P_53|1|training 106 | CAGUGUGCAUCCUUCGAUAGCUCAGCUGGUAGAGCGGAGGA 107 | >P_54|1|training 108 | UGACUACGGAUCAGAAGAUUCCAGGUUCGACUCCUGGCUGG 109 | >P_55|1|training 110 | GGGAUCGCGCCUGUGAAUAGCCACUGCACUCCAGCCUGGGC 111 | >P_56|1|training 112 | CUGGGCAACAUAGCGAGACCCCGUCUCUUUUGAACAAUAAA 113 | >P_57|1|training 114 | GGUGCUAAUAACGCCAAGGUCGCGGGUUCGAUCCCCGUACG 115 | >P_58|1|training 116 | AACGGUUACUUGUCAUCUCCCACAUGGUCUAGCGGUUAGGA 117 | >P_59|1|training 118 | GGUUCGAAUCCGAGUCACGGCAUUGUGGGAACAAUGGCACG 119 | >P_60|1|training 120 | GUAUAGUGGUUAGUACUCUGCGUUGUGGCCGCAGCAACCUC 121 | >P_61|1|training 122 | GGACUCUGAAUCCAGCGAUCCGAGUUCAAAUCUCGGUGGAA 123 | >P_62|1|training 124 | CCGAGGCCGCCCAGAGCCCUCCCCGGGAGACCCGAGGCCGC 125 | >P_63|1|training 126 | CAGUCGGUAGAGCAUGAGACCCUUAAUCUCAGGGUCGUGGG 127 | >P_64|1|training 128 | AACAUAUUGCAGCUGGGUAGCGUGGCCGAGCGGUCUAAGGC 129 | >P_65|1|training 130 | GGCCCGGGUUCGAUUCCCGGCCAAUGCAGCAGCUGAAAGCU 131 | >P_66|1|training 132 | AUUCUCGCCUGCCAUGCGGGCGGCCGGGCUUCGAUUCCUGG 133 | >P_67|1|training 134 | UGUCUAGUAAACAGGAGAUCCUGGGUUCGAAUCCCAGCGGU 135 | >P_68|1|training 136 | UGGUAUAGUGGUAAGCAUAGCUGCCUUCCAAGCAGUUGACC 137 | >P_69|1|training 138 | GACUCCAGAUCAGAAGGUUGCGUGUUCAAGUCACGUCGGGG 139 | >P_70|1|training 140 | CUUAAGAAGCCAGCAGGUCCCAUGGUGUAAUGGUUAGCACU 141 | >P_71|1|training 142 | UCCCAUGGUGUAAUGGUUAGCACUCUGGACUUUGAAUCCAG 143 | >P_72|1|training 144 | AAUCCCAGCGGUGCCUCAACCGAGCGUCCAAGCUCUUUCCA 145 | >P_73|1|training 146 | AUUCUCAAACUUUAAAUGGGCAAGAAGCCCAGCUAGCUCAG 147 | >P_74|1|training 148 | CAGUGCGAGCGGAGCAAUGCCGAGGUUGUGAGUUCGAUCCU 149 | >P_75|1|training 150 | GGUCACGACCCUCAGGCUUUCAAUCUGAGGGUCCAGGGUUC 151 | >P_76|1|training 152 | AGGCUUUCAAUCUGAGGGUCCAGGGUUCAUAUCCCUGUUCA 153 | >P_77|1|training 154 | CUCUUCGAAUGCACUUGCGGCCCGGGUUCCUCCCAGGGCUA 155 | >P_78|1|training 156 | GUGGUCUAGUGGUUAGGAUUCAGUGCUCUCUCAUAAAAUAA 157 | >P_79|1|training 158 | AGCACUCUGGACUCUGAAUCCAGCGAUCUGAGUCACGGCAC 159 | >P_80|1|training 160 | AAGCGGUUACCUCCUCAUGCCGGACUUUCUAUCUGUCCAUC 161 | >P_81|1|training 162 | AGUUCUUUAAUUGAAACAAGCAACCUGUCUGGGUUGUUCGA 163 | >P_82|1|training 164 | AGCAACCUGUCUGGGUUGUUCGAGACCCGCGGGCGCUCUCC 165 | >P_83|1|training 166 | AACCUCUGGGCUGGCUUUAGCUCAGCGGUUACUUCGCGUGU 167 | >P_84|1|training 168 | CUUUAGCUCAGCGGUUACUUCGCGUGUCAUCAAACCACCUC 169 | >P_85|1|training 170 | AGUGGUUAUCACGUUCGCCUCACACGCGAAAGGUCCCCGGU 171 | >P_86|1|training 172 | GAUGUAGCUCAGUGGUAGAGCGCAUGCUUUGCAUGUAUGAG 173 | >P_87|1|training 174 | AGUUAGAAUACAGACAUGGCCGCCCGGCUAGCUCAGUCGGU 175 | >P_88|1|training 176 | AGGACUGUAGGCUCAUUAAGCAAGGUAUCCUUAGGUCGCUG 177 | >P_89|1|training 178 | AGCAAGCCCUCUUAGCGCAGCUGGCAGCGCGUCAGUCUCAU 179 | >P_90|1|training 180 | AGUCUCAUAAUCUGAAGGUCCUGAGUUCAAGCCUCAGAGAG 181 | >P_91|1|training 182 | UCGCGGGUUCGAUCCCCGUACUGGCCAGACGUGACUUUUUA 183 | >P_92|1|training 184 | AGAAGAUUCUAGGUUCGACUCCUGGCUGGCUCGGGUGUUAA 185 | >P_93|1|training 186 | AGGAAAUGCUAGUUCAGCUUCAGGUUCCAUGGUGUAAUGGU 187 | >P_94|1|training 188 | AAUCCAUUGUGCUCUGCACGCGUGGGUUCGAAUCCCACCUU 189 | >P_95|1|training 190 | CAGACUCAAGUUGCUACUUCCCAGGUUUGGGGCUUCUGGUC 191 | >P_96|1|training 192 | GUGGUCUAAGGCGCCAGACUCAAGUUGCUACUUCCCAGGUU 193 | >P_97|1|training 194 | ACUGCUUCCUGUGUUCGGGUCUUCUGGUCUCCGUAUGGAGG 195 | >P_98|1|training 196 | AAAGGUCCCUGGAUCAAAACCAGGCGGAAACAAGUGGUUAC 197 | >P_99|1|training 198 | UCAAUUCUCACUCCCACCAGCAGGGUUGUUUCCGUAGUGUA 199 | >P_100|1|training 200 | GUUAGCUCAGUCGGCUAGAGCGUGGUGCUAAUAACGCCAAG 201 | >P_101|1|training 202 | AUCCUGGGUUCGAAUCCCAGCGGGGCCUUGAUUUCUGUACC 203 | >P_102|1|training 204 | UGGCUUAGCUGGUUAAAGCGCCUGUCUAGUAAACAGGAGAU 205 | >P_103|1|training 206 | GGAUGGCCGAGUGGUUAAGGCGUUGGACUUAAGAUCCAAUG 207 | >P_104|1|training 208 | AAAAGAAGAAGCUUUGUAACCGUUGGUUUCCGUAGUGUAGU 209 | >P_105|1|training 210 | CCCAGCGGGGCCUUGGUUGGCAAGGUCAGUGUGCCUUUCUG 211 | >P_106|1|training 212 | AAGCCAACAGAACUCUCAUGCGGUCAGGGGGUGUAGCUCAG 213 | >P_107|1|training 214 | UGAGGCCCCGGGUUCGAUCCCCGGCACCUCCAAAUGGUGGU 215 | >P_108|1|training 216 | ACCUCCAAGUGAUGGUUUCCCUCUGGCAGUUCUCAAGCGAC 217 | >P_109|1|training 218 | CGAUCCCCGACACCUCCAAGCGAUGGUUUUGCUCUGGUAGU 219 | >P_110|1|training 220 | CAAUCCCCGGCACCUCCAUUCCUUUUGCUUUUAAUUUUUUU 221 | >P_111|1|training 222 | UGUCCCAGGUGUCAGGAUGGCCGAGUGGUCUAAGGCGCCAG 223 | >P_112|1|training 224 | UGAAGGUCCUGAGUUCGAACCUCAGAGGGGGCAAGGCGUCU 225 | >P_113|1|training 226 | GAACGCGCCCGAUCUGGUCUCAUCUCGGAAGCUAAGCAGGG 227 | >P_114|1|training 228 | GUCAGUUACAGAUCGAACUCCUUGUUCUACUCUUUCCCCCC 229 | >P_115|1|training 230 | AUUACACUGUCCUCCUAUGACUGGGUGUAUGGCUCAGGGGU 231 | >P_116|1|training 232 | AGGGGACGCCGACACACGUACACGUCCCUUCGAUAGCUCAG 233 | >P_117|1|training 234 | UUAGGUCGCUGGUUCGAUUCCGGCUCGAAGGAGAGACACCC 235 | >P_118|1|training 236 | UAUGUAUACAUGUGCCAUGCCCGAUCUCGUCUGAUCUCGGA 237 | >P_119|1|training 238 | AAAACUUAAAACUUUACAGUCAGAGGUUCAAUUCCUCUUCU 239 | >P_120|1|training 240 | AGAACUGCUAACUCAUGCCCCCAUGUCUAACAACAUGGCUU 241 | >N_1|0|training 242 | GGGAGUGGGAACAGGAUUUGCAAGACUCCUAGUACCUAAAU 243 | >N_2|0|training 244 | GAAAUGGCCUCAUUUGAUAACUAGUAGGUUUUACACAGUGU 245 | >N_3|0|training 246 | GGGCAGCCUCCUUCUUGUCUCUGUUGUUGAGGAGUGGAAUG 247 | >N_4|0|training 248 | UCUUCAGGGUUUUCUAGGACCAAGGUGACAUUUCUACGAGG 249 | >N_5|0|training 250 | AAGAGAUAGGCUCUCACCUGCCUAAGGGCAGCAUCUUGUUU 251 | >N_6|0|training 252 | CGUGGAAAGGGAUUCAGAGACAGAGUCAAGAGAUGAUAGCA 253 | >N_7|0|training 254 | GGUGGUUCUAGUGAAGGCAGCAGCAAAGGGGGUAGAGGAGC 255 | >N_8|0|training 256 | GAUAAAUGCUGGGCCCAGGGCUGGGCAUAGCCUGCUGCACU 257 | >N_9|0|training 258 | CACUGGGUGUGCUGUAACAGCAAGGUUCAUCUGACUAUGUU 259 | >N_10|0|training 260 | GAAACAUUACCCCUCCCUUCCCGCACCAACGAUCUGCUUGU 261 | >N_11|0|training 262 | CUUUCCUAGGGAAUAAGAUACUGUUUUUACACAGGCAAAGG 263 | >N_12|0|training 264 | AAACCUUCUGUGGGACAGGCCCUCCACCCAAGGCCCUUUAA 265 | >N_13|0|training 266 | AAAUAAAAAAGAUCAAAGAGCUAAUAAGUGGUGGUCAGCAU 267 | >N_14|0|training 268 | CUGUCCUACUACUGCCCCCCCCCCAUCGUAUCAUAGAAAAA 269 | >N_15|0|training 270 | AAUAAGAAAAGGUGUCAGAUCUGAUGGUGGAUAAAUAAAGU 271 | >N_16|0|training 272 | AUCAGAAGCUGAAAUCACACCACAAGUAUCCCACUAGCUCC 273 | >N_17|0|training 274 | UUAUUUAUUAAAAAGUAAAUCGUUACUGGUGCUUGAUUACA 275 | >N_18|0|training 276 | UUUGCAGAAGCAAGCUCAGUCUCCUGAGAGUUCACGCUGAG 277 | >N_19|0|training 278 | CCAUCAGACGAGAGAGCUUACUAUUUAGAGAGCCUUCUGCU 279 | >N_20|0|training 280 | CCUGCCAGGAUGUGCUACCACAGGCUGUGCUCAACUGAACA 281 | >N_21|0|training 282 | GCAGACACUGCCAAAGGCAGCUGGAGCCCUACUAAGUGGAA 283 | >N_22|0|training 284 | CAUUGGUGCCUCAGACGUAACCAGUCUGUGGGAAGUAUGAA 285 | >N_23|0|training 286 | GCAACAUUCCCUGCUGGAGGCUCCAGGAUCCUAAGGGACAC 287 | >N_24|0|training 288 | ACCUGAUCGAUAGGGAGGAACAACACAUCAACCCUACCCCA 289 | >N_25|0|training 290 | GGUCCCGGAGAUUUCCUUGUCAGCCACCCUACCCUACUUGA 291 | >N_26|0|training 292 | UGCCCACAUGUGCACGCACACACACUCAUACCCGAACACAC 293 | >N_27|0|training 294 | UAUUGAAAUUCUAUCUCACCCUAGUCAGAAUGGCAAUCAUU 295 | >N_28|0|training 296 | GCAGAGAAGGGAGCCACGCACACUGUGGGUUGGAAUGUAAA 297 | >N_29|0|training 298 | UUUGCUCCUGACACCACGAUCCACUGCAUCCCUCCUUAAAC 299 | >N_30|0|training 300 | UCUAAGCCAAAUGAGCCCCACCCUCUUUUAAGUAGAUUCUU 301 | >N_31|0|training 302 | CAAGGUGAUCUAACAGAAUUCAUAAGGGAGAAAGUCAGGGU 303 | >N_32|0|training 304 | AGGUAAUAGCUCCCCUUUCUCUGCUUGUGACUUCCUGGCUC 305 | >N_33|0|training 306 | UGCCACAUGAACACGUAUGCCAAUGGACUCUGCUCCCGUGU 307 | >N_34|0|training 308 | UGCAGAGAAAAUGGAUUAAACUAGCUUGGUGUGGAUCACUU 309 | >N_35|0|training 310 | UGUUUAUUCAUUUGGCUAUUCCAUUGUUCCUGUACCAUCAA 311 | >N_36|0|training 312 | UCUUUCUCAGUUUGUUGGAGCAUCUCAGCCAGACAAGACGC 313 | >N_37|0|training 314 | CUGUUCCAAAGUGUUCUAUUCUUUAACACAUCAACGUUGUU 315 | >N_38|0|training 316 | AUUGAUCUUUUUAUGCCAUUCUAACUAAGUCAGAGCAGACU 317 | >N_39|0|training 318 | AUUCAGGAGGUCUCAGAACACAGGCACAAAUGAACAUGUUC 319 | >N_40|0|training 320 | UUUUUAAGGCUUUAUUGUCUCCUAAGACCUGCAACCAAAAA 321 | >N_41|0|training 322 | GCUUGGGGAGGUGAUUGUGUCACAAGGGCAGAGUUGUAGAG 323 | >N_42|0|training 324 | CAUUUGGAGAAUAAAAGUUACAUUUACAAAGAGUCUUCAUG 325 | >N_43|0|training 326 | CUUUCUCACUUCUAUAGCUACAAGAAGUAAGCUUCUGUGAU 327 | >N_44|0|training 328 | UCACAGCUGUAACCCCCCCCCCCCAAGUACUAGGAUCAGUU 329 | >N_45|0|training 330 | GGUCCUAGUCUUAAAUUGUGCUUUCUGCAUUUGUCACAGAA 331 | >N_46|0|training 332 | AUCACUAGCAUCCCCCUUCUCUGGGGCAUCAAGCCUCCACA 333 | >N_47|0|training 334 | GGACCAAGUGCAUUCCCUCCCAAUGAGGCCAGAAAAGGCAA 335 | >N_48|0|training 336 | AAACAGACUUUUUUUUAUAGCCAAGUUAUUUUUUUUUCUUU 337 | >N_49|0|training 338 | CUUCUAUCUUUCCUUUGCCUCAGAUAUUCAUCUUGGUUUGA 339 | >N_50|0|training 340 | UACAUUUAUUUUCUGACUAGCUGCAUGACCACUUUGCUUGU 341 | >N_51|0|training 342 | GAUUAUGGUUUACCACUCCUCAUCUCCUUCCAGAUCUUCCC 343 | >N_52|0|training 344 | CAUCUCCCUCCUGUCCAACUCCAUGCCUUAUAUGGUCUCUC 345 | >N_53|0|training 346 | CAGACACAUAUUUACACAUACACACACACACACUUUAUUUU 347 | >N_54|0|training 348 | AUAAUCACAAAAACUAGAAACCAUGAUAUAAGAGCAAACGU 349 | >N_55|0|training 350 | CCAGUAAGGUAAAAAAUACCCAAAGAAAGCAAUGUCAAUCA 351 | >N_56|0|training 352 | UGUAAGUGGCUGCACAACUUCACUCUUUUUCUGAUUUUAUC 353 | >N_57|0|training 354 | AAUGAGGUUUGACUUGAUUCCUAUUUUAGGUGCUUGUUUUG 355 | >N_58|0|training 356 | UUACAUGCAUUGCAGAUUUACUGGGUAGCUUGAAUGUAAGC 357 | >N_59|0|training 358 | CUUGAGCAAAAUUUAUAGAUCCUUGAAGUUGCAAAGUAGAC 359 | >N_60|0|training 360 | AUCGGUCCUCCAUUCGCUAACUAUAGUUUUUUUCCUAAAAG 361 | >N_61|0|training 362 | AGACAAGAACUCCUGUUGAUCCAUAUAUGUGCCAAACCUCA 363 | >N_62|0|training 364 | GAGCUGUCAAGGGCACACAUCUGAGAUACAUGAAUGCUGAG 365 | >N_63|0|training 366 | UAAGACAACAACAGAGUCUUCUUAGCGCAUCUUUGUGGUUU 367 | >N_64|0|training 368 | UGUCAGAAGAAUUACCAUGCCCAUUUCUCAUUUGUCAUUUC 369 | >N_65|0|training 370 | CUCUUAUGACUACUAUUUCACUCUCUUCUAUGAGGUCAAUU 371 | >N_66|0|training 372 | CUUAUCAAAGUCUAAAGUUACUUGGUAAUUGUAUUUCUUGG 373 | >N_67|0|training 374 | AUAAUUGGAAGAUUAUGAAACACUUUGUCAACCCACUUAAA 375 | >N_68|0|training 376 | AUGACAAUGUCCUCCUAUUUCUGUGUUAUACCUGCUUGAAG 377 | >N_69|0|training 378 | GGCUUGUGAGUCUUUGGGGGCAUUUUCUAAUUAAUGGGAGU 379 | >N_70|0|training 380 | CGAGGGAGACUUACCUCUUCCCAGGGCACUCAUAAGGUGUU 381 | >N_71|0|training 382 | GCCUUUACGUCAGUACCAGCCAUGUGGAAUGCUCUACAGGU 383 | >N_72|0|training 384 | ACCUCGAGGAAGGGGCACAACAACUGGAACUGUUUGCCAUA 385 | >N_74|0|training 386 | GGAAACACCCUUCUUCAGUACCCACCCUAGAAUGAACAAGA 387 | >N_75|0|training 388 | AUAGAGUUAUGCAAAAUUUUCUCUUGGAAUAUUCUUUUCUU 389 | >N_76|0|training 390 | UAGUGACAAUAGGCACAGAACAGUGGCAGCAGAGAAACAGU 391 | >N_77|0|training 392 | AUGUUAAGGACUGAAGAAUUCUGACAUUCUAUGUGUUCUGU 393 | >N_78|0|training 394 | CUUGAAGUGGAAACUUAAAGCUUCUGUGGAAAAGGUGUUGG 395 | >N_79|0|training 396 | GAAUAUUUCACUGAAGCAGACACAGGAAAAAGAAUGUUCUG 397 | >N_80|0|training 398 | AAAAAACUUCUGGUGGUGUGCUGUGGCUUCUUGCUGCUUCU 399 | >N_81|0|training 400 | UAUAAAAAGAACUCAACAGACAGUGGGAAGCAGAGCUUGGC 401 | >N_82|0|training 402 | CUCCAAAGAAUCCUUCUAAACAGGUCCAGUUCCACCAUAUC 403 | >N_83|0|training 404 | AGAGUAAAGCGGCAUUAAAUCAGGCACUUACAACCUCCAAC 405 | >N_84|0|training 406 | AAACAAUGAUAGCAUGUAUUCUCAAGGACACAGUGAUUUUU 407 | >N_85|0|training 408 | UUAAAUAAACAUGCUUGAGUCUGAGGUAAGAGAGGGCCUCC 409 | >N_86|0|training 410 | UUACUCUGAGAGUCCACUUUCAAAAAGCUUAGACAGCAAAU 411 | >N_87|0|training 412 | GCACAGACUGUCUCUCCUGUCACAGGUAUGUAUGUUCAUGU 413 | >N_88|0|training 414 | GGAUCAUGAGUUACCUCUUUCUUUCUCUCUCUGCAAGGCUA 415 | >N_89|0|training 416 | AGAGCUUCUCUCAAUUCUUCCCCCUCCCCCAUAGCUAUUUC 417 | >N_90|0|training 418 | AUAUUUUUCUAAUACUUCAUCCAACUCUCAAAGGAGAUGGC 419 | >N_91|0|training 420 | UUGCAUUUUCUCCCAUGUUACCUUUGAAAACACCUGUAGGU 421 | >N_92|0|training 422 | GUCUAAAGCCAUACCAUCUACACAAACAUGUAGAAGUUUGA 423 | >N_93|0|training 424 | GAUCCAGGGGGCAUCCCCAUCGUGCACACAGCCUCCCCGAG 425 | >N_94|0|training 426 | CCAUGUCCUCUAUUCCAUAGCCUGAAAACACAGCCAGUAGG 427 | >N_95|0|training 428 | UUUGAAAUUCCUUGUUCAUUCUUCUAUAAUCAGUCUGGCAC 429 | >N_96|0|training 430 | CUCAUGUACAUGGCGUAUUUCAGUUUUGUCACAAAAUUUGA 431 | >N_97|0|training 432 | CUACUUAAUAAUGUAAGAGUCACGUAAUUGAGGAUGGUAUU 433 | >N_98|0|training 434 | UGUGAGGCCAGAGAAAAGGACCUUAGGCAUCAUUUCACAGG 435 | >N_99|0|training 436 | CAGCAAGCAGCCAUCUCUCUCUCUCUCUCUCUCUCUCUCUC 437 | >N_100|0|training 438 | CAAAAAAGAACAAUAUAAACCGAUUUACACUAUAUAUAUAU 439 | >N_101|0|training 440 | UCUCUUGGCAAUCCUCCUACCCUAGCUGCCAAGUAUUUGAC 441 | >N_102|0|training 442 | UUUAACUAAUAUACUGGAAACAUAAAAAUAUUUAUAUUACC 443 | >N_103|0|training 444 | GCACUUCUUUAAUCUCUUUUCGCCUUAUUGGUUGAUAUAGG 445 | >N_104|0|training 446 | AUUUCUCACUGAAUCAAGCCCUUACUGGUUGGUUACAAUGG 447 | >N_105|0|training 448 | CCCAAUGCUGACAUAACAUGCUUAUGCUGUCUUCCUUGGAA 449 | >N_106|0|training 450 | UAGCACAGUAGUGUCAUCUGCAGCCAACUUGCUAUUAACCC 451 | >N_107|0|training 452 | UGCACCUGAACUUGUUGCUCCUUUUAACAGCAACAGUGCCC 453 | >N_108|0|training 454 | CAGCAGUGUCCCAGUGCAUUCAUUGCCCCAUGAGCAGCAUC 455 | >N_109|0|training 456 | UGGAUACAGAUGUCCUUUGCCUUACAGAAGCUUUGCAAUUU 457 | >N_110|0|training 458 | AAGAAAGAAAUUCACUUGGACUUGAGCUUUGUACAAGGACA 459 | >N_111|0|training 460 | GUAGGUGUGUGGGUUCAUUUCUGGGUCUUCAAUUCUAUUUA 461 | >N_112|0|training 462 | GGAUAUCAGUCUGGCAGUUCCUCAGAAAAUUGGACACGAGG 463 | >N_113|0|training 464 | UUGCAGCCCCAUAGGAGGAGCAACAAUAUAAACCAACCAGU 465 | >N_114|0|training 466 | ACACAUGAAGGGACUCAUGUCUCCAGCUGCAUAUGUAGCAG 467 | >N_115|0|training 468 | AGGGUGGCCAUGUCAGUCAUCAAUGGGAGGAGAGGCCCUUG 469 | >N_116|0|training 470 | GUCCUGUGAAGGUUCUGUGCCUCAGUGUAGGAGAAUGCCAU 471 | >N_117|0|training 472 | ACAAAUGAAGAAUGAGCCAUCUUAUACACAGACUCAGUCUU 473 | >N_118|0|training 474 | AGCAGAUCAUUACUGAAUAACACUAGGAGAAGGCACUUGAA 475 | >N_119|0|training 476 | GAUUCUUUCCUUAAGAUUUGCUUUAAUUUUAAUUAUUUGUA 477 | >N_120|0|training 478 | ACUCAGGUCUCCUUUGAGAGCAGAACUCAGUCUUAUGUGCU 479 | -------------------------------------------------------------------------------- /data/data_for_hist.tsv: -------------------------------------------------------------------------------- 1 | 3.004522802481200405e-01 2.196045202682576358e-01 7.924201917767069725e-01 -1.293371426248814959e+00 -5.975626052568514535e-01 4.688861337161239762e-01 5.152984924572058256e-01 -7.064355323319808644e-01 -1.103748821737459584e+00 -1.408231690330123409e-01 1.542114295503255850e+00 -1.381409624294349880e+00 -3.587716591307363867e-01 1.334907865133205584e+00 -7.824444451620680974e-02 -7.266587665775380289e-01 1.564697655234318141e+00 2.967475338772778692e-01 9.743213834492181480e-01 -2.075484405618552852e+00 2 | -7.835057095328490373e-02 9.803882989105827672e-01 1.771267268538048167e+00 6.579153595250120112e-01 1.425668710637294945e+00 1.706832367307955511e+00 -1.255211538745537814e+00 9.323599206456602007e-01 6.915356423516133555e-01 1.298928464065556732e+00 3.203413736999302652e-01 -7.886835620965924054e-01 3.079471846974041749e-01 -4.792005058464529066e-01 1.833657808822166002e+00 -4.717986108427756342e-01 9.560068862099537768e-01 -4.717333725561664859e-01 -8.669662912214424200e-01 -6.177113578057804588e-01 3 | 1.328665263032391630e+00 3.737206997206700756e-03 1.268421830201190481e+00 -3.858233696190981749e-02 2.895033164517125668e-01 -3.897392527836214260e-01 1.001184265388793682e+00 -5.107926335205770219e-01 -1.680461026357264354e+00 2.045338259873795916e+00 5.551892291339736163e-01 -1.368150478028822725e+00 -9.235825504964837451e-01 -7.811342111461145876e-01 -8.677252755471883683e-01 -1.157389278402954913e+00 -1.809346922821620796e-01 -3.399271178816159478e-01 -7.478245103543288419e-01 -2.261833296574392582e-01 4 | 1.100822685561069880e+00 -8.146512358047047764e-01 -1.729337951623588221e-01 -6.915324389860159071e-01 -9.011344295380168123e-01 1.109745667369862243e+00 9.785785493237536548e-01 7.588146672530668348e-04 -8.934237413898852287e-01 -5.543843568075443318e-02 9.861433523701605974e-01 -1.520114211225318313e+00 -3.094037889813984754e-01 -1.786689817560013882e+00 1.442938023392801083e+00 3.839789263786249629e-01 1.269021499500392058e-01 8.137107533182431629e-01 4.418985867316350680e-01 -1.411011334270393380e+00 5 | 2.637034697827258967e+00 -4.615374861083084701e-01 1.502991922286588178e+00 1.708615337021564651e+00 9.966901751057694048e-01 -1.025454441246025583e+00 1.330107937674561425e-01 5.369458437948870788e-01 7.466583461420570611e-01 -2.129518748480855317e-01 7.271933271690907141e-02 4.843910991010090261e-01 -1.581722365782235240e+00 -5.184815031418649189e-01 -1.742246362363866208e+00 2.490388312559587425e-01 -3.985367375596476913e-01 -8.826023659738259086e-01 1.703153047434185163e+00 9.392592453543455178e-02 6 | -2.351460545995602558e-02 -9.785666373222751124e-02 -4.556606424447873227e-01 -9.644540764891396806e-03 -6.190400268113066540e-01 2.970134686335497154e-01 -1.051437361073167126e-01 -6.428937970782292455e-01 6.699842037648914284e-01 9.746648182822880147e-01 3.997316924989467724e-02 -4.673390951589181941e-01 3.037530188989114865e-01 -9.277848636000138871e-01 -6.926464778257599431e-01 1.757230037582861337e+00 1.096289392764269399e+00 7.539896705885434924e-01 6.413464081114652604e-01 -2.806469708390260109e-01 7 | 6.171954067657486886e-01 -1.987214597537161065e-01 -3.776760086644396219e-01 -6.440358126193759802e-02 -1.392951481171740724e+00 -3.152291870487687331e-01 1.991207982758244066e-01 4.113087183223099186e-01 2.813056559906004228e-01 -6.914949862231045685e-01 -1.630026979659750797e-01 -4.568285322988494546e-01 5.646172059949307043e-01 -3.448617415355381688e-01 1.753331996182337482e+00 -2.171035090017609526e-01 -8.287692501845711490e-01 9.526467504999176494e-01 4.106210561284841520e-01 1.321318045602763447e-01 8 | 9.902565577604814928e-01 -1.477150861644443980e-01 1.115668198590917815e+00 6.427179812935766845e-02 -1.590034476065025348e+00 -1.941015731457391480e+00 -4.816227629375727237e-01 6.420657888169358785e-01 -1.064250208367046868e+00 1.506934881634205969e-01 1.408872800959490634e+00 4.521895046118254990e-01 -7.948035235410193522e-01 -1.414185336477856270e+00 -7.207241699815176705e-01 2.467140298515742847e-01 -9.589563996868972762e-01 -7.445487733886294590e-01 -1.049224145666254104e+00 -1.867871415120679890e+00 9 | 2.938716269091569799e+00 2.572170594892436490e+00 -5.450285073591580876e-01 5.473866956619503205e-02 5.074797736340678211e-01 1.350750933056059422e+00 4.900141854057670637e-02 -2.032392932954349696e-01 2.174980804928471900e-01 1.026559519879668647e+00 -4.738863056332622004e-02 -8.743428551034450047e-01 -1.937436256839155102e-01 -8.709624694793041133e-01 -1.070481356761774916e-01 3.152772014103871201e-01 -1.384561385778521059e+00 1.444117222681862711e-01 -7.121244245344107160e-01 1.304592430456234187e+00 10 | -4.533567831436090545e-01 -1.195951055939038055e+00 6.074247893349634664e-01 3.392990519741319599e-01 8.332316986785565094e-01 7.911358581716403382e-01 1.168985186585977498e+00 3.375803297695167071e+00 9.685031515867985608e-01 -3.861839020821891122e-01 6.857270921479212689e-01 5.008023464807833669e-01 -4.969327102699446219e-01 -9.755119369543098218e-01 -2.950503234675238562e-01 -5.026591163863572964e-01 -4.091819853979603017e-02 1.381368750460648664e+00 -6.189331038888085806e-02 -1.179390046378799850e+00 11 | -1.901180655125207508e-01 1.035310354176413927e+00 7.012584679921920472e-01 -9.171779325337434674e-01 8.029343719477363694e-02 4.917939894607482598e-01 -1.390755552373508452e+00 2.252939852923729058e-01 -7.034177684077166370e-01 -3.487632935564737302e-01 1.080739229763239884e+00 1.910963393256061682e+00 -2.460333233408182052e-01 -1.464966210965429338e+00 7.485419036256425740e-02 -1.308427634745245038e-01 -4.067561932994829821e-01 7.748271358159871669e-01 -7.882857405077835222e-02 -8.501979669389555516e-01 12 | -9.245453855979774982e-01 -1.452393014623573730e+00 1.884546754949368186e+00 -3.023528836981598245e-01 7.510097882075245090e-01 1.371796176878085305e+00 1.137050658305100992e+00 2.124020197983119917e+00 -1.182811669405115840e+00 9.524996515448357348e-01 7.052207952415634473e-01 8.723213087866367177e-01 -3.599298216773834658e-01 -7.226186128149260368e-02 -5.775449116511041092e-01 7.128893241562413996e-01 -1.366436276492794255e-01 -2.156196050836209910e-01 -5.231045098429609741e-01 3.140121493249233842e-01 13 | -1.023310558991356478e+00 -1.222974951915839215e-01 -1.477804406948611815e+00 -7.275219411311073525e-01 -1.268556792719095716e+00 -1.001265946493614001e+00 3.110380306616570945e+00 1.284921321735993660e-01 -3.082024889893207886e-01 -1.561245750528214460e+00 1.797503697375312792e-01 -1.548090010881801426e+00 4.739869784868079305e-01 7.261619005447624009e-02 -2.259556841162685625e+00 -1.854420577959633665e+00 7.740937234536968692e-01 5.372496819373490107e-02 2.922056926004630295e-01 2.389356372172706799e-01 14 | -2.014102214471828578e+00 6.047670233690844999e-01 -1.213964380027087175e+00 1.136197260012615118e+00 1.246941057845129680e-01 -8.529065984175508985e-01 -1.918160221679906241e-01 1.685887124211945087e+00 -1.663211811533615581e-01 1.511657606327432068e+00 -3.773627091359080254e-01 -7.056035667514518606e-01 -1.532758616970294918e+00 1.588982305624065186e-02 -7.700138412805004329e-01 2.304146846615969135e+00 -2.282230389466511911e-01 -2.678929279630188898e-01 -1.495172866930351632e-02 4.193470585393990757e-01 15 | 3.134719840112218936e-01 -4.937033884484211543e-01 5.997147294690807762e-01 -1.867034624517284469e-01 5.362126323275747536e-02 2.913185906461780716e-02 -3.539511095362120052e-01 1.948216083680096855e-01 -1.531699223721764591e+00 4.058853864726453264e-01 -1.194499171930558656e+00 1.570623236145944013e+00 -7.407527853162400033e-01 -2.486924506615892372e-01 3.625380866071901687e-01 -9.487144252528119104e-01 7.873912591834073549e-01 3.493053589998137975e-01 2.561658613960815511e+00 -2.531191512385200237e-01 16 | -8.542065132081860801e-01 -5.365876588266528524e-02 9.282222215560606005e-01 -1.443987853380295783e-01 -8.023143037524710711e-03 -3.737275235934605089e-01 -8.204048860499378870e-01 -1.899487419688389023e-01 -6.772131188941450386e-01 -1.052638447399062649e+00 7.178885663160890218e-02 3.694728254778437693e-01 2.732663009180743424e-02 -9.724683177723002503e-01 6.073082951775062716e-02 9.980154285246387591e-01 1.078167477463203294e+00 -3.147674061993161465e-01 2.606141574708303876e-01 -8.932642702608655227e-01 17 | -4.080636399720390939e-01 1.485121036491838901e-02 8.514257748916573831e-01 1.093793579993822540e+00 2.144003505596876469e-01 -3.139064172037721590e-01 -2.562868957881217380e+00 1.832013061539293552e+00 6.927721661842169976e-01 -9.180065817084539503e-01 -8.685856427506132293e-01 2.242759141596413652e+00 1.452433865026163118e-01 2.320005478577747693e-01 -6.070677761481404477e-01 -1.927830026002904373e-01 4.867869067903983771e-01 -6.067600349920898584e-01 -2.589706971515576273e-01 -3.053635164004158131e-01 18 | 6.674790708282845042e-01 -1.737503489749847807e+00 1.046794528495636811e+00 -9.613401237960487178e-01 -4.452957079310940203e-01 1.298494584937764040e+00 1.654836072922844403e+00 -3.532941267068191449e-01 1.326253637932176099e+00 3.403098430212617154e-01 -4.012939893073287356e-01 9.728640881869008439e-01 1.553406296438995804e-02 -1.097602296545337364e+00 -1.026284894769606826e+00 1.126974534687576579e+00 -5.483193586573740230e-01 -1.578130802659565957e+00 -4.595925817975408667e-01 -1.844850599688764747e+00 19 | -4.123701733809797543e-01 4.874777323481061519e-01 2.864733506674873031e-01 3.456009268733075540e-02 4.401898962427524542e-01 1.660821346642447738e+00 -9.895533516888019854e-01 -4.016389972543244480e-01 6.209228437201577133e-01 3.226633646229732505e-02 -2.135452874838314474e-01 -1.874939254219878393e-01 -1.448345697757874584e-02 -1.771750443514260587e+00 4.683930570011590744e-01 -2.477850902354812312e-01 -2.133172408793046149e+00 -3.317008629768678496e-01 6.619064118940938546e-02 -4.549603662319295916e-01 20 | -1.790585976976888927e-01 -5.022643605479818474e-01 -1.228251209408816713e+00 6.563762200695324456e-01 2.052118957741490279e-01 8.975294598163146009e-01 -6.901171591859632803e-01 -1.397547616666875991e-01 -8.845140214429069170e-01 -9.980728324046047595e-01 7.346319819320022704e-02 -9.118480613671534618e-01 -1.348997492169101697e+00 2.160538232000349002e+00 -6.697418787603333090e-01 1.196758811913346099e+00 2.329724186819114307e-01 -4.430950613126787528e-03 -1.097992259738419740e+00 -1.834685200290206986e+00 21 | -3.500995205727736592e-01 -9.862477931421906874e-01 -5.094438615704748041e-02 2.138293046678985398e-01 -2.889510742915903929e-01 -9.254531586112191288e-01 3.906965960478991223e-02 -1.242999127787515423e+00 1.391242356923310775e+00 -3.841881604570228370e-02 3.831457973353448454e-02 5.438689435476041778e-01 9.291366399487632766e-02 7.183611184379301573e-02 -1.272483621518330221e-01 2.333538801214165015e-01 -1.782056060624000571e+00 -7.514491489490202625e-01 6.533211383327364175e-02 -3.178404642645927813e-01 22 | -1.421253435212339357e-02 -8.224241276171191384e-01 1.014364746991967547e-01 5.464556752680328477e-01 -1.803511845005260905e-01 1.553810981983016593e+00 -1.096015654596934175e+00 -3.865795455386579482e-02 6.885472519585060791e-01 7.960343259722506559e-01 1.756072903752553982e+00 -1.641531987980264784e-01 1.641348334184576929e+00 8.655851113470390823e-01 7.491137074358129588e-01 -1.305532590035625606e+00 -8.497576755555321659e-01 1.412608516063626585e+00 -2.491290232174085129e-01 1.074134091924131784e+00 23 | 6.781837040068553479e-01 1.128841650498235483e+00 6.681923707363650600e-01 9.839468121422636354e-03 -4.744977766931512408e-01 -1.955209841790399583e-01 1.828983445566485733e+00 1.169465287797742947e+00 -1.886869572330884537e-01 -2.249362521615611288e-01 -5.744143086389350561e-01 3.497353992797708200e-01 -2.649137519030141941e-01 -8.678165457493423884e-02 9.486411262941110145e-01 -2.381476562293274313e-01 5.636721490693560321e-01 -1.046801251294479096e+00 9.545289650902946121e-01 -2.365307546070360978e-01 24 | 6.484167735072684513e-01 2.939865705580934074e-01 9.753632149290558662e-01 8.986158872053272573e-01 6.185733356568536845e-01 -1.371775919280469269e+00 1.296607869015968362e+00 -8.511056013663486075e-01 5.268697541123348316e-01 7.133055075313006199e-01 1.037019839932957987e+00 -1.633452179415255043e-02 -1.215228245013682873e+00 -1.291284506283156830e+00 -1.314151958064351700e+00 -2.123948546441713159e+00 4.166594239325908111e-01 -1.336203332742963878e+00 -1.331659246367544513e+00 -1.751903513878490193e+00 25 | 1.682608903255023991e+00 8.957747648842999677e-01 -5.601039826263228827e-01 2.625534552860180892e-01 1.543080938480153597e+00 1.662103730960420966e+00 -1.349945190999290556e+00 5.528238679408469247e-01 3.805964155140594274e-01 -3.878727060541663496e-01 -5.857265391263402066e-01 -3.460640115560968955e-01 -4.478737953287780238e-01 1.658860969495635107e+00 1.624300829518694478e+00 5.837885142159687790e-01 -2.249593530085977622e-01 -4.670776812471422734e-01 -1.322025340803858473e+00 -7.869232149691723910e-02 26 | 4.501764953497180977e-01 -6.986110862953146539e-01 -1.192710541493500059e-01 -5.267936478750898655e-01 1.810946982883764322e+00 -1.266673503561751790e+00 2.053521612016407261e+00 -1.138182783999297731e+00 1.805601672251043177e-01 8.468879279764948143e-01 -1.501740230304006385e+00 -1.400364553980432136e-01 7.142765836020270598e-01 -5.090125353132586294e-01 1.773300188958395474e-01 -2.197348849661064640e-01 -1.122235102354171676e+00 -8.169891077113671241e-01 9.425624406107426800e-01 -6.274015779684609662e-01 27 | -2.870204896710734643e-01 -1.341222240438202151e+00 1.530027548006574589e+00 1.477722566244680902e+00 -5.876889283293718069e-01 6.069260433591632253e-01 1.303519678558463291e+00 1.241659967296748102e+00 -2.712635964771915376e+00 5.584316503655960551e-01 -1.052984178175721652e+00 -7.178629592033292095e-02 -1.202923450144313566e+00 -4.932345858141890527e-01 -1.270128314710104123e+00 1.161963925075701676e+00 -1.678809942575659186e-01 7.751643952470149528e-03 -2.164043205140082193e+00 4.587908135048243130e-01 28 | -2.126756877911418098e+00 1.752460418226383654e+00 -1.066229909631676520e+00 -4.147089268692302211e-01 2.444894504952719039e-01 4.617895969799219458e-01 -6.033860677434544906e-01 1.634819937339995755e-01 7.270149668447662972e-01 7.799916306937180188e-01 -1.854182806752157298e+00 8.139492485435594338e-01 -1.147436219786610812e+00 -2.503661443730405889e+00 6.787161947684259289e-01 1.526429330311554144e+00 -2.815179622703752327e-01 -9.308272942504812464e-02 -6.079463214452821007e-02 4.832066300809922388e-01 29 | -5.289045407852610570e-01 1.704370031948035047e+00 -3.901072616622249800e-01 -1.525719148563192684e+00 -7.671306890157102432e-01 -4.602022708752845359e-01 8.681228015553805744e-01 5.351389782094562869e-02 1.306553949242438284e+00 8.456158540450555705e-01 1.924702747017665305e-01 2.258834261380970432e+00 -1.297460856494630388e+00 1.857449531073251947e+00 9.506110216878527197e-01 -1.166499859632198488e+00 -7.571318206399997308e-01 7.138494845942281453e-01 -4.013105670788583712e-01 1.318690639714440893e+00 30 | 4.115210419814241960e-01 7.864437000282606949e-01 -1.133211744171045421e-01 -1.637723381363431319e+00 -5.122711513275542972e-01 7.896089309862246441e-01 8.138189314963512055e-01 -7.852257759626468658e-01 -4.555389673517067084e-02 5.777459186159655813e-01 -1.395486311768044718e+00 -5.263798162290449500e-01 1.900919089377379190e-01 1.413123314238270201e+00 3.030355560599832243e-01 -8.122906003836467548e-01 3.667507915564275356e-01 1.048587578427001565e+00 6.777521785076939809e-02 -1.935751550491794371e+00 31 | 1.041440192594725422e+00 -8.010730936030310279e-01 1.273625935020442634e+00 -1.557595593068331841e+00 -3.720251406448357168e-01 -2.684113683017288476e+00 2.085883103991357679e+00 -1.604704631785177915e-01 -2.409310659155882994e-01 -1.186551055230101737e+00 -2.152241458090022319e-01 -1.008283354834987433e+00 -7.504532654342958853e-02 -2.172380826597128056e+00 -3.349215577655660359e-01 4.400113580067562813e-01 2.192952427806690086e+00 -4.154667038804205625e-01 6.679234033679540827e-01 4.670155783968377161e-01 32 | 3.988748610305067888e-01 5.645866882877845772e-01 -1.218022344091150844e+00 1.471299523987612823e-01 -7.349756491879794185e-01 -6.261945802610373313e-02 1.657632661900954041e+00 -3.783270253515247372e-01 1.548205639190654292e-01 1.230772226576668738e+00 -1.398789793125881642e-01 -7.055484111370847744e-01 1.808976343035627321e-01 7.170021977050727857e-01 3.411758840058811693e-01 8.629548463790755186e-02 1.344164338538258452e-01 -7.372665048060611515e-01 -1.111846186896736866e+00 6.110038388716505509e-01 33 | -2.240539348630545824e+00 -8.343994541285461308e-02 -1.389851627255593636e+00 -4.499761470413323750e-01 3.367632327790130026e-02 -1.131145895536103785e+00 1.419754683102088522e-01 6.126093663178218129e-01 -2.683781848561207495e-01 2.194251492649268442e+00 -8.205378543080564802e-01 -1.418156731934045789e+00 -5.954216435438473148e-02 3.321362423326598701e-01 -1.912281122765677965e+00 -4.249597001543283792e-01 1.231871686645136021e+00 -1.866423527434906693e-01 2.021263726293700103e+00 -9.625131088442684391e-01 34 | -7.338525965835405174e-01 8.444262963837903535e-02 -2.037711638549510873e-01 8.083371751570772590e-01 5.107729402301944832e-01 6.931038698122031771e-01 -2.583918983334513086e+00 -2.192019904726878021e+00 -1.866143428960152395e+00 -2.013789281773770701e-01 8.939852435619838333e-01 -9.054182057892155022e-01 2.893559803931100016e-01 7.934780294339449647e-01 6.593638039778244586e-01 -1.021172881120934850e+00 6.196490773316913614e-02 -4.922833766436614522e-01 2.507851925168308682e+00 3.697506251435865310e-01 35 | -4.455244812620131611e-01 2.568602840168170975e-01 4.924189273903674668e-01 1.829295508225216693e+00 2.344735620395405340e-01 4.582242054364548123e-01 -9.174664003375195831e-01 6.742001209327763700e-01 8.670329145870283583e-01 8.134215297840131642e-01 -1.873747480448082925e+00 4.524557398257198493e-01 -9.720836371948068377e-01 1.570186739692216726e-01 -1.181223584621971107e-01 -4.104047793332107896e-01 1.517468208947848618e-01 -6.159306981398309233e-01 -1.300641069383323911e+00 8.640631485133615231e-01 36 | 1.392070971837193305e+00 1.309960892867687354e+00 1.498626449812387351e+00 1.060194489272167750e+00 8.783630619029823006e-01 2.288253484112080516e-01 1.942188924227683522e+00 -1.231479163910760288e+00 -6.840077356071604109e-02 3.801942992346605821e-01 9.583829116230628831e-01 -6.015429721864752333e-01 -1.254857700092506745e+00 -3.423754459048508614e-01 -1.740549492676346954e+00 8.270374445251476025e-01 -1.638105469208400944e+00 1.015004398169465638e+00 -1.589601525040621910e+00 -1.282157166512824187e+00 37 | 1.601189996286506600e+00 3.968087576942735950e-01 -1.303028132459093102e-01 5.047730482801914276e-01 -2.323779684474238938e-01 1.269415657809140896e+00 1.078035242568293306e+00 -1.706512094711682082e+00 2.063328950557466457e-01 -5.887350369478557832e-01 -1.091944257794817741e+00 -5.195386737312133324e-02 -1.107160190220964208e-01 -2.371364514188230577e-01 1.772340606661966245e-01 8.060123129297245281e-01 1.481738209415799590e+00 -2.167661195947570563e-01 8.780013121772387574e-01 -5.086988914614384294e-01 38 | 9.762681326271316351e-01 -4.940607463866164561e-01 -1.399910488655305985e+00 2.689133724568547601e-01 2.885285753069295467e-01 -8.071134151799502776e-01 -4.951357661008189415e-01 -9.837314934914629383e-01 1.169337694460042959e-01 -1.625034418198285646e+00 -4.206795847090105678e-01 1.167660481584726240e+00 1.420154337267995226e+00 3.714266190013137958e-01 -6.260564217440476309e-01 -1.937586734402433564e+00 -5.721994373674208489e-01 -6.869731735588431309e-01 -1.722478621788492426e+00 -1.474082542838687448e+00 39 | -5.930179151567502860e-01 -1.756446744900351353e+00 -7.522215391371254167e-01 5.059561307700582988e-01 8.272410884906393758e-01 -4.732863883422157303e-02 -6.890080102262775563e-01 5.445650746378439822e-01 -1.963176164616462049e+00 -5.990056357877928672e-01 -3.704121697521985390e-01 -4.489572399555795124e-01 -1.668439299275831456e+00 -7.274493604889580300e-01 1.103932648234816183e+00 4.203537362502992453e-02 -3.192606489222324928e-01 5.878067338964606536e-01 5.754819159398620876e-01 -6.876334638997453341e-01 40 | 2.192262919592844472e-01 4.107135011548368464e-01 -1.545961052377951228e+00 -1.647211934816176004e+00 -1.022104160102284887e+00 -1.265240559494885009e+00 3.444651351479361967e-01 1.389370558547734946e+00 -4.247136769162377368e-01 -1.007256972082185342e+00 -5.414155327032022479e-03 3.430059027062253851e-01 7.622829089485466669e-01 -1.647000458609112483e+00 2.472947209261317780e-01 1.049610946903407754e-01 1.794400962983578873e+00 1.740521934013510852e-01 -9.595916406000311316e-02 -1.679327764191723971e-01 41 | -1.627945865368416900e+00 5.458248465245488790e-01 1.264299855125375238e+00 -8.113076098092095179e-02 -3.391824838410641418e-01 -1.945839990438639755e-01 9.943376813460328423e-01 6.440815308992549060e-01 -6.009362495680131699e-01 -1.196703819481554243e+00 -3.749321345309455378e+00 7.541210850170232405e-01 6.881177101058054690e-01 2.511404050856954617e-01 -1.433687722414643539e-01 -1.328508643247459320e+00 2.067728671507534255e+00 1.897606242329009374e-01 2.205737903906474173e+00 -5.422261063264990355e-01 42 | 2.524490914578900735e+00 6.706143476446111418e-01 -8.666486539210124240e-01 -5.599345691223447385e-01 5.246034753837918174e-01 -1.132672327958601732e+00 2.737699648899755700e-01 -7.987360455159641104e-01 1.124737154622145408e+00 -1.713088445601906595e-01 -3.998556757383420202e-02 -1.937725208798696697e+00 1.028718025924758139e+00 -5.102050157034524469e-01 9.447098735274790382e-01 -1.575234521279831768e+00 7.834898331008153249e-01 7.029450617703453252e-01 -4.185759763005924006e-01 1.214962339547895231e+00 43 | -3.415603553547297833e-01 2.899628943222194999e-01 3.741667148411018662e-01 -1.147219964555707516e+00 -3.332862475637409228e-01 5.942724636323752918e-01 9.112918486908144766e-01 1.604471955091936630e+00 3.533055127285652519e-01 9.975490224790705129e-01 -1.407211039962453780e+00 -7.999546925216440840e-01 -2.060280256152232092e-01 8.527659432120268113e-01 -5.358170209827256558e-01 1.940430838012244141e+00 1.967860081310463416e+00 1.262648405033928167e-01 -2.618800404560077677e-01 2.874084169520656484e-01 44 | -2.461035173129664244e+00 -7.005998564967635955e-01 -7.851779645811337582e-01 1.513569835479027237e+00 1.062962903870518616e+00 4.224670845680078557e-01 -2.845502198470540645e+00 3.986624369932054157e-01 6.178775782550453011e-01 -2.801214173791667372e-01 1.173283868336955527e+00 -6.190443852447825579e-01 -7.167412744445674777e-01 1.133448769070928286e+00 -2.655541269552667005e-01 -2.063239934677208592e-02 -5.323275735430741396e-01 6.139599915200506519e-01 -2.730601332499663858e+00 1.647018585483992714e+00 45 | 7.624215382957958420e-01 1.213702952696157217e-01 1.394107103170294237e-01 3.152893091462842801e-01 -2.889120160455765252e+00 -1.008096764903508191e+00 9.414794359196743123e-02 -3.106056552634632872e-01 -1.512008927506661049e+00 -1.340765804914571258e-01 4.471262908422437565e-01 -6.514208964691535486e-02 -2.124177911924242323e+00 -1.042229669621163035e+00 -4.057022970965196151e-01 2.637347930969232701e-01 -4.828453642989971595e-01 3.897923559848964215e-01 -4.004024338175585229e-01 -7.569865886632611840e-01 46 | -5.417193050704084412e-01 1.040300031038645212e+00 -5.410910929424253002e-01 -7.579475318271988726e-01 2.086582424209194875e-01 7.941752660518101026e-01 8.682803958365760133e-01 -1.207146847037727344e+00 -7.795371502425659793e-01 2.680056723048793721e-01 -3.385090914438770859e-01 -4.745447359914293228e-01 -6.547798891640913554e-01 1.175229971599042633e+00 1.778250002704958144e+00 2.799447586038363300e-01 6.025011584287617294e-01 3.416214546804080543e-01 1.188652606539675194e+00 -8.000031201763307953e-01 47 | -9.118688988280980734e-01 8.175473520980620634e-01 1.713549192338387872e+00 -3.019969985433764714e-01 1.026104743026139410e+00 -1.610765588402637838e-01 -1.146299272582311124e+00 -6.299757807493152617e-01 -1.215543067986751158e+00 1.492629827480561167e+00 7.682432990595325917e-01 3.490686359932416716e-01 -3.780437902298032782e-01 9.612847844918428475e-01 1.017105079666481782e+00 3.651795477438938842e-01 3.780248403236728394e-01 -2.466420819446218382e-01 8.523466460444160953e-02 1.418796013245590348e+00 48 | 1.518422357530189393e+00 2.839024521041569327e-01 1.190257352676872493e+00 4.783602455310771995e-01 -2.784511417390644894e-01 1.058235259898021807e+00 4.946028395636535291e-01 1.101272335811672054e+00 4.955049219568102292e-01 1.802350303912376994e-01 1.585687910291917468e-01 -1.018060647744620795e+00 -6.302619154870854334e-01 -4.887500887572703290e-01 1.451514997673296836e+00 -7.038088260672482610e-01 -2.413785026928181310e+00 1.091230579518336796e+00 -4.684938083573726986e-01 6.339646483484559676e-03 49 | -3.440158993554963129e-01 -3.132842425661754304e-01 -2.083749287258561123e-01 -4.167632868890286391e-01 -1.200914072423393097e+00 8.361431308581221411e-02 -3.534674140923379504e-01 1.210810337966668815e+00 7.656187396873200823e-01 -1.456921912159367671e-01 -6.896475885048911625e-01 -5.667537114614645821e-02 4.276986926943899814e-01 3.752303070990687939e-01 7.137418288095410679e-01 7.600655125814872459e-01 7.674160123293789493e-01 -1.621013089584113276e+00 -3.514477181278700124e-01 -1.295325719903772876e+00 50 | 8.604125921083018991e-01 2.446685201177170865e-01 -1.243246076531616229e+00 6.858857661739323763e-01 2.458697553673720171e-01 -1.102145378927455788e+00 -5.190927774164276753e-01 -1.850347319631678200e+00 -1.394354588797303895e+00 1.183425155625381198e+00 -2.787431505461968606e-01 -3.350289214946672312e-01 -1.004407797103175293e+00 -8.361529254395122512e-01 -6.290478239922396853e-01 -7.034354063166879945e-01 -1.396941960020448681e+00 -8.081325076732397417e-01 6.870369953595900636e-01 -3.442071558806462650e-01 51 | -------------------------------------------------------------------------------- /data/data_for_roc1.tsv: -------------------------------------------------------------------------------- 1 | Fold Label Score_0 Score 2 | NA 1.0 0.522 0.4779999999999999 3 | NA 1.0 0.462 0.538 4 | NA 1.0 0.522 0.4779999999999999 5 | NA 1.0 0.442 0.558 6 | NA 1.0 0.516 0.484 7 | NA 1.0 0.52 0.48 8 | NA 1.0 0.55 0.45 9 | NA 1.0 0.472 0.528 10 | NA 1.0 0.372 0.628 11 | NA 1.0 0.568 0.43200000000000005 12 | NA 1.0 0.36 0.6399999999999999 13 | NA 1.0 0.558 0.442 14 | NA 1.0 0.44400000000000006 0.5559999999999999 15 | NA 1.0 0.5439999999999999 0.45600000000000007 16 | NA 1.0 0.354 0.646 17 | NA 1.0 0.496 0.504 18 | NA 1.0 0.528 0.472 19 | NA 1.0 0.454 0.546 20 | NA 1.0 0.376 0.624 21 | NA 1.0 0.556 0.44399999999999995 22 | NA 1.0 0.434 0.5660000000000001 23 | NA 1.0 0.49400000000000005 0.506 24 | NA 1.0 0.434 0.5660000000000001 25 | NA 1.0 0.728 0.272 26 | NA 1.0 0.46399999999999997 0.536 27 | NA 1.0 0.584 0.41600000000000004 28 | NA 1.0 0.502 0.49800000000000005 29 | NA 1.0 0.394 0.6060000000000001 30 | NA 1.0 0.518 0.48200000000000004 31 | NA 1.0 0.442 0.5579999999999999 32 | NA 1.0 0.542 0.458 33 | NA 1.0 0.44800000000000006 0.5519999999999999 34 | NA 1.0 0.388 0.6119999999999999 35 | NA 1.0 0.42000000000000004 0.58 36 | NA 1.0 0.43199999999999994 0.5680000000000001 37 | NA 1.0 0.45199999999999996 0.5479999999999999 38 | NA 1.0 0.536 0.4640000000000001 39 | NA 1.0 0.392 0.608 40 | NA 1.0 0.496 0.5039999999999999 41 | NA 1.0 0.364 0.6359999999999999 42 | NA 1.0 0.546 0.454 43 | NA 1.0 0.41 0.59 44 | NA 1.0 0.294 0.7060000000000001 45 | NA 1.0 0.502 0.49799999999999994 46 | NA 1.0 0.374 0.626 47 | NA 1.0 0.472 0.5279999999999999 48 | NA 1.0 0.514 0.48599999999999993 49 | NA 1.0 0.39 0.6100000000000001 50 | NA 1.0 0.394 0.606 51 | NA 1.0 0.4 0.6 52 | NA 0.0 0.5760000000000001 0.42400000000000004 53 | NA 0.0 0.6359999999999999 0.364 54 | NA 0.0 0.5880000000000001 0.41200000000000003 55 | NA 0.0 0.398 0.6020000000000001 56 | NA 0.0 0.71 0.29000000000000004 57 | NA 0.0 0.532 0.46799999999999997 58 | NA 0.0 0.5900000000000001 0.41000000000000003 59 | NA 0.0 0.35 0.65 60 | NA 0.0 0.63 0.37 61 | NA 0.0 0.5359999999999999 0.4640000000000001 62 | NA 0.0 0.64 0.36 63 | NA 0.0 0.6639999999999999 0.33599999999999997 64 | NA 0.0 0.598 0.402 65 | NA 0.0 0.544 0.45600000000000007 66 | NA 0.0 0.55 0.45 67 | NA 0.0 0.704 0.296 68 | NA 0.0 0.662 0.33799999999999997 69 | NA 0.0 0.6920000000000001 0.308 70 | NA 0.0 0.514 0.48600000000000004 71 | NA 0.0 0.45999999999999996 0.5399999999999999 72 | NA 0.0 0.62 0.38 73 | NA 0.0 0.514 0.48600000000000004 74 | NA 0.0 0.528 0.472 75 | NA 0.0 0.518 0.48200000000000004 76 | NA 0.0 0.6119999999999999 0.388 77 | NA 0.0 0.646 0.354 78 | NA 0.0 0.57 0.43 79 | NA 0.0 0.5 0.5 80 | NA 0.0 0.454 0.546 81 | NA 0.0 0.546 0.454 82 | NA 0.0 0.5 0.5 83 | NA 0.0 0.54 0.45999999999999996 84 | NA 0.0 0.47000000000000003 0.53 85 | NA 0.0 0.518 0.48200000000000004 86 | NA 0.0 0.602 0.39799999999999996 87 | NA 0.0 0.434 0.5660000000000001 88 | NA 0.0 0.534 0.466 89 | NA 0.0 0.688 0.312 90 | NA 0.0 0.56 0.44000000000000006 91 | NA 0.0 0.62 0.38 92 | NA 0.0 0.638 0.362 93 | NA 0.0 0.496 0.504 94 | NA 0.0 0.632 0.368 95 | NA 0.0 0.57 0.43000000000000005 96 | NA 0.0 0.538 0.462 97 | NA 0.0 0.558 0.442 98 | NA 0.0 0.558 0.442 99 | NA 0.0 0.664 0.33599999999999997 100 | NA 0.0 0.6399999999999999 0.36 101 | NA 0.0 0.5700000000000001 0.43 102 | -------------------------------------------------------------------------------- /data/data_for_roc_curve.tsv: -------------------------------------------------------------------------------- 1 | Fold Label Score_0 Score 2 | 0.0 1.0 0.18 0.82 3 | 0.0 1.0 0.16 0.84 4 | 0.0 1.0 0.37 0.63 5 | 0.0 1.0 0.16 0.84 6 | 0.0 1.0 0.24 0.76 7 | 0.0 1.0 0.05 0.95 8 | 0.0 1.0 0.61 0.39 9 | 0.0 1.0 0.2 0.8 10 | 0.0 1.0 0.09 0.91 11 | 0.0 1.0 0.1 0.9 12 | 0.0 1.0 0.01 0.99 13 | 0.0 1.0 0.22 0.78 14 | 0.0 1.0 0.09 0.91 15 | 0.0 1.0 0.03 0.97 16 | 0.0 1.0 0.02 0.98 17 | 0.0 1.0 0.12 0.88 18 | 0.0 1.0 0.12 0.88 19 | 0.0 1.0 0.24 0.76 20 | 0.0 1.0 0.15 0.85 21 | 0.0 1.0 0.26 0.74 22 | 0.0 1.0 0.09 0.91 23 | 0.0 1.0 0.04 0.96 24 | 0.0 1.0 0.02 0.98 25 | 0.0 1.0 0.49 0.51 26 | 1.0 1.0 0.22 0.78 27 | 1.0 1.0 0.03 0.97 28 | 1.0 1.0 0.17 0.83 29 | 1.0 1.0 0.09 0.91 30 | 1.0 1.0 0.16 0.84 31 | 1.0 1.0 0.2 0.8 32 | 1.0 1.0 0.34 0.66 33 | 1.0 1.0 0.06 0.94 34 | 1.0 1.0 0.05 0.95 35 | 1.0 1.0 0.29 0.71 36 | 1.0 1.0 0.27 0.73 37 | 1.0 1.0 0.33 0.67 38 | 1.0 1.0 0.04 0.96 39 | 1.0 1.0 0.92 0.08 40 | 1.0 1.0 0.09 0.91 41 | 1.0 1.0 0.09 0.91 42 | 1.0 1.0 0.21 0.79 43 | 1.0 1.0 0.09 0.91 44 | 1.0 1.0 0.1 0.9 45 | 1.0 1.0 0.2 0.8 46 | 1.0 1.0 0.05 0.95 47 | 1.0 1.0 0.05 0.95 48 | 1.0 1.0 0.09 0.91 49 | 1.0 1.0 0.0 1.0 50 | 2.0 1.0 0.02 0.98 51 | 2.0 1.0 0.06 0.94 52 | 2.0 1.0 0.07 0.93 53 | 2.0 1.0 0.39 0.61 54 | 2.0 1.0 0.13 0.87 55 | 2.0 1.0 0.3 0.7 56 | 2.0 1.0 0.16 0.84 57 | 2.0 1.0 0.46 0.54 58 | 2.0 1.0 0.04 0.96 59 | 2.0 1.0 0.23 0.77 60 | 2.0 1.0 0.19 0.81 61 | 2.0 1.0 0.12 0.88 62 | 2.0 1.0 0.04 0.96 63 | 2.0 1.0 0.12 0.88 64 | 2.0 1.0 0.23 0.77 65 | 2.0 1.0 0.06 0.94 66 | 2.0 1.0 0.06 0.94 67 | 2.0 1.0 0.1 0.9 68 | 2.0 1.0 0.04 0.96 69 | 2.0 1.0 0.43 0.57 70 | 2.0 1.0 0.06 0.94 71 | 2.0 1.0 0.63 0.37 72 | 2.0 1.0 0.58 0.42 73 | 2.0 1.0 0.06 0.94 74 | 3.0 1.0 0.84 0.16 75 | 3.0 1.0 0.04 0.96 76 | 3.0 1.0 0.55 0.45 77 | 3.0 1.0 0.71 0.29 78 | 3.0 1.0 0.04 0.96 79 | 3.0 1.0 0.68 0.32 80 | 3.0 1.0 0.14 0.86 81 | 3.0 1.0 0.22 0.78 82 | 3.0 1.0 0.53 0.47 83 | 3.0 1.0 0.06 0.94 84 | 3.0 1.0 0.13 0.87 85 | 3.0 1.0 0.23 0.77 86 | 3.0 1.0 0.04 0.96 87 | 3.0 1.0 0.43 0.57 88 | 3.0 1.0 0.16 0.84 89 | 3.0 1.0 0.5 0.5 90 | 3.0 1.0 0.27 0.73 91 | 3.0 1.0 0.82 0.18 92 | 3.0 1.0 0.01 0.99 93 | 3.0 1.0 0.08 0.92 94 | 3.0 1.0 0.49 0.51 95 | 3.0 1.0 0.29 0.71 96 | 3.0 1.0 0.49 0.51 97 | 3.0 1.0 0.25 0.75 98 | 4.0 1.0 0.1 0.9 99 | 4.0 1.0 0.34 0.66 100 | 4.0 1.0 0.41 0.59 101 | 4.0 1.0 0.15 0.85 102 | 4.0 1.0 0.08 0.92 103 | 4.0 1.0 0.3 0.7 104 | 4.0 1.0 0.07 0.93 105 | 4.0 1.0 0.45 0.55 106 | 4.0 1.0 0.17 0.83 107 | 4.0 1.0 0.21 0.79 108 | 4.0 1.0 0.01 0.99 109 | 4.0 1.0 0.16 0.84 110 | 4.0 1.0 0.15 0.85 111 | 4.0 1.0 0.56 0.44 112 | 4.0 1.0 0.07 0.93 113 | 4.0 1.0 0.25 0.75 114 | 4.0 1.0 0.03 0.97 115 | 4.0 1.0 0.58 0.42 116 | 4.0 1.0 0.57 0.43 117 | 4.0 1.0 0.44 0.56 118 | 4.0 1.0 0.02 0.98 119 | 4.0 1.0 0.4 0.6 120 | 4.0 1.0 0.97 0.03 121 | 4.0 1.0 0.89 0.11 122 | 0.0 0.0 0.73 0.27 123 | 0.0 0.0 0.74 0.26 124 | 0.0 0.0 0.76 0.24 125 | 0.0 0.0 0.52 0.48 126 | 0.0 0.0 0.78 0.22 127 | 0.0 0.0 0.8 0.2 128 | 0.0 0.0 0.45 0.55 129 | 0.0 0.0 0.6 0.4 130 | 0.0 0.0 0.57 0.43 131 | 0.0 0.0 0.47 0.53 132 | 0.0 0.0 0.88 0.12 133 | 0.0 0.0 0.78 0.22 134 | 0.0 0.0 0.59 0.41 135 | 0.0 0.0 0.6 0.4 136 | 0.0 0.0 0.57 0.43 137 | 0.0 0.0 0.87 0.13 138 | 0.0 0.0 0.71 0.29 139 | 0.0 0.0 0.37 0.63 140 | 0.0 0.0 0.76 0.24 141 | 0.0 0.0 0.77 0.23 142 | 0.0 0.0 0.69 0.31 143 | 0.0 0.0 0.64 0.36 144 | 0.0 0.0 0.69 0.31 145 | 0.0 0.0 0.71 0.29 146 | 1.0 0.0 0.21 0.79 147 | 1.0 0.0 0.56 0.44 148 | 1.0 0.0 0.93 0.07 149 | 1.0 0.0 0.62 0.38 150 | 1.0 0.0 0.79 0.21 151 | 1.0 0.0 0.89 0.11 152 | 1.0 0.0 0.86 0.14 153 | 1.0 0.0 0.78 0.22 154 | 1.0 0.0 0.51 0.49 155 | 1.0 0.0 0.83 0.17 156 | 1.0 0.0 0.78 0.22 157 | 1.0 0.0 0.77 0.23 158 | 1.0 0.0 0.7 0.3 159 | 1.0 0.0 0.94 0.06 160 | 1.0 0.0 0.79 0.21 161 | 1.0 0.0 0.89 0.11 162 | 1.0 0.0 0.87 0.13 163 | 1.0 0.0 0.88 0.12 164 | 1.0 0.0 0.98 0.02 165 | 1.0 0.0 0.85 0.15 166 | 1.0 0.0 0.91 0.09 167 | 1.0 0.0 0.83 0.17 168 | 1.0 0.0 0.88 0.12 169 | 1.0 0.0 0.88 0.12 170 | 2.0 0.0 0.84 0.16 171 | 2.0 0.0 0.92 0.08 172 | 2.0 0.0 0.65 0.35 173 | 2.0 0.0 0.79 0.21 174 | 2.0 0.0 0.93 0.07 175 | 2.0 0.0 0.92 0.08 176 | 2.0 0.0 0.8 0.2 177 | 2.0 0.0 0.92 0.08 178 | 2.0 0.0 0.66 0.34 179 | 2.0 0.0 0.81 0.19 180 | 2.0 0.0 0.84 0.16 181 | 2.0 0.0 0.28 0.72 182 | 2.0 0.0 0.87 0.13 183 | 2.0 0.0 0.92 0.08 184 | 2.0 0.0 0.44 0.56 185 | 2.0 0.0 0.84 0.16 186 | 2.0 0.0 0.8 0.2 187 | 2.0 0.0 0.66 0.34 188 | 2.0 0.0 0.92 0.08 189 | 2.0 0.0 0.95 0.05 190 | 2.0 0.0 0.87 0.13 191 | 2.0 0.0 0.53 0.47 192 | 2.0 0.0 0.69 0.31 193 | 2.0 0.0 0.74 0.26 194 | 3.0 0.0 0.94 0.06 195 | 3.0 0.0 0.92 0.08 196 | 3.0 0.0 0.87 0.13 197 | 3.0 0.0 0.95 0.05 198 | 3.0 0.0 0.78 0.22 199 | 3.0 0.0 0.97 0.03 200 | 3.0 0.0 0.7 0.3 201 | 3.0 0.0 0.86 0.14 202 | 3.0 0.0 0.86 0.14 203 | 3.0 0.0 0.21 0.79 204 | 3.0 0.0 0.96 0.04 205 | 3.0 0.0 0.85 0.15 206 | 3.0 0.0 0.78 0.22 207 | 3.0 0.0 0.73 0.27 208 | 3.0 0.0 0.92 0.08 209 | 3.0 0.0 0.91 0.09 210 | 3.0 0.0 0.93 0.07 211 | 3.0 0.0 0.89 0.11 212 | 3.0 0.0 0.9 0.1 213 | 3.0 0.0 0.21 0.79 214 | 3.0 0.0 0.92 0.08 215 | 3.0 0.0 0.94 0.06 216 | 3.0 0.0 0.52 0.48 217 | 3.0 0.0 0.87 0.13 218 | 4.0 0.0 0.92 0.08 219 | 4.0 0.0 0.62 0.38 220 | 4.0 0.0 0.73 0.27 221 | 4.0 0.0 0.86 0.14 222 | 4.0 0.0 0.95 0.05 223 | 4.0 0.0 0.67 0.33 224 | 4.0 0.0 0.42 0.58 225 | 4.0 0.0 0.96 0.04 226 | 4.0 0.0 0.87 0.13 227 | 4.0 0.0 0.85 0.15 228 | 4.0 0.0 0.68 0.32 229 | 4.0 0.0 0.92 0.08 230 | 4.0 0.0 0.95 0.05 231 | 4.0 0.0 0.51 0.49 232 | 4.0 0.0 0.65 0.35 233 | 4.0 0.0 0.87 0.13 234 | 4.0 0.0 0.87 0.13 235 | 4.0 0.0 0.61 0.39 236 | 4.0 0.0 0.76 0.24 237 | 4.0 0.0 0.97 0.03 238 | 4.0 0.0 0.97 0.03 239 | 4.0 0.0 0.97 0.03 240 | 4.0 0.0 0.83 0.17 241 | -------------------------------------------------------------------------------- /data/data_for_scatter_plot.tsv: -------------------------------------------------------------------------------- 1 | Class X Y 2 | 0 -0.075818 0.047320 3 | 0 -0.001805 0.041651 4 | 0 -0.074490 -0.061401 5 | 0 -0.058749 0.010868 6 | 0 -0.061096 -0.008193 7 | 0 -0.055228 0.005364 8 | 0 0.031421 -0.057585 9 | 0 -0.127370 -0.030647 10 | 0 -0.085000 -0.013826 11 | 0 -0.079824 0.036915 12 | 0 -0.125747 0.023359 13 | 0 -0.049575 0.032365 14 | 0 -0.061943 -0.032536 15 | 0 -0.037887 0.003836 16 | 0 -0.058348 0.007492 17 | 0 -0.069608 -0.008787 18 | 0 -0.059544 -0.005489 19 | 0 -0.033975 0.003387 20 | 0 -0.062291 -0.031535 21 | 0 0.029104 0.045967 22 | 0 -0.075993 0.050155 23 | 0 -0.057892 0.005843 24 | 0 -0.062649 -0.024377 25 | 0 -0.029482 -0.037755 26 | 0 -0.051419 -0.023120 27 | 0 -0.047200 0.016593 28 | 0 -0.047490 -0.038596 29 | 0 -0.047980 -0.032064 30 | 0 -0.029652 0.067162 31 | 0 -0.021994 0.069943 32 | 0 -0.031278 -0.012082 33 | 0 -0.074603 0.058891 34 | 0 -0.031512 -0.008724 35 | 0 0.002757 -0.025270 36 | 0 -0.000100 -0.017830 37 | 0 0.007803 -0.067029 38 | 0 -0.072509 0.012706 39 | 0 -0.013112 0.038198 40 | 0 -0.036523 0.009440 41 | 0 -0.003190 -0.003957 42 | 0 -0.079590 -0.012041 43 | 0 -0.043429 -0.012042 44 | 0 -0.053742 0.041199 45 | 0 0.009263 0.039909 46 | 0 -0.032748 -0.053134 47 | 0 -0.071719 0.037347 48 | 0 -0.028342 0.022270 49 | 0 -0.073188 0.048137 50 | 0 -0.093320 -0.034610 51 | 0 -0.025067 0.003994 52 | 0 -0.014961 0.035175 53 | 0 0.006054 -0.067090 54 | 0 -0.045394 -0.027014 55 | 0 -0.027534 0.001684 56 | 0 -0.056801 0.002136 57 | 0 0.026246 -0.002117 58 | 0 -0.064113 0.005542 59 | 0 -0.009633 0.027082 60 | 0 -0.029379 -0.022567 61 | 0 -0.024660 -0.004011 62 | 0 -0.030285 0.026477 63 | 0 -0.133100 0.017866 64 | 0 -0.043669 -0.017425 65 | 0 -0.043946 -0.033965 66 | 0 -0.065454 0.001768 67 | 0 -0.056305 0.066597 68 | 0 -0.040632 -0.012304 69 | 0 -0.011777 -0.035079 70 | 0 -0.034451 -0.018919 71 | 0 -0.025057 -0.046074 72 | 0 0.000576 0.012123 73 | 0 -0.035635 0.056247 74 | 0 0.021209 -0.018846 75 | 0 -0.060370 -0.017679 76 | 0 -0.036975 0.035452 77 | 0 -0.015735 0.041893 78 | 0 -0.052056 0.067151 79 | 0 0.015007 -0.002757 80 | 0 -0.022248 0.030733 81 | 0 0.005921 0.075256 82 | 0 0.041819 0.008431 83 | 0 -0.055047 0.051595 84 | 0 -0.015680 0.032373 85 | 0 0.010664 0.020071 86 | 0 -0.050718 0.008940 87 | 0 0.002125 -0.030190 88 | 0 -0.042844 -0.033510 89 | 0 -0.011322 -0.015877 90 | 0 -0.042544 0.011291 91 | 0 -0.007570 -0.001632 92 | 0 -0.020463 0.032503 93 | 0 -0.029330 0.017712 94 | 0 -0.013037 -0.026358 95 | 0 -0.027371 0.047153 96 | 0 -0.007576 0.024956 97 | 0 -0.027777 0.003029 98 | 0 -0.020582 0.064553 99 | 0 -0.016974 -0.061726 100 | 0 -0.007575 0.038192 101 | 0 -0.033088 -0.040251 102 | 0 -0.028384 0.051024 103 | 0 -0.003576 -0.056865 104 | 0 -0.021405 -0.040579 105 | 0 0.033468 -0.054425 106 | 0 -0.041708 0.011988 107 | 0 -0.040840 -0.011297 108 | 0 -0.093890 0.035703 109 | 0 -0.014840 0.061940 110 | 0 -0.020210 0.049554 111 | 0 0.115294 0.105095 112 | 0 -0.076679 -0.021835 113 | 0 -0.050426 -0.010119 114 | 0 -0.046969 0.023745 115 | 0 0.011248 0.073112 116 | 0 -0.018563 0.012930 117 | 0 -0.033388 -0.001917 118 | 0 -0.049513 -0.006000 119 | 0 -0.010139 0.051828 120 | 0 0.076071 -0.004169 121 | 1 0.006657 0.000088 122 | 1 0.012049 -0.046158 123 | 1 0.058371 -0.031110 124 | 1 -0.002951 0.038071 125 | 1 0.038567 0.033956 126 | 1 0.003191 0.007573 127 | 1 -0.004798 -0.106952 128 | 1 -0.055261 -0.069872 129 | 1 -0.052816 -0.026367 130 | 1 -0.005665 -0.017649 131 | 1 -0.003031 0.055719 132 | 1 0.072585 -0.031642 133 | 1 -0.016435 0.033938 134 | 1 0.025370 -0.126738 135 | 1 -0.036141 0.018271 136 | 1 0.023825 -0.105125 137 | 1 0.006836 -0.026319 138 | 1 0.089446 -0.050692 139 | 1 -0.003966 -0.009845 140 | 1 0.022408 -0.025904 141 | 1 -0.018579 -0.021550 142 | 1 -0.029844 -0.064192 143 | 1 -0.012850 -0.030035 144 | 1 -0.028317 0.001153 145 | 1 -0.020756 -0.015939 146 | 1 -0.007412 0.037584 147 | 1 0.008332 -0.024008 148 | 1 0.039553 0.005646 149 | 1 -0.025598 -0.078638 150 | 1 0.011278 0.055009 151 | 1 0.041544 0.035447 152 | 1 0.002833 -0.077232 153 | 1 0.008351 0.079813 154 | 1 -0.011058 0.016504 155 | 1 0.022548 -0.081017 156 | 1 0.070366 0.049620 157 | 1 0.027221 0.022766 158 | 1 0.067636 0.022113 159 | 1 0.075439 0.001029 160 | 1 0.017315 -0.047768 161 | 1 0.093618 0.006036 162 | 1 -0.019292 -0.064740 163 | 1 0.097989 -0.058285 164 | 1 0.068880 0.014063 165 | 1 -0.067051 0.011718 166 | 1 0.067609 0.009879 167 | 1 -0.029116 0.066424 168 | 1 -0.022804 -0.015600 169 | 1 0.221676 0.060518 170 | 1 0.087659 0.085467 171 | 1 0.101827 0.034804 172 | 1 0.028893 0.100367 173 | 1 0.002916 0.119977 174 | 1 0.146774 -0.043591 175 | 1 0.057017 -0.105252 176 | 1 0.033411 -0.099328 177 | 1 0.102416 0.044611 178 | 1 0.092281 0.030397 179 | 1 0.043677 -0.040020 180 | 1 0.065027 -0.058727 181 | 1 0.073969 0.043968 182 | 1 0.022974 -0.004967 183 | 1 0.007364 -0.043370 184 | 1 0.059996 -0.004715 185 | 1 0.075795 0.028139 186 | 1 0.079827 0.076278 187 | 1 0.093092 -0.010114 188 | 1 0.081825 -0.051426 189 | 1 0.053875 0.036007 190 | 1 0.050018 0.009272 191 | 1 -0.018537 0.011019 192 | 1 0.000084 -0.004207 193 | 1 -0.005205 -0.026880 194 | 1 0.022765 -0.017898 195 | 1 0.129468 0.045665 196 | 1 -0.008285 -0.120895 197 | 1 0.053983 0.007347 198 | 1 0.037118 -0.071321 199 | 1 0.057789 -0.069582 200 | 1 0.024735 0.007534 201 | 1 0.016491 -0.107992 202 | 1 0.015884 0.015149 203 | 1 0.021712 -0.042676 204 | 1 0.082043 -0.022006 205 | 1 0.010378 -0.051514 206 | 1 0.056839 -0.041018 207 | 1 0.017696 0.020187 208 | 1 0.058487 0.113692 209 | 1 0.013284 0.120071 210 | 1 0.078560 0.028303 211 | 1 0.068065 0.032000 212 | 1 0.062659 -0.036178 213 | 1 -0.083459 0.034427 214 | 1 0.012431 -0.006589 215 | 1 0.070866 0.041644 216 | 1 0.093084 -0.006480 217 | 1 0.040612 -0.063599 218 | 1 0.011251 -0.057398 219 | 1 0.024581 0.241816 220 | 1 0.110774 -0.090536 221 | 1 0.019047 0.060411 222 | 1 0.126106 -0.071779 223 | 1 0.093262 0.062770 224 | 1 0.028330 0.015008 225 | 1 0.037270 0.011453 226 | 1 0.009770 -0.021242 227 | 1 0.033437 0.003326 228 | 1 -0.037021 -0.006494 229 | 1 0.069157 -0.017758 230 | 1 0.070231 -0.068018 231 | 1 0.042213 0.044606 232 | 1 0.000390 -0.035753 233 | 1 -0.011485 -0.056815 234 | 1 0.005080 -0.011650 235 | 1 -0.055135 -0.035559 236 | 1 -0.027973 -0.008419 237 | 1 0.048427 -0.035584 238 | 1 0.027443 -0.071646 239 | 1 0.168471 0.042921 240 | 1 0.016608 0.014818 241 | -------------------------------------------------------------------------------- /data/mutitask.tsv: -------------------------------------------------------------------------------- 1 | 2 1.3166238298703582e-50 4.711919915893893e-187 1.0 2 | 2 3.5594848420976875e-23 2.4872155767699318e-163 1.0 3 | 1 3.128740763774994e-07 0.9999996871259236 1.0805256751696018e-53 4 | 2 1.5355132831142192e-12 1.5001326404536897e-106 0.9999999999984646 5 | 1 3.3125272326769007e-62 1.0 6.495186170790664e-169 6 | 1 5.1200510424170475e-34 1.0 2.7780263903532557e-148 7 | 0 1.0 1.0525183404897057e-113 3.209860891111494e-27 8 | 0 1.0 8.780415060790512e-115 1.781806045921019e-37 9 | 1 0.999526528807783 0.0004734711922169807 1.2833531918274866e-57 10 | 2 1.0 4.5244522933137636e-240 2.8426693340589817e-23 11 | 0 0.8295994604625735 0.17040053953742648 2.477718629686723e-81 12 | 0 0.9999999999984961 1.874630075718743e-80 1.5039393343091308e-12 13 | 0 0.09624642744151828 7.398545531365224e-85 0.9037535725584817 14 | 2 6.1816584779325506e-27 5.548145980459889e-197 1.0 15 | 1 5.484612755598364e-41 1.0 6.322571588973447e-169 16 | 0 1.0 3.0122352545439862e-46 9.85373431174351e-23 17 | 0 1.0 1.3274735621698778e-47 1.262608799578977e-115 18 | 2 3.3738258195465325e-11 1.2648802983427496e-91 0.9999999999662617 19 | 2 2.44318508316671e-118 1.3296724145565792e-161 1.0 20 | 0 1.0 1.24390004536772e-102 2.3413875860037344e-17 21 | 2 1.5200097734314395e-96 2.610476877179015e-150 1.0 22 | 1 1.6359006108426905e-43 1.0 1.5110951325903244e-134 23 | 2 1.76399808986884e-16 6.731575616047644e-208 0.9999999999999998 24 | 2 2.2169586975909575e-43 1.7587701708372205e-200 1.0 25 | 0 0.9999967331765838 1.311095080419403e-88 3.2668234161182386e-06 26 | 0 1.0 5.13385728019845e-80 4.474529829527485e-37 27 | 0 1.0 4.786276530885824e-52 3.8404885161714663e-29 28 | 2 2.29337589868751e-13 2.4756026147076533e-109 0.9999999999997706 29 | 2 9.801727923075319e-43 1.596841453367514e-100 1.0 30 | 1 1.3454152380470238e-104 1.0 1.631822149948547e-193 31 | 1 6.107323363644595e-16 0.9999999999999993 4.0868123281102635e-146 32 | 1 9.47888896435119e-109 1.0 2.103392643400183e-187 33 | 0 1.0 2.4533945499495254e-125 1.3897128100095047e-32 34 | 0 1.0 2.756821918686447e-127 5.376454681474414e-53 35 | 0 1.0 5.4895240410022455e-53 2.129827421654865e-71 36 | 0 1.0 4.309477470406906e-46 1.9734571753153943e-63 37 | 0 1.0 1.4949443575462052e-110 1.0651016602158157e-24 38 | 0 0.9999998877101963 3.320224949753778e-100 1.1228980367308352e-07 39 | 0 1.0 4.288687743583967e-17 2.9991198827057195e-73 40 | 1 3.5515211821015866e-23 1.0 1.3744919970901856e-87 41 | 1 4.728758351562908e-18 1.0 1.416394261415982e-66 42 | 1 2.647144815038199e-23 1.0 8.165461798348234e-74 43 | 0 1.0 2.3103993439094804e-69 1.1405027298066062e-65 44 | 0 0.9759662509426575 2.9474769679907703e-64 0.024033749057342433 45 | 0 1.0 1.0445675323934646e-86 1.116048217640546e-30 46 | 0 1.0 2.261085535863945e-26 5.982407186524309e-70 47 | 0 1.0 7.74981618734194e-35 6.923144476678282e-84 48 | 0 1.0 2.5033291021935013e-47 1.619828699040178e-54 49 | 0 1.0 2.2024848915095387e-135 8.286801050055536e-24 50 | 0 1.0 8.064590825495926e-26 3.666842250171969e-95 51 | 1 3.3191978068718707e-68 1.0 6.446091896944025e-131 52 | 1 1.5893039630538038e-22 1.0 1.5419842380917834e-122 53 | 1 1.1362698773060124e-31 1.0 1.851259129835991e-117 54 | 1 4.2316687412397825e-59 1.0 6.742637523526429e-141 55 | 1 3.3484521313466194e-67 1.0 2.5266648579571275e-154 56 | 1 0.22798101884237296 0.772018981157627 1.6310400778296407e-90 57 | 1 7.467217415889729e-51 1.0 2.0526883949756854e-115 58 | 1 1.3855982766975355e-06 0.9999986144017233 2.9905652782958493e-85 59 | 1 3.102899809389886e-22 1.0 1.8917457290920005e-86 60 | 1 5.7557789989270946e-102 1.0 3.7226270366469145e-200 61 | 1 4.091740195717884e-93 1.0 7.371564193388512e-223 62 | 2 0.04684817516558779 2.8226979832884147e-30 0.9531518248344123 63 | 2 3.8219155965185815e-06 1.7730818613097305e-31 0.9999961780844034 64 | 2 0.0003379769786277346 4.645036396602215e-30 0.9996620230213723 65 | 2 0.00011245083683976362 1.986050573255196e-27 0.9998875491631602 66 | 2 1.0903801022147923e-07 1.1906984561847241e-30 0.9999998909619897 67 | 2 5.473719279271524e-10 1.1867307151129342e-29 0.9999999994526281 68 | 2 0.010589357179967517 4.243342342548947e-33 0.9894106428200325 69 | 2 7.826700443804315e-06 1.3341098106747763e-31 0.9999921732995563 70 | 2 3.5099490859654526e-14 9.019567446024013e-25 0.9999999999999649 71 | 2 0.0007324037136851165 0.0044548515459512305 0.9948127447403636 72 | 2 4.933328028516019e-16 2.4086305740386276e-26 0.9999999999999996 73 | 2 1.2659902852150322e-11 1.2183328390059192e-28 0.9999999999873401 74 | 0 0.9999999987951762 4.275821982423247e-18 1.204823760459845e-09 75 | 0 1.0 8.434048641217824e-24 9.064373712004506e-19 76 | 0 0.9999999963495725 2.0055305810624855e-28 3.650427426366217e-09 77 | 0 0.9999896523045095 2.0094608617158685e-11 1.0347675395854283e-05 78 | 0 0.9999999674075148 1.1297970709083295e-11 3.258118715038912e-08 79 | 0 0.9992855023585433 9.305100961881561e-32 0.0007144976414566997 80 | 0 0.9999999995464355 2.110858424579077e-13 4.533533965335725e-10 81 | 0 0.5200514948170852 0.4799485051829148 2.9328249143645833e-17 82 | 0 0.9999154333236373 3.1883644009372665e-15 8.456667635962632e-05 83 | 0 0.6413044914985098 4.5657615789194344e-17 0.35869550850149035 84 | 0 0.9998243902918873 0.00017560970332464228 4.78804086573797e-12 85 | 0 0.9999999999911613 2.4922111600015644e-16 8.838449537787305e-12 86 | 0 0.9999981106307628 1.3721826221693984e-23 1.8893692372003398e-06 87 | 0 0.9999976043294722 3.4384118028407375e-20 2.3956705279399005e-06 88 | 0 0.9999999995083755 4.644496496001719e-14 4.915781648498822e-10 89 | 0 0.9999999999879168 6.955670682686862e-16 1.2082658479692937e-11 90 | 0 0.9999998341078804 1.6589211952520616e-07 1.4408500300951962e-17 91 | 0 0.9999999183840969 6.903888480957657e-21 8.16159030400359e-08 92 | 0 0.9999999985405987 9.424497976208908e-10 5.169513097131243e-10 93 | 0 0.9999999999999787 4.888952287005492e-35 2.133721859640301e-14 94 | 1 4.173588372373443e-07 0.9999995826411628 3.8220613081576916e-25 95 | 1 4.457100991460117e-27 1.0 4.678635272125448e-44 96 | 0 0.9976738111488389 0.0023261888450281823 6.132696288530488e-12 97 | 1 9.375768977605541e-43 1.0 4.007885573660025e-64 98 | 1 6.561607002677154e-18 1.0 2.6386050922796063e-30 99 | 1 1.1335282034573978e-19 1.0 6.084107842844308e-41 100 | 0 0.9999999999935132 1.0471026001008798e-18 6.486885391340428e-12 101 | 0 0.9999997271610369 3.3135315709507625e-24 2.728389630491594e-07 102 | 0 0.9999879934450933 3.200749139841465e-36 1.2006554906810145e-05 103 | 1 6.663951171766706e-33 1.0 2.9853505410298036e-54 104 | 1 1.9465705997856805e-30 1.0 1.4122857602388573e-41 105 | 0 0.9999996379817022 3.574182477517665e-07 4.600049899069336e-09 106 | 1 7.360413402721716e-17 1.0 4.31190659450701e-33 107 | 1 3.5286695567981687e-16 0.9999999999999996 7.764885016291887e-34 108 | 1 2.6478106236131176e-13 0.9999999999997353 3.7781661432337712e-25 109 | 1 1.288876585416001e-10 0.9999999998711124 6.0284359757192885e-19 110 | 1 7.506257600952617e-13 0.9999999999992493 5.015939039487547e-29 111 | 1 7.64797721629996e-32 1.0 4.416417210734714e-51 112 | 1 8.808787314866906e-35 1.0 1.658201751369311e-55 113 | 1 1.0287061778789905e-17 1.0 6.651818441086025e-34 114 | 1 1.4023123938751248e-39 1.0 7.82530022194453e-56 115 | 1 2.746069161885273e-13 0.9999999999997253 9.542671003812476e-24 116 | 1 4.165521780460532e-12 0.9999999999958344 1.5442823009479646e-27 117 | 0 0.8533969798399106 8.950990740756607e-34 0.1466030201600895 118 | 1 7.894481541976291e-07 0.9999992105518458 6.135634318724919e-23 119 | 1 2.0895874811771563e-53 1.0 6.11338010851141e-78 120 | 1 0.0011469996455468904 0.9988530003543509 1.023295730631004e-13 121 | 1 5.461960361166196e-20 1.0 5.775745941349298e-28 122 | 2 1.3217987184678577e-71 1.993790149877303e-169 1.0 123 | 2 9.205202245434757e-63 9.782920542565838e-255 1.0 124 | 2 1.1969295164372149e-12 6.6336842691453794e-127 0.9999999999988032 125 | 2 1.3091390256669815e-68 4.5793631017647e-270 1.0 126 | 2 1.4469945593393612e-70 2.0454399706173084e-107 1.0 127 | 2 5.663090910837261e-07 5.598992280425672e-85 0.9999994336909089 128 | 2 3.225724143235788e-57 1.1259100884863028e-119 1.0 129 | 2 2.643180231221254e-58 2.608332920570925e-221 1.0 130 | 2 1.5905475917775687e-99 3.2502068740929513e-277 1.0 131 | 2 3.24434607625083e-48 8.0747897480641e-83 1.0 132 | 2 4.4781898556026214e-42 2.242381964792769e-165 1.0 133 | 2 3.837778187938153e-90 8.144225479583096e-266 1.0 134 | 0 1.0 1.289276679682343e-38 5.492486225867176e-88 135 | 0 1.0 2.6317167520569174e-31 1.0011333923532997e-56 136 | 1 9.788615351032085e-108 1.0 1.379533949294073e-173 137 | 1 1.9458132611313604e-113 1.0 2.6835099398903604e-223 138 | 1 3.8717433517224403e-22 1.0 7.350024743379321e-120 139 | 1 1.0471979265685248e-67 1.0 4.505621810799116e-116 140 | 1 8.274309724092449e-191 1.0 1.403719525720416e-296 141 | 1 4.042711572369834e-83 1.0 8.817539655298468e-151 142 | 0 1.0 5.472460573908561e-55 5.7891102737928764e-18 143 | 0 1.0 1.2194188500726134e-110 1.9189777779011616e-68 144 | 0 1.0 4.1482986613888563e-138 2.6571331916898517e-47 145 | 0 1.0 1.5334462164400146e-221 1.3474648725413959e-46 146 | 1 7.293504538064837e-137 1.0 1.6222133981303724e-211 147 | 1 2.0923336182997243e-43 1.0 1.7337815680295986e-82 148 | 1 4.173008509138536e-12 0.9999999999958267 2.485578701446637e-16 149 | 1 2.1873884975027863e-27 1.0 6.0189948260098595e-84 150 | 1 4.426381165690046e-158 1.0 3.6597597446777076e-255 151 | 0 1.0 4.767707521892408e-69 1.191675936035161e-98 152 | 1 2.6030586239322886e-07 0.9999997396941376 1.9827030667371976e-49 153 | 0 1.0 6.1232250781833726e-92 5.435701970821591e-122 154 | 0 1.0 5.768643712068745e-72 2.703503777216405e-56 155 | 1 8.117732378345585e-08 0.9999999188226761 1.1162583526520456e-64 156 | 0 3.771622292820891e-10 0.9999999996228377 3.5250594360713564e-129 157 | 1 5.638786696156129e-235 1.0 0.0 158 | 1 3.7203207671194967e-237 1.0 0.0 159 | 0 1.0 2.707639921723008e-107 1.0433414865485782e-83 160 | 1 1.2637745331340815e-38 1.0 2.9762651788487725e-70 161 | 0 1.0 1.0238784964292087e-201 1.385331312498868e-114 162 | 1 4.398676023598258e-118 1.0 8.803409003701663e-236 163 | 1 1.3615416972239445e-28 1.0 8.022352068779282e-42 164 | 1 1.1651341099560944e-190 1.0 1.6527532310836104e-295 165 | 0 1.0 4.7100094264541717e-94 1.4368239635139001e-90 166 | 0 1.0 2.938618220826197e-170 7.704620559466328e-27 167 | 1 3.0900014585267715e-140 1.0 1.375388215215462e-228 168 | 0 1.0 2.182809793226818e-38 1.2374436553344478e-78 169 | 0 0.9876682746044787 3.337632196363409e-82 0.012331725395521225 170 | 0 1.0 2.7774764942686824e-152 6.429088018806749e-37 171 | 1 2.6251479468082866e-153 1.0 7.564749365790969e-239 172 | 0 1.0 3.7138098578285184e-80 5.7826904700747835e-53 173 | 0 1.0 5.096581864915353e-286 5.6886697164856126e-114 174 | 1 1.351513693699793e-156 1.0 6.42064567884756e-239 175 | 0 1.0 4.984566401466806e-80 5.358919982356845e-53 176 | 0 0.9999951996969035 1.4437148184531956e-99 4.800303096465105e-06 177 | 0 1.0 2.774437880007864e-124 7.10911470224047e-58 178 | 0 1.0 3.282257032590242e-27 1.8963982432225593e-26 179 | 0 1.0 1.4299121881569493e-69 1.5415717783608563e-44 180 | 0 1.0 7.684272436254653e-65 1.7849742408841325e-66 181 | 0 0.9999999999676639 3.233618025627073e-11 9.595123989020916e-89 182 | 2 3.670174573367318e-11 8.029688928055652e-201 0.9999999999632982 183 | 2 1.087962154611372e-66 3.3200886276854276e-210 1.0 184 | 2 2.337018160305892e-10 1.5410149446932447e-151 0.9999999997662983 185 | 1 3.1607740127084544e-40 1.0 2.5129803780937926e-113 186 | 1 1.6011456356443753e-66 1.0 1.4941440111755228e-143 187 | 1 1.789727052825989e-35 1.0 1.5609534950868423e-106 188 | 1 1.8104894034576003e-34 1.0 9.789184380235162e-53 189 | 1 3.065168713923098e-46 1.0 1.2700872829010746e-121 190 | 1 3.3278200008083195e-55 1.0 8.275693200227991e-142 191 | 1 2.361805674168929e-40 1.0 7.217170516236211e-110 192 | 1 1.4051345115911074e-55 1.0 3.935976981357401e-91 193 | 0 1.0 5.885343277670501e-111 1.2959363781743106e-58 194 | 0 1.0 6.766270301041162e-39 6.715870806262435e-86 195 | 0 1.0 9.719633406923897e-22 3.6639546041790685e-44 196 | 0 0.9999999999234179 7.658198280300047e-11 2.018837640930516e-118 197 | 1 8.511773374750243e-62 1.0 3.522545530097758e-118 198 | 1 2.752603835854002e-73 1.0 4.288890147097024e-208 199 | 2 0.9955856009729761 4.358443954106466e-147 0.004414399027023804 200 | 0 1.0 2.498118807477432e-57 2.0875395969639193e-107 201 | 2 1.0980330028691628e-28 8.330013291094274e-81 1.0 202 | 0 1.0 6.053608288397185e-290 1.1165057331465868e-22 203 | 0 1.0 1.8121808184676435e-41 1.8294298749622698e-36 204 | 1 7.194944362300224e-18 1.0 4.159516689558431e-96 205 | 0 1.0 1.1387655180763816e-89 9.264667783232224e-76 206 | 1 1.0672621966729327e-124 1.0 2.3642986667795906e-165 207 | 0 1.0 2.404889655910748e-32 4.539440598023791e-71 208 | 0 1.0 1.5940752140781417e-87 2.8113125575505103e-103 209 | 2 2.5059626690404955e-27 2.5696536239515735e-92 1.0 210 | 0 1.0 2.5573539134798958e-118 1.724252449472791e-19 211 | 2 1.6253540651248104e-34 1.0412968849150808e-196 1.0 212 | 0 1.0 5.374048643406632e-101 2.4408036634907e-26 213 | 0 1.0 3.1991733603792176e-79 3.268637782494507e-81 214 | 1 3.9075087119727125e-52 1.0 2.268616364519801e-126 215 | 2 1.2846845253952256e-121 2.936761861202108e-279 1.0 216 | 0 1.0 1.4108388244917387e-84 3.414596931064898e-75 217 | 2 8.129392050229e-05 1.1872684714377659e-147 0.9999187060794977 218 | 1 2.1313830138991848e-39 1.0 1.9611091004371092e-88 219 | 2 2.3311857427848774e-39 1.1084640426597673e-218 1.0 220 | 1 0.9999276581854768 7.234181452323459e-05 3.699823337036661e-40 221 | 2 2.8833396840766807e-27 7.06179019984988e-112 1.0 222 | 0 1.0 2.0815107828065945e-143 8.719737968475052e-86 223 | 2 7.106957359557384e-49 4.163894747900289e-193 1.0 224 | 0 1.0 1.175015857255695e-88 7.271950840004597e-132 225 | 1 6.01038878069746e-257 1.0 0.0 226 | 0 1.0 5.740004710194033e-35 6.65898470155706e-97 227 | 1 7.806963106027634e-252 1.0 0.0 228 | 0 1.0 4.51220042158156e-246 8.746667838056992e-33 229 | 1 2.195254064140146e-12 0.9999999999978046 4.931557094983533e-53 230 | 0 0.9999999999999996 5.938628335252247e-67 3.9388439214704223e-16 231 | 0 1.0 8.724360173802251e-172 1.355536426163755e-46 232 | 0 1.0 9.32719941437914e-47 1.047312582187638e-39 233 | 1 9.259951129582835e-141 1.0 4.663455538399272e-213 234 | 0 1.0 8.422328324420974e-67 1.7942085367001892e-33 235 | 0 1.0 2.8860630294022397e-111 2.7899778295251942e-61 236 | 0 0.9999999999969678 7.797461327926475e-241 3.032160443420865e-12 237 | 0 1.0 6.198888263701043e-170 2.491681368893521e-17 238 | 0 1.0 1.1829562329455763e-28 1.0523712947401368e-85 239 | 1 9.708143252755668e-40 1.0 1.720754528029406e-120 240 | 1 2.045787573020774e-55 1.0 4.1848257957019926e-190 241 | 1 0.9991280672359446 0.000871932763377696 6.776456881817273e-13 242 | 2 0.0004592742471326202 3.003179575869834e-253 0.9995407257528672 243 | 2 7.404558524937752e-44 0.0 1.0 244 | 2 0.16701227091933885 9.693482931912617e-220 0.8329877290806612 245 | 2 2.1153277462848095e-57 2.27287e-318 1.0 246 | 2 1.0570199708954728e-63 2.4875934966895516e-164 1.0 247 | 2 0.9999999999663711 5.020999806791579e-301 3.362896751454022e-11 248 | 2 3.255779197638196e-162 1.0 5.873026884459814e-82 249 | 2 8.868769830243118e-75 8.9816202285828e-310 1.0 250 | 2 2.1879515670205096e-12 1.942880351185022e-274 0.999999999997812 251 | 0 1.0 1.4821082711337573e-215 8.399360947232458e-42 252 | 2 3.0708056915323296e-116 6.230121264747545e-282 1.0 253 | 0 1.0 2.3775279517466494e-165 7.728567554413145e-98 254 | 0 1.0 9.252893025210832e-73 1.0716671188249675e-65 255 | 1 5.001406362709332e-209 1.0 0.0 256 | 0 1.0 0.0 2.1329686305955864e-200 257 | 1 5.536473907087831e-102 1.0 6.22549054388765e-223 258 | 2 5.844397023799906e-113 0.0 1.0 259 | 1 2.3835056941634967e-89 1.0 3.7513534727559246e-230 260 | 0 1.0 1.0096877089799895e-30 6.109722907876805e-79 261 | 1 6.076981839377507e-51 1.0 4.859300466312892e-164 262 | 1 1.1249822028097496e-97 1.0 5.389365929426795e-215 263 | 0 1.0 2.743128242522611e-21 8.671525213626895e-102 264 | 1 7.59415410289085e-111 1.0 4.654084595709576e-196 265 | 1 2.6327398205151067e-294 1.0 0.0 266 | 0 1.0 0.0 2.1669694541454747e-224 267 | 1 0.0 1.0 0.0 268 | 1 3.5439875640391343e-253 1.0 0.0 269 | 0 1.0 1.5728128354871814e-159 3.0882568957389164e-62 270 | 1 2.045050928782309e-154 1.0 5.956041431041972e-267 271 | 0 1.0 9.631445731984368e-83 1.373752588068184e-96 272 | 0 0.9999999999887716 2.7754131555955446e-74 1.1228327461279776e-11 273 | 1 0.0 1.0 0.0 274 | 0 1.0 2.039408615350038e-154 9.240885253519691e-140 275 | 0 1.0 2.0733673075720606e-32 4.1823584367870856e-144 276 | 0 1.0 4.220644141551797e-53 2.0571613084162122e-106 277 | 0 1.0 1.5656650300092421e-117 1.1885448804362323e-100 278 | 0 1.0 4.1757520957241135e-82 6.628759977583543e-132 279 | 0 1.0 1.5768539655526989e-161 1.0046951062439192e-26 280 | 1 2.350940549247333e-247 1.0 2.641504373427249e-308 281 | 0 1.0 4.770746858915227e-173 6.386780934477563e-70 282 | 0 1.0 1.809620891789993e-43 4.1939496587312755e-66 283 | 0 1.0 0.0 2.4074557177993505e-88 284 | 1 5.737053352875024e-81 1.0 1.4051521635508452e-151 285 | 0 1.0 0.0 1.0211864846139151e-224 286 | 0 1.0 7.361275410679044e-217 9.354699238182083e-162 287 | 0 1.0 5.4120107927108854e-20 5.401758436533318e-87 288 | 1 1.3055948062182707e-59 1.0 4.773270848057504e-208 289 | 1 6.12441145817396e-58 1.0 1.6326886662875805e-123 290 | 1 9.708792975643207e-271 1.0 0.0 291 | 0 0.9998098917619042 0.0001901082380959722 1.599634265368552e-67 292 | 0 1.0 9.67455108890337e-97 3.1298753044768788e-112 293 | 0 1.0 2.3006180494144966e-60 4.3808800805883615e-151 294 | 1 6.999190563218621e-53 1.0 2.3920747330164298e-141 295 | 1 0.9999999978663927 2.1336073248053628e-09 3.709085710879814e-52 296 | 1 4.441504070765274e-140 1.0 2.9736973401133084e-193 297 | 1 2.876624151803273e-29 1.0 9.118559888179413e-112 298 | 0 1.0 1.878472980537283e-187 1.500720005281224e-107 299 | 1 0.0 1.0 0.0 300 | 1 3.300312155789985e-149 1.0 5.793983397368035e-262 301 | -------------------------------------------------------------------------------- /data/peptide_sequences.txt: -------------------------------------------------------------------------------- 1 | >A1L0T0227|1|training 2 | VLYPYFMVQKEMVPAKPPKGLVGRVVSWYLE 3 | >A1L0T0230|1|training 4 | PYFMVQKEMVPAKPPKGLVGRVVSWYLENYL 5 | >A1L0T0284|1|training 6 | SPQQVQRCVEILSRAKRPLMVLGSQALLTPT 7 | >A1L0T0599|1|training 8 | ARGLLLSRENEDQVVKVLHDAQQQCRDGHPV 9 | >A1X283805|1|training 10 | AAPTPGRALLVPPKAKPFLSNSLGGQDDTRG 11 | >A2A274545|1|training 12 | LKFNPETDYLTGTDGKKFRLEAPDADELPKG 13 | >A2A274559|1|training 14 | GKKFRLEAPDADELPKGEFDPGQDTYQHPPK 15 | >A2A274574|1|training 16 | KGEFDPGQDTYQHPPKDSSGQHVDVSPTSQR 17 | >A2A274616|1|training 18 | GKDLEDLQILIKVKGKCTTDHISAAGPWLKF 19 | >A2A274630|1|training 20 | GKCTTDHISAAGPWLKFRGHLDNISNNLLIG 21 | >A2A274755|1|training 22 | YNKIHPVDKLTIQGLKDFTPGKPLKCIIKHP 23 | >A2A274761|1|training 24 | VDKLTIQGLKDFTPGKPLKCIIKHPNGTQET 25 | >A2A274764|1|training 26 | LTIQGLKDFTPGKPLKCIIKHPNGTQETILL 27 | >A2RRP1679|1|training 28 | ELLKLVNFSKLTLEQKELCRCRRKLLTYLDR 29 | >A2RRP11057|1|training 30 | QILSVSELLEKHGLEKPISFVKNTQSSSEEA 31 | >A2RUC4194|1|training 32 | LFSPRDAQYLYLKGTKSEVLNIDNPDLAKYP 33 | >A3KMH1989|1|training 34 | PYSTREVVNIVKHLQKFPTEGLSSVVRNVFD 35 | >A3KMH11030|1|training 36 | ILINTLHKYGIPIGAKPTSVQLAKELTLPEQ 37 | >A3KMH11286|1|training 38 | TVFLVAEDKWLLVESKTNQKYLLTKPAHIES 39 | >A3KMH11843|1|training 40 | VLSDANLSRYGIHPAKFAQILTRDPQVNAFA 41 | >A5YKK61708|1|training 42 | KALQDGRAYGSPWCNKQITRCLIECRDEYKY 43 | >A6NCE730|1|training 44 | QRVEDVRLIREQHPTKIPVIIERYKGEKQLP 45 | >A6NDG672|1|training 46 | RARGKRLGFITNNSSKTRAAYAEKLRRLGFG 47 | >A6NHR91304|1|training 48 | WDNPAPVQHVKISLTKASNLKLMPSNQQHKT 49 | >A6NJG935|1|training 50 | DLCTKTENLLGSYFPKKISELDAFLKEPALN 51 | >A6NNL529|1|training 52 | LLLCRPWASRAAARPKPSASEVLTRHLLQRR 53 | >A8KAH5134|1|training 54 | IVADQLCAKYSKEYGKLCRTNQIGTVNDRLM 55 | >A8MU2732|1|training 56 | INLKVAGQDGSVVQFKIKRHTPLSKLMKAYC 57 | >A8MU2741|1|training 58 | GSVVQFKIKRHTPLSKLMKAYCERQGLSMRQ 59 | >A8MU2744|1|training 60 | VQFKIKRHTPLSKLMKAYCERQGLSMRQIRF 61 | >A8MXP9515|1|training 62 | LSNLPHSGYSDSAVLKLAEPYGKIKNYILMR 63 | >A8MXP9522|1|training 64 | GYSDSAVLKLAEPYGKIKNYILMRMKSQAFI 65 | >A8MXP9555|1|training 66 | ETREDAMAMVDHCLKKALWFQGRCVKVDLSE 67 | >A8MXP9565|1|training 68 | DHCLKKALWFQGRCVKVDLSEKYKKLVLRIP 69 | >A8MXP9884|1|training 70 | CSSLPHYQKLKKFLNKLAEERRQKKET---- 71 | >B0QY89344|1|training 72 | DYYQAIKVLENIELNKKSMYSRVPECQVTTY 73 | >B0QY89440|1|training 74 | IDESIHLQLREKYGDKMLRMQKGDPQVYEEL 75 | >B0QY89446|1|training 76 | LQLREKYGDKMLRMQKGDPQVYEELFSYSCP 77 | >B0QY89480|1|training 78 | SPVVPNYDNVHPNYHKEPFLQQLKVFSDEVQ 79 | >B0QY89592|1|training 80 | KVARRYGDFFIRQIHKFEELNRTLKKMGQRP 81 | >B0QYN718|1|training 82 | GIALSRLAQERKAWRKDHPFGFVAVPTKNPD 83 | >B1AHD124|1|training 84 | DVNPKAYPLADAHLTKKLLDLVQQSCNYKQL 85 | >B1AHD125|1|training 86 | VNPKAYPLADAHLTKKLLDLVQQSCNYKQLR 87 | >B1AK88124|1|training 88 | DPPLEDGAMPSARLRKLEVEANNAFDQYRDL 89 | >B1AK88174|1|training 90 | GVILIKKAGDGSKKIKGCWDSIHVVEVQEKS 91 | >B1AK88228|1|training 92 | SGTMNLGGSLTRQMEKDETVSDCSPHIANIG 93 | >B1AK88252|1|training 94 | PHIANIGRLVEDMENKIRSTLNEIYFGKTKD 95 | >B1AK88281|1|training 96 | KDIVNGLRSVQTFADKSKQEALKNDLVEALK 97 | >B3KS98235|1|training 98 | KNSHLINVLMWELEKKSAVADKHELLSLASS 99 | >B3KS98320|1|training 100 | RGEPPLPEEDLSKLFKPPQPPARMDSLLIAG 101 | >B3KXW5170|1|training 102 | SEMCRDLAGEVEKLLKTSNSYLRKKAALCAV 103 | >B3KXW5237|1|training 104 | TEMCERSPDMLAHFRKLVPQLVRILKNLIMS 105 | >B4DFQ666|1|training 106 | VSTPIGGLSYVQGCTKKHLNSKTVGQCLETT 107 | >B4DFQ672|1|training 108 | GLSYVQGCTKKHLNSKTVGQCLETTAQRVPE 109 | >B4DFQ6182|1|training 110 | LKKVGCKALVFPKQFKTQQYYNVLKQICPEV 111 | >B4DFQ6340|1|training 112 | YGATLILASPIFNGKKALEAISRERGTFLYG 113 | >B4DFQ6510|1|training 114 | ATMNEQGFCKIVGRSKDMIIRGGENIYPAEL 115 | >B4DGP8170|1|training 116 | QNGIECGGAYVKLLSKTPELNLDQFHDKTPY 117 | >B4DLN1150|1|training 118 | TEAKPVDKVKLIKEIKNYIQGINLVQAKKLV 119 | >B4DLN1162|1|training 120 | KEIKNYIQGINLVQAKKLVESLPQEIKANVA 121 | >B4DLN1163|1|training 122 | EIKNYIQGINLVQAKKLVESLPQEIKANVAK 123 | >B4DNJ640|1|training 124 | ITPYGYFLISACKDGKPMLRQGDTGDWIGTF 125 | >B4DNJ6104|1|training 126 | VSGDELMTLAHKHIVKTVDFTQDSNYLLTGG 127 | >B4DNJ6262|1|training 128 | LYKYDYNSGEELESYKGHFGPIHCVRFSPDG 129 | >B4DQJ18|1|training 130 | --------MIEQQKRKGPELPLVPVKRQRHE 131 | >B4DR61401|1|training 132 | IEVSGSSAKDVAKQLKEQQMVMRGHRETSMV 133 | >B4DRT2265|1|training 134 | IWKPGYLDRALQVMEKVAASPEDIKLCREAL 135 | >B4DT67189|1|training 136 | SDGLQWSAEQPCNPSKPKAKTSPVKSNTPAA 137 | >B4DVB892|1|training 138 | AINTLNGLRLQSKTIKVSYARPSSEVIKDAN 139 | >B4DVB8320|1|training 140 | LNGYRLGDKILQVSFKTNKSHK--------- 141 | >B4DYH1471|1|training 142 | EAKIGRFVVQNVSAQKDGEKSRVKVKVRVNT 143 | >B4DYH1790|1|training 144 | DQDPVVRAQEIKTKIKELNNTCEPVVTQPKP 145 | >B4E2P298|1|training 146 | VLKHKVAQKREDAVSKEVTRKLSEADNRKMS 147 | >B5MC8233|1|training 148 | GLEKRLCAAAASILGKPADRVNVTVRPGLAM 149 | >B5MC89824|1|training 150 | FLPYNSCLYIMKFASKGQKRKKLSPFSLIII 151 | >B5MC89827|1|training 152 | YNSCLYIMKFASKGQKRKKLSPFSLIIICQP 153 | >B5ME19136|1|training 154 | WEDKEGKKKMNKNNAKALSTLRQKIRKYNRD 155 | >B5ME19321|1|training 156 | RGGVPLVKEKPKMFAKGTEITHAVVIKKLNE 157 | >B5ME19628|1|training 158 | TMVQLGICAFRQGLTKDAHNALLDIQSSGRA 159 | >B5ME19644|1|training 160 | DAHNALLDIQSSGRAKELLGQGLLLRSLQER 161 | >B7Z6Z4119|1|training 162 | EFKEAFQLFDRTGDGKILYSQCGDVMRALGQ 163 | >B7Z6Z4143|1|training 164 | VMRALGQNPTNAEVLKVLGNPKSDEMNVKVL 165 | >B7Z6Z4149|1|training 166 | QNPTNAEVLKVLGNPKSDEMNVKVLDFEHFL 167 | >B7Z6Z4174|1|training 168 | DFEHFLPMLQTVAKNKDQGTYEDYVEGLRVF 169 | >B7ZKT7969|1|training 170 | LQQEKESLQEKLKAAKAAAGSLPGLQAQLAQ 171 | >C1IDX9116|1|training 172 | KIDILLKAVGDTPIMKTKKWAVERTRTIQGL 173 | >C9IYB717|1|training 174 | RLCPSCSTRLQIIQAKGRNLNVLVTPYGLGI 175 | >C9J837809|1|training 176 | EEESLENISSVKKIIKQIISHSSKVLHFPNP 177 | >C9JEJ233|1|training 178 | APGPNGATEEDGVPSKVQRCAVGLRQPAPFS 179 | >C9JME2799|1|training 180 | PLLLVKEFIRLGSLSKLSGKGLQQRMFFLFN 181 | >C9JSL2290|1|training 182 | QHLKQIHEEALSKFQKIEPSTVVPAQTPWDK 183 | >C9JSL2550|1|training 184 | QQIYEKGLELRSQQSKPQDASCLPALKVSDI 185 | >C9JSL2759|1|training 186 | DQVRLMKRIAEMTDIKPILRKLPRIKKHLLN 187 | >C9JSL2770|1|training 188 | MTDIKPILRKLPRIKKHLLNGDNMRCSVNAT 189 | >C9JSL2884|1|training 190 | CIRTVPYTDPDHASLKILARLMTAKFLHTEI 191 | >C9JSL2946|1|training 192 | TLQSFGKAVDWAKSGKFTQQDIDEAKLSVFS 193 | >C9JSL21000|1|training 194 | MKQAHREQLFAVSHDKLLAVSDRYLGTGKST 195 | >C9JSL21013|1|training 196 | HDKLLAVSDRYLGTGKSTHGLAILGPENPKI 197 | >C9JSL21027|1|training 198 | GKSTHGLAILGPENPKIAKDPSWIIQ----- 199 | >C9JXA764|1|training 200 | TACGFRLHRGMNVPFKRLSGEPLPLPLVVVL 201 | >Q9Z1T1758|0|training 202 | AEAERQKVAKRNSKTKRKSDSENREKKNENS 203 | >Q9Z1T1760|0|training 204 | AERQKVAKRNSKTKRKSDSENREKKNENSKA 205 | >Q9Z1T1768|0|training 206 | RNSKTKRKSDSENREKKNENSKASESSSEES 207 | >Q9Z1T1769|0|training 208 | NSKTKRKSDSENREKKNENSKASESSSEESS 209 | >Q9Z1T1774|0|training 210 | RKSDSENREKKNENSKASESSSEESSSMEDS 211 | >Q9Z1T1812|0|training 212 | SGSDSEPAPRNVAPAKERKPQQERHPPSKDV 213 | >Q9Z1T1815|0|training 214 | DSEPAPRNVAPAKERKPQQERHPPSKDVFLL 215 | >Q9Z1T1825|0|training 216 | PAKERKPQQERHPPSKDVFLLDLDDFNPVST 217 | >Q9Z1T1880|0|training 218 | SSSVINVSTPVFVPTKTHELLHRMHGKGLAA 219 | >Q9Z1T1891|0|training 220 | FVPTKTHELLHRMHGKGLAAHYCFPRQPCIF 221 | >Q9Z1T1909|0|training 222 | AAHYCFPRQPCIFSDKMVSVQITLTNTSDRK 223 | >Q9Z1T1924|0|training 224 | KMVSVQITLTNTSDRKIENIHIGGKGLPVGM 225 | >Q9Z1T1933|0|training 226 | TNTSDRKIENIHIGGKGLPVGMQMHAFHPID 227 | >Q9Z1T1953|0|training 228 | GMQMHAFHPIDSLEPKGSVTVSVGIDFCDST 229 | >Q9Z1T1978|0|training 230 | DFCDSTQTASFQLCTKDDCFNVTLQPPVGEL 231 | >Q9Z1T11002|0|training 232 | QPPVGELLSPVAMSEKDFKKEQGTLTGMNET 233 | >Q9Z1T11005|0|training 234 | VGELLSPVAMSEKDFKKEQGTLTGMNETSAT 235 | >Q9Z1T11006|0|training 236 | GELLSPVAMSEKDFKKEQGTLTGMNETSATL 237 | >Q9Z1T11036|0|training 238 | LIAAPQNFTPSMILQKVVNVANLGAVPSSQD 239 | >Q9Z1T11074|0|training 240 | RTVHSGSLMLVTVELKEGSTAQLIINTEKTV 241 | >Q9Z1T11087|0|training 242 | ELKEGSTAQLIINTEKTVIGSVLLRELKPVL 243 | >Q9Z1T11099|0|training 244 | NTEKTVIGSVLLRELKPVLSQG--------- 245 | >Q9Z20489|0|training 246 | MIAGQVLDINLAAEPKVNRGKAGVKRSAAEM 247 | >Q9Z20494|0|training 248 | VLDINLAAEPKVNRGKAGVKRSAAEMYGSVP 249 | >Q9Z20498|0|training 250 | NLAAEPKVNRGKAGVKRSAAEMYGSVPEHPS 251 | >Q9Z204170|0|training 252 | PSKRQRVSGNTSRRGKSGFNSKSGQRGSSSK 253 | >Q9Z204185|0|training 254 | KSGFNSKSGQRGSSSKSGKLKGDDLQAIKKE 255 | >Q9Z204188|0|training 256 | FNSKSGQRGSSSKSGKLKGDDLQAIKKELTQ 257 | >Q9Z204198|0|training 258 | SSKSGKLKGDDLQAIKKELTQIKQKVDSLLE 259 | >Q9Z204205|0|training 260 | KGDDLQAIKKELTQIKQKVDSLLESLEKIEK 261 | >Q9Z204217|0|training 262 | TQIKQKVDSLLESLEKIEKEQSKQADLSFSS 263 | >Q9Z204220|0|training 264 | KQKVDSLLESLEKIEKEQSKQADLSFSSPVE 265 | >Q9Z204224|0|training 266 | DSLLESLEKIEKEQSKQADLSFSSPVEMKNE 267 | >Q9Z204237|0|training 268 | QSKQADLSFSSPVEMKNEKSEEEQSSASVKK 269 | >Q9Z204240|0|training 270 | QADLSFSSPVEMKNEKSEEEQSSASVKKDET 271 | >Q9Z204251|0|training 272 | MKNEKSEEEQSSASVKKDETNVKMESEAGAD 273 | >Q9Z204252|0|training 274 | KNEKSEEEQSSASVKKDETNVKMESEAGADD 275 | >Q9Z204258|0|training 276 | EEQSSASVKKDETNVKMESEAGADDSAEEGD 277 | >Q9Z204291|0|training 278 | DDDDNEDRGDDQLELKDDEKEPEEGEDDRDS 279 | >Q9Z2D6-229|0|training 280 | PSGGGGGGEEERLEEKSEDQDLQGLRDKPLK 281 | >Q9Z2D6-241|0|training 282 | LEEKSEDQDLQGLRDKPLKFKKAKKDKKEDK 283 | >Q9Z2D6-244|0|training 284 | KSEDQDLQGLRDKPLKFKKAKKDKKEDKEGK 285 | >Q9Z2D6-246|0|training 286 | EDQDLQGLRDKPLKFKKAKKDKKEDKEGKHE 287 | >Q9Z2D6-247|0|training 288 | DQDLQGLRDKPLKFKKAKKDKKEDKEGKHEP 289 | >Q9Z2D6-249|0|training 290 | DLQGLRDKPLKFKKAKKDKKEDKEGKHEPLQ 291 | >Q9Z2D6-250|0|training 292 | LQGLRDKPLKFKKAKKDKKEDKEGKHEPLQP 293 | >Q9Z2D6-252|0|training 294 | GLRDKPLKFKKAKKDKKEDKEGKHEPLQPSA 295 | >Q9Z2D6-253|0|training 296 | LRDKPLKFKKAKKDKKEDKEGKHEPLQPSAH 297 | >Q9Z2D6-256|0|training 298 | KPLKFKKAKKDKKEDKEGKHEPLQPSAHHSA 299 | >Q9Z2D6-259|0|training 300 | KFKKAKKDKKEDKEGKHEPLQPSAHHSAEPA 301 | >Q9Z2D6-278|0|training 302 | LQPSAHHSAEPAEAGKAETSESSGSAPAVPE 303 | >Q9Z2D6-299|0|training 304 | SSGSAPAVPEASASPKQRRSIIRDRGPMYDD 305 | >Q9Z2D6-2124|0|training 306 | GPMYDDPTLPEGWTRKLKQRKSGRSAGKYDV 307 | >Q9Z2D6-2126|0|training 308 | MYDDPTLPEGWTRKLKQRKSGRSAGKYDVYL 309 | >Q9Z2D6-2129|0|training 310 | DPTLPEGWTRKLKQRKSGRSAGKYDVYLINP 311 | >Q9Z2D6-2136|0|training 312 | WTRKLKQRKSGRSAGKYDVYLINPQGKAFRS 313 | >Q9Z2D6-2147|0|training 314 | RSAGKYDVYLINPQGKAFRSKVELIAYFEKV 315 | >Q9Z2D6-2152|0|training 316 | YDVYLINPQGKAFRSKVELIAYFEKVGDTSL 317 | >Q9Z2D6-2161|0|training 318 | GKAFRSKVELIAYFEKVGDTSLDPNDFDFTV 319 | >Q9Z2D6-2188|0|training 320 | DFTVTGRGSPSRREQKPPKKPKSPKAPGTGR 321 | >Q9Z2D6-2191|0|training 322 | VTGRGSPSRREQKPPKKPKSPKAPGTGRGRG 323 | >Q9Z2D6-2192|0|training 324 | TGRGSPSRREQKPPKKPKSPKAPGTGRGRGR 325 | >Q9Z2D6-2194|0|training 326 | RGSPSRREQKPPKKPKSPKAPGTGRGRGRPK 327 | >Q9Z2D6-2197|0|training 328 | PSRREQKPPKKPKSPKAPGTGRGRGRPKGSG 329 | >Q9Z2D6-2209|0|training 330 | KSPKAPGTGRGRGRPKGSGTGRPKAAASEGV 331 | >Q9Z2D6-2217|0|training 332 | GRGRGRPKGSGTGRPKAAASEGVQVKRVLEK 333 | >Q9Z2D6-2232|0|training 334 | KAAASEGVQVKRVLEKSPGKLVVKMPFQASP 335 | >Q9Z2D6-2240|0|training 336 | QVKRVLEKSPGKLVVKMPFQASPGGKGEGGG 337 | >Q9Z2D6-2250|0|training 338 | GKLVVKMPFQASPGGKGEGGGATTSAQVMVI 339 | >Q9Z2D6-2266|0|training 340 | GEGGGATTSAQVMVIKRPGRKRKAEADPQAI 341 | >Q9Z2D6-2271|0|training 342 | ATTSAQVMVIKRPGRKRKAEADPQAIPKKRG 343 | >Q9Z2D6-2273|0|training 344 | TSAQVMVIKRPGRKRKAEADPQAIPKKRGRK 345 | >Q9Z2D6-2283|0|training 346 | PGRKRKAEADPQAIPKKRGRKPGSVVAAAAA 347 | >Q9Z2D6-2284|0|training 348 | GRKRKAEADPQAIPKKRGRKPGSVVAAAAAE 349 | >Q9Z2D6-2288|0|training 350 | KAEADPQAIPKKRGRKPGSVVAAAAAEAKKK 351 | >Q9Z2D6-2301|0|training 352 | GRKPGSVVAAAAAEAKKKAVKESSIRSVHET 353 | >Q9Z2D6-2302|0|training 354 | RKPGSVVAAAAAEAKKKAVKESSIRSVHETV 355 | >Q9Z2D6-2303|0|training 356 | KPGSVVAAAAAEAKKKAVKESSIRSVHETVL 357 | >Q9Z2D6-2306|0|training 358 | SVVAAAAAEAKKKAVKESSIRSVHETVLPIK 359 | >Q9Z2D6-2321|0|training 360 | KESSIRSVHETVLPIKKRKTRETVSIEVKEV 361 | >Q9Z2D6-2322|0|training 362 | ESSIRSVHETVLPIKKRKTRETVSIEVKEVV 363 | >Q9Z2D6-2324|0|training 364 | SIRSVHETVLPIKKRKTRETVSIEVKEVVKP 365 | >Q9Z2D6-2334|0|training 366 | PIKKRKTRETVSIEVKEVVKPLLVSTLGEKS 367 | >Q9Z2D6-2338|0|training 368 | RKTRETVSIEVKEVVKPLLVSTLGEKSGKGL 369 | >Q9Z2D6-2348|0|training 370 | VKEVVKPLLVSTLGEKSGKGLKTCKSPGRKS 371 | >Q9Z2D6-2351|0|training 372 | VVKPLLVSTLGEKSGKGLKTCKSPGRKSKES 373 | >Q9Z2D6-2354|0|training 374 | PLLVSTLGEKSGKGLKTCKSPGRKSKESSPK 375 | >Q9Z2D6-2357|0|training 376 | VSTLGEKSGKGLKTCKSPGRKSKESSPKGRS 377 | >Q9Z2D6-2362|0|training 378 | EKSGKGLKTCKSPGRKSKESSPKGRSSSASS 379 | >Q9Z2D6-2364|0|training 380 | SGKGLKTCKSPGRKSKESSPKGRSSSASSPP 381 | >Q9Z2D6-2369|0|training 382 | KTCKSPGRKSKESSPKGRSSSASSPPKKEHH 383 | >Q9Z2D6-2380|0|training 384 | ESSPKGRSSSASSPPKKEHHHHHHHSESTKA 385 | >Q9Z2D6-2381|0|training 386 | SSPKGRSSSASSPPKKEHHHHHHHSESTKAP 387 | >Q9Z2D6-2394|0|training 388 | PKKEHHHHHHHSESTKAPMPLLPSPPPPEPE 389 | >Q9Z2D6-2429|0|training 390 | PISPPEPQDLSSSICKEEKMPRGGSLESDGC 391 | >Q9Z2D6-2432|0|training 392 | PPEPQDLSSSICKEEKMPRGGSLESDGCPKE 393 | >Q9Z2D6-2446|0|training 394 | EKMPRGGSLESDGCPKEPAKTQPMVATTTTV 395 | >Q9Z2D6-2450|0|training 396 | RGGSLESDGCPKEPAKTQPMVATTTTVAEKY 397 | >Q9Z2D6-2466|0|training 398 | TQPMVATTTTVAEKYKHRGEGERKDIVSSSM 399 | >Q9Z2D6-2474|0|training 400 | TTVAEKYKHRGEGERKDIVSSSMPRPNREEP 401 | >Q02790390|1|testing 402 | DFQKVLQLYPNNKAAKTQLAVCQQRIRRQLA 403 | >Q031355|1|testing 404 | -----------MSGGKYVDSEGHLYTVPIRE 405 | >Q0393354|1|testing 406 | LDEQRFAKEILPKYFKHNNMASFVRQLNMYG 407 | >Q047212009|1|testing 408 | LLLLKNGANRDMQDNKEETPLFLAAREGSYE 409 | >Q04771497|1|testing 410 | PSARLTALRIKKTLTKIDNSLDKLKTDC--- 411 | >Q05823684|1|testing 412 | LGEHIDEEKHKKMKLKIGDPSLYFQKTFPDL 413 | >Q0620362|1|testing 414 | SAGIVTSDGSSVPTFKSHKGMGLVNHVFTED 415 | >Q0620381|1|testing 416 | GMGLVNHVFTEDNLKKLYVSNLGIGHTRYAT 417 | >Q06203372|1|testing 418 | FIQPNMRLRQLGVAKKFGVLSDNFKGKRIVL 419 | >Q06265-267|1|testing 420 | KTRVLGQVSCELVSPKLNRATEGILFFNLEL 421 | >Q0706521|1|testing 422 | QRGSKGGHGAASPSEKGAHPSGGADDVAKKP 423 | >Q0706578|1|testing 424 | AHGKGGHRGGGGGGGKSSSSSSASAAAAAAA 425 | >Q07065223|1|testing 426 | QNEILKDLSDGIHVVKDARERDFTSLENTVE 427 | >Q07065283|1|testing 428 | DMKAKVASLEESEGNKQDLKALKEAVKEIQT 429 | >Q07065287|1|testing 430 | KVASLEESEGNKQDLKALKEAVKEIQTSAKS 431 | >Q07343-365|1|testing 432 | SPRNSPCFFRKLLVNKSIRQRRRFTVAHTCF 433 | >Q07955-230|1|testing 434 | DCRIYVGNLPPDIRTKDIEDVFYKYGAIRDI 435 | >Q0820932|1|testing 436 | VVKAVPFPPSHRLTAKEVFDNDGKPRVDILK 437 | >Q08623-4106|1|testing 438 | PMSKEELVEESQTKLKEVFPTAALMPGAEKL 439 | >Q08AF338|1|testing 440 | LGTQQRQEMDPRLREKQNEIILRAVCALLNS 441 | >Q08AF3616|1|testing 442 | CEPANILYICENQPLKKLVSFSKKNICQPVT 443 | >Q08AF3617|1|testing 444 | EPANILYICENQPLKKLVSFSKKNICQPVTR 445 | >Q08AM621|1|testing 446 | DFAPLTPNIVRALNDKLYEKRKVAALEIEKL 447 | >Q08AM627|1|testing 448 | PNIVRALNDKLYEKRKVAALEIEKLVREFVA 449 | >Q08J23279|1|testing 450 | RILCDVPCSGDGTMRKNIDVWKKWTTLNSLQ 451 | >Q08J23586|1|testing 452 | LLNNSEKMKVINTGIKVWCRNNSGEEFDCAF 453 | >Q09161330|1|testing 454 | EENLHCIIKSHWKERKTCAAQLVSYPGKNKI 455 | >Q09666171|1|testing 456 | RVTAYTVDVTGREGAKDIDISSPEFKIKIPR 457 | >Q09666181|1|testing 458 | GREGAKDIDISSPEFKIKIPRHELTEISNVD 459 | >Q09666263|1|testing 460 | MPGIKVGGSGVNVNAKGLDLGGRGGVQVPAV 461 | >Q09666303|1|testing 462 | AVEVQGPSLESGDHGKIKFPTMKVPKFGVST 463 | >Q09666305|1|testing 464 | EVQGPSLESGDHGKIKFPTMKVPKFGVSTGR 465 | >Q09666313|1|testing 466 | SGDHGKIKFPTMKVPKFGVSTGREGQTPKAG 467 | >Q09666326|1|testing 468 | VPKFGVSTGREGQTPKAGLRVSAPEVSVGHK 469 | >Q09666371|1|testing 470 | VSVPSANIEGLEGKLKGPQITGPSLEGDLGL 471 | >Q09666428|1|testing 472 | VEVQAPDIDVQGPGSKLNVPKMKVPKFSVSG 473 | >Q09666489|1|testing 474 | IATGGLEGKMKGTKVKTPEMIIQKPKISMQD 475 | >Q09666497|1|testing 476 | KMKGTKVKTPEMIIQKPKISMQDVDLSLGSP 477 | >Q09666513|1|testing 478 | PKISMQDVDLSLGSPKLKGDIKVSAPGVQGD 479 | >Q09666530|1|testing 480 | KGDIKVSAPGVQGDVKGPQVALKGSRVDIET 481 | >Q09666563|1|testing 482 | LEGTLTGPRLGSPSGKTGTCRISMSEVDLNV 483 | >Q09666582|1|testing 484 | CRISMSEVDLNVAAPKVKGGVDVTLPRVEGK 485 | >Q09666584|1|testing 486 | ISMSEVDLNVAAPKVKGGVDVTLPRVEGKVK 487 | >Q09666679|1|testing 488 | VNVEAPDVNLEGLGGKLKGPDVKLPDMSVKT 489 | >Q09666727|1|testing 490 | KGEYDVTVPKLEGELKGPKVDIDAPDVDVHG 491 | >Q09666748|1|testing 492 | IDAPDVDVHGPDWHLKMPKMKMPKFSVPGFK 493 | >Q09666800|1|testing 494 | IDVTAPDVSIEEPEGKLKGPKFKMPEMNIKV 495 | >Q09666807|1|testing 496 | VSIEEPEGKLKGPKFKMPEMNIKVPKISMPD 497 | >Q09666884|1|testing 498 | QGPDWHLKMPKMKMPKFSMPGFKAEGPEVDV 499 | >Q09666942|1|testing 500 | GKLKGPKFKMPEMNIKAPKISMPDVDLHMKG 501 | >E9PF82362|0|testing 502 | ALEPQTTVIHNPDGNKESTESSNTTIEDEDV 503 | >E9PF82378|0|testing 504 | ESTESSNTTIEDEDVKARKQEIIKVTEQLIE 505 | >E9PF82381|0|testing 506 | ESSNTTIEDEDVKARKQEIIKVTEQLIEAIN 507 | >E9PF82386|0|testing 508 | TIEDEDVKARKQEIIKVTEQLIEAINNGDFE 509 | >E9PF82405|0|testing 510 | QLIEAINNGDFEAYTKICDPGLTAFEPEALG 511 | >E9PF82439|0|testing 512 | EGMDFHRFYFENALSKSNKPIHTIILNPHVH 513 | >E9PF82442|0|testing 514 | DFHRFYFENALSKSNKPIHTIILNPHVHLVG 515 | >E9PF82479|0|testing 516 | AYIRLTQYMDGSGMPKTMQSEETRVWHRRDG 517 | >E9PF82495|0|testing 518 | TMQSEETRVWHRRDGKWQNVHFHRSGSPTVP 519 | >E9PF82512|0|testing 520 | QNVHFHRSGSPTVPIKPPCIPNGKENFSGGT 521 | >E9PF82520|0|testing 522 | GSPTVPIKPPCIPNGKENFSGGTSLWQNI-- 523 | >E9PF868|0|testing 524 | --------MDLGAITKYSALHAKPNGLILQY 525 | >E9PF8615|0|testing 526 | -MDLGAITKYSALHAKPNGLILQYGTAGFRT 527 | >E9PF8631|0|testing 528 | PNGLILQYGTAGFRTKAEHLDHVMFRMGLLA 529 | >E9PF8651|0|testing 530 | DHVMFRMGLLAVLRSKQTKSTIGVMVTASHN 531 | >E9PF8654|0|testing 532 | MFRMGLLAVLRSKQTKSTIGVMVTASHNPEE 533 | >E9PF8674|0|testing 534 | VMVTASHNPEEDNGVKLVDPLGEMLAPSWEE 535 | >E9PF86112|0|testing 536 | AEEQDMQRVLIDISEKEAVNLQQDAFVVIGR 537 | >E9PF86135|0|testing 538 | DAFVVIGRDTRPSSEKLSQSVIDGVTVLGGQ 539 | >E9PF86186|0|testing 540 | TGGRYGKATIEGYYQKLSKAFVELTKQASCS 541 | >E9PF86189|0|testing 542 | RYGKATIEGYYQKLSKAFVELTKQASCSGDE 543 | >E9PF86196|0|testing 544 | EGYYQKLSKAFVELTKQASCSGDEYRSLKVD 545 | >E9PF86209|0|testing 546 | LTKQASCSGDEYRSLKVDCANGIGALKLREM 547 | >E9PF86220|0|testing 548 | YRSLKVDCANGIGALKLREMEHYFSQGLSVQ 549 | >E9PF86242|0|testing 550 | YFSQGLSVQLFNDGSKGKLNHLCGADFVKSH 551 | >E9PF86244|0|testing 552 | SQGLSVQLFNDGSKGKLNHLCGADFVKSHQK 553 | >E9PF86255|0|testing 554 | GSKGKLNHLCGADFVKSHQKPPQGMEIKSNE 555 | >E9PF86259|0|testing 556 | KLNHLCGADFVKSHQKPPQGMEIKSNERCCS 557 | >E9PF86267|0|testing 558 | DFVKSHQKPPQGMEIKSNERCCSFDGDADRI 559 | >E9PF86300|0|testing 560 | YYHDADGHFHLIDGDKIATLISSFLKELLVE 561 | >E9PF86310|0|testing 562 | LIDGDKIATLISSFLKELLVEIGESLNIGVV 563 | >E9PF86343|0|testing 564 | AYANGSSTRYLEEVMKVPVYCTKTGVKHLHH 565 | >E9PF86354|0|testing 566 | EEVMKVPVYCTKTGVKHLHHKAQEFDIGVYF 567 | >E9PF86359|0|testing 568 | VPVYCTKTGVKHLHHKAQEFDIGVYFEANGH 569 | >E9PF86386|0|testing 570 | ANGHGTALFSTAVEMKIKQSAEQLEDKKRKA 571 | >E9PF86388|0|testing 572 | GHGTALFSTAVEMKIKQSAEQLEDKKRKAAK 573 | >E9PF86397|0|testing 574 | AVEMKIKQSAEQLEDKKRKAAKMLENIIDLF 575 | >E9PF86398|0|testing 576 | VEMKIKQSAEQLEDKKRKAAKMLENIIDLFN 577 | >E9PF86400|0|testing 578 | MKIKQSAEQLEDKKRKAAKMLENIIDLFNQA 579 | >E9PF86403|0|testing 580 | KQSAEQLEDKKRKAAKMLENIIDLFNQAAGD 581 | >E9PF86433|0|testing 582 | DAISDMLVIEAILALKGLTVQQWDALYTDLP 583 | >E9PF86486|0|testing 584 | AVTPPGLQEAINDLVKKYKLSRAFVRPSGTE 585 | >E9PF86487|0|testing 586 | VTPPGLQEAINDLVKKYKLSRAFVRPSGTED 587 | >E9PF86489|0|testing 588 | PPGLQEAINDLVKKYKLSRAFVRPSGTEDVV 589 | >E9PGC854|0|testing 590 | CEAGAAVAAARWDLQKHSLLIVIGDIGTESQ 591 | >E9PGC8113|0|testing 592 | RLFITRHLAHFSSEVKGQRTLCHQSEILETI 593 | >E9PGC8153|0|testing 594 | ISSEVHHLLSSSSAYKLLILSGQSLEPGGDL 595 | >E9PGC8272|0|testing 596 | SPFDLLEPPTSGGFLKLSKPCCYIFPGGRGD 597 | >E9PGC8275|0|testing 598 | DLLEPPTSGGFLKLSKPCCYIFPGGRGDSAL 599 | >E9PGC8307|0|testing 600 | AVNGFNILVDGGSDRKSCFWKLVRHLDRIDS 601 | -------------------------------------------------------------------------------- /docs/iLearnPlus_manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/docs/iLearnPlus_manual.pdf -------------------------------------------------------------------------------- /iLearnPlus.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import sys 5 | from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QDesktopWidget, QLabel, QHBoxLayout, QMessageBox, QAction, QFileDialog) 6 | from PyQt5.QtGui import QIcon, QFont, QPixmap, QCloseEvent, QDesktopServices 7 | from PyQt5.QtCore import Qt, QUrl 8 | from util import Modules, InputDialog, PlotWidgets, MachineLearning 9 | import iLearnPlusBasic, iLearnPlusEstimator, iLearnPlusAutoML, iLearnPlusLoadModel 10 | import qdarkstyle 11 | import threading 12 | import pandas as pd 13 | import numpy as np 14 | 15 | class MainWindow(QMainWindow): 16 | def __init__(self): 17 | super(MainWindow, self).__init__() 18 | self.initUI() 19 | 20 | def initUI(self): 21 | # initialize GUI 22 | self.setWindowTitle('iLearnPlus') 23 | # self.resize(750, 500) 24 | self.setMaximumSize(600, 400) 25 | self.setMinimumSize(600, 400) 26 | self.setWindowIcon(QIcon('images/logo.ico')) 27 | self.setFont(QFont('Arial')) 28 | bar = self.menuBar() 29 | app = bar.addMenu('Applications') 30 | basic = QAction('iLearnPlus Basic', self) 31 | basic.triggered.connect(self.openBasicWindow) 32 | estimator = QAction('iLearnPlus Estimator', self) 33 | estimator.triggered.connect(self.openEstimatorWindow) 34 | autoML = QAction('iLearnPlus AutoML', self) 35 | autoML.triggered.connect(self.openMLWindow) 36 | loadModel = QAction('Load model(s)', self) 37 | loadModel.triggered.connect(self.openLoadModelWindow) 38 | quit = QAction('Exit', self) 39 | quit.triggered.connect(self.closeEvent) 40 | app.addAction(basic) 41 | app.addAction(estimator) 42 | app.addAction(autoML) 43 | app.addSeparator() 44 | app.addAction(loadModel) 45 | app.addSeparator() 46 | app.addAction(quit) 47 | 48 | visual = bar.addMenu('Visualization') 49 | roc = QAction('Plot ROC curve', self) 50 | roc.triggered.connect(lambda: self.plotCurve('ROC')) 51 | prc = QAction('Plot PRC curve', self) 52 | prc.triggered.connect(lambda: self.plotCurve('PRC')) 53 | boxplot = QAction('Boxplot', self) 54 | boxplot.triggered.connect(self.drawBoxplot) 55 | heatmap = QAction('Heatmap', self) 56 | heatmap.triggered.connect(self.drawHeatmap) 57 | scatterPlot = QAction('Scatter plot', self) 58 | scatterPlot.triggered.connect(self.scatterPlot) 59 | data = QAction('Distribution visualization', self) 60 | data.triggered.connect(self.displayHist) 61 | visual.addActions([roc, prc, boxplot, heatmap, scatterPlot, data]) 62 | 63 | tools = bar.addMenu('Tools') 64 | fileTF = QAction('File format transformation', self) 65 | fileTF.triggered.connect(self.openFileTF) 66 | mergeFile = QAction('Merge feature set files into one', self) 67 | mergeFile.triggered.connect(self.mergeCodingFiles) 68 | tools.addActions([fileTF, mergeFile]) 69 | 70 | help = bar.addMenu('Help') 71 | document = QAction('Document', self) 72 | document.triggered.connect(self.openDocumentUrl) 73 | about = QAction('About', self) 74 | about.triggered.connect(self.openAbout) 75 | help.addActions([document, about]) 76 | 77 | # move window to center 78 | self.moveCenter() 79 | 80 | self.widget = QWidget() 81 | hLayout = QHBoxLayout(self.widget) 82 | hLayout.setAlignment(Qt.AlignCenter) 83 | label = QLabel() 84 | # label.setMaximumWidth(600) 85 | label.setPixmap(QPixmap('images/logo.png')) 86 | hLayout.addWidget(label) 87 | self.setCentralWidget(self.widget) 88 | 89 | def moveCenter(self): 90 | screen = QDesktopWidget().screenGeometry() 91 | size = self.geometry() 92 | newLeft = (screen.width() - size.width()) / 2 93 | newTop = (screen.height() - size.height()) / 2 94 | self.move(int(newLeft), int(newTop)) 95 | 96 | def openBasicWindow(self): 97 | self.basicWin = iLearnPlusBasic.ILearnPlusBasic() 98 | self.basicWin.setFont(QFont('Arial', 10)) 99 | self.basicWin.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 100 | self.basicWin.close_signal.connect(self.recover) 101 | self.basicWin.show() 102 | self.setDisabled(True) 103 | self.setVisible(False) 104 | 105 | def openEstimatorWindow(self): 106 | self.estimatorWin = iLearnPlusEstimator.ILearnPlusEstimator() 107 | self.estimatorWin.setFont(QFont('Arial', 10)) 108 | self.estimatorWin.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 109 | self.estimatorWin.close_signal.connect(self.recover) 110 | self.estimatorWin.show() 111 | self.setDisabled(True) 112 | self.setVisible(False) 113 | 114 | def openMLWindow(self): 115 | self.mlWin = iLearnPlusAutoML.ILearnPlusAutoML() 116 | self.mlWin.setFont(QFont('Arial', 10)) 117 | self.mlWin.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 118 | self.mlWin.close_signal.connect(self.recover) 119 | self.mlWin.show() 120 | self.setDisabled(True) 121 | self.setVisible(False) 122 | 123 | def openLoadModelWindow(self): 124 | self.loadWin = iLearnPlusLoadModel.iLearnPlusLoadModel() 125 | # self.loadWin.setFont(QFont('Arial', 10)) 126 | self.loadWin.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 127 | self.loadWin.close_signal.connect(self.recover) 128 | self.loadWin.show() 129 | self.setDisabled(True) 130 | self.setVisible(False) 131 | 132 | def closeEvent(self, event): 133 | reply = QMessageBox.question(self, 'Confirm Exit', 'Are you sure want to quit iLearnPlus?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) 134 | if reply == QMessageBox.Yes: 135 | sys.exit(0) 136 | else: 137 | if event: 138 | event.ignore() 139 | 140 | def plotCurve(self, curve='ROC'): 141 | self.curveWin = Modules.PlotCurve(curve) 142 | self.curveWin.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 143 | self.curveWin.show() 144 | 145 | def displayHist(self): 146 | self.hist = Modules.Hist() 147 | self.hist.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 148 | self.hist.show() 149 | 150 | def scatterPlot(self): 151 | self.scatter = Modules.ScatterPlot() 152 | self.scatter.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 153 | self.scatter.show() 154 | 155 | def openFileTF(self): 156 | try: 157 | fileName, ok = InputDialog.QFileTransformation.getValues() 158 | if ok: 159 | kw = {} 160 | TFData = MachineLearning.ILearnMachineLearning(kw) 161 | TFData.load_data(fileName, target='Training') 162 | if not TFData.training_dataframe is None: 163 | saved_file, ok = QFileDialog.getSaveFileName(self, 'Save to', './data', 'CSV Files (*.csv);;TSV Files (*.tsv);;SVM Files(*.svm);;Weka Files (*.arff)') 164 | if ok: 165 | ok1 = TFData.save_coder(saved_file, 'training') 166 | if not ok1: 167 | QMessageBox.critical(self, 'Error', str(self.TFData.error_msg), QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 168 | except Exception as e: 169 | QMessageBox.critical(self, 'Error', str(e), QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 170 | 171 | def mergeCodingFiles(self): 172 | try: 173 | coding_files, ok = QFileDialog.getOpenFileNames(self, 'Open coding files (more file can be selected)', './data', 'CSV Files (*.csv);;TSV Files (*.tsv);;SVM Files(*.svm);;Weka Files (*.arff)') 174 | merged_codings = None 175 | labels = None 176 | if len(coding_files) > 0: 177 | dataframe, datalabel = None, None 178 | for file in coding_files: 179 | if file.endswith('.tsv'): 180 | df = pd.read_csv(file, sep='\t', header=None) 181 | dataframe = df.iloc[:, 1:] 182 | dataframe.index=['Sample_%s'%i for i in range(dataframe.values.shape[0])] 183 | dataframe.columns = ['F_%s'%i for i in range(dataframe.values.shape[1])] 184 | datalabel = np.array(df.iloc[:, 0]).astype(int) 185 | elif file.endswith('.csv'): 186 | df = pd.read_csv(file, sep=',', header=None) 187 | dataframe = df.iloc[:, 1:] 188 | dataframe.index=['Sample_%s'%i for i in range(dataframe.values.shape[0])] 189 | dataframe.columns = ['F_%s'%i for i in range(dataframe.values.shape[1])] 190 | datalabel = np.array(df.iloc[:, 0]).astype(int) 191 | elif file.endswith('.svm'): 192 | with open(file) as f: 193 | record = f.read().strip() 194 | record = re.sub('\d+:', '', record) 195 | array = np.array([[i for i in item.split()] for item in record.split('\n')]) 196 | dataframe = pd.DataFrame(array[:, 1:], dtype=float) 197 | dataframe.index=['Sample_%s'%i for i in range(dataframe.values.shape[0])] 198 | dataframe.columns = ['F_%s'%i for i in range(dataframe.values.shape[1])] 199 | datalabel = array[:, 0].astype(int) 200 | else: 201 | with open(file) as f: 202 | record = f.read().strip().split('@')[-1].split('\n')[1:] 203 | array = np.array([item.split(',') for item in record]) 204 | dataframe = pd.DataFrame(array[:, 0:-1], dtype=float) 205 | dataframe.index=['Sample_%s'%i for i in range(dataframe.values.shape[0])] 206 | dataframe.columns = ['F_%s'%i for i in range(dataframe.values.shape[1])] 207 | label = [] 208 | for i in array[:, -1]: 209 | if i == 'yes': 210 | label.append(1) 211 | else: 212 | label.append(0) 213 | datalabel = np.array(label) 214 | 215 | if merged_codings is None: 216 | merged_codings = np.hstack((datalabel.reshape((-1, 1)), dataframe.values)) 217 | else: 218 | merged_codings = np.hstack((merged_codings, dataframe.values)) 219 | if merged_codings is not None: 220 | saved_file, ok = QFileDialog.getSaveFileName(self, 'Save to', './data', 'CSV Files (*.csv);;TSV Files (*.tsv);;SVM Files(*.svm);;Weka Files (*.arff)') 221 | data = merged_codings 222 | if saved_file.endswith('.csv'): 223 | np.savetxt(saved_file, data, fmt="%s", delimiter=',') 224 | if saved_file.endswith('.tsv'): 225 | np.savetxt(saved_file, data, fmt="%s", delimiter='\t') 226 | if saved_file.endswith('.svm'): 227 | with open(saved_file, 'w') as f: 228 | for line in data: 229 | f.write('%s' % line[0]) 230 | for i in range(1, len(line)): 231 | f.write(' %d:%s' % (i, line[i])) 232 | f.write('\n') 233 | if saved_file.endswith('.arff'): 234 | with open(saved_file, 'w') as f: 235 | f.write('@relation descriptor\n\n') 236 | for i in range(1, len(data[0])): 237 | f.write('@attribute f.%d numeric\n' % i) 238 | f.write('@attribute play {yes, no}\n\n') 239 | f.write('@data\n') 240 | for line in data: 241 | for fea in line[1:]: 242 | f.write('%s,' % fea) 243 | if int(line[0]) == 1: 244 | f.write('yes\n') 245 | else: 246 | f.write('no\n') 247 | except Exception as e: 248 | QMessageBox.critical(self, 'Error', str(e), QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 249 | 250 | def openDocumentUrl(self): 251 | QDesktopServices.openUrl(QUrl('https://ilearnplus.erc.monash.edu/docs/iLearnPlus_manual.pdf')) 252 | 253 | def openAbout(self): 254 | QMessageBox.information(self, 'iLearnPlus', 'Version: 1.0\nAuthor: Zhen Chen\nE-mail: chenzhen-win2009@163.com', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 255 | 256 | def drawBoxplot(self): 257 | try: 258 | x, y, data, ok = InputDialog.QBoxPlotInput.getValues() 259 | if ok: 260 | self.boxWin = PlotWidgets.CustomSingleBoxplotWidget(data, x, y) 261 | self.boxWin.show() 262 | except Exception as e: 263 | QMessageBox.critical(self, 'Error', str(e), QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 264 | 265 | def drawHeatmap(self): 266 | try: 267 | x, y, data, ok = InputDialog.QHeatmapInput.getValues() 268 | if ok: 269 | self.heatWin = PlotWidgets.CustomHeatmapWidget(data, x, y) 270 | self.heatWin.show() 271 | except Exception as e: 272 | QMessageBox.critical(self, 'Error', str(e), QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 273 | 274 | def recover(self, module): 275 | try: 276 | if module == 'Basic': 277 | del self.basicWin 278 | elif module == 'Estimator': 279 | del self.estimatorWin 280 | elif module == 'AutoML': 281 | del self.mlWin 282 | elif module == 'LoadModel': 283 | del self.loadWin 284 | else: 285 | pass 286 | except Exception as e: 287 | pass 288 | self.setDisabled(False) 289 | self.setVisible(True) 290 | 291 | 292 | if __name__ == '__main__': 293 | app = QApplication(sys.argv) 294 | window = MainWindow() 295 | window.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 296 | window.show() 297 | sys.exit(app.exec_()) 298 | -------------------------------------------------------------------------------- /iLearnPlusLoadModel.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import sys, os, re 5 | pPath = os.path.split(os.path.realpath(__file__))[0] 6 | sys.path.append(pPath) 7 | from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QFileDialog, QLabel, QHBoxLayout, QGroupBox, QTextEdit, 8 | QVBoxLayout, QSplitter, QTableWidget, QTabWidget, 9 | QTableWidgetItem, QMessageBox, QFormLayout, QRadioButton, 10 | QHeaderView, 11 | QAbstractItemView) 12 | from PyQt5.QtGui import QIcon, QFont 13 | from PyQt5.QtCore import Qt, pyqtSignal 14 | from util import PlotWidgets 15 | import numpy as np 16 | import pandas as pd 17 | import torch 18 | from util.EvaluationMetrics import Metrics 19 | from torch.utils.data import DataLoader 20 | from util.Nets import (DealDataset, Net_CNN_1, Net_CNN_11, Net_RNN_2, Net_ABCNN_4, Net_ResNet_5, Net_AutoEncoder_6) 21 | import qdarkstyle 22 | import sip 23 | import joblib 24 | 25 | class iLearnPlusLoadModel(QWidget): 26 | close_signal = pyqtSignal(str) 27 | def __init__(self): 28 | super(iLearnPlusLoadModel, self).__init__() 29 | 30 | """ Machine Learning Variable """ 31 | self.data_index = { 32 | 'Training_data': None, 33 | 'Testing_data': None, 34 | 'Training_score': None, 35 | 'Testing_score': None, 36 | 'Metrics': None, 37 | 'ROC': None, 38 | 'PRC': None, 39 | 'Model': None, 40 | } 41 | self.current_data_index = 0 42 | self.ml_running_status = False 43 | 44 | self.model_list = [] 45 | self.dataframe = None 46 | self.datalabel = None 47 | self.score = None 48 | self.metrics = None 49 | self.aucData = None 50 | self.prcData = None 51 | 52 | # initialize UI 53 | self.initUI() 54 | 55 | def initUI(self): 56 | self.setWindowTitle('iLearnPlus LoadModel') 57 | self.resize(800, 600) 58 | self.setWindowState(Qt.WindowMaximized) 59 | self.setWindowIcon(QIcon(os.path.join(pPath, 'images', 'logo.ico'))) 60 | 61 | # file 62 | topGroupBox = QGroupBox('Load data', self) 63 | topGroupBox.setFont(QFont('Arial', 10)) 64 | topGroupBox.setMinimumHeight(100) 65 | topGroupBoxLayout = QFormLayout() 66 | modelFileButton = QPushButton('Load') 67 | modelFileButton.setToolTip('One or more models could be loaded.') 68 | modelFileButton.clicked.connect(self.loadModel) 69 | testFileButton = QPushButton('Open') 70 | testFileButton.clicked.connect(self.loadDataFile) 71 | topGroupBoxLayout.addRow('Open model file(s):', modelFileButton) 72 | topGroupBoxLayout.addRow('Open testing file:', testFileButton) 73 | topGroupBox.setLayout(topGroupBoxLayout) 74 | 75 | # start button 76 | startGroupBox = QGroupBox('Operator', self) 77 | startGroupBox.setFont(QFont('Arial', 10)) 78 | startLayout = QHBoxLayout(startGroupBox) 79 | self.ml_start_button = QPushButton('Start') 80 | self.ml_start_button.clicked.connect(self.run_model) 81 | self.ml_start_button.setFont(QFont('Arial', 10)) 82 | self.ml_save_button = QPushButton('Save') 83 | self.ml_save_button.setFont(QFont('Arial', 10)) 84 | self.ml_save_button.clicked.connect(self.save_ml_files) 85 | startLayout.addWidget(self.ml_start_button) 86 | startLayout.addWidget(self.ml_save_button) 87 | 88 | # log 89 | logGroupBox = QGroupBox('Log', self) 90 | logGroupBox.setFont(QFont('Arial', 10)) 91 | logLayout = QHBoxLayout(logGroupBox) 92 | self.logTextEdit = QTextEdit() 93 | self.logTextEdit.setFont(QFont('Arial', 8)) 94 | logLayout.addWidget(self.logTextEdit) 95 | 96 | 97 | ### layout 98 | left_vertical_layout = QVBoxLayout() 99 | left_vertical_layout.addWidget(topGroupBox) 100 | left_vertical_layout.addWidget(logGroupBox) 101 | left_vertical_layout.addWidget(startGroupBox) 102 | 103 | #### widget 104 | leftWidget = QWidget() 105 | leftWidget.setLayout(left_vertical_layout) 106 | 107 | #### view region 108 | scoreTabWidget = QTabWidget() 109 | trainScoreWidget = QWidget() 110 | scoreTabWidget.setFont(QFont('Arial', 8)) 111 | scoreTabWidget.addTab(trainScoreWidget, 'Prediction score and evaluation metrics') 112 | train_score_layout = QVBoxLayout(trainScoreWidget) 113 | self.train_score_tableWidget = QTableWidget() 114 | self.train_score_tableWidget.setFont(QFont('Arial', 8)) 115 | self.train_score_tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) 116 | self.train_score_tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) 117 | train_score_layout.addWidget(self.train_score_tableWidget) 118 | 119 | self.metricsTableWidget = QTableWidget() 120 | self.metricsTableWidget.setFont(QFont('Arial', 8)) 121 | self.metricsTableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) 122 | self.metricsTableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) 123 | self.metricsTableWidget.resizeRowsToContents() 124 | splitter_middle = QSplitter(Qt.Vertical) 125 | splitter_middle.addWidget(scoreTabWidget) 126 | splitter_middle.addWidget(self.metricsTableWidget) 127 | 128 | self.dataTableWidget = QTableWidget(2, 4) 129 | self.dataTableWidget.setFont(QFont('Arial', 8)) 130 | self.dataTableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) 131 | self.dataTableWidget.setShowGrid(False) 132 | self.dataTableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) 133 | self.dataTableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents) 134 | self.dataTableWidget.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeToContents) 135 | self.dataTableWidget.setHorizontalHeaderLabels(['Select', 'Data', 'Shape', 'Source']) 136 | self.dataTableWidget.verticalHeader().setVisible(False) 137 | 138 | self.roc_curve_widget = PlotWidgets.CurveWidget() 139 | self.prc_curve_widget = PlotWidgets.CurveWidget() 140 | plotTabWidget = QTabWidget() 141 | plotTabWidget.setFont(QFont('Arial', 8)) 142 | rocWidget = QWidget() 143 | self.rocLayout = QVBoxLayout(rocWidget) 144 | self.rocLayout.addWidget(self.roc_curve_widget) 145 | prcWidget = QWidget() 146 | self.prcLayout = QHBoxLayout(prcWidget) 147 | self.prcLayout.addWidget(self.prc_curve_widget) 148 | plotTabWidget.addTab(rocWidget, 'ROC curve') 149 | plotTabWidget.addTab(prcWidget, 'PRC curve') 150 | splitter_right = QSplitter(Qt.Vertical) 151 | splitter_right.addWidget(self.dataTableWidget) 152 | splitter_right.addWidget(plotTabWidget) 153 | splitter_right.setSizes([100, 300]) 154 | 155 | splitter_view = QSplitter(Qt.Horizontal) 156 | splitter_view.addWidget(splitter_middle) 157 | splitter_view.addWidget(splitter_right) 158 | splitter_view.setSizes([100, 200]) 159 | 160 | ##### splitter 161 | splitter_1 = QSplitter(Qt.Horizontal) 162 | splitter_1.addWidget(leftWidget) 163 | splitter_1.addWidget(splitter_view) 164 | splitter_1.setSizes([100, 1200]) 165 | 166 | ###### vertical layout 167 | vLayout = QVBoxLayout() 168 | 169 | ## status bar 170 | statusGroupBox = QGroupBox('Status', self) 171 | statusGroupBox.setFont(QFont('Arial', 10)) 172 | statusLayout = QHBoxLayout(statusGroupBox) 173 | self.ml_status_label = QLabel('Welcome to iLearnPlus LoadModel') 174 | self.ml_progress_bar = QLabel() 175 | self.ml_progress_bar.setMaximumWidth(230) 176 | statusLayout.addWidget(self.ml_status_label) 177 | statusLayout.addWidget(self.ml_progress_bar) 178 | 179 | splitter_2 = QSplitter(Qt.Vertical) 180 | splitter_2.addWidget(splitter_1) 181 | splitter_2.addWidget(statusGroupBox) 182 | splitter_2.setSizes([1000, 100]) 183 | vLayout.addWidget(splitter_2) 184 | self.setLayout(vLayout) 185 | 186 | def loadModel(self): 187 | model_files, ok = QFileDialog.getOpenFileNames(self, 'Open', os.path.join(pPath, 'data'), 'PKL Files (*.pkl)') 188 | if len(model_files) > 0: 189 | self.model_list = [] 190 | for file in model_files: 191 | error_tag_ml = False 192 | error_tag_dl = False 193 | model = None 194 | try: 195 | model = joblib.load(file) 196 | except Exception as e: 197 | error_tag_ml = True 198 | 199 | if error_tag_ml: 200 | try: 201 | model = torch.load(file) 202 | except Exception as e: 203 | error_tag_dl = True 204 | else: 205 | if 'predict_proba' not in dir(model): 206 | try: 207 | model = torch.load(file) 208 | except Exception as e: 209 | error_tag_dl = True 210 | 211 | if not error_tag_dl or not error_tag_ml: 212 | self.model_list.append(model) 213 | if len(self.model_list) > 0: 214 | self.logTextEdit.append('Load model successfully.') 215 | self.logTextEdit.append('Model number: %s' %len(model_files)) 216 | return True 217 | else: 218 | QMessageBox.critical(self, 'Error', 'Load model failed.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 219 | self.model_list = [] 220 | return False 221 | else: 222 | return False 223 | 224 | def loadDataFile(self): 225 | file, ok = QFileDialog.getOpenFileName(self, 'Open', os.path.join(pPath, 'data'), 'CSV Files (*.csv);;TSV Files (*.tsv);;SVM Files(*.svm);;Weka Files (*.arff)') 226 | if ok: 227 | if not os.path.exists(file): 228 | QMessageBox.critical(self, 'Error', 'Data file does not exist.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 229 | return False 230 | self.dataframe, self.datalabel = None, None 231 | try: 232 | if file.endswith('.tsv'): 233 | df = pd.read_csv(file, sep='\t', header=None) 234 | self.dataframe = df.iloc[:, 1:] 235 | self.dataframe.index = ['Sample_%s' % i for i in range(dataframe.values.shape[0])] 236 | self.dataframe.columns = ['F_%s' % i for i in range(dataframe.values.shape[1])] 237 | self.datalabel = np.array(df.iloc[:, 0]).astype(int) 238 | elif file.endswith('.csv'): 239 | df = pd.read_csv(file, sep=',', header=None) 240 | self.dataframe = df.iloc[:, 1:] 241 | self.dataframe.index = ['Sample_%s' % i for i in range(self.dataframe.values.shape[0])] 242 | self.dataframe.columns = ['F_%s' % i for i in range(self.dataframe.values.shape[1])] 243 | self.datalabel = np.array(df.iloc[:, 0]).astype(int) 244 | elif file.endswith('.svm'): 245 | with open(file) as f: 246 | record = f.read().strip() 247 | record = re.sub('\d+:', '', record) 248 | array = np.array([[i for i in item.split()] for item in record.split('\n')]) 249 | self.dataframe = pd.DataFrame(array[:, 1:], dtype=float) 250 | self.dataframe.index = ['Sample_%s' % i for i in range(self.dataframe.values.shape[0])] 251 | self.dataframe.columns = ['F_%s' % i for i in range(self.dataframe.values.shape[1])] 252 | self.datalabel = array[:, 0].astype(int) 253 | else: 254 | with open(file) as f: 255 | record = f.read().strip().split('@')[-1].split('\n')[1:] 256 | array = np.array([item.split(',') for item in record]) 257 | self.dataframe = pd.DataFrame(array[:, 0:-1], dtype=float) 258 | self.dataframe.index = ['Sample_%s' % i for i in range(self.dataframe.values.shape[0])] 259 | self.dataframe.columns = ['F_%s' % i for i in range(self.dataframe.values.shape[1])] 260 | label = [] 261 | for i in array[:, -1]: 262 | if i == 'yes': 263 | label.append(1) 264 | else: 265 | label.append(0) 266 | self.datalabel = np.array(label) 267 | 268 | except Exception as e: 269 | QMessageBox.critical(self, 'Error', 'Open data file failed.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 270 | return False 271 | self.logTextEdit.append('Load data file successfully.') 272 | self.logTextEdit.append('Data shape: %s' %(str(self.dataframe.values.shape))) 273 | return True 274 | else: 275 | return False 276 | 277 | def run_model(self): 278 | # reset 279 | self.score = None 280 | self.metrics = None 281 | 282 | if len(self.model_list) > 0 and not self.dataframe is None: 283 | try: 284 | prediction_score = None 285 | for model in self.model_list: 286 | if 'predict_proba' not in dir(model): 287 | valid_set = DealDataset(self.dataframe.values, self.datalabel.reshape((-1, 1))) 288 | valid_loader = DataLoader(valid_set, batch_size=512, shuffle=False) 289 | tmp_prediction_score = model.predict(valid_loader) 290 | else: 291 | tmp_prediction_score = model.predict_proba(self.dataframe.values) 292 | 293 | if prediction_score is None: 294 | prediction_score = tmp_prediction_score 295 | else: 296 | prediction_score += tmp_prediction_score 297 | prediction_score /= len(self.model_list) 298 | self.score = prediction_score 299 | 300 | # display prediction score 301 | if not self.score is None: 302 | data = self.score 303 | self.train_score_tableWidget.setRowCount(data.shape[0]) 304 | self.train_score_tableWidget.setColumnCount(data.shape[1]) 305 | self.train_score_tableWidget.setHorizontalHeaderLabels(['Score for category %s' %i for i in range(data.shape[1])]) 306 | for i in range(data.shape[0]): 307 | for j in range(data.shape[1]): 308 | cell = QTableWidgetItem(str(round(data[i][j], 4))) 309 | self.train_score_tableWidget.setItem(i, j, cell) 310 | if self.data_index['Training_score'] is None: 311 | # index = self.current_data_index 312 | index = 0 313 | self.data_index['Training_score'] = index 314 | self.dataTableWidget.insertRow(index) 315 | self.current_data_index += 1 316 | else: 317 | # index = self.data_index['Training_score'] 318 | index = 0 319 | self.training_score_radio = QRadioButton() 320 | self.dataTableWidget.setCellWidget(index, 0, self.training_score_radio) 321 | self.dataTableWidget.setItem(index, 1, QTableWidgetItem('Training score')) 322 | self.dataTableWidget.setItem(index, 2, QTableWidgetItem(str(data.shape))) 323 | self.dataTableWidget.setItem(index, 3, QTableWidgetItem('NA')) 324 | 325 | # calculate and display evaluation metrics 326 | column_name = ['Sn', 'Sp', 'Pre', 'Acc', 'MCC', 'F1', 'AUROC', 'AUPRC'] 327 | if not self.score is None and self.score.shape[1] == 2: 328 | # calculate metrics 329 | data = self.score 330 | metrics = Metrics(data[:, -1], self.datalabel) 331 | metrics_ind = np.array( 332 | [metrics.sensitivity, metrics.specificity, metrics.precision, metrics.accuracy, metrics.mcc, 333 | metrics.f1, metrics.auc, metrics.prc]).reshape((1, -1)) 334 | index_name = ['Metrics value'] 335 | self.aucData = ['AUROC = %s' % metrics.auc, metrics.aucDot] 336 | self.prcData = ['AUPRC = %s' % metrics.prc, metrics.prcDot] 337 | del metrics 338 | self.metrics = pd.DataFrame(metrics_ind, index=index_name, columns=column_name) 339 | 340 | # display metrics 341 | data = self.metrics.values 342 | self.metricsTableWidget.setRowCount(data.shape[0]) 343 | self.metricsTableWidget.setColumnCount(data.shape[1]) 344 | self.metricsTableWidget.setHorizontalHeaderLabels( 345 | ['Sn (%)', 'Sp (%)', 'Pre (%)', 'Acc (%)', 'MCC', 'F1', 'AUROC', 'AUPRC']) 346 | self.metricsTableWidget.setVerticalHeaderLabels(self.metrics.index) 347 | for i in range(data.shape[0]): 348 | for j in range(data.shape[1]): 349 | cell = QTableWidgetItem(str(data[i][j])) 350 | self.metricsTableWidget.setItem(i, j, cell) 351 | if self.data_index['Metrics'] is None: 352 | # index = self.current_data_index 353 | index = 1 354 | self.data_index['Metrics'] = index 355 | self.dataTableWidget.insertRow(index) 356 | self.current_data_index += 1 357 | else: 358 | # index = self.data_index['Metrics'] 359 | index = 1 360 | self.metrics_radio = QRadioButton() 361 | self.dataTableWidget.setCellWidget(index, 0, self.metrics_radio) 362 | self.dataTableWidget.setItem(index, 1, QTableWidgetItem('Evaluation metrics')) 363 | self.dataTableWidget.setItem(index, 2, QTableWidgetItem(str(data.shape))) 364 | self.dataTableWidget.setItem(index, 3, QTableWidgetItem('NA')) 365 | 366 | #plot ROC 367 | if not self.aucData is None: 368 | self.rocLayout.removeWidget(self.roc_curve_widget) 369 | sip.delete(self.roc_curve_widget) 370 | self.roc_curve_widget = PlotWidgets.CurveWidget() 371 | self.roc_curve_widget.init_data(0, 'ROC curve', ind_data=self.aucData) 372 | self.rocLayout.addWidget(self.roc_curve_widget) 373 | 374 | # plot PRC 375 | if not self.prcData is None: 376 | self.prcLayout.removeWidget(self.prc_curve_widget) 377 | sip.delete(self.prc_curve_widget) 378 | self.prc_curve_widget = PlotWidgets.CurveWidget() 379 | self.prc_curve_widget.init_data(1, 'PRC curve', ind_data=self.prcData) 380 | self.prcLayout.addWidget(self.prc_curve_widget) 381 | except Exception as e: 382 | QMessageBox.critical(self, 'Error', str(e), QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 383 | else: 384 | QMessageBox.critical(self, 'Error', 'Please load the model file(s) or data file.', QMessageBox.Ok | QMessageBox.No, 385 | QMessageBox.Ok) 386 | 387 | def save_ml_files(self): 388 | tag = 0 389 | try: 390 | if self.training_score_radio.isChecked(): 391 | tag = 1 392 | save_file, ok = QFileDialog.getSaveFileName(self, 'Save', './data', 'TSV Files (*.tsv)') 393 | if ok: 394 | ok1 = self.save_prediction_score(save_file) 395 | if not ok1: 396 | QMessageBox.critical(self, 'Error', 'Save file failed.', QMessageBox.Ok | QMessageBox.No, 397 | QMessageBox.Ok) 398 | except Exception as e: 399 | pass 400 | 401 | try: 402 | if self.metrics_radio.isChecked(): 403 | tag = 1 404 | save_file, ok = QFileDialog.getSaveFileName(self, 'Save', './data', 'TSV Files (*.tsv)') 405 | if ok: 406 | ok1 = self.save_metrics(save_file) 407 | if not ok1: 408 | QMessageBox.critical(self, 'Error', 'Save file failed.', QMessageBox.Ok | QMessageBox.No, 409 | QMessageBox.Ok) 410 | except Exception as e: 411 | pass 412 | 413 | if tag == 0: 414 | QMessageBox.critical(self, 'Error', 'Please select which data to save.', QMessageBox.Ok | QMessageBox.No, 415 | QMessageBox.Ok) 416 | 417 | def save_prediction_score(self, file): 418 | try: 419 | df = pd.DataFrame(self.score, columns=['Score_%s' %i for i in range(self.score.shape[1])]) 420 | df.to_csv(file, sep='\t', header=True, index=False) 421 | return True 422 | except Exception as e: 423 | print(e) 424 | return False 425 | 426 | def save_metrics(self, file): 427 | try: 428 | self.metrics.to_csv(file, sep='\t', header=True, index=True) 429 | return True 430 | except Exception as e: 431 | return False 432 | 433 | def closeEvent(self, event): 434 | reply = QMessageBox.question(self, 'Confirm Exit', 'Are you sure want to quit iLearnPlus?', QMessageBox.Yes | QMessageBox.No, 435 | QMessageBox.No) 436 | if reply == QMessageBox.Yes: 437 | self.close_signal.emit('LoadModel') 438 | self.close() 439 | else: 440 | if event: 441 | event.ignore() 442 | 443 | if __name__ == '__main__': 444 | app = QApplication(sys.argv) 445 | window = iLearnPlusLoadModel() 446 | window.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 447 | window.show() 448 | sys.exit(app.exec_()) -------------------------------------------------------------------------------- /images/Architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/Architecture.png -------------------------------------------------------------------------------- /images/AutoML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/AutoML.png -------------------------------------------------------------------------------- /images/Basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/Basic.png -------------------------------------------------------------------------------- /images/Case_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/Case_1.png -------------------------------------------------------------------------------- /images/Case_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/Case_2.png -------------------------------------------------------------------------------- /images/DataVisualization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/DataVisualization.png -------------------------------------------------------------------------------- /images/Estimator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/Estimator.png -------------------------------------------------------------------------------- /images/LoadModel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/LoadModel.png -------------------------------------------------------------------------------- /images/iLearnPlus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/iLearnPlus.png -------------------------------------------------------------------------------- /images/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/logo.ico -------------------------------------------------------------------------------- /images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/logo.png -------------------------------------------------------------------------------- /images/progress_bar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/images/progress_bar.gif -------------------------------------------------------------------------------- /models/SVM_model_1.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/models/SVM_model_1.pkl -------------------------------------------------------------------------------- /models/SVM_model_2.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/models/SVM_model_2.pkl -------------------------------------------------------------------------------- /models/SVM_model_3.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/models/SVM_model_3.pkl -------------------------------------------------------------------------------- /models/SVM_model_4.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/models/SVM_model_4.pkl -------------------------------------------------------------------------------- /models/SVM_model_5.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/models/SVM_model_5.pkl -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | PyQt5 2 | qdarkstyle 3 | numpy==1.18.5 4 | pandas==1.0.5 5 | sip 6 | datetime 7 | scikit-learn==0.23.1 8 | scipy==1.5.0 9 | lightgbm==2.3.1 10 | xgboost==1.0.2 11 | matplotlib==3.1.1 12 | seaborn 13 | joblib 14 | multiprocessing 15 | torch>=1.3.1 16 | -------------------------------------------------------------------------------- /util/CheckAccPseParameter.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import sys, os, platform 5 | import pickle 6 | 7 | didna_list = ['Base stacking', 'Protein induced deformability', 'B-DNA twist', 'Dinucleotide GC Content', 'A-philicity', 8 | 'Propeller twist', 'Duplex stability:(freeenergy)', 9 | 'Duplex tability(disruptenergy)', 'DNA denaturation', 'Bending stiffness', 'Protein DNA twist', 10 | 'Stabilising energy of Z-DNA', 'Aida_BA_transition', 'Breslauer_dG', 'Breslauer_dH', 11 | 'Breslauer_dS', 'Electron_interaction', 'Hartman_trans_free_energy', 'Helix-Coil_transition', 12 | 'Ivanov_BA_transition', 'Lisser_BZ_transition', 'Polar_interaction', 'SantaLucia_dG', 13 | 'SantaLucia_dH', 'SantaLucia_dS', 'Sarai_flexibility', 'Stability', 'Stacking_energy', 14 | 'Sugimoto_dG', 'Sugimoto_dH', 'Sugimoto_dS', 'Watson-Crick_interaction', 'Twist', 'Tilt', 'Roll', 15 | 'Shift', 'Slide', 'Rise', 16 | 'Clash Strength', 'Roll_roll', 'Twist stiffness', 'Tilt stiffness', 'Shift_rise', 17 | 'Adenine content', 'Direction', 'Twist_shift', 'Enthalpy1', 'Twist_twist', 'Roll_shift', 18 | 'Shift_slide', 'Shift2', 'Tilt3', 'Tilt1', 'Tilt4', 'Tilt2', 'Slide (DNA-protein complex)1', 19 | 'Tilt_shift', 'Twist_tilt', 'Twist (DNA-protein complex)1', 'Tilt_rise', 'Roll_rise', 20 | 'Stacking energy', 'Stacking energy1', 'Stacking energy2', 'Stacking energy3', 'Propeller Twist', 21 | 'Roll11', 'Rise (DNA-protein complex)', 'Tilt_tilt', 'Roll4', 'Roll2', 'Roll3', 'Roll1', 22 | 'Minor Groove Size', 'GC content', 'Slide_slide', 'Enthalpy', 'Shift_shift', 'Slide stiffness', 23 | 'Melting Temperature1', 'Flexibility_slide', 'Minor Groove Distance', 24 | 'Rise (DNA-protein complex)1', 'Tilt (DNA-protein complex)', 'Guanine content', 25 | 'Roll (DNA-protein complex)1', 'Entropy', 'Cytosine content', 'Major Groove Size', 'Twist_rise', 26 | 'Major Groove Distance', 'Twist (DNA-protein complex)', 'Purine (AG) content', 27 | 'Melting Temperature', 'Free energy', 'Tilt_slide', 'Major Groove Width', 'Major Groove Depth', 28 | 'Wedge', 'Free energy8', 'Free energy6', 'Free energy7', 'Free energy4', 'Free energy5', 29 | 'Free energy2', 'Free energy3', 'Free energy1', 'Twist_roll', 'Shift (DNA-protein complex)', 30 | 'Rise_rise', 'Flexibility_shift', 'Shift (DNA-protein complex)1', 'Thymine content', 'Slide_rise', 31 | 'Tilt_roll', 'Tip', 'Keto (GT) content', 'Roll stiffness', 'Minor Groove Width', 'Inclination', 32 | 'Entropy1', 'Roll_slide', 'Slide (DNA-protein complex)', 'Twist1', 'Twist3', 'Twist2', 'Twist5', 33 | 'Twist4', 'Twist7', 'Twist6', 'Tilt (DNA-protein complex)1', 'Twist_slide', 'Minor Groove Depth', 34 | 'Roll (DNA-protein complex)', 'Rise2', 'Persistance Length', 'Rise3', 'Shift stiffness', 35 | 'Probability contacting nucleosome core', 'Mobility to bend towards major groove', 'Slide3', 36 | 'Slide2', 'Slide1', 'Shift1', 'Bend', 'Rise1', 'Rise stiffness', 37 | 'Mobility to bend towards minor groove'] 38 | tridna_list = ['Dnase I', 'Bendability (DNAse)', 'Bendability (consensus)', 'Trinucleotide GC Content', 39 | 'Nucleosome positioning', 'Consensus_roll', 'Consensus-Rigid', 'Dnase I-Rigid', 'MW-Daltons', 40 | 'MW-kg', 'Nucleosome', 'Nucleosome-Rigid'] 41 | dirna_list = ['Slide (RNA)', 'Adenine content', 'Hydrophilicity (RNA)', 'Tilt (RNA)', 'Stacking energy (RNA)', 42 | 'Twist (RNA)', 'Entropy (RNA)', 'Roll (RNA)', 'Purine (AG) content', 'Hydrophilicity (RNA)1', 43 | 'Enthalpy (RNA)1', 'GC content', 'Entropy (RNA)1', 'Rise (RNA)', 'Free energy (RNA)', 44 | 'Keto (GT) content', 'Free energy (RNA)1', 'Enthalpy (RNA)', 'Guanine content', 'Shift (RNA)', 45 | 'Cytosine content', 'Thymine content'] 46 | myDict = { 47 | 'DAC': {'DNA': didna_list, 'RNA': dirna_list}, 48 | 'DCC': {'DNA': didna_list, 'RNA': dirna_list}, 49 | 'DACC': {'DNA': didna_list, 'RNA': dirna_list}, 50 | 'TAC': {'DNA': tridna_list, 'RNA': []}, 51 | 'TCC': {'DNA': tridna_list, 'RNA': []}, 52 | 'TACC': {'DNA': tridna_list, 'RNA': []}, 53 | 'PseDNC': {'DNA': didna_list, 'RNA': dirna_list}, 54 | 'PseKNC': {'DNA': didna_list, 'RNA': dirna_list}, 55 | 'PCPseDNC': {'DNA': didna_list, 'RNA': dirna_list}, 56 | 'PCPseTNC': {'DNA': tridna_list, 'RNA': []}, 57 | 'SCPseDNC': {'DNA': didna_list, 'RNA': dirna_list}, 58 | 'SCPseTNC': {'DNA': tridna_list, 'RNA': []}, 59 | } 60 | myDictDefault = { 61 | 'DAC': {'DNA': ['Rise', 'Roll', 'Shift', 'Slide', 'Tilt', 'Twist'], 62 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 63 | 'DCC': {'DNA': ['Rise', 'Roll', 'Shift', 'Slide', 'Tilt', 'Twist'], 64 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 65 | 'DACC': {'DNA': ['Rise', 'Roll', 'Shift', 'Slide', 'Tilt', 'Twist'], 66 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 67 | 'TAC': {'DNA': ['Dnase I', 'Bendability (DNAse)'], 'RNA': []}, 68 | 'TCC': {'DNA': ['Dnase I', 'Bendability (DNAse)'], 'RNA': []}, 69 | 'TACC': {'DNA': ['Dnase I', 'Bendability (DNAse)'], 'RNA': []}, 70 | 'PseDNC': {'DNA': ['Rise', 'Roll', 'Shift', 'Slide', 'Tilt', 'Twist'], 71 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 72 | 'PseKNC': {'DNA': ['Rise', 'Roll', 'Shift', 'Slide', 'Tilt', 'Twist'], 73 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 74 | 'PCPseDNC': { 75 | 'DNA': ['Base stacking', 'Protein induced deformability', 'B-DNA twist', 'A-philicity', 'Propeller twist', 76 | 'Duplex stability:(freeenergy)', 'DNA denaturation', 'Bending stiffness', 'Protein DNA twist', 77 | 'Aida_BA_transition', 'Breslauer_dG', 'Breslauer_dH', 'Electron_interaction', 78 | 'Hartman_trans_free_energy', 'Helix-Coil_transition', 'Lisser_BZ_transition', 'Polar_interaction', 79 | 'SantaLucia_dG', 'SantaLucia_dS', 'Sarai_flexibility', 'Stability', 'Sugimoto_dG', 'Sugimoto_dH', 80 | 'Sugimoto_dS', 'Duplex tability(disruptenergy)', 'Stabilising energy of Z-DNA', 'Breslauer_dS', 81 | 'Ivanov_BA_transition', 'SantaLucia_dH', 'Stacking_energy', 'Watson-Crick_interaction', 82 | 'Dinucleotide GC Content', 'Twist', 'Tilt', 'Roll', 'Shift', 'Slide', 'Rise'], 83 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 84 | 'PCPseTNC': {'DNA': ['Dnase I', 'Bendability (DNAse)'], 'RNA': []}, 85 | 'SCPseDNC': {'DNA': ['Rise', 'Roll', 'Shift', 'Slide', 'Tilt', 'Twist'], 86 | 'RNA': ['Rise (RNA)', 'Roll (RNA)', 'Shift (RNA)', 'Slide (RNA)', 'Tilt (RNA)', 'Twist (RNA)']}, 87 | 'SCPseTNC': {'DNA': ['Dnase I', 'Bendability (DNAse)'], 'RNA': []}, 88 | } 89 | myKmer = { 90 | 'DAC': 2, 'DCC': 2, 'DACC': 2, 91 | 'TAC': 3, 'TCC': 3, 'TACC': 3 92 | } 93 | myDataFile = { 94 | 'DAC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 95 | 'DCC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 96 | 'DACC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 97 | 'TAC': {'DNA': 'tridnaPhyche.data', 'RNA': ''}, 98 | 'TCC': {'DNA': 'tridnaPhyche.data', 'RNA': ''}, 99 | 'TACC': {'DNA': 'tridnaPhyche.data', 'RNA': ''}, 100 | 'PseDNC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 101 | 'PseKNC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 102 | 'PCPseDNC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 103 | 'PCPseTNC': {'DNA': 'tridnaPhyche.data', 'RNA': ''}, 104 | 'SCPseDNC': {'DNA': 'didnaPhyche.data', 'RNA': 'dirnaPhyche.data'}, 105 | 'SCPseTNC': {'DNA': 'tridnaPhyche.data', 'RNA': ''}, 106 | } 107 | 108 | def check_acc_arguments(method, type, parameters): 109 | """ 110 | Check auto-correlation parameters. 111 | :param method: i.e. DAC, DCC, DACC, TAC, TCC, TACC 112 | :param type: i.e. DNA, RNA 113 | :return: 114 | """ 115 | kmer = myKmer[method] 116 | myIndex = [] 117 | myProperty = {} 118 | dataFile = '' 119 | 120 | if type == 'DNA': 121 | if method in ('DAC', 'DCC', 'DACC'): 122 | myIndex = parameters['Di-DNA-Phychem'].strip().split(';') 123 | else: 124 | myIndex = parameters['Tri-DNA-Phychem'].strip().split(';') 125 | if type == 'RNA': 126 | if method in ('DAC', 'DCC', 'DACC'): 127 | myIndex = parameters['Di-RNA-Phychem'].strip().split(';') 128 | 129 | dataFile = myDataFile[method][type] 130 | file_path = os.path.split(os.path.realpath(__file__))[0] + r'\data\%s'%dataFile if platform.system() == 'Windows' else os.path.split(os.path.realpath(__file__))[0] + r'/data/%s' %dataFile 131 | with open(file_path, 'rb') as f: 132 | myProperty = pickle.load(f) 133 | if len(myIndex) == 0 or len(myProperty) == 0: 134 | return myIndex, myProperty, kmer, False 135 | return myIndex, myProperty, kmer, True 136 | 137 | def check_Pse_arguments(method, type, parameters): 138 | """ 139 | Check auto-correlation parameters. 140 | :param method: i.e. PseDNC, PseKNC, PCPseDNC, PCPseTNC, SCPseDNC, SCPseTNC 141 | :param type: i.e. DNA, RNA 142 | :return: 143 | """ 144 | myIndex = [] 145 | myProperty = {} 146 | dataFile = '' 147 | 148 | if type == 'DNA': 149 | if method in ('PseDNC', 'PseKNC'): 150 | myIndex = parameters['Di-DNA-Phychem'].strip().split(';') 151 | if method in ('PCPseDNC', 'SCPseDNC'): 152 | myIndex = parameters['Di-DNA-Phychem'].strip().split(';') 153 | if method in ('PCPseTNC', 'SCPseTNC'): 154 | myIndex = parameters['Tri-DNA-Phychem'].strip().split(';') 155 | if type == 'RNA': 156 | if method in ('PseDNC', 'PseKNC'): 157 | myIndex = parameters['Di-RNA-Phychem'].strip().split(';') 158 | if method in ('PCPseDNC', 'SCPseDNC'): 159 | myIndex = parameters['Di-RNA-Phychem'].strip().split(';') 160 | 161 | dataFile = myDataFile[method][type] 162 | file_path = os.path.split(os.path.realpath(__file__))[0] + r'\data\%s'%dataFile if platform.system() == 'Windows' else os.path.split(os.path.realpath(__file__))[0] + r'/data/%s' %dataFile 163 | with open(file_path, 'rb') as f: 164 | myProperty = pickle.load(f) 165 | 166 | if len(myIndex) == 0 or len(myProperty) == 0: 167 | return myIndex, myProperty, False 168 | 169 | return myIndex, myProperty, True 170 | -------------------------------------------------------------------------------- /util/EvaluationMetrics.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import numpy as np 5 | import pandas as pd 6 | import math 7 | from sklearn.metrics import roc_curve, auc, precision_recall_curve 8 | 9 | class Metrics(object): 10 | def __init__(self, scores, labels, pos_label=None, threshold=0.5): 11 | super(Metrics, self).__init__() 12 | self.scores = scores 13 | label_sets = sorted(set(labels)) 14 | if pos_label is None: 15 | self.pos_label = label_sets[-1] 16 | else: 17 | self.pos_label = pos_label 18 | self.labels = labels 19 | self.threshold = threshold 20 | # evaluation metrics 21 | self.sensitivity = 0 22 | self.specificity = 0 23 | self.accuracy = 0 24 | self.mcc = 0 25 | self.precision = 0 26 | self.f1 = 0 27 | self.auc = 0 28 | self.prc = 0 29 | self.aucDot = None 30 | self.prcDot = None 31 | 32 | if len(label_sets) == 2: 33 | self.calculateBinaryTaskMetrics() 34 | elif len(label_sets) > 2: 35 | self.calculateMultiTaskMetrics() 36 | else: 37 | pass 38 | 39 | def calculateBinaryTaskMetrics(self): 40 | tp, tn, fp, fn = 0, 0, 0, 0 41 | for i in range(len(self.scores)): 42 | if self.labels[i] == self.pos_label: 43 | if self.scores[i] >= self.threshold: 44 | tp += 1 45 | else: 46 | fn += 1 47 | else: 48 | if self.scores[i] < self.threshold: 49 | tn += 1 50 | else: 51 | fp += 1 52 | 53 | self.sensitivity = round(tp / (tp + fn) * 100, 2) if (tp + fn) != 0 else 0 54 | self.specificity = round(tn / (fp + tn) * 100, 2) if (fp + tn) != 0 else 0 55 | self.accuracy = round((tp + tn) / (tp + fn + tn + fp) * 100, 2) 56 | self.mcc = round((tp * tn - fp * fn) / math.sqrt((tp + fp) * (tp + fn) * (tn + fp) * (tn + fn)), 4) if (tp + fp) * (tp + fn) * (tn + fp) * (tn + fn) != 0 else 0 57 | self.precision = round(tp / (tp + fp) * 100, 2) if (tp + fp) != 0 else 0 58 | self.f1 = round(2 * tp / (2 * tp + fp + fn), 4) if (2 * tp + fp + fn) != 0 else 0 59 | # roc 60 | fpr, tpr, _ = roc_curve(self.labels, self.scores, pos_label=self.pos_label) 61 | self.auc = round(auc(fpr, tpr), 4) 62 | self.aucDot = pd.DataFrame(np.hstack((fpr.reshape((-1, 1)), tpr.reshape((-1, 1)))), columns=['fpr', 'tpr']) 63 | # prc 64 | precision, recall, _ = precision_recall_curve(self.labels, self.scores, pos_label=self.pos_label) 65 | self.prc = round(auc(recall, precision), 4) 66 | self.prcDot = pd.DataFrame(np.hstack((recall.reshape((-1, 1)), precision.reshape((-1, 1)))), 67 | columns=['recall', 'precision']) 68 | 69 | def calculateMultiTaskMetrics(self): 70 | result = [] 71 | for item in self.scores: 72 | result.append(max(enumerate(item), key=lambda x: x[1])[0]) 73 | result = np.array(result) 74 | self.accuracy = round(len(result[result == self.labels]) / len(self.labels) * 100, 2) 75 | 76 | @staticmethod 77 | def getBinaryTaskMetrics(scores, labels, pos_label=None, threshold=0.5): 78 | evaluationMetrics = Metrics(scores, labels, pos_label, threshold) 79 | return (evaluationMetrics.sensitivity, evaluationMetrics.specificity, evaluationMetrics.precision, evaluationMetrics.accuracy, evaluationMetrics.mcc, 80 | evaluationMetrics.f1, evaluationMetrics.auc, evaluationMetrics.prc), True 81 | 82 | @staticmethod 83 | def getMutiTaskMetrics(scores, labels): 84 | evaluationMetricss = Metrics(scores, labels) 85 | return evaluationMetricss.accuracy, True 86 | 87 | 88 | if __name__ == '__main__': 89 | data = np.loadtxt('SVM_IND.txt', delimiter='\t') 90 | metrics = Metrics(data[:, 1:], data[:, 0]) 91 | print(metrics.aucDot) 92 | 93 | # acc = Metrics.getMutiTaskMetrics(data[:, 1:], data[:, 0]) 94 | # print(acc) 95 | -------------------------------------------------------------------------------- /util/MCL.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import numpy as np 5 | import pandas as pd 6 | 7 | class MarkvCluster(object): 8 | def __init__(self, data, expand_factor=2, inflate_factor=2.0, mult_factor=2.0, max_loop=200): 9 | super(MarkvCluster, self).__init__() 10 | M = np.corrcoef(data) 11 | M[M < 0] = 0 12 | for i in range(len(M)): 13 | M[i][i] = 0 14 | import networkx as nx 15 | G = nx.from_numpy_matrix(M) 16 | self.M, self.clusters = self.networkx_mcl(G, expand_factor=expand_factor, inflate_factor=inflate_factor, 17 | max_loop=max_loop, mult_factor=mult_factor) 18 | self.cluster_array = self.get_array() 19 | 20 | def get_array(self): 21 | array = [] 22 | for key in self.clusters: 23 | for value in self.clusters[key]: 24 | array.append([value, key]) 25 | df = pd.DataFrame(np.array(array), columns=['Sample', 'Cluster']) 26 | df = df.sort_values(by='Sample', ascending=True) 27 | return df.Cluster.values 28 | 29 | def networkx_mcl(self, G, expand_factor=2, inflate_factor=2, max_loop=10, mult_factor=1): 30 | import networkx as nx 31 | A = nx.adjacency_matrix(G) 32 | return self.mcl(np.array(A.todense()), expand_factor, inflate_factor, max_loop, mult_factor) 33 | 34 | def mcl(self, M, expand_factor=2, inflate_factor=2, max_loop=10, mult_factor=1): 35 | M = self.add_diag(M, mult_factor) 36 | M = self.normalize(M) 37 | for i in range(max_loop): 38 | # logging.info("loop %s" % i) 39 | M = self.inflate(M, inflate_factor) 40 | M = self.expand(M, expand_factor) 41 | if self.stop(M, i): break 42 | 43 | clusters = self.get_clusters(M) 44 | return M, clusters 45 | 46 | def add_diag(self, A, mult_factor): 47 | return A + mult_factor * np.identity(A.shape[0]) 48 | 49 | def normalize(self, A): 50 | column_sums = A.sum(axis=0) 51 | new_matrix = A / column_sums[np.newaxis, :] 52 | return new_matrix 53 | 54 | def inflate(self, A, inflate_factor): 55 | return self.normalize(np.power(A, inflate_factor)) 56 | 57 | def expand(self, A, expand_factor): 58 | return np.linalg.matrix_power(A, expand_factor) 59 | 60 | def stop(self, M, i): 61 | if i % 5 == 4: 62 | m = np.max(M ** 2 - M) - np.min(M ** 2 - M) 63 | if m == 0: 64 | # logging.info("Stop at iteration %s" % i) 65 | return True 66 | return False 67 | 68 | def get_clusters(self, A): 69 | clusters = [] 70 | for i, r in enumerate((A > 0).tolist()): 71 | if r[i]: 72 | clusters.append(A[i, :] > 0) 73 | clust_map = {} 74 | for cn, c in enumerate(clusters): 75 | for x in [i for i, x in enumerate(c) if x]: 76 | clust_map[cn] = clust_map.get(cn, []) + [x] 77 | return clust_map 78 | 79 | 80 | if __name__ == '__main__': 81 | data = np.random.rand(32, 5) 82 | print(data) 83 | mcl = MarkvCluster(data) 84 | print(mcl.cluster_array) 85 | -------------------------------------------------------------------------------- /util/ModelMetrics.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import numpy as np 5 | import pandas as pd 6 | import copy 7 | 8 | class ModelMetrics(object): 9 | def __init__(self): 10 | super(ModelMetrics, self).__init__() 11 | self.metrics = pd.DataFrame(data=None, columns=['Id', 'StartTime', 'EndTime', 'Sn', 'Sp', 'Pre', 'Acc', 'MCC', 'F1', 'AUROC', 'AUPRC']) 12 | self.classification_task = None 13 | self.aucData = {} # dict key=Id, value=Pandas DataFrame 14 | self.prcData = {} # dict key=Id, value=Pandas DataFrame 15 | self.prediction_scores = {} # dict key=Id, value=Pandas DataFrame 16 | self.models = {} # dict key=Id, value=model_list 17 | 18 | def insert_data(self, metric_ndarray, id, auc_df, prc_df, prediction_score, model=None): 19 | df = pd.DataFrame(data=metric_ndarray) 20 | # self.metrics = self.metrics.append(df, ignore_index=True) 21 | if len(self.metrics) == 0: 22 | self.metrics = df 23 | else: 24 | self.metrics = pd.concat([self.metrics, df], axis=0) 25 | self.aucData[id] = auc_df 26 | self.prcData[id] = prc_df 27 | self.prediction_scores[id] = prediction_score 28 | if not model is None: 29 | self.models[id] = copy.deepcopy(model) 30 | 31 | 32 | if __name__ == '__main__': 33 | model = ModelMetrics() 34 | df = pd.DataFrame([['id', '000', '111', 98, 99, 98, 99, 0.9, 0.8, 0.90, 0.91]], columns=['Id', 'StartTime', 'EndTime', 'Sn', 'Sp', 'Pre', 'Acc', 'MCC', 'F1', 'AUROC', 'AUPRC']) 35 | df1 = pd.DataFrame([['id', '111', '111', 98, 99, 98, 99, 0.9, 0.8, 0.90, 0.91]], columns=['Id', 'StartTime', 'EndTime', 'Sn', 'Sp', 'Pre', 'Acc', 'MCC', 'F1', 'AUROC', 'AUPRC']) 36 | 37 | model.insert_data(df, None, None) 38 | model.insert_data(df1, None, None) 39 | 40 | 41 | -------------------------------------------------------------------------------- /util/Modules.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import sys, os 5 | pPath = os.path.split(os.path.realpath(__file__))[0] 6 | sys.path.append(pPath) 7 | from PyQt5.QtWidgets import (QMainWindow, QWidget, QVBoxLayout, QAction, QMessageBox, QFileDialog) 8 | from PyQt5.QtCore import QUrl 9 | from PyQt5.QtGui import QIcon, QDesktopServices 10 | import PlotWidgets, InputDialog 11 | import threading 12 | import sip 13 | import pandas as pd 14 | import numpy as np 15 | 16 | 17 | class PlotCurve(QMainWindow): 18 | def __init__(self, curve='ROC'): 19 | super(PlotCurve, self).__init__() 20 | self.initUI() 21 | self.curve = curve 22 | self.data = [] 23 | self.raw_data = {} 24 | 25 | def initUI(self): 26 | bar = self.menuBar() 27 | file = bar.addMenu('File') 28 | add = QAction('Add curve', self) 29 | add.triggered.connect(self.importData) 30 | comp = QAction('Compare curves', self) 31 | comp.triggered.connect(self.compareCurves) 32 | quit = QAction('Exit', self) 33 | quit.triggered.connect(self.close) 34 | file.addAction(add) 35 | file.addAction(comp) 36 | file.addSeparator() 37 | file.addAction(quit) 38 | 39 | help = bar.addMenu('Help') 40 | about = QAction('Document', self) 41 | about.triggered.connect(self.openDocumentUrl) 42 | help.addAction(about) 43 | 44 | self.setWindowTitle('iLearnPlus Plot curve') 45 | self.resize(600, 600) 46 | self.setWindowIcon(QIcon('images/logo.ico')) 47 | curveWidget = QWidget() 48 | self.curveLayout = QVBoxLayout(curveWidget) 49 | self.curveGraph = PlotWidgets.CustomCurveWidget() 50 | self.curveLayout.addWidget(self.curveGraph) 51 | self.setCentralWidget(curveWidget) 52 | 53 | def closeEvent(self, event): 54 | reply = QMessageBox.question(self, 'Message', 'Are you sure to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) 55 | if reply == QMessageBox.Yes: 56 | self.close() 57 | 58 | def importData(self): 59 | auc, dot, color, lineWidth, lineStyle, prefix, raw_data, ok = InputDialog.QPlotInput.getValues(self.curve) 60 | if not auc is None and not prefix is None and ok: 61 | self.raw_data[prefix] = raw_data 62 | if self.curve == 'ROC': 63 | self.data.append(['%s AUC = %s'%(prefix, auc), dot, lineWidth, lineStyle, color]) 64 | else: 65 | self.data.append(['%s AUPRC = %s'%(prefix, auc), dot, lineWidth, lineStyle, color]) 66 | self.curveLayout.removeWidget(self.curveGraph) 67 | sip.delete(self.curveGraph) 68 | self.curveGraph = PlotWidgets.CustomCurveWidget() 69 | if self.curve == 'ROC': 70 | self.curveGraph.init_data(0, 'ROC curve', self.data) 71 | else: 72 | self.curveGraph.init_data(1, 'PRC curve', self.data) 73 | self.curveLayout.addWidget(self.curveGraph) 74 | 75 | def compareCurves(self): 76 | if len(self.raw_data) >= 2: 77 | method, bootstrap_n, ok = InputDialog.QStaticsInput.getValues() 78 | if ok: 79 | self.subWin = PlotWidgets.BootstrapTestWidget(self.raw_data, bootstrap_n, self.curve) 80 | self.subWin.setWindowTitle('Calculating p values ... ') 81 | self.subWin.resize(600, 600) 82 | t = threading.Thread(target=self.subWin.bootstrapTest) 83 | t.start() 84 | self.subWin.show() 85 | else: 86 | QMessageBox.critical(self, 'Error', 'Two or more curve could be compared!', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 87 | 88 | def openDocumentUrl(self): 89 | QDesktopServices.openUrl(QUrl('https://ilearnplus.erc.monash.edu/')) 90 | 91 | class ScatterPlot(QMainWindow): 92 | def __init__(self): 93 | super(ScatterPlot, self).__init__() 94 | self.initUI() 95 | 96 | def initUI(self): 97 | bar = self.menuBar() 98 | file = bar.addMenu('File') 99 | add = QAction('Open file', self) 100 | add.triggered.connect(self.importData) 101 | quit = QAction('Exit', self) 102 | quit.triggered.connect(self.close) 103 | file.addAction(add) 104 | file.addSeparator() 105 | file.addAction(quit) 106 | 107 | self.setWindowTitle('iLearnPlus Scatter Plot') 108 | self.resize(600, 600) 109 | self.setWindowIcon(QIcon('images/logo.ico')) 110 | plotWidget = QWidget() 111 | self.plotLayout = QVBoxLayout(plotWidget) 112 | self.plotGraph = PlotWidgets.ClusteringDiagramMatplotlib() 113 | self.plotLayout.addWidget(self.plotGraph) 114 | self.setCentralWidget(plotWidget) 115 | 116 | def closeEvent(self, event): 117 | reply = QMessageBox.question(self, 'Message', 'Are you sure to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) 118 | if reply == QMessageBox.Yes: 119 | self.close() 120 | 121 | def importData(self): 122 | try: 123 | file, ok = QFileDialog.getOpenFileName(self, 'Open', './data', 'TSV (*.tsv)') 124 | if ok: 125 | data = pd.read_csv(file, delimiter='\t', header=0, dtype=float) 126 | category =[int(i) for i in sorted(set(data.iloc[:, 0]))] 127 | new_data = [] 128 | for c in category: 129 | index = np.where(data.values[:,0] == c)[0] 130 | new_data.append([c, data.values[index, 1:]]) 131 | self.plotLayout.removeWidget(self.plotGraph) 132 | sip.delete(self.plotGraph) 133 | self.plotGraph = PlotWidgets.ClusteringDiagramMatplotlib() 134 | self.plotGraph.init_data('Scatter Plot', new_data, data.columns[1], data.columns[2]) 135 | self.plotLayout.addWidget(self.plotGraph) 136 | except Exception as e: 137 | QMessageBox.critical(self, 'Error', 'Please check your input.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 138 | 139 | class Hist(QMainWindow): 140 | def __init__(self): 141 | super(Hist, self).__init__() 142 | self.initUI() 143 | 144 | def initUI(self): 145 | bar = self.menuBar() 146 | file = bar.addMenu('File') 147 | add = QAction('Open file', self) 148 | add.triggered.connect(self.importData) 149 | quit = QAction('Exit', self) 150 | quit.triggered.connect(self.close) 151 | file.addAction(add) 152 | file.addSeparator() 153 | file.addAction(quit) 154 | 155 | self.setWindowTitle('iLearnPlus Histogram and Kernel density plot') 156 | self.resize(600, 600) 157 | self.setWindowIcon(QIcon('images/logo.ico')) 158 | plotWidget = QWidget() 159 | self.plotLayout = QVBoxLayout(plotWidget) 160 | self.plotGraph = PlotWidgets.HistogramWidget() 161 | self.plotLayout.addWidget(self.plotGraph) 162 | self.setCentralWidget(plotWidget) 163 | 164 | def closeEvent(self, event): 165 | reply = QMessageBox.question(self, 'Message', 'Are you sure to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) 166 | if reply == QMessageBox.Yes: 167 | self.close() 168 | 169 | def importData(self): 170 | try: 171 | file, ok = QFileDialog.getOpenFileName(self, 'Open', './data', 'TSV (*.tsv)') 172 | if ok: 173 | data = np.loadtxt(file, dtype=float, delimiter='\t') 174 | fill_zero = np.zeros((data.shape[0], 1)) 175 | data = np.hstack((np.zeros((data.shape[0], 1)), data)) 176 | self.plotLayout.removeWidget(self.plotGraph) 177 | sip.delete(self.plotGraph) 178 | self.plotGraph = PlotWidgets.HistogramWidget() 179 | self.plotGraph.init_data('Data distribution', data) 180 | self.plotLayout.addWidget(self.plotGraph) 181 | except Exception as e: 182 | QMessageBox.critical(self, 'Error', 'Please check your input.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /util/TableWidget.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import sys, os 5 | pPath = os.path.split(os.path.realpath(__file__))[0] 6 | sys.path.append(pPath) 7 | from PyQt5.QtWidgets import (QApplication, QTableWidget, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, 8 | QLineEdit, QTableWidgetItem, QMessageBox, QComboBox, QSpacerItem, QSizePolicy, QAbstractItemView) 9 | from PyQt5.QtGui import QFont 10 | from PyQt5.QtCore import pyqtSignal 11 | import pandas as pd 12 | import numpy as np 13 | from PlotWidgets import HistogramWidget 14 | import qdarkstyle 15 | 16 | class TableWidget(QWidget): 17 | control_signal = pyqtSignal(list) 18 | 19 | def __init__(self): 20 | super(TableWidget, self).__init__() 21 | self.data = None 22 | self.row = 50 23 | self.column = 0 24 | self.page_dict = {} 25 | self.final_page = '' 26 | self.header = [] 27 | self.selected_column = None 28 | self.initUI() 29 | 30 | def initUI(self): 31 | self.control_signal.connect(self.page_controller) 32 | layout = QVBoxLayout(self) 33 | self.tableWidget = QTableWidget() 34 | self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) 35 | self.tableWidget.horizontalHeader().sectionClicked.connect(self.horizontal_header_clicked) 36 | self.tableWidget.setFont(QFont('Arial', 8)) 37 | layout.addWidget(self.tableWidget) 38 | 39 | control_layout = QHBoxLayout() 40 | homePage = QPushButton("Home") 41 | prePage = QPushButton("< Previous") 42 | self.curPage = QLabel("1") 43 | nextPage = QPushButton("Next >") 44 | finalPage = QPushButton("Final") 45 | self.totalPage = QLabel("Total") 46 | skipLable_0 = QLabel("Jump to") 47 | self.skipPage = QLineEdit() 48 | self.skipPage.setMaximumWidth(50) 49 | confirmSkip = QPushButton("OK") 50 | spacer = QSpacerItem(20, 10, QSizePolicy.Expanding, QSizePolicy.Minimum) 51 | self.label_comboBox = QComboBox() 52 | # self.label_comboBox.setMaximumWidth(50) 53 | self.label_comboBox.addItem('All') 54 | self.label_comboBox.setCurrentIndex(0) 55 | self.label_comboBox.setToolTip('Select the sample category used to draw the histogram.') 56 | self.display_hist = QPushButton(' Histogram ') 57 | self.display_hist.clicked.connect(self.display_histogram) 58 | 59 | control_layout.addStretch(1) 60 | homePage.clicked.connect(self.__home_page) 61 | prePage.clicked.connect(self.__pre_page) 62 | nextPage.clicked.connect(self.__next_page) 63 | finalPage.clicked.connect(self.__final_page) 64 | confirmSkip.clicked.connect(self.__confirm_skip) 65 | control_layout.addWidget(homePage) 66 | control_layout.addWidget(prePage) 67 | control_layout.addWidget(self.curPage) 68 | control_layout.addWidget(nextPage) 69 | control_layout.addWidget(finalPage) 70 | control_layout.addWidget(self.totalPage) 71 | control_layout.addWidget(skipLable_0) 72 | control_layout.addWidget(self.skipPage) 73 | control_layout.addWidget(confirmSkip) 74 | control_layout.addItem(spacer) 75 | # control_layout.addWidget(self.label_comboBox) 76 | control_layout.addWidget(self.display_hist) 77 | control_layout.addStretch(1) 78 | layout.addLayout(control_layout) 79 | 80 | def setRowAndColumns(self, row, column): 81 | self.row = row 82 | self.column = column 83 | self.tableWidget.setRowCount(row) 84 | self.tableWidget.setColumnCount(column) 85 | 86 | def init_data(self, header, data): 87 | self.tableWidget.setHorizontalHeaderLabels(header) 88 | self.header = header 89 | self.data = data 90 | page = 1 91 | for i in range(0, self.data.shape[0], self.row): 92 | end = i + self.row if i + self.row < self.data.shape[0] else self.data.shape[0] 93 | self.page_dict[str(page)] = (i, end) 94 | self.final_page = str(page) 95 | page += 1 96 | self.curPage.setText('1') 97 | self.display_table('1') 98 | self.totalPage.setText('Total page: %s ' %self.final_page) 99 | 100 | def __home_page(self): 101 | self.control_signal.emit(["home", self.curPage.text()]) 102 | 103 | def __pre_page(self): 104 | self.control_signal.emit(["pre", self.curPage.text()]) 105 | 106 | def __next_page(self): 107 | self.control_signal.emit(["next", self.curPage.text()]) 108 | 109 | def __final_page(self): 110 | self.control_signal.emit(["final", self.curPage.text()]) 111 | 112 | def __confirm_skip(self): 113 | self.control_signal.emit(["confirm", self.skipPage.text()]) 114 | 115 | def page_controller(self, signal): 116 | try: 117 | if not self.data is None: 118 | if 'home' == signal[0] and signal[1] != '': 119 | self.display_table('1') 120 | self.curPage.setText('1') 121 | elif 'final' == signal[0] and signal[1] != '': 122 | self.display_table(self.final_page) 123 | self.curPage.setText(self.final_page) 124 | elif 'pre' == signal[0] and signal[1] != '': 125 | page = int(signal[1]) - 1 if int(signal[1]) - 1 > 0 else 1 126 | self.curPage.setText(str(page)) 127 | self.display_table(str(page)) 128 | elif 'next' == signal[0] and signal[1] != '': 129 | page = int(signal[1]) + 1 if int(signal[1]) + 1 <= int(self.final_page) else int(self.final_page) 130 | self.curPage.setText(str(page)) 131 | self.display_table(str(page)) 132 | elif "confirm" == signal[0] and signal[1] != '': 133 | if 1 <= int(signal[1]) <= int(self.final_page): 134 | self.curPage.setText(signal[1]) 135 | self.display_table(signal[1]) 136 | except Exception as e: 137 | pass 138 | 139 | def display_table(self, page): 140 | if page in self.page_dict: 141 | tmp_data = self.data[self.page_dict[page][0]: self.page_dict[page][1]] 142 | self.tableWidget.setRowCount(tmp_data.shape[0]) 143 | self.tableWidget.setColumnCount(tmp_data.shape[1]) 144 | self.tableWidget.setHorizontalHeaderLabels(self.header) 145 | for i in range(tmp_data.shape[0]): 146 | for j in range(tmp_data.shape[1]): 147 | if j == 0: 148 | cell = QTableWidgetItem(str(tmp_data[i][j])) 149 | else: 150 | cell = QTableWidgetItem(str(round(float(tmp_data[i][j]), 6))) 151 | self.tableWidget.setItem(i, j, cell) 152 | else: 153 | QMessageBox.critical(self, 'Error', 'Page number out of index.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 154 | labels = ['All'] + [str(i) for i in set(self.data[1:, 1])] 155 | self.label_comboBox.clear() 156 | self.label_comboBox.addItems(labels) 157 | self.label_comboBox.setCurrentIndex(0) 158 | 159 | def horizontal_header_clicked(self, index): 160 | if index == 0: 161 | self.selected_column = None 162 | else: 163 | self.selected_column = index 164 | 165 | def display_histogram(self): 166 | if self.selected_column is None: 167 | QMessageBox.critical(self, 'Error', 'Please select a column (except col 0)).', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 168 | elif self.selected_column > len(self.header) - 1: 169 | QMessageBox.critical(self, 'Error', 'Incorrect column index.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 170 | else: 171 | # labels = np.array(self.data[1:, 1]).astype(int) 172 | # selected_label = self.label_comboBox.currentText() 173 | # data = np.array(self.data[1:, self.selected_column]) 174 | # if selected_label == 'All': 175 | # plot_data = data 176 | # else: 177 | # plot_data = data[np.where(labels == int(selected_label))] 178 | data = np.hstack((self.data[1:, 1].reshape((-1, 1)), self.data[1:, self.selected_column].reshape((-1, 1)))).astype(float) 179 | self.hist = HistogramWidget() 180 | self.hist.init_data(self.header[self.selected_column], data) 181 | self.hist.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 182 | self.hist.show() 183 | 184 | class TableWidgetForSelPanel(TableWidget): 185 | def __init__(self): 186 | super(TableWidgetForSelPanel, self).__init__() 187 | 188 | def display_table(self, page): 189 | if page in self.page_dict: 190 | tmp_data = self.data[self.page_dict[page][0]: self.page_dict[page][1]] 191 | self.tableWidget.setRowCount(tmp_data.shape[0]) 192 | self.tableWidget.setColumnCount(tmp_data.shape[1]) 193 | self.tableWidget.setHorizontalHeaderLabels(self.header) 194 | for i in range(tmp_data.shape[0]): 195 | for j in range(tmp_data.shape[1]): 196 | if j == 0: 197 | cell = QTableWidgetItem(str(tmp_data[i][j])) 198 | else: 199 | cell = QTableWidgetItem(str(round(float(tmp_data[i][j]), 6))) 200 | self.tableWidget.setItem(i, j, cell) 201 | else: 202 | QMessageBox.critical(self, 'Error', 'Page number out of index.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 203 | labels = ['All'] + [str(i) for i in set(self.data[1:, 0])] 204 | self.label_comboBox.clear() 205 | self.label_comboBox.addItems(labels) 206 | self.label_comboBox.setCurrentIndex(0) 207 | 208 | def horizontal_header_clicked(self, index): 209 | self.selected_column = index 210 | 211 | def display_histogram(self): 212 | if self.selected_column is None: 213 | QMessageBox.critical(self, 'Error', 'Please select a column.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 214 | elif self.selected_column > len(self.header) - 1: 215 | QMessageBox.critical(self, 'Error', 'Incorrect column index.', QMessageBox.Ok | QMessageBox.No, QMessageBox.Ok) 216 | else: 217 | # labels = np.array(self.data[:, 0]).astype(int) 218 | # selected_label = self.label_comboBox.currentText() 219 | # data = np.array(self.data[:, self.selected_column]) 220 | # if selected_label == 'All': 221 | # plot_data = data 222 | # else: 223 | # plot_data = data[np.where(labels == int(selected_label))] 224 | data = np.hstack((self.data[:, 0].reshape((-1, 1)), self.data[:, self.selected_column].reshape((-1, 1)))).astype(float) 225 | self.hist = HistogramWidget() 226 | self.hist.init_data(self.header[self.selected_column], data) 227 | self.hist.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) 228 | self.hist.show() 229 | 230 | 231 | 232 | if __name__ == '__main__': 233 | df = pd.read_csv('mutitask.tsv', delimiter='\t', header=0) 234 | app = QApplication(sys.argv) 235 | win = TableWidget() 236 | win.setRowAndColumns(40, df.values.shape[1]) 237 | win.setTabletHeader(df.columns) 238 | win.init_data(df.values) 239 | 240 | win.show() 241 | sys.exit(app.exec_()) 242 | -------------------------------------------------------------------------------- /util/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #_*_coding:utf-8_*_ 3 | 4 | __all__ = [ 5 | 'CheckAccPseParameter', 6 | 'DataAnalysis', 7 | 'EvaluationMetrics', 8 | 'FileProcessing', 9 | 'InputDialog', 10 | 'MachineLearning', 11 | 'MCL', 12 | 'ModelMetrics', 13 | 'Modules', 14 | 'Nets', 15 | 'PlotWidgets', 16 | 'TableWidget', 17 | ] 18 | -------------------------------------------------------------------------------- /util/data/AAindex.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/AAindex.data -------------------------------------------------------------------------------- /util/data/DPCP.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/DPCP.data -------------------------------------------------------------------------------- /util/data/DPCP.txt: -------------------------------------------------------------------------------- 1 | # AA AC AG AT CA CC CG CT GA GC GG GT TA TC TG TT 2 | F-roll 0.04 0.06 0.04 0.05 0.04 0.04 0.04 0.04 0.05 0.05 0.04 0.06 0.03 0.05 0.04 0.04 3 | F-tilt 0.08 0.07 0.06 0.1 0.06 0.06 0.06 0.06 0.07 0.07 0.06 0.07 0.07 0.07 0.06 0.08 4 | F-twist 0.07 0.06 0.05 0.07 0.05 0.06 0.05 0.05 0.06 0.06 0.06 0.06 0.05 0.06 0.05 0.07 5 | F-slide 6.69 6.8 3.47 9.61 2 2.99 2.71 3.47 4.27 4.21 2.99 6.8 1.85 4.27 2 6.69 6 | F-shift 6.24 2.91 2.8 4.66 2.88 2.67 3.02 2.8 3.58 2.66 2.67 2.91 4.11 3.58 2.88 6.24 7 | F-rise 21.34 21.98 17.48 24.79 14.51 14.25 14.66 17.48 18.41 17.31 14.25 21.98 14.24 18.41 14.51 21.34 8 | Roll 1.05 2.01 3.6 0.61 5.6 4.68 6.02 3.6 2.44 1.7 4.68 2.01 3.5 2.44 5.6 1.05 9 | Tilt -1.26 0.33 -1.66 0 0.14 -0.77 0 -1.66 1.44 0 -0.77 0.33 0 1.44 0.14 -1.26 10 | Twist 35.02 31.53 32.29 30.72 35.43 33.54 33.67 32.29 35.67 34.07 33.54 31.53 36.94 35.67 35.43 35.02 11 | Slide -0.18 -0.59 -0.22 -0.68 0.48 -0.17 0.44 -0.22 -0.05 -0.19 -0.17 -0.59 0.04 -0.05 0.48 -0.18 12 | Shift 0.01 -0.02 -0.02 0 0.01 0.03 0 -0.02 -0.01 0 0.03 -0.02 0 -0.01 0.01 0.01 13 | Rise 3.25 3.24 3.32 3.21 3.37 3.36 3.29 3.32 3.3 3.27 3.36 3.24 3.39 3.3 3.37 3.25 14 | Energy -1 -1.44 -1.28 -0.88 -1.45 -1.84 -2.17 -1.28 -1.3 -2.24 -1.84 -1.44 -0.58 -1.3 -1.45 -1 15 | Enthalpy -7.6 -8.4 -7.8 -7.2 -8.5 -8 -10.6 -7.8 -8.2 -9.8 -8 -8.4 -7.2 -8.2 -8.5 -7.6 16 | Entropy -21.3 -22.4 -21 -20.4 -22.7 -19.9 -27.2 -21 -22.2 -24.4 -19.9 -22.4 -21.3 -22.2 -22.7 -21.3 17 | -------------------------------------------------------------------------------- /util/data/Grantham.txt: -------------------------------------------------------------------------------- 1 | Name A R N D C Q E G H I L K M F P S T W Y V 2 | A 0 112 111 126 195 91 107 60 86 94 96 106 84 113 27 99 58 148 112 64 3 | R 112 0 86 96 180 43 54 125 29 97 102 26 91 97 103 110 71 101 77 96 4 | N 111 86 0 23 139 46 42 80 68 149 153 94 142 158 91 46 65 174 143 133 5 | D 126 96 23 0 154 61 45 94 81 168 172 101 160 177 108 65 85 181 160 152 6 | C 195 180 139 154 0 154 170 159 174 198 198 202 196 205 169 112 149 215 194 192 7 | Q 91 43 46 61 154 0 29 87 24 109 113 53 101 116 76 68 42 130 99 96 8 | E 107 54 42 45 170 29 0 98 40 134 138 56 126 140 93 80 65 152 122 121 9 | G 60 125 80 94 159 87 98 0 98 135 138 127 127 153 42 56 59 184 147 109 10 | H 86 29 68 81 174 24 40 98 0 94 99 32 87 100 77 89 47 115 83 84 11 | I 94 97 149 168 198 109 134 135 94 0 5 102 10 21 95 142 89 61 33 29 12 | L 96 102 153 172 198 113 138 138 99 5 0 107 15 22 98 145 92 61 36 32 13 | K 106 26 94 101 202 53 56 127 32 102 107 0 95 102 103 121 78 110 85 97 14 | M 84 91 142 160 196 101 126 127 87 10 15 95 0 28 87 135 81 67 36 21 15 | F 113 97 158 177 205 116 140 153 100 21 22 102 28 0 114 155 103 40 22 50 16 | P 27 103 91 108 169 76 93 42 77 95 98 103 87 114 0 74 38 147 110 68 17 | S 99 110 46 65 112 68 80 56 89 142 145 121 135 155 74 0 58 177 144 124 18 | T 58 71 65 85 149 42 65 59 47 89 92 78 81 103 38 58 0 128 92 69 19 | W 148 101 174 181 215 130 152 184 115 61 61 110 67 40 147 177 128 0 37 88 20 | Y 112 77 143 160 194 99 122 147 83 33 36 85 36 22 110 144 92 37 0 55 21 | V 64 96 133 152 192 96 121 109 84 29 32 97 21 50 68 124 69 88 55 0 22 | -------------------------------------------------------------------------------- /util/data/PAAC.txt: -------------------------------------------------------------------------------- 1 | # A R N D C Q E G H I L K M F P S T W Y V 2 | Hydrophobicity 0.62 -2.53 -0.78 -0.9 0.29 -0.85 -0.74 0.48 -0.4 1.38 1.06 -1.5 0.64 1.19 0.12 -0.18 -0.05 0.81 0.26 1.08 3 | Hydrophilicity -0.5 3 0.2 3 -1 0.2 3 0 -0.5 -1.8 -1.8 3 -1.3 -2.5 0 0.3 -0.4 -3.4 -2.3 -1.5 4 | SideChainMass 15 101 58 59 47 72 73 1 82 57 57 73 75 91 42 31 45 130 107 43 5 | -------------------------------------------------------------------------------- /util/data/PCPsD.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/PCPsD.data -------------------------------------------------------------------------------- /util/data/PCPsD.txt: -------------------------------------------------------------------------------- 1 | Dinucleotides AA AC AG AT CA CC CG CT GA GC GG GT TA TC TG TT 2 | PC1 3.18 3.24 3.3 3.24 3.09 3.32 3.3 3.3 3.38 3.22 3.32 3.24 3.26 3.38 3.09 3.18 3 | PC2 7 4.8 8.5 7.1 9.9 8.7 12.1 8.5 9.4 6.1 12.1 4.8 10.7 9.4 9.9 7 4 | PC3 -0.08 0.23 -0.04 -0.06 0.11 -0.01 0.3 -0.04 0.07 0.07 -0.01 0.23 -0.02 0.07 0.11 -0.08 5 | PC4 -1.27 -1.43 -1.5 -1.36 -1.46 -1.78 -1.89 -1.5 -1.7 -1.39 -1.78 -1.43 -1.45 -1.7 -1.46 -1.27 6 | PC5 -0.8 0.8 0.5 1.1 1 0.3 -0.1 0.5 1.3 0 0.3 0.8 -0.2 1.3 1 -0.8 7 | PC6 31 32 30 33 31 32 27 30 32 35 32 32 32 32 31 31 8 | PC7 -6.82 -11.4 -10.48 -9.38 -10.44 -13.39 -10.64 -10.48 -12.44 -14.88 -13.39 -11.4 -7.69 -12.44 -10.44 -6.82 9 | PC8 -18.4 -26.2 -19.2 -15.5 -27.8 -29.7 -19.4 -19.2 -35.5 -34.9 -29.7 -26.2 -22.6 -26.2 -19.2 -18.4 10 | PC9 -13.7 -13.8 -14 -15.4 -14.4 -11.1 -15.6 -14 -14.2 -16.9 -11.1 -13.8 -16 -14.2 -14.4 -13.7 11 | PC10 -0.9 -2.1 -1.7 -0.9 -1.8 -2.9 -2 -1.7 -2.3 -3.4 -2.9 -2.1 -1.1 -2.1 -1.7 -0.9 12 | -------------------------------------------------------------------------------- /util/data/Schneider-Wrede.txt: -------------------------------------------------------------------------------- 1 | Name A C D E F G H I K L M N P Q R S T V W Y 2 | A 0 0.112 0.819 0.827 0.54 0.208 0.696 0.407 0.891 0.406 0.379 0.318 0.191 0.372 1 0.094 0.22 0.273 0.739 0.552 3 | C 0.114 0 0.847 0.838 0.437 0.32 0.66 0.304 0.887 0.301 0.277 0.324 0.157 0.341 1 0.176 0.233 0.167 0.639 0.457 4 | D 0.729 0.742 0 0.124 0.924 0.697 0.435 0.847 0.249 0.841 0.819 0.56 0.657 0.584 0.295 0.667 0.649 0.797 1 0.836 5 | E 0.79 0.788 0.133 0 0.932 0.779 0.406 0.86 0.143 0.854 0.83 0.599 0.688 0.598 0.234 0.726 0.682 0.824 1 0.837 6 | F 0.508 0.405 0.977 0.918 0 0.69 0.663 0.128 0.903 0.131 0.169 0.541 0.42 0.459 1 0.548 0.499 0.252 0.207 0.179 7 | G 0.206 0.312 0.776 0.807 0.727 0 0.769 0.592 0.894 0.591 0.557 0.381 0.323 0.467 1 0.158 0.272 0.464 0.923 0.728 8 | H 0.896 0.836 0.629 0.547 0.907 1 0 0.848 0.566 0.842 0.825 0.754 0.777 0.716 0.697 0.865 0.834 0.831 0.981 0.821 9 | I 0.403 0.296 0.942 0.891 0.134 0.592 0.652 0 0.892 0.013 0.057 0.457 0.311 0.383 1 0.443 0.396 0.133 0.339 0.213 10 | K 0.889 0.871 0.279 0.149 0.957 0.9 0.438 0.899 0 0.892 0.871 0.667 0.757 0.639 0.154 0.825 0.759 0.882 1 0.848 11 | L 0.405 0.296 0.944 0.892 0.139 0.596 0.653 0.013 0.893 0 0.062 0.452 0.309 0.376 1 0.443 0.397 0.133 0.341 0.205 12 | M 0.383 0.276 0.932 0.879 0.182 0.569 0.648 0.058 0.884 0.062 0 0.447 0.285 0.372 1 0.417 0.358 0.12 0.391 0.255 13 | N 0.424 0.425 0.838 0.835 0.766 0.512 0.78 0.615 0.891 0.603 0.588 0 0.266 0.175 1 0.361 0.368 0.503 0.945 0.641 14 | P 0.22 0.179 0.852 0.831 0.515 0.376 0.696 0.363 0.875 0.357 0.326 0.231 0 0.228 1 0.196 0.161 0.244 0.72 0.481 15 | Q 0.512 0.462 0.903 0.861 0.671 0.648 0.765 0.532 0.881 0.518 0.505 0.181 0.272 0 1 0.461 0.389 0.464 0.831 0.522 16 | R 0.919 0.905 0.305 0.225 0.977 0.928 0.498 0.929 0.141 0.92 0.908 0.69 0.796 0.668 0 0.86 0.808 0.914 1 0.859 17 | S 0.1 0.185 0.801 0.812 0.622 0.17 0.718 0.478 0.883 0.474 0.44 0.289 0.181 0.358 1 0 0.174 0.342 0.827 0.615 18 | T 0.251 0.261 0.83 0.812 0.604 0.312 0.737 0.455 0.866 0.453 0.403 0.315 0.159 0.322 1 0.185 0 0.345 0.816 0.596 19 | V 0.275 0.165 0.9 0.867 0.269 0.471 0.649 0.135 0.889 0.134 0.12 0.38 0.212 0.339 1 0.322 0.305 0 0.472 0.31 20 | W 0.658 0.56 1 0.931 0.196 0.829 0.678 0.305 0.892 0.304 0.344 0.631 0.555 0.538 0.968 0.689 0.638 0.418 0 0.204 21 | Y 0.587 0.478 1 0.932 0.202 0.782 0.678 0.23 0.904 0.219 0.268 0.512 0.444 0.404 0.995 0.612 0.557 0.328 0.244 0 -------------------------------------------------------------------------------- /util/data/TPCP.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/TPCP.data -------------------------------------------------------------------------------- /util/data/TPCP.txt: -------------------------------------------------------------------------------- 1 | Trinucleotide AAA AAC AAG AAT ACA ACC ACG ACT AGA AGC AGG AGT ATA ATC ATG ATT CAA CAC CAG CAT CCA CCC CCG CCT CGA CGC CGG CGT CTA CTC CTG CTT GAA GAC GAG GAT GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC TAG TAT TCA TCC TCG TCT TGA TGC TGG TGT TTA TTC TTG TTT 2 | PC1 0.1 1.6 4.2 0 5.8 5.2 5.2 2 6.5 6.3 4.7 2 9.7 3.6 8.7 0 6.2 6.8 9.6 8.7 0.7 5.7 3 4.7 5.8 4.3 3 5.2 7.8 6.6 9.6 4.2 5.1 5.6 6.6 3.6 7.5 8.2 4.3 6.3 6.2 8.2 5.7 5.2 6.4 5.6 6.8 1.6 7.3 6.4 7.8 9.7 10 6.2 5.8 6.5 10 7.5 0.7 5.8 7.3 5.1 6.2 0.1 3 | PC2 0.05 2.65 4.7 0.35 5.5 5.3 5.3 3.9 4.9 6.9 5.05 3.9 6.25 4.45 7.7 0.35 4.75 6.65 6.9 7.7 3.05 5.85 3.85 5.05 7.05 5.9 3.85 5.3 5 6 6.9 4.7 4.05 5.5 6 4.45 6.75 9.1 5.9 6.9 5 9.1 5.85 5.3 5.05 5.5 6.65 2.65 4.65 5.05 5 6.25 7.7 5 7.05 4.9 7.7 6.75 3.05 5.5 4.65 4.05 4.75 0.05 4 | PC3 0 1 1 0 1 2 2 1 1 2 2 1 0 1 1 0 1 2 2 1 2 3 3 2 2 3 3 2 1 2 2 1 1 2 2 1 2 3 3 2 2 3 3 2 1 2 2 1 0 1 1 0 1 2 2 1 1 2 2 1 0 1 1 0 5 | PC4 -36 -6 6 -30 6 8 8 11 -9 25 8 11 -13 7 18 -30 -9 17 -2 18 8 13 2 8 31 25 2 8 -18 8 -2 6 -12 8 8 7 13 45 25 25 -5 45 13 8 -6 8 17 -6 -20 -6 -18 -13 8 -5 31 -9 8 13 8 6 -20 -12 -9 -36 6 | PC5 0.06 2.64 4.7 0.35 5.49 5.32 5.31 3.92 4.89 6.88 5.05 3.92 6.27 4.44 7.72 0.35 4.76 6.63 6.9 7.72 3.06 5.83 3.87 5.05 7.07 5.89 3.87 5.31 5 5.98 6.9 4.7 4.06 5.52 5.98 4.44 6.76 9.08 5.89 6.88 4.99 9.08 5.83 5.32 5.07 5.52 6.63 2.64 4.67 5.07 5 6.27 7.7 4.99 7.07 4.89 7.7 6.76 3.06 5.49 4.67 4.06 4.76 0.06 7 | PC6 0.06 2.64 4.7 0.35 5.49 5.32 5.31 3.92 4.89 6.88 5.05 3.92 6.27 4.44 7.72 0.35 4.76 6.63 6.9 7.72 3.06 5.83 3.87 5.05 7.07 5.89 3.87 5.31 5 5.98 6.9 4.7 4.06 5.52 5.98 4.44 6.76 9.08 5.89 6.88 4.99 9.08 5.83 5.32 5.07 5.52 6.63 2.64 4.67 5.07 5 6.27 7.7 4.99 7.07 4.89 7.7 6.76 3.06 5.49 4.67 4.06 4.76 0.06 8 | PC7 6.88 5.26 4 6.7 3.52 3.62 3.63 4.47 3.88 2.68 3.78 4.47 3.05 4.15 2.19 6.7 3.96 2.83 2.67 2.19 5 3.31 4.5 3.78 2.57 3.28 4.5 3.63 3.81 3.22 2.67 4 4.39 3.5 3.22 4.15 2.75 1.39 3.28 2.68 3.82 1.39 3.31 3.62 3.77 3.5 2.83 5.26 4.01 3.77 3.81 3.05 2.2 3.82 2.57 3.88 10 2.75 5 3.52 4.01 4.39 3.96 0.1 9 | PC8 7.18 6.27 4.74 7.24 3.81 4.16 4.16 6.03 3.41 3.52 4.45 6.03 1.61 5.09 2.17 7.24 3.58 3.24 1.67 2.17 6.81 3.87 5.44 4.45 3.81 4.68 5.44 4.16 2.67 3.35 1.67 4.74 4.21 3.93 3.35 5.09 2.84 2.45 4.68 3.52 3.58 2.45 3.87 4.16 3.47 3.93 3.24 6.27 2.96 3.47 2.67 1.61 1.45 3.58 3.81 3.41 1.45 2.84 6.81 3.81 2.96 4.21 3.58 7.18 10 | PC9 621.4 621.4 621.4 621.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 621.4 621.4 621.4 621.4 621.4 621.4 621.4 621.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 621.4 621.4 621.4 621.4 621.4 621.4 621.4 621.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 621.4 621.4 621.4 621.4 621.4 621.4 621.4 621.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 622.4 621.4 621.4 621.4 621.4 11 | PC11 0 3.7 5.2 0.7 5.2 5.4 5.4 5.8 3.3 7.5 5.4 5.8 2.8 5.3 6.7 0.7 3.3 6.5 4.2 6.7 5.4 6 4.7 5.4 8.3 7.5 4.7 5.4 2.2 5.4 4.2 5.2 3 5.4 5.4 5.3 6 10 7.5 7.5 3.8 10 6 5.4 3.7 5.4 6.5 3.7 2 3.7 2.2 2.8 5.4 3.8 8.3 3.3 5.4 6 5.4 5.2 2 3 3.3 0 12 | PC12 7.05 4.86 3.99 6.62 3.99 3.88 3.88 3.65 5.09 2.69 3.88 3.65 5.38 3.94 3.14 6.62 5.09 3.25 4.57 3.14 3.88 3.54 4.28 3.88 2.25 2.69 4.28 3.88 5.73 3.88 4.57 3.99 5.26 3.88 3.88 3.94 3.54 1.31 2.69 2.69 4.8 1.31 3.54 3.88 4.86 3.88 3.25 4.86 5.85 4.86 5.73 5.38 3.88 4.8 2.25 5.09 3.88 3.54 3.88 3.99 5.85 5.26 5.09 7.05 13 | -------------------------------------------------------------------------------- /util/data/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | #_*_coding:utf-8_*_ 3 | -------------------------------------------------------------------------------- /util/data/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /util/data/__pycache__/test.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/__pycache__/test.cpython-38.pyc -------------------------------------------------------------------------------- /util/data/__pycache__/tmp.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/__pycache__/tmp.cpython-38.pyc -------------------------------------------------------------------------------- /util/data/blosum62.txt: -------------------------------------------------------------------------------- 1 | A R N D C Q E G H I L K M F P S T W Y V B Z X 2 | 4 -1 -2 -2 0 -1 -1 0 -2 -1 -1 -1 -1 -2 -1 1 0 -3 -2 0 -2 -1 0 3 | -1 5 0 -2 -3 1 0 -2 0 -3 -2 2 -1 -3 -2 -1 -1 -3 -2 -3 -1 0 -1 4 | -2 0 6 1 -3 0 0 0 1 -3 -3 0 -2 -3 -2 1 0 -4 -2 -3 3 0 -1 5 | -2 -2 1 6 -3 0 2 -1 -1 -3 -4 -1 -3 -3 -1 0 -1 -4 -3 -3 4 1 -1 6 | 0 -3 -3 -3 9 -3 -4 -3 -3 -1 -1 -3 -1 -2 -3 -1 -1 -2 -2 -1 -3 -3 -2 7 | -1 1 0 0 -3 5 2 -2 0 -3 -2 1 0 -3 -1 0 -1 -2 -1 -2 0 3 -1 8 | -1 0 0 2 -4 2 5 -2 0 -3 -3 1 -2 -3 -1 0 -1 -3 -2 -2 1 4 -1 9 | 0 -2 0 -1 -3 -2 -2 6 -2 -4 -4 -2 -3 -3 -2 0 -2 -2 -3 -3 -1 -2 -1 10 | -2 0 1 -1 -3 0 0 -2 8 -3 -3 -1 -2 -1 -2 -1 -2 -2 2 -3 0 0 -1 11 | -1 -3 -3 -3 -1 -3 -3 -4 -3 4 2 -3 1 0 -3 -2 -1 -3 -1 3 -3 -3 -1 12 | -1 -2 -3 -4 -1 -2 -3 -4 -3 2 4 -2 2 0 -3 -2 -1 -2 -1 1 -4 -3 -1 13 | -1 2 0 -1 -3 1 1 -2 -1 -3 -2 5 -1 -3 -1 0 -1 -3 -2 -2 0 1 -1 14 | -1 -1 -2 -3 -1 0 -2 -3 -2 1 2 -1 5 0 -2 -1 -1 -1 -1 1 -3 -1 -1 15 | -2 -3 -3 -3 -2 -3 -3 -3 -1 0 0 -3 0 6 -4 -2 -2 1 3 -1 -3 -3 -1 16 | -1 -2 -2 -1 -3 -1 -1 -2 -2 -3 -3 -1 -2 -4 7 -1 -1 -4 -3 -2 -2 -1 -2 17 | 1 -1 1 0 -1 0 0 0 -1 -2 -2 0 -1 -2 -1 4 1 -3 -2 -2 0 0 0 18 | 0 -1 0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -1 1 5 -2 -2 0 -1 -1 0 19 | -3 -3 -4 -4 -2 -2 -3 -2 -2 -3 -2 -3 -1 1 -4 -3 -2 11 2 -3 -4 -3 -2 20 | -2 -2 -2 -3 -2 -1 -2 -3 2 -1 -1 -2 -1 3 -3 -2 -2 2 7 -1 -3 -2 -1 21 | 0 -3 -3 -3 -1 -2 -2 -3 -3 3 1 -2 1 -1 -2 -2 0 -3 -1 4 -3 -2 -1 22 | -2 -1 3 4 -3 0 1 -1 0 -3 -4 0 -3 -3 -2 0 -1 -4 -3 -3 4 1 -1 23 | -1 0 0 1 -3 3 4 -2 0 -3 -3 1 -1 -3 -1 0 -1 -3 -2 -2 1 4 -1 24 | 0 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 0 0 -2 -1 -1 -1 -1 -1 -------------------------------------------------------------------------------- /util/data/diRNAPhyche.txt: -------------------------------------------------------------------------------- 1 | # AA AC AG AU CA CC CG CU GA GC GG GU UA UC UG UU 2 | Slide (RNA) -1.27 -1.43 -1.5 -1.36 -1.46 -1.78 -1.89 -1.5 -1.7 -1.39 -1.78 -1.43 -1.45 -1.7 -1.46 -1.27 3 | Adenine content 2.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 4 | Hydrophilicity (RNA) 0.04 0.14 0.08 0.14 0.21 0.49 0.35 0.52 0.1 0.26 0.17 0.27 0.21 0.48 0.34 0.44 5 | Tilt (RNA) -0.8 0.8 0.5 1.1 1.0 0.3 -0.1 0.5 1.3 0.0 0.3 0.8 -0.2 1.3 1.0 -0.8 6 | Stacking energy (RNA) -13.7 -13.8 -14.0 -15.4 -14.4 -11.1 -15.6 -14.0 -14.2 -16.9 -11.1 -13.8 -16.0 -14.2 -14.4 -13.7 7 | Twist (RNA) 31.0 32.0 30.0 33.0 31.0 32.0 27.0 30.0 32.0 35.0 32.0 32.0 32.0 32.0 31.0 31.0 8 | Entropy (RNA) -18.4 -26.2 -19.2 -15.5 -27.8 -29.7 -19.4 -19.2 -35.5 -34.9 -29.7 -26.2 -22.6 -26.2 -19.2 -18.4 9 | Roll (RNA) 7.0 4.8 8.5 7.1 9.9 8.7 12.1 8.5 9.4 6.1 12.1 4.8 10.7 9.4 9.9 7.0 10 | Purine (AG) content 2.0 1.0 2.0 1.0 1.0 0.0 1.0 0.0 2.0 1.0 2.0 1.0 1.0 0.0 1.0 0.0 11 | Hydrophilicity (RNA)1 0.023 0.083 0.035 0.09 0.118 0.349 0.193 0.378 0.048 0.146 0.065 0.16 0.112 0.359 0.224 0.389 12 | Enthalpy (RNA)1 -6.82 -11.4 -10.48 -9.38 -10.44 -13.39 -10.64 -10.48 -12.44 -14.88 -13.39 -11.4 -7.69 -12.44 -10.44 -6.82 13 | GC content 0.0 1.0 1.0 0.0 1.0 2.0 2.0 1.0 1.0 2.0 2.0 1.0 0.0 1.0 1.0 0.0 14 | Entropy (RNA)1 -19.0 -29.5 -27.1 -26.7 -26.9 -32.7 -26.7 -27.1 -32.5 -36.9 -32.7 -29.5 -20.5 -32.5 -26.9 -19.0 15 | Rise (RNA) 3.18 3.24 3.3 3.24 3.09 3.32 3.3 3.3 3.38 3.22 3.32 3.24 3.26 3.38 3.09 3.18 16 | Free energy (RNA) -0.9 -2.1 -1.7 -0.9 -1.8 -2.9 -2.0 -1.7 -2.3 -3.4 -2.9 -2.1 -1.1 -2.1 -1.7 -0.9 17 | Keto (GT) content 0.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 1.0 1.0 2.0 18 | Free energy (RNA)1 -0.93 -2.24 -2.08 -1.1 -2.11 -3.26 -2.36 -2.08 -2.35 -3.42 -3.26 -2.24 -1.33 -2.35 -2.11 -0.93 19 | Enthalpy (RNA) -6.6 -10.2 -7.6 -5.7 -10.5 -12.2 -8.0 -7.6 -13.3 -14.2 -12.2 -10.2 -8.1 -10.2 -7.6 -6.6 20 | Guanine content 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 1.0 1.0 2.0 1.0 0.0 0.0 1.0 0.0 21 | Shift (RNA) -0.08 0.23 -0.04 -0.06 0.11 -0.01 0.3 -0.04 0.07 0.07 -0.01 0.23 -0.02 0.07 0.11 -0.08 22 | Cytosine content 0.0 1.0 0.0 0.0 1.0 2.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 23 | Thymine content 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 2.0 24 | -------------------------------------------------------------------------------- /util/data/didnaPhyche.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/didnaPhyche.data -------------------------------------------------------------------------------- /util/data/didnaPhyche.txt: -------------------------------------------------------------------------------- 1 | # AA AC AG AT CA CC CG CT GA GC GG GT TA TC TG TT 2 | Base stacking 1.019 -0.918 0.488 0.567 0.567 -0.070 -0.579 0.488 -0.654 -2.455 -0.070 -0.918 1.603 -0.654 0.567 1.019 3 | Protein induced deformability -0.644 -0.831 -0.894 -1.050 1.510 0.355 2.229 -0.894 -0.144 -0.301 0.355 -0.831 0.418 -0.144 1.510 -0.644 4 | B-DNA twist -0.002 -0.653 -1.332 2.089 0.596 -0.056 -1.142 -1.332 1.112 0.786 -0.056 -0.653 -1.061 1.112 0.596 -0.002 5 | Dinucleotide GC Content -1.369 0.000 0.000 -1.369 0.000 1.369 1.369 0.000 0.000 1.369 1.369 0.000 -1.369 0.000 0.000 -1.369 6 | A-philicity 0.995 -1.359 -0.799 -0.098 1.191 -1.191 -0.266 -0.799 1.023 0.322 -1.191 -1.359 0.322 1.023 1.191 0.995 7 | Propeller twist -1.887 -0.156 -0.436 -0.751 0.980 1.397 0.799 -0.436 -0.274 0.472 1.397 -0.156 0.233 -0.274 0.980 -1.887 8 | Duplex stability:(freeenergy) 0.833 0.270 0.270 1.396 -0.106 -1.232 -2.170 0.270 0.270 -1.232 -1.232 0.270 1.396 0.270 -0.106 0.833 9 | Duplex tability(disruptenergy) -0.119 -0.881 -0.500 -1.388 -0.119 1.404 2.039 -0.500 -0.500 1.404 1.404 -0.881 -0.627 -0.500 -0.119 -0.119 10 | DNA denaturation -0.842 1.107 0.016 -0.576 -0.915 0.670 0.187 0.016 -0.219 2.353 0.670 1.107 -1.598 -0.219 -0.915 -0.842 11 | Bending stiffness -0.901 -0.118 -0.118 -1.371 -0.118 2.076 0.666 -0.118 -0.118 0.666 2.076 -0.118 -1.371 -0.118 -0.118 -0.901 12 | Protein DNA twist 0.360 -1.041 -0.885 -1.896 1.216 -0.496 0.749 -0.885 0.827 -0.224 -0.496 -1.041 1.410 0.827 1.216 0.360 13 | Stabilising energy of Z-DNA 0.515 1.025 0.150 1.973 -1.380 -0.579 -1.818 0.150 0.150 0.588 -0.579 1.025 -0.506 0.150 -1.380 0.515 14 | Aida_BA_transition -0.933 0.259 -0.990 1.030 0.454 -0.498 2.360 -0.990 -0.190 1.519 -0.498 0.259 -1.114 -0.190 0.454 -0.933 15 | Breslauer_dG -0.119 -0.881 -0.500 -0.627 -0.119 1.404 2.039 -0.500 -0.500 1.404 1.404 -0.881 -1.388 -0.500 -0.119 -0.119 16 | Breslauer_dH 0.458 -0.703 -0.123 0.234 -1.015 1.306 1.707 -0.123 -1.105 1.350 1.306 -0.703 -0.926 -1.105 -1.015 0.458 17 | Breslauer_dS 0.668 -0.556 0.083 0.650 -1.361 1.144 1.363 0.083 -1.251 1.162 1.144 -0.556 -0.629 -1.251 -1.361 0.668 18 | Electron_interaction -1.369 0.000 0.000 -1.369 0.000 1.369 1.369 0.000 0.000 1.369 1.369 0.000 -1.369 0.000 0.000 -1.369 19 | Hartman_trans_free_energy 0.593 -1.276 0.234 -0.485 1.096 -0.485 0.665 0.234 -0.413 -1.707 -0.485 -1.276 2.031 -0.413 1.096 0.593 20 | Helix-Coil_transition -0.132 -0.887 -0.495 -0.615 -0.132 1.408 2.042 -0.495 -0.495 1.408 1.408 -0.887 -1.370 -0.495 -0.132 -0.132 21 | Ivanov_BA_transition 0.995 -1.359 -0.799 -0.098 1.191 -1.191 -0.266 -0.799 1.023 0.322 -1.191 -1.359 0.322 1.023 1.191 0.995 22 | Lisser_BZ_transition 0.593 -1.278 0.233 -0.488 1.091 -0.488 0.662 0.233 -0.402 -1.707 -0.488 -1.278 2.036 -0.402 1.091 0.593 23 | Polar_interaction -1.369 0.000 0.000 -1.369 0.000 1.369 1.369 0.000 0.000 1.369 1.369 0.000 -1.369 0.000 0.000 -1.369 24 | SantaLucia_dG -0.810 0.103 -0.498 -1.456 -0.008 0.860 1.573 -0.498 0.170 1.997 0.860 0.103 -1.746 0.170 -0.008 -0.810 25 | SantaLucia_dH 0.464 0.604 -1.147 -0.866 -0.236 -0.726 1.654 -1.147 -0.026 2.354 -0.726 0.604 -1.006 -0.026 -0.236 0.464 26 | SantaLucia_dS 0.834 0.676 -1.144 -0.432 -0.300 -1.276 1.335 -1.144 -0.036 2.100 -1.276 0.676 -0.511 -0.036 -0.300 0.834 27 | Sarai_flexibility -0.700 0.852 -0.567 3.159 0.032 -0.789 -0.412 -0.567 -0.434 0.076 -0.789 0.852 0.387 -0.434 0.032 -0.700 28 | Stability -0.770 0.971 -0.612 -0.669 -0.043 -0.762 -0.762 0.497 0.516 2.517 0.497 0.971 -1.486 0.516 -0.612 -0.770 29 | Stacking_energy -1.020 0.915 -0.489 -0.568 -0.568 0.068 0.606 -0.489 0.651 2.450 0.068 0.915 -1.603 0.651 -0.568 -1.020 30 | Sugimoto_dG -0.831 -0.236 -0.236 -1.427 0.161 0.956 2.346 -0.236 -0.236 1.353 0.956 -0.236 -1.427 -0.236 0.161 -0.831 31 | Sugimoto_dH -0.361 0.424 -1.145 -1.705 -0.249 1.264 1.768 -1.145 0.088 1.040 1.264 0.424 -1.145 0.088 -0.249 -0.361 32 | Sugimoto_dS -0.169 0.641 -1.406 -1.676 -0.371 1.293 1.428 -1.406 0.191 0.844 1.293 0.641 -0.956 0.191 -0.371 -0.169 33 | Watson-Crick_interaction -1.369 0.000 0.000 -1.369 0.000 1.369 1.369 0.000 0.000 1.369 1.369 0.000 -1.369 0.000 0.000 -1.369 34 | Twist 0.063 1.502 0.783 1.071 -1.376 0.063 -1.664 0.783 -0.081 -0.081 0.063 1.502 -1.233 -0.081 -1.376 0.063 35 | Tilt 0.502 0.502 0.359 0.215 -1.364 1.077 -1.220 0.359 0.502 0.215 1.077 0.502 -2.368 0.502 -1.364 0.502 36 | Roll 0.09 1.19 -0.28 0.83 -1.01 -0.28 -1.38 -0.28 0.09 2.3 -0.28 1.19 -1.38 0.09 -1.01 0.09 37 | Shift 1.587 0.126 0.679 -1.019 -0.861 0.560 -0.822 0.679 0.126 -0.348 0.560 0.126 -2.243 0.126 -0.861 1.587 38 | Slide 0.111 1.289 -0.241 2.513 -0.623 -0.822 -0.287 -0.241 -0.394 0.646 -0.822 1.289 -1.511 -0.394 -0.623 0.111 39 | Rise -0.109 1.044 -0.623 1.171 -1.254 0.242 -1.389 -0.623 0.711 1.585 0.242 1.044 -1.389 0.711 -1.254 -0.109 40 | Clash Strength -0.53 -0.18 1.59 0.64 -0.35 0.75 1.46 1.59 -1.21 -1.0 0.75 -0.18 -1.24 -1.21 -0.35 -0.53 41 | Roll_roll 0.29 1.07 0.1 1.19 -0.94 0.44 -1.69 0.1 -0.29 1.26 0.44 1.07 -2.1 -0.29 -0.94 0.29 42 | Twist stiffness 0.06 1.5 0.78 1.07 -1.38 0.06 -1.66 0.78 -0.08 -0.08 0.06 1.5 -1.23 -0.08 -1.38 0.06 43 | Tilt stiffness 0.5 0.5 0.36 0.22 -1.36 1.08 -1.22 0.36 0.5 0.22 1.08 0.5 -2.37 0.5 -1.36 0.5 44 | Shift_rise 1.4 -0.46 -0.71 -0.63 -1.02 1.62 -0.8 -0.71 -0.17 0.83 1.62 -0.46 -0.72 -0.17 -1.02 1.4 45 | Adenine content 2.37 0.79 0.79 0.79 0.79 -0.79 -0.79 -0.79 0.79 -0.79 -0.79 -0.79 0.79 -0.79 -0.79 -0.79 46 | Direction -1.59 1.27 -0.09 -0.11 -0.72 -0.66 -0.11 -0.13 1.05 1.62 0.44 -1.48 -0.11 -1.26 0.51 1.37 47 | Twist_shift 1.99 -0.03 -1.44 -0.55 -0.63 0.7 0.65 -1.44 -0.27 -0.28 0.7 -0.03 -0.46 -0.27 -0.63 1.99 48 | Enthalpy1 0.72 -0.18 0.5 1.18 -0.3 0.27 -2.68 0.5 0.04 -1.77 0.27 -0.18 1.18 0.04 -0.3 0.72 49 | Twist_twist 0.56 0.84 0.36 0.58 -1.95 0.77 -1.78 0.36 0.17 0.16 0.77 0.84 -0.48 0.17 -1.95 0.56 50 | Roll_shift 1.18 1.02 -1.61 0.55 -0.51 -0.67 0.7 -1.61 0.76 -0.42 -0.67 1.02 -1.18 0.76 -0.51 1.18 51 | Shift_slide 1.15 -0.82 -0.03 -0.45 -1.57 0.47 -0.99 -0.03 0.28 2.03 0.47 -0.82 0.44 0.28 -1.57 1.15 52 | Shift2 -0.56 0.59 0.59 1.16 0.21 0.5 0.59 0.59 0.02 -2.85 0.5 0.59 -1.61 0.02 0.21 -0.56 53 | Tilt3 -0.37 -2.01 -1.19 -0.0 0.3 0.45 -0.0 1.19 -1.27 -0.0 -0.45 2.01 -0.0 1.27 -0.3 0.37 54 | Tilt1 0.21 -0.32 -2.14 0.64 1.28 -0.53 0.64 -2.14 0.21 0.64 -0.53 -0.32 0.64 0.21 1.28 0.21 55 | Tilt4 0.4 -0.62 0.65 0.91 0.14 0.4 0.14 0.65 0.14 0.14 0.4 -0.62 -3.43 0.14 0.14 0.4 56 | Tilt2 -0.23 -0.55 1.61 -0.63 -1.19 1.53 -0.63 1.61 0.09 -0.63 1.53 -0.55 -0.63 0.09 -1.19 -0.23 57 | Slide (DNA-protein complex)1 0.04 -1.33 -0.42 -1.35 1.71 -0.34 1.38 -0.42 0.51 -0.78 -0.34 -1.33 0.4 0.51 1.71 0.04 58 | Tilt_shift 0.65 0.43 -0.08 1.44 0.74 -1.69 -1.21 -0.08 -0.32 -1.08 -1.69 0.43 1.42 -0.32 0.74 0.65 59 | Twist_tilt 2.28 0.09 -1.31 -0.32 -0.41 -0.36 0.38 -1.31 0.01 -0.12 -0.36 0.09 -0.53 0.01 -0.41 2.28 60 | Twist (DNA-protein complex)1 0.36 -1.04 -0.88 -1.9 1.22 -0.5 0.75 -0.88 0.83 -0.22 -0.5 -1.04 1.41 0.83 1.22 0.36 61 | Tilt_rise -2.03 1.03 1.1 0.57 0.3 -0.53 0.55 1.1 -0.52 -0.28 -0.53 1.03 0.45 -0.52 0.3 -2.03 62 | Roll_rise -0.86 1.51 -0.09 1.28 -1.33 -0.01 -0.36 -0.09 -0.25 1.76 -0.01 1.51 -0.61 -0.25 -1.33 -0.86 63 | Stacking energy -0.41 -0.22 0.07 0.93 -0.7 1.99 -1.47 0.07 0.16 -1.57 1.99 -0.22 0.35 0.16 -0.7 -0.41 64 | Stacking energy1 1.02 -0.91 0.49 0.57 0.57 -0.07 -0.61 0.49 -0.65 -2.45 -0.07 -0.91 1.6 -0.65 0.57 1.02 65 | Stacking energy2 -0.94 1.02 -0.7 -0.46 -0.67 -0.05 0.39 -0.7 0.73 2.51 -0.05 1.02 -1.22 0.73 -0.67 -0.94 66 | Stacking energy3 -0.4 -0.74 0.56 0.05 -1.53 1.06 -1.36 0.56 1.18 1.18 1.06 -0.74 -0.12 1.18 -1.53 -0.4 67 | Propeller Twist -1.35 1.65 -0.5 -1.24 1.11 -0.08 0.38 -0.5 -0.73 0.24 -0.08 1.65 0.4 -0.73 1.11 -1.35 68 | Roll11 0.04 0.04 1.28 -0.75 -0.75 0.8 1.5 1.28 -0.27 -2.45 0.8 0.04 -0.57 -0.27 -0.75 0.04 69 | Rise (DNA-protein complex) -2.02 0.47 0.47 -2.02 0.47 0.47 0.47 0.47 0.47 0.47 0.47 0.47 0.47 0.47 0.47 -2.02 70 | Tilt_tilt 0.42 0.79 0.12 0.67 -1.51 0.84 -1.46 0.12 0.47 0.54 0.84 0.79 -2.02 0.47 -1.51 0.42 71 | Roll4 -1.27 -0.64 0.11 -1.68 1.35 0.17 0.88 0.11 0.32 -0.9 0.17 -0.64 1.61 0.32 1.35 -1.27 72 | Roll2 -0.3 -0.24 1.03 -0.65 -0.24 1.51 0.59 1.03 -0.81 -2.36 1.51 -0.24 0.49 -0.81 -0.24 -0.3 73 | Roll3 0.02 -0.97 -0.4 -2.39 1.2 -0.19 0.95 -0.4 0.64 -0.6 -0.19 -0.97 1.43 0.64 1.2 0.02 74 | Roll1 -0.3 -0.33 0.42 -0.63 -0.12 1.49 1.52 0.42 -0.48 -2.55 1.49 -0.33 0.33 -0.48 -0.12 -0.3 75 | Minor Groove Size -0.92 -0.41 0.92 -0.41 0.41 0.92 2.26 0.92 -0.92 -0.41 0.92 -0.41 -1.44 -0.92 0.41 -0.92 76 | GC content -1.37 0.0 0.0 -1.37 0.0 1.37 1.37 0.0 0.0 1.37 1.37 0.0 -1.37 0.0 0.0 -1.37 77 | Slide_slide 0.5 0.66 -0.04 1.54 -1.14 1.3 -1.8 -0.04 -0.53 -0.03 1.3 0.66 -1.19 -0.53 -1.14 0.5 78 | Enthalpy 0.36 -0.42 1.14 1.71 0.25 -1.26 -1.77 1.14 -0.09 -1.04 -1.26 -0.42 1.14 -0.09 0.25 0.36 79 | Shift_shift 1.38 -1.04 0.17 -1.6 -0.05 1.41 -1.02 0.17 -0.7 0.57 1.41 -1.04 -0.32 -0.7 -0.05 1.38 80 | Slide stiffness 0.11 1.29 -0.24 2.51 -0.62 -0.82 -0.29 -0.24 -0.39 0.65 -0.82 1.29 -1.51 -0.39 -0.62 0.11 81 | Melting Temperature1 -0.77 0.98 -0.61 -0.67 -0.77 0.5 -0.04 -0.61 0.52 2.51 0.5 0.98 -1.48 0.52 -0.77 -0.77 82 | Flexibility_slide 1.53 0.43 -0.09 1.0 -1.74 -0.15 -1.04 -0.09 0.62 -0.95 -0.15 0.43 -0.21 0.62 -1.74 1.53 83 | Minor Groove Distance -0.55 1.64 -0.81 1.61 -0.3 -0.79 -0.09 -0.81 -0.54 1.68 -0.79 1.64 -0.5 -0.54 -0.3 -0.55 84 | Rise (DNA-protein complex)1 -1.8 0.08 -0.34 -0.96 -0.55 1.33 0.7 -0.34 0.29 0.91 1.33 0.08 1.33 0.29 -0.55 -1.8 85 | Tilt (DNA-protein complex) 1.46 -0.64 0.67 -1.03 -0.64 0.28 -1.03 0.67 1.2 -1.03 0.28 -1.16 -1.03 1.2 -0.64 1.46 86 | Guanine content -0.79 -0.79 0.79 -0.79 -0.79 -0.79 0.79 -0.79 0.79 0.79 2.37 0.79 -0.79 -0.79 0.79 -0.79 87 | Roll (DNA-protein complex)1 -1.07 -1.07 1.02 -0.85 1.13 0.53 1.52 1.02 -0.41 -1.29 0.53 -1.07 0.36 -0.41 1.13 -1.07 88 | Entropy 0.17 -0.64 1.41 1.68 0.37 -1.29 -1.43 1.41 -0.19 -0.84 -1.29 -0.64 0.96 -0.19 0.37 0.17 89 | Cytosine content -0.79 0.79 -0.79 -0.79 0.79 2.37 0.79 0.79 -0.79 0.79 -0.79 -0.79 -0.79 0.79 -0.79 -0.79 90 | Major Groove Size 0.0 0.0 1.37 1.37 0.0 0.0 1.37 1.37 -1.37 -1.37 0.0 0.0 -1.37 -1.37 0.0 0.0 91 | Twist_rise -1.1 -1.16 -0.46 1.87 0.3 0.8 0.37 -0.46 0.23 -1.17 0.8 -1.16 1.7 0.23 0.3 -1.1 92 | Major Groove Distance -0.05 -1.31 -0.13 -1.35 1.42 -0.05 1.35 -0.13 0.02 -1.28 -0.05 -1.31 1.49 0.02 1.42 -0.05 93 | Twist (DNA-protein complex) 0.58 -1.17 -0.86 -1.87 0.69 -0.31 0.31 -0.86 0.69 0.19 -0.31 -1.17 2.09 0.69 0.73 0.58 94 | Purine (AG) content 1.37 0.0 1.37 0.0 0.0 -1.37 0.0 -1.37 1.37 0.0 1.37 0.0 0.0 -1.37 0.0 -1.37 95 | Melting Temperature -0.77 0.97 -0.61 -0.67 -0.76 0.5 -0.04 -0.61 0.52 2.52 0.5 0.97 -1.49 0.52 -0.76 -0.77 96 | Free energy 1.12 -0.17 0.19 1.5 -0.14 -0.73 -1.85 0.19 -0.05 -1.71 -0.73 -0.17 1.62 -0.05 -0.14 1.12 97 | Tilt_slide -0.61 -1.23 1.17 -0.86 0.02 0.84 1.46 1.17 -0.0 -1.86 0.84 -1.23 0.87 -0.0 0.02 -0.61 98 | Major Groove Width -1.24 -1.04 -0.0 -0.58 0.06 1.79 0.82 -0.0 0.38 0.94 1.79 -1.04 -1.08 0.38 0.06 -1.24 99 | Major Groove Depth 0.58 1.44 0.11 0.11 -0.75 -1.4 -0.34 0.11 -0.48 -0.75 -1.4 1.44 2.0 -0.48 -0.75 0.58 100 | Wedge 1.06 -1.25 1.52 -0.68 -0.34 -0.87 0.87 1.52 0.34 0.23 -0.87 -1.25 -1.33 0.34 -0.34 1.06 101 | Free energy8 0.91 -0.08 0.28 1.17 -0.1 -0.97 -1.71 0.28 0.24 -1.86 -0.97 -0.08 1.84 0.24 -0.1 0.91 102 | Free energy6 1.05 0.06 0.71 1.34 -0.6 -0.77 -1.54 0.71 -0.02 -2.0 -0.77 0.06 1.34 -0.02 -0.6 1.05 103 | Free energy7 0.91 -0.08 0.28 1.17 -0.1 -0.97 -1.71 0.28 0.24 -1.86 -0.97 -0.08 1.84 0.24 -0.1 0.91 104 | Free energy4 1.12 0.24 0.16 1.33 -0.51 -1.31 -1.36 0.16 0.11 -1.33 -1.31 0.24 1.72 0.11 -0.51 1.12 105 | Free energy5 0.83 0.24 0.24 1.43 -0.16 -0.96 -2.35 0.24 0.24 -1.35 -0.96 0.24 1.43 0.24 -0.16 0.83 106 | Free energy2 0.14 0.86 0.57 0.78 -0.05 -1.34 -2.06 0.57 0.48 -1.43 -1.34 0.86 1.37 0.48 -0.05 0.14 107 | Free energy3 1.32 -0.24 0.04 1.45 -0.01 -0.93 -1.75 0.04 0.17 -1.7 -0.93 -0.24 1.25 0.17 -0.01 1.32 108 | Free energy1 1.11 -0.14 0.38 1.33 -0.19 -0.92 -1.87 0.38 0.14 -1.79 -0.92 -0.14 1.33 0.38 -0.19 1.11 109 | Twist_roll 0.92 0.54 -0.49 0.82 -0.92 -1.2 -1.9 -0.49 1.09 0.22 -1.2 0.54 0.98 1.09 -0.92 0.92 110 | Shift (DNA-protein complex) 0.62 -0.8 -1.51 -0.09 -0.09 -0.09 -0.09 -1.51 2.04 -0.09 -0.09 -0.8 -0.09 2.04 -0.09 0.62 111 | Rise_rise 0.0 1.23 -0.67 1.57 -0.73 -0.16 -1.76 -0.67 0.39 1.45 -0.16 1.23 -1.4 0.39 -0.73 0.0 112 | Flexibility_shift -0.28 1.2 0.95 -1.7 -0.53 -0.22 2.01 0.95 -0.25 -1.42 -0.22 1.2 -0.64 -0.25 -0.53 -0.28 113 | Shift (DNA-protein complex)1 -0.29 1.0 0.68 -0.05 0.68 0.35 -0.05 0.68 -2.32 -0.05 0.35 1.0 -0.05 -2.32 0.68 -0.29 114 | Thymine content -0.79 -0.79 -0.79 0.79 -0.79 -0.79 -0.79 0.79 -0.79 -0.79 -0.79 0.79 0.79 0.79 0.79 2.37 115 | Slide_rise -0.22 1.66 -0.31 1.49 -1.09 -0.5 -0.08 -0.31 -0.57 1.6 -0.5 1.66 -0.94 -0.57 -1.09 -0.22 116 | Tilt_roll 1.47 1.27 -1.64 0.13 0.23 -0.7 0.33 -1.64 -0.34 -0.75 -0.7 1.27 -0.29 -0.34 0.23 1.47 117 | Tip 0.23 0.35 -0.24 0.28 -1.6 -0.34 -0.6 -0.24 0.01 0.62 -0.34 0.35 2.88 0.01 -1.6 0.23 118 | Keto (GT) content -1.22 -1.22 -1.22 0.17 -1.22 -1.22 0.17 0.17 0.17 0.17 1.57 1.57 0.17 0.17 0.17 1.57 119 | Roll stiffness 0.09 1.19 -0.28 0.83 -1.01 -0.28 -1.38 -0.28 0.09 2.3 -0.28 1.19 -1.38 0.09 -1.01 0.09 120 | Minor Groove Width 0.21 1.55 0.01 0.23 -0.71 -1.02 -0.04 0.01 -0.85 -0.8 -1.02 1.55 2.2 -0.85 -0.71 0.21 121 | Inclination -1.6 -0.12 -1.03 0.0 1.47 -1.25 0.0 1.03 -0.37 0.0 1.25 0.12 0.0 0.37 -1.47 1.6 122 | Entropy1 0.4 -0.21 0.56 0.9 -0.38 1.17 -2.87 0.56 -0.1 -1.32 1.17 -0.21 0.4 -0.1 -0.38 0.4 123 | Roll_slide -0.67 0.54 -1.11 -2.38 1.24 0.24 -0.58 -1.11 0.64 1.01 0.24 0.54 0.2 0.64 1.24 -0.67 124 | Slide (DNA-protein complex) 0.42 -1.37 -0.61 -1.63 1.18 -0.1 1.95 -0.61 0.42 -0.61 -0.1 -1.37 0.42 0.42 1.18 0.42 125 | Twist1 0.51 0.14 -1.87 -0.73 0.17 -0.08 -1.24 -1.87 0.89 1.82 -0.08 0.14 0.62 0.89 0.17 0.51 126 | Twist3 0.69 -1.26 -1.0 -0.58 1.32 -0.3 -0.81 -1.0 1.3 0.59 -0.3 -1.26 -0.72 1.3 1.32 0.69 127 | Twist2 0.13 0.13 -1.58 -0.64 0.49 -0.64 -1.39 -1.58 1.26 0.94 -0.64 0.13 1.49 1.26 0.49 0.13 128 | Twist5 0.75 -0.09 -0.14 1.73 -1.78 -0.23 -0.98 -0.14 1.12 0.66 -0.23 -0.09 -0.66 1.12 -1.78 0.75 129 | Twist4 -0.08 -0.85 -1.25 -1.25 1.03 -0.65 0.29 -1.25 1.34 0.49 -0.65 -0.85 1.4 1.34 1.03 -0.08 130 | Twist7 -0.15 -0.72 -1.47 -0.9 1.35 -0.15 -0.9 -1.47 0.97 0.79 -0.15 -0.72 1.35 0.97 1.35 -0.15 131 | Twist6 1.9 -0.63 0.14 1.13 -0.19 -1.3 -0.85 0.14 0.36 -1.08 -1.3 -0.63 0.25 0.36 -0.19 1.9 132 | Tilt (DNA-protein complex)1 -1.05 0.53 -1.42 0.65 1.26 0.53 0.65 -1.42 -1.17 0.65 0.53 0.53 0.65 -1.17 1.26 -1.05 133 | Twist_slide -0.8 -0.56 -0.22 0.63 2.0 -0.9 1.05 -0.22 -0.63 -0.45 -0.9 -0.56 0.95 -0.63 2.0 -0.8 134 | Minor Groove Depth 0.35 -2.1 -0.16 -0.88 0.97 -0.06 0.66 -0.16 1.17 -0.16 -0.06 -2.1 0.04 1.17 0.97 0.35 135 | Roll (DNA-protein complex) -0.71 -1.07 1.04 -1.0 1.33 0.2 1.37 1.04 -0.12 -1.73 0.2 -1.07 -0.01 -0.12 1.33 -0.71 136 | Rise2 -0.79 -0.79 -0.79 -0.79 0.79 0.79 0.79 -0.79 -0.79 2.37 0.79 -0.79 0.79 -0.79 0.79 -0.79 137 | Persistance Length -0.9 -0.12 -0.12 -1.37 -0.12 2.08 0.67 -0.12 -0.12 0.67 2.08 -0.12 -1.37 -0.12 -0.12 -0.9 138 | Rise3 -0.59 -1.13 -0.7 -0.37 -0.16 0.71 -0.91 -0.7 1.03 2.55 0.71 -1.13 0.39 1.03 -0.16 -0.59 139 | Shift stiffness 1.59 0.13 0.68 -1.02 -0.86 0.56 -0.82 0.68 0.13 -0.35 0.56 0.13 -2.24 0.13 -0.86 1.59 140 | Probability contacting nucleosome core 1.48 -0.22 0.67 -0.84 0.92 -0.22 -2.11 0.67 0.01 -1.26 -0.22 -0.22 -1.05 0.01 0.92 1.48 141 | Mobility to bend towards major groove 2.52 0.16 0.16 1.34 0.16 -1.22 -0.63 -0.23 0.55 -1.42 -1.02 -0.63 0.36 -0.43 -0.43 0.75 142 | Slide3 -0.63 -1.01 0.07 -1.21 2.24 -0.01 0.55 0.07 -0.42 0.03 -0.01 -1.01 0.13 -0.42 2.24 -0.63 143 | Slide2 -0.83 -0.99 -0.02 -1.32 1.92 0.63 0.47 -0.02 -0.67 -0.02 0.63 -0.99 0.79 -0.67 1.92 -0.83 144 | Slide1 -0.73 -0.91 0.19 -1.35 2.0 0.42 0.48 0.19 -0.8 -0.14 0.42 -0.91 0.68 -0.8 2.0 -0.73 145 | Shift1 0.07 1.27 -2.32 0.07 0.67 0.07 0.07 -2.32 0.07 0.07 0.07 1.27 0.07 0.07 0.67 0.07 146 | Bend 0.04 -0.05 -0.66 -0.39 0.51 -0.8 -0.2 -0.66 -0.47 0.03 -0.8 -0.05 3.42 -0.47 0.51 0.04 147 | Rise1 -1.2 -0.39 0.33 1.17 -0.97 1.78 0.23 0.33 -0.19 0.91 1.78 -0.39 -1.03 -0.19 -0.97 -1.2 148 | Rise stiffness -0.11 1.04 -0.62 1.17 -1.25 0.24 -1.39 -0.62 0.71 1.59 0.24 1.04 -1.39 0.71 -1.25 -0.11 149 | Mobility to bend towards minor groove -1.23 -0.5 -0.62 -1.47 0.23 1.56 1.32 0.23 -0.26 0.35 1.32 -0.38 -1.1 0.71 1.07 -1.23 150 | -------------------------------------------------------------------------------- /util/data/dirnaPhyche.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/dirnaPhyche.data -------------------------------------------------------------------------------- /util/data/test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import pickle 5 | 6 | with open('didnaPhyche.data', 'rb') as f: 7 | my_dict = pickle.load(f) 8 | 9 | print(my_dict) -------------------------------------------------------------------------------- /util/data/tmp.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # _*_ coding: utf-8 _*_ 3 | 4 | import pickle 5 | 6 | with open('AAindex.txt') as f: 7 | records = f.readlines()[1:] 8 | 9 | my_dict = {} 10 | 11 | for line in records: 12 | array = line.strip().split('\t') if line.strip() != '' else None 13 | my_dict[array[0]] = [float(array[i]) for i in range(1, len(array))] 14 | 15 | with open('AAindex.data', 'wb') as f: 16 | pickle.dump(my_dict, f) 17 | 18 | with open('AAindex.data', 'rb') as f: 19 | tmp = pickle.load(f) 20 | print(tmp) -------------------------------------------------------------------------------- /util/data/triDNAPhyche.txt: -------------------------------------------------------------------------------- 1 | # AAA AAC AAG AAT ACA ACC ACG ACT AGA AGC AGG AGT ATA ATC ATG ATT CAA CAC CAG CAT CCA CCC CCG CCT CGA CGC CGG CGT CTA CTC CTG CTT GAA GAC GAG GAT GCA GCC GCG GCT GGA GGC GGG GGT GTA GTC GTG GTT TAA TAC TAG TAT TCA TCC TCG TCT TGA TGC TGG TGT TTA TTC TTG TTT 2 | Bendability (DNAse) -2.087 -1.509 -0.506 -2.126 0.111 -0.121 -0.121 -1.354 0.381 0.304 -0.313 -1.354 1.615 -0.737 1.229 -2.126 0.265 0.496 1.576 1.229 -1.856 0.072 -0.969 -0.313 0.111 -0.468 -0.969 -0.121 0.882 0.419 1.576 -0.506 -0.159 0.034 0.419 -0.737 0.766 1.036 -0.468 0.304 0.265 1.036 0.072 -0.121 0.342 0.034 0.496 -1.509 0.689 0.342 0.882 1.615 1.730 0.265 0.111 0.381 1.730 0.766 -1.856 0.111 0.689 -0.159 0.265 -2.087 3 | Bendability (consensus) -2.745 -1.354 -0.257 -2.585 0.171 0.064 0.064 -0.685 -0.150 0.920 -0.070 -0.685 0.572 -0.391 1.348 -2.585 -0.231 0.786 0.920 1.348 -1.140 0.358 -0.712 -0.070 1.000 0.385 -0.712 0.064 -0.097 0.438 0.920 -0.257 -0.605 0.171 0.438 -0.391 0.839 2.097 0.385 0.920 -0.097 2.097 0.358 0.064 -0.070 0.171 0.786 -1.354 -0.284 -0.070 -0.097 0.572 1.348 -0.097 1.000 -0.150 1.348 0.839 -1.140 0.171 -0.284 -0.605 -0.231 -2.745 4 | Trinucleotide GC Content -1.732 -0.577 -0.577 -1.732 -0.577 0.577 0.577 -0.577 -0.577 0.577 0.577 -0.577 -1.732 -0.577 -0.577 -1.732 -0.577 0.577 0.577 -0.577 0.577 1.732 1.732 0.577 0.577 1.732 1.732 0.577 -0.577 0.577 0.577 -0.577 -0.577 0.577 0.577 -0.577 0.577 1.732 1.732 0.577 0.577 1.732 1.732 0.577 -0.577 0.577 0.577 -0.577 -1.732 -0.577 -0.577 -1.732 -0.577 0.577 0.577 -0.577 -0.577 0.577 0.577 -0.577 -1.732 -0.577 -0.577 -1.732 5 | Nucleosome positioning -2.349 -0.561 0.155 -1.991 0.155 0.274 0.274 0.453 -0.740 1.287 0.274 0.453 -0.978 0.214 0.870 -1.991 -0.740 0.810 -0.322 0.870 0.274 0.572 -0.084 0.274 1.645 1.287 -0.084 0.274 -1.276 0.274 -0.322 0.155 -0.918 0.274 0.274 0.214 0.572 2.479 1.287 1.287 -0.501 2.479 0.572 0.274 -0.561 0.274 0.810 -0.561 -1.395 -0.561 -1.276 -0.978 0.274 -0.501 1.645 -0.740 0.274 0.572 0.274 0.155 -1.395 -0.918 -0.740 -2.349 6 | Consensus_roll -2.744 -1.363 -0.260 -2.591 0.164 0.071 0.065 -0.676 -0.158 0.911 -0.070 -0.676 0.584 -0.397 1.358 -2.591 -0.226 0.773 0.920 1.358 -1.139 0.345 -0.705 -0.070 1.012 0.379 -0.705 0.065 -0.097 0.427 0.920 -0.260 -0.600 0.178 0.427 -0.397 0.842 2.089 0.379 0.911 -0.103 2.089 0.345 0.071 -0.062 0.178 0.773 -1.363 -0.275 -0.062 -0.097 0.584 1.348 -0.103 1.012 -0.158 1.348 0.842 -1.139 0.164 -0.275 -0.600 -0.226 -2.744 7 | Consensus-Rigid -2.744 -1.363 -0.260 -2.591 0.164 0.071 0.065 -0.676 -0.158 0.911 -0.070 -0.676 0.584 -0.397 1.358 -2.591 -0.226 0.773 0.920 1.358 -1.139 0.345 -0.705 -0.070 1.012 0.379 -0.705 0.065 -0.097 0.427 0.920 -0.260 -0.600 0.178 0.427 -0.397 0.842 2.089 0.379 0.911 -0.103 2.089 0.345 0.071 -0.062 0.178 0.773 -1.363 -0.275 -0.062 -0.097 0.584 1.348 -0.103 1.012 -0.158 1.348 0.842 -1.139 0.164 -0.275 -0.600 -0.226 -2.744 8 | Dnase I 2.274 1.105 0.193 2.141 -0.153 -0.078 -0.074 0.536 0.109 -0.753 0.039 0.536 -0.491 0.307 -1.112 2.141 0.166 -0.646 -0.762 -1.112 0.917 -0.300 0.558 0.039 -0.834 -0.326 0.558 -0.074 0.062 -0.365 -0.762 0.193 0.474 -0.165 -0.365 0.307 -0.702 -1.687 -0.326 -0.753 0.066 -1.687 -0.300 -0.078 0.031 -0.165 -0.646 1.105 0.206 0.031 0.062 -0.491 -1.103 0.066 -0.834 0.109 4.522 -0.702 0.917 -0.153 0.206 0.474 0.166 -2.615 9 | Dnase I-Rigid 2.118 1.516 0.493 2.158 -0.123 0.107 0.107 1.357 -0.389 -0.313 0.300 1.357 -1.585 0.727 -1.215 2.158 -0.275 -0.503 -1.549 -1.215 1.876 -0.084 0.962 0.300 -0.123 0.455 0.962 0.107 -0.880 -0.427 -1.549 0.493 0.146 -0.046 -0.427 0.727 -0.767 -1.029 0.455 -0.313 -0.275 -1.029 -0.084 0.107 -0.351 -0.046 -0.503 1.516 -0.692 -0.351 -0.880 -1.585 -1.696 -0.275 -0.123 -0.389 -1.696 -0.767 1.876 -0.123 -0.692 0.146 -0.275 2.118 10 | MW-Daltons -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 11 | MW-kg -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 -1.000 -1.000 -1.000 -1.000 12 | Nucleosome -2.342 -0.555 0.169 -2.004 0.169 0.266 0.266 0.459 -0.748 1.280 0.266 0.459 -0.990 0.217 0.893 -2.004 -0.748 0.797 -0.314 0.893 0.266 0.555 -0.072 0.266 1.666 1.280 -0.072 0.266 -1.280 0.266 -0.314 0.169 -0.893 0.266 0.266 0.217 0.555 2.487 1.280 1.280 -0.507 2.487 0.555 0.266 -0.555 0.266 0.797 -0.555 -1.376 -0.555 -1.280 -0.990 0.266 -0.507 1.666 -0.748 0.266 0.555 0.266 0.169 -1.376 -0.893 -0.748 -2.342 13 | Nucleosome-Rigid 2.386 0.548 -0.179 2.032 -0.179 -0.275 -0.275 -0.466 0.743 -1.272 -0.275 -0.466 0.988 -0.227 -0.894 2.032 0.743 -0.800 0.304 -0.894 -0.275 -0.562 0.062 -0.275 -1.646 -1.272 0.062 -0.275 1.285 -0.275 0.304 -0.179 0.890 -0.275 -0.275 -0.227 -0.562 -2.433 -1.272 -1.272 0.499 -2.433 -0.562 -0.275 0.548 -0.275 -0.800 0.548 1.384 0.548 1.285 0.988 -0.275 0.499 -1.646 0.743 -0.275 -0.562 -0.275 -0.179 1.384 0.890 0.743 2.386 14 | -------------------------------------------------------------------------------- /util/data/tridnaPhyche.data: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Superzchen/iLearnPlus/7c7b99ee4e87f20662492c0c1141977db2bca2d6/util/data/tridnaPhyche.data --------------------------------------------------------------------------------