README.md 3.63 KB
Newer Older
peguerin's avatar
peguerin committed
1
2
# reference_database

peguerin's avatar
peguerin committed
3
4
5
6
7
8
9
10
Collection of scripts to build a reference database.

# reference database built from EMBL taxonomy and sequences

This method is based on [OBItools](https://pythonhosted.org/OBITools/welcome.html#installing-the-obitools)'s reference database.

## Installation

peguerin's avatar
peguerin committed
11
To build this reference database, you will need a local copy of this repository
peguerin's avatar
peguerin committed
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

* open a shell
* make a folder, name it yourself, I named it workdir

```
mkdir workdir
cd workdir
```
* clone the project and switch to the main folder, it's your working directory

```
git clone http://gitlab.mbb.univ-montp2.fr/edna/reference_database.git
cd reference_database
```

## Dependencies

You will also need to have the following programs installed on your computer.


- [OBItools](https://pythonhosted.org/OBITools/welcome.html#installing-the-obitools)
- [ecoPCR](https://git.metabarcoding.org/obitools/ecopcr/wikis/home)
peguerin's avatar
stampa    
peguerin committed
34
35
36
37
- [python 3.6.6](https://www.python.org/downloads/release/python-366/)
- `python 3 library` [biopython](https://biopython.org/)
- `python 3 library` [etetoolkit](http://etetoolkit.org/)

peguerin's avatar
peguerin committed
38
39
40
41
42
43
44
45
46

## Preparation

- install dependencies
- clone the project (see [Installation](#installation) section)
- fulfill [config.sh](config.sh) and read [ecoPCR ](https://pythonhosted.org/OBITools/scripts/ecoPCR.html?highlight=ecopcr) documentation

## Build a reference database

peguerin's avatar
peguerin committed
47
* Overview of the steps
peguerin's avatar
stampa    
peguerin committed
48
	1. Download the sequences
peguerin's avatar
peguerin committed
49
50
51
52
53
54
55
	2. Download the taxonomy
	3. Use [ecoPCR](https://git.metabarcoding.org/obitools/ecopcr/wikis/home)
 to simulate an *in silico* PCR
	4. Clean the database

* Run the script

peguerin's avatar
peguerin committed
56
57
58
59
60
61
62
63
64
65
66
67
68
Once you have fulfilled the [config.sh](config.sh) files with the right parameters, simply run the following command into the current folder `reference_database`
```
bash build_bdr.sh
```
It will be very long to download the sequences and process the *in silico* PCR and filtering steps. Be sure you can run without interruption this script for several days.

I recommand you to open [build_bdr.sh](build_bdr.sh) and to run it step by step. For more information, this script is based on the [OBItools](https://pythonhosted.org/OBITools/welcome.html#installing-the-obitools)'s tutorial available [here](https://pythonhosted.org/OBITools/wolves.html).

## Results
let's define {prefix} as the prefix of the names of reference database as it's defined in [config.sh](config.sh)

The folder of the project will contain `{prefix}_*.sdx` files and a `db_{prefix}.fasta` file. 

peguerin's avatar
peguerin committed
69
In addition, it includes `EMBL` folder which contains all the sequences and `TAXO` folder which contains taxonomic information files.
peguerin's avatar
peguerin committed
70
71
72

## Use the reference database

peguerin's avatar
peguerin committed
73
Now, your reference database can be used for taxonomic assignment in our pipeline to generate species environmental presence from raw eDNA data.
peguerin's avatar
peguerin committed
74

peguerin's avatar
peguerin committed
75
76
You can use the absolute path of the folder of your reference database as the `/path/to/reference_database` argument in the following pipelines :
* [only_obitools](http://gitlab.mbb.univ-montp2.fr/edna/only_obitools)
peguerin's avatar
peguerin committed
77
* [nextflow_obitools](https://gitlab.mbb.univ-montp2.fr/edna/nextflow_obitools)
peguerin's avatar
peguerin committed
78
* [snakemake_only_obitools](http://gitlab.mbb.univ-montp2.fr/edna/snakemake_only_obitools)
peguerin's avatar
peguerin committed
79

peguerin's avatar
stampa    
peguerin committed
80
81
## Reference database in STAMPA format

peguerin's avatar
peguerin committed
82
Once you generated your reference database, you need the `db_{prefix}.fasta` file (see Results section above).
peguerin's avatar
peguerin committed
83
Type the following command to convert your reference database into STAMPA format :
peguerin's avatar
stampa    
peguerin committed
84
85
86
```
python3 scripts/formatDB_obifasta_to_stampa.py -f db_{prefix}.fasta -o /path/to/reference_database_stampa.fasta
```
peguerin's avatar
peguerin committed
87
This command generates a file `/path/to/reference_database_stampa.fasta` which you can use as a reference database for the pipeline :
peguerin's avatar
peguerin committed
88
* [bash_swarm](https://gitlab.mbb.univ-montp2.fr/edna/bash_swarm)