## 2 Feature Selection and Preprocessing Process
### Permutation Entropy  
In order to better highlight the complexity of protein sequences, we introduced the permutation entropy for the first time. Permutation entropy introduces the idea of permutation when calculating the complexity of reconstructed subsequences, it can be calculated for arbitrary real-world time series. Since the method is extremely fast and robust, it is preferable when there are huge data sets and no time for preprocessing and fine-tuning of parameters [32].  
Given a protein sequence \(X(i)(1\leq i\leq n)\) of length \(n\), specify an embedding dimension \(m\) and a time delay \(L\) to reconstruct the original sequence:  
\[\left[\begin{array}{ccccc}x(1)&x(1+L)&\cdots&x(1+(m-1)L)\\ \vdots&\vdots&&\vdots\\ x(j)&x(j+L)&\cdots&x(j+(m-1)L)\\ \vdots&\vdots&&\vdots\\ x(K)&x(K+L)&\cdots&x(K+(m-1)L)\\ \end{array}\right]j=1,2,3,\ldots,K \tag{9}\]  
Each row in the matrix can be regarded as a reconstructed subsequence, and there are \(K\) reconstruction subsequence in total. The \(j\)-th reconstructed subsequence of \(X(i)\) is \(x(j),x(j+L),\ldots,x(j+(m-1)L)\). Sort in ascending order based on numerical value:  
\[x(i+(j_{1}-1)L)\leq x(i+(j_{2}-1)L)\leq\ldots\leq x(i+(j_{m}-1)L) \tag{10}\]  
If the two values are equal, which is \(x[i-(j_{1}-1)L]=x[i-(j_{2}-1)L]\), they are sorted according to the index \(i\) of \(j_{i}\). In this way, a subsequence \(X(i)\) is mapped to \((j_{1},j_{2},\ldots,j_{m})\). Therefore, each row in the matrix reconstructed by the protein sequence \(X(i)\) can acquire a set of symbol sequences:  
\[S(l)\ =\ (j_{1},j_{2},\ldots,j_{m}) \tag{11}\]  
where \(l=1,2,\ldots,k\), and \(k\leq m!\), so every m-dimensional subsequence \(X(i)\) is mapped to one of \(m!\) permutations.  
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline  & **A** & **R** & **N** & **D** & **C** & **Q** & **E** & **G** & **H** & **K** \\ \hline Mapping values & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\  & **M** & **P** & **S** & **T** & **I** & **L** & **F** & **W** & **Y** & **V** \\ Mapping values & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline \end{tabular}
\end{table}
Table 1: Mapping values of topological entropy.  
Through the above steps, we can represent the continuous \(m\)-dimensional subspace with a sequence of symbols, in which there are \(m!\). The probability distribution of all symbols is represented by \(P_{1}\), \(P_{2}\), \(\ldots\), \(P_{K}\), where \(K\leq m!\).  
Finally, the permutation entropy of the protein sequence \(w\) is calculated as:  
\[H(m)=-\sum_{j=1}^{K}P_{j}lnP_{j} \tag{12}\]  
For the convenience of calculation, we use 0 and 1 to represent the 20 amino acids of the protein sequence, as shown in Table 1. If the specified value of \(m\) is too small, the reconstructed sequence will contain too few states and the subsequences will lose validity and meaning. If the value of \(m\) is too large, the protein sequence will be homogenized, increasing the amount of calculation and failing to reflect the inherent subtleties of the protein sequence. Therefore, the embedding dimension \(m\) is generally \(3\sim 7\), and \(m=5\) in this article. The influence of the delay time \(t\) can be ignored, usually \(t=1\). The overall calculation process is shown in Figure 1.