<div align="center">
<img src="./Data/logo_spliceator.png" align="center" width="300" height="180"> 
<p>Multi-species splice site prediction program using convolutional neural networks</p>

</div>

<center>
![release](https://img.shields.io/badge/Version-1.0-blue.svg)
![license](https://img.shields.io/badge/License-GPLv3-green.svg)
</center>

## Informations

__SPLICEATOR__ is an eukaryotic splice sites prediction program. It is based on convolutional neural network architecture. A model has been built for each type of splice site (Donor and Acceptor). The strength of __SPLICEATOR__ is based on its multi-species data set (from Human to Protists) which has been carefully established (error-free). We have constructed the positive set (with true splice sites) and the negative set (with counterexamples). Models were trained with 80% of the data and then tested on the remaining 20% of the data.


## Installation :

#### Create the project:
``` bash
git clone https://git.unistra.fr/nscalzitti/spliceator.git
```

#### Go to the project directory
```bash
cd spliceator
```

#### Installing the virtual environment
For better performance, use the provided environment.
```bash
conda create --name ENV_NAME --file requirements.txt python=3.7
conda activate ENV_NAME
```
or (specific for MAC OSX)


```bash
conda create --name ENV_NAME python=3.7
conda activate ENV_NAME
conda install pip biopython
PATH/bin/pip install --upgrade tensorflow==2.4.1
```
To get the location of the __PATH__ environment to use the pip package installed in the newly created conda environment, check the instalation of pip with conda and more particularly the section "package plan".


## Launch SPLICEATOR

To see the help:
```bash
./Spliceator -h
```
Basic launch with only your target fasta file containing one or more sequences:
```bash
./Spliceator -f my_fasta.file
```
Save results in output file:
```bash
./Spliceator -f my_fasta.file -o my_output_file.csv
```
Change the Donor (md) and Acceptor (ma) models, you can choose between : 20, 40, 140, 200, 400, by default we have selected 200 for donor and acceptor model:
```bash
./Spliceator -f my_fasta.file -md 400 -ma 80 -o my_output_file.csv
```
Change the reliability for each SS, from 50 to 99 (default=98):
```bash
./Spliceator -f my_fasta.file -td donor_threshold -ta acceptor_threshold
```
To obtain the score of each nucleotide
```bash
./Spliceator -f my_fasta.file -a True
```

You can add 'python' before __Spliceator__ if you have an error.

:warning: If we have this error:

&emsp;`Permission denied: Spliceator`, make the file executable:

```bash
chmod +x ./Spliceator
```
