'Dataset' : This directory is used to store the dataset.
'ProcessData/IRES_Seq/' : This directory is used to store the sequence files (.fa or .fasta) used for prediction.
'ProcessData/IRES_BPE_matrix/' : This directory is used to store the base pair energy(BPE) `.npy` files generated by bpfold.
'ProcessData/IRES_BPP_matrix/' : This directory is used to store the base pair probability(BPP) `.npy` files generated by RNAfold.
'ProcessData/IRES_pkl/' : This directory is used to store the processed RNA ID, RNA sequences, BPP, and BPE information and these informations are packaged into `.pkl` files and saved here for subsequent predictive analysis.
'ProcessData/IRES_Predict/': This directory is used to store the prediction result files.
Download the repository and create corresponding environment.
-
linux(eg. CentOS)
-
python 3.9 +
-
Anaconda
- Use base pair motif library
pip3 install BPfoldRNAfold is part of the ViennaRNA package. Download the source code from the official website or GitHub
wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_7_x/ViennaRNA-2.7.0.tar.gz
tar -zxvf ViennaRNA-2.7.0.tar.gz
./configure
make
make installViennaRNA is packaged in conda-forge and can be installed directly in a conda environment.
conda install -c conda-forge viennarna -ygit clone https://github.com/f-zhangf/IRESeek.git
cd ./IRESeek
conda env create -f IreSeek.ymlThen activate virtual enviroment
conda activate IRESeekInstall SeqKit from bioconda
conda install -c bioconda seqkit -yRun IreSeek.py file to predict IRES
python IreSeek.py -i input_file usage: IreSeek.py [-h] [-d] [-i] [-s] [-w] [-g]
optional arguments:
-h, --help show this help message and exit.
-d, --dataset Preprocessed dataset filename (Place the file in the ProcessData/IRES_pkl/ directory.)
-i, --input_file input sequence file to be predicted (.fasta or .fa file).
-s, --split true: the input sequences will be split. fasle: the input sequences will be not split.
-w, --window refers to the length of the subsequence analyzed in each sliding window operation. If split is true, this parameter must be set to a specific value; otherwise, the default value of 174 will be used.
-g, --interval specifies the step size for the sliding window. If split is true, this parameter must be set to a specific value; otherwise, the default value of 10 will be used.
When no splitting is performed, the command is as follows:
python IreSeek.py -i example.fa
When splitting is performed, the command is as follows:
python IreSeek.py -i example.fa -s/--split -w/--window 174 -g/--interval 10
Test dataset archive location:Dataset/test_pkl.tar.gz
1. extract the archive file into the ProcessData/IRES_pkl/ directory.
2. the command is as follows:
python IreSeek.py -d/--dataset test_pkl
The obtained results will be saved as a CSV file and stored in 'ProcessData/IRES_Predict/'.
The prediction results consist of four columns: sequence ID, sequence, predicted label, and prediction score. The ID column also contains the predicted region.
1. Installation Issues
Problem: Package installation fails or dependencies cannot be resolved.
Solution:
1.Verify Python version: python --version
2.Reinstall dependencies
3.Ensure CUDA/CuDNN versions match your PyTorch installation.
2. Runtime Errors
Problem: Errors appear when running the main script (e.g.“tensor size mismatch”, “CUDA out of memory”).
Solution:
1.Check input format and sequence length.
2.Reduce batch size.
2.Verify that the model weights are correctly loaded.
3.Test Dataset Execution
If the test dataset fails to run, please check the following:
1.Ensure the dataset path exists.
2.Make sure the model weights are correctly specified.
3.Try enabling debug mode for detailed error output: python IreSeek.py -d/--dataset test_pkl --debug
4.Running Custom Sequence Data
If errors occur when running your own sequence data, consider the following:
1.If the program stops during “Processing sequences”, please first check Step 1 (Generate BPP and BPE) for possible input or preprocessing errors.Confirm that preprocessing steps are correct and consistent.
2.If the program stops during “Saving PKL files”, please first check Step 2 (process data to get pkl) for possible input or errors.
3.Reduce batch_size if you encounter CUDA out-of-memory issues.
4.Verify that the input directory structure matches the required format.
5.When issues occur, you can set breakpoints to debug the code and locate the exact source of the problem.
5.Common GPU Issues
Problem: GPU not used or inference extremely slow.
Solution:
1.Check GPU availability:
import torch
print(torch.cuda.is_available())
2.Kill any processes occupying GPU
6.Contact / Reporting Bugs
If none of the above solves the issue, please open an issue on GitHub with:
1.Error message
2.Command used
3.System environment details