Skip to content

Commit d2c78b5

Browse files
committed
Update README for current install setup
1 parent 8189add commit d2c78b5

File tree

1 file changed

+38
-89
lines changed

1 file changed

+38
-89
lines changed

README.md

+38-89
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,66 @@
11
# Finding, Optimizing, and Reporting Cas Targets (FORCAST): a fully integrated and open source pipeline to design CRISPR mutagenesis experiments
22

33
## Contents
4-
[Hardware Requirements](#hardware-requirements)<br>
5-
[Installing With Docker *\*(RECOMMENDED)\**](#installing-with-docker)<br>
6-
[Installing Natively](#installing-natively)<br>
7-
[Customization](#customization)<br>
8-
[Migration](#migration)<br>
9-
[Citation](#citation)<br>
10-
[Troubleshooting](#troubleshooting)<br>
114

12-
## Hardware Requirements
13-
FORCAST can be installed on any machine running a [docker-compatible operating system](https://docs.docker.com/install/). Alternately, to run FORCAST natively, Ubuntu 16.04 is required.
14-
15-
In either case, a minimum of 8GB of RAM and 100GB of hard disk space is recommended.
16-
17-
## Installing with Docker
18-
*\*RECOMMENDED OPTION\**
19-
For first time users, and those using personal computers, this is the recommended way to install FORCAST.
20-
21-
First, install the [docker engine](https://docs.docker.com/install/). If using Linux, also install [docker compose](https://docs.docker.com/compose/install/) (this is included by default in Mac and Windows installations of docker).
22-
23-
Clone the FORCAST repository:
24-
```
25-
git clone https://github.com/ccmbioinfo/FORCAST.git
26-
```
27-
28-
Navigate to the `FORCAST` directory. The `sample.env` file defines yeast (*Saccharomyces_cerevisiae*) as the organism of interest with genome assembly R64-1-1:
29-
```
30-
ORGANISM=Saccharomyces_cerevisiae
31-
ASSEMBLY=R64-1-1
32-
```
5+
- [Hardware Requirements](#hardware-requirements)
336

34-
Rename the file to `.env` and change these defaults to your desired organism/genome build if they are different. A full list of available genomes can be found at [ftp://ftp.ensembl.org/pub/current_fasta](ftp://ftp.ensembl.org/pub/current_fasta).
7+
- [Installing with Docker](#installing-with-docker)
358

36-
From within the `FORCAST` directory, build the docker container:
9+
- [Customization](#customization)
3710

38-
```docker-compose up```
11+
- [Migration](#migration)
3912

40-
Depending on the size of your organism, it may take several hours to download the genome and build the index files. Once the setup is complete, the message: ` * Starting Apache httpd web server apache2 * ` will be displayed. FORCAST should now be available via web browser at your server's domain address (or at localhost if running locally on your personal computer).
13+
- [Citation](#citation)
4114

42-
Once you're finished using FORCAST, it can be shut-down by typing Ctrl-C and typing ```docker-compose down``` on the command-line. Your guides and primers will be saved to the ```/mongo``` folder and the indexed genome files saved to the ```/jbrowse``` folder for the next time you start up FORCAST (again via ```docker-compose up```).
15+
- [Troubleshooting](#troubleshooting)
4316

44-
## Installing Natively
45-
(Requires `sudo` privileges and a machine running Ubuntu 16.04)
17+
## Hardware Requirements
4618

47-
Install git and apache2:
48-
```
49-
sudo apt-get update
50-
sudo apt-get install -y git apache2
51-
```
52-
53-
Navigate to a folder where you would like to install FORCAST. It must be a folder that can be served by apache2 (i.e. `var/www/html`) and remove the index.html file if it exists
54-
```
55-
cd /var/www/html
56-
rm index.html
57-
```
19+
Minimum 8 GB RAM, 100 GB available storage
5820

59-
Clone the FORCAST repo:
60-
```
61-
git clone https://github.com/ccmbioinfo/FORCAST.git
62-
```
21+
Storage should expand as needed to store however many genome assemblies you wish to work with.
6322

64-
Then, run the installation script using the command below
65-
```
66-
cd FORCAST/src/installation
67-
./install.sh /var/www/html/FORCAST
68-
```
23+
## Installing with Docker
6924

70-
If the installation process halts with a message ```Default Kerberos version 5 realm:```, press Enter
25+
On the host computer or server, install the [Docker Engine](https://docs.docker.com/install/) and additionally
26+
[Docker Compose](https://docs.docker.com/compose/install/) on Linux. Note the licensing requirements for
27+
Docker Desktop, though the Docker Engine and Compose for Linux remain free and open source.
7128

72-
After the installation step is completed, start the mongodb server: `systemctl start mongod`
29+
Clone this repository. Note: an image will be provided at a later date, and cloning will not be required.
7330

74-
Then, navigate to the `src/setup` folder under the root directory (e.g.`/var/www/html/FORCAST/src/setup`), and run the following command to setup Jbrowse, the BLAST database and mongodb.
75-
```
76-
python3 setup.py -r /var/www/html/FORCAST -g Saccharomyces_cerevisiae -v R64-1-1 -fa2bit /var/www/html/FORCAST/bin/faToTwoBit -b /var/www/html/FORCAST/bin/ncbi-blast-2.7.1+/bin
31+
```bash
32+
git clone https://github.com/ccmbioinfo/FORCAST.git
7733
```
7834

79-
Replace the default organism (*Saccharomyces_cerevisiae*) and its genome build (**R64-1-1**) with your organism and build of interest. A full list of available genomes can be found at [ftp://ftp.ensembl.org/pub/release-98/fasta](ftp://ftp.ensembl.org/pub/release-98/fasta/).
35+
Navigate to the cloned repository folder, build the Docker image, and start the service container.
8036

81-
Now, run the script to grant apache the correct file permissions.
82-
```
83-
cd /var/www/html/FORCAST/src/installation
84-
./setPermissions.sh
37+
```bash
38+
docker-compose up
8539
```
8640

87-
Next, the apache server needs to be configured to make the tool web accessible.
41+
FORCAST should now be available on `localhost:80`, or port 80 of the hosting machine.
8842

89-
Open the file ```/etc/apache2/sites-available/000-default.conf```, and modify the DocumentRoot to the location where FORCAST was installed, and add this section below:
90-
```
91-
DocumentRoot /var/www/html/FORCAST
92-
<Directory '/var/www/html/FORCAST'>
93-
Options +ExecCGI
94-
AddHandler cgi-script .py
95-
Allow from all
96-
</Directory>
97-
```
43+
Genomes are downloaded from Ensembl. For a full list from the current release, see [Ensembl](https://ftp.ensembl.org/pub/current_fasta/).
44+
Not all of these have been tested with FORCAST. Please keep in mind the Ensembl release version
45+
(106, as of writing), the species of organism, and the assembly name for the following step to
46+
download the assembly and install for FORCAST. This performs all steps necessary to index the
47+
assemblies and load tracks into JBrowse. Depending on the size of the genome, this could take
48+
several hours to complete.
9849

99-
Then, restart apache2
100-
```
101-
systemctl restart apache2
50+
```bash
51+
docker-compose exec forcast ./src/setup/setup.sh ENSEMBL_RELEASE Organism_name ASSEMBLY
10252
```
10353

104-
FORCAST should now be accessible from your browser at ```http://<your servers address>```. For example if your VM's IP address is ```172.20.20.20```, you can type : ```http://172.20.20.20``` in your browser to access FORCAST.
54+
**Tested examples**
10555

106-
To enable In Silico PCR tool [Dicey](https://github.com/gear-genomics/dicey) (a.k.a. [Silica](https://www.gear-genomics.com/silica/)), run the ```enable_dicey.sh``` script. Again provide your organism of interest and genome assembly in place of *Saccharomyces_cerevisiae* and R64-1-1:
107-
```
108-
cd /var/www/html/FORCAST/src/setup
109-
./enable_dicey Saccharomyces_cerevisiae R64-1-1
56+
```bash
57+
docker-compose exec forcast ./src/setup/setup.sh 106 Saccharomyces_cerevisiae R64-1-1
58+
docker-compose exec forcast ./src/setup/setup.sh 102 Mus_musculus GRCm38
59+
docker-compose exec forcast ./src/setup/setup.sh 106 Mus_musculus GRCm39
60+
docker-compose exec forcast ./src/setup/setup.sh 106 Homo_sapiens GRCh38
11061
```
111-
Which will fetch and name the index files if they're available.
11262

113-
If you want your installation of FORCAST to be secured by https, please refer to apache2's documentation on how to enable https module.
63+
_Drosophila melanogaster_ is known to not install properly due to using a different naming scheme.
11464

11565
## Customization
11666

@@ -154,7 +104,7 @@ After modifying the `rgens.json` file, you can run the `load_RGENs.py` script in
154104
## Migration
155105
If using a previous version of FORCAST, existing Primers and Guides can be migrated to the new version by performing the following steps:
156106

157-
1) Navigate to the _existing_ FORCAST installation and make copies of the collections to migrate. Replace mm10 with your genome version, if it is different, and define a directory where the database files should be output.
107+
1) Navigate to the _existing_ FORCAST installation and make copies of the collections to migrate. Replace mm10 with your genome version, if it is different, and define a directory where the database files should be output.
158108
```
159109
mongodump --db=mm10 --collection=gRNAResultCollection -o <output_directory>
160110
mongodump --db=mm10 --collection=primerCollection -o <output_directory>
@@ -168,12 +118,11 @@ This will place the .bson and .json files into a folder in your specified output
168118
```
169119
3) After restoring the database, the database documents need to be converted to the new format via a Python script:
170120
```
171-
cd /var/www/html/FORCAST
172-
sudo python3 customPython/MongoConverter.py
121+
python3 src/helpers/MongoConverter.py
173122
```
174123
4) Finally, the GFF files need to be re-written for the JBrowse tracks by a python script:
175124
```
176-
sudo python customPython/MongoHandler.py mm10
125+
python src/helpers/MongoHandler.py mm10
177126
```
178127

179128
Your existing Primer and Guide designs should now be accessible in the new FORCAST installation!

0 commit comments

Comments
 (0)