Skip to content

Commit 62f69af

Browse files
committed
Squashed commit of the following:
commit 63001da Author: NourHanafi <[email protected]> Date: Fri Jul 22 18:33:00 2022 +0000 updated .gitignore commit d1070fc Author: Kevin Lu <[email protected]> Date: Thu Jun 23 13:24:44 2022 -0400 Delete sample.env commit 74c0ddd Author: Kevin Lu <[email protected]> Date: Wed Jun 22 16:51:30 2022 -0400 Fix README formatting commit d2c78b5 Author: Kevin Lu <[email protected]> Date: Wed Jun 22 13:53:24 2022 -0400 Update README for current install setup commit 8189add Author: Kevin Lu <[email protected]> Date: Wed Jun 22 13:22:23 2022 -0400 yeet old setup scripts commit f57f5af Author: Kevin Lu <[email protected]> Date: Mon Jun 13 14:00:27 2022 -0400 Add favicon to JBrowse commit 4c44647 Author: Kevin Lu <[email protected]> Date: Mon Jun 13 13:50:36 2022 -0400 Remove duplicate icon commit a0d9a0d Author: Kevin Lu <[email protected]> Date: Mon Jun 13 13:31:08 2022 -0400 Bump JBrowse patch version commit 00a218c Author: Kevin Lu <[email protected]> Date: Mon Jun 6 13:22:01 2022 -0400 Fix unnecessary +x outside of src/ commit 3d02099 Author: Kevin Lu <[email protected]> Date: Fri Jun 3 17:52:35 2022 -0400 Disable Apache directory listing commit 7418d6d Author: Kevin Lu <[email protected]> Date: Fri Jun 3 17:23:01 2022 -0400 Replace JavaScript / redirect with proper server redirect commit e85c179 Author: Kevin Lu <[email protected]> Date: Fri Jun 3 16:45:59 2022 -0400 Store JBrowse genome dropdown on bind mount commit 3ebed57 Author: Kevin Lu <[email protected]> Date: Fri Jun 3 11:52:12 2022 -0400 Directly download UCSC Genome Browser kent binaries to /usr/local/bin commit d7c95d8 Author: Kevin Lu <[email protected]> Date: Fri Jun 3 11:18:44 2022 -0400 Docker: mount tmpfs /run, /tmp commit 68e2b9d Author: Kevin Lu <[email protected]> Date: Fri Jun 3 11:17:43 2022 -0400 Fix Dicey module import paths as a result of Python 3 migration commit f6f0ab2 Author: Kevin Lu <[email protected]> Date: Fri Jun 3 11:17:02 2022 -0400 Fix missing names and permissions in new install process commit 358a088 Author: Kevin Lu <[email protected]> Date: Thu Jun 2 17:53:56 2022 -0400 Fix not-updated Jinja error template path commit a30b411 Author: Kevin Lu <[email protected]> Date: Thu Jun 2 17:53:31 2022 -0400 Fix some cursed regex buried in JSON string to find assembly name commit 6999d56 Author: Kevin Lu <[email protected]> Date: Thu Jun 2 17:52:27 2022 -0400 Remove unused Python dependencies commit e05fd48 Author: Kevin Lu <[email protected]> Date: Thu Jun 2 17:51:40 2022 -0400 Install Dicey to /usr/local/bin now that temporary directory is not needed commit 3ffe093 Author: Kevin Lu <[email protected]> Date: Thu Jun 2 17:14:10 2022 -0400 Fix Dicey, using Python 3, NamedTemporaryFile, new index paths commit 940bd59 Author: Kevin Lu <[email protected]> Date: Wed Jun 1 17:49:37 2022 -0400 Fix Dicey index commit de47a89 Author: Kevin Lu <[email protected]> Date: Wed Jun 1 17:17:09 2022 -0400 Slight cleanup create_segments commit 687e234 Author: Kevin Lu <[email protected]> Date: Wed Jun 1 17:10:20 2022 -0400 Update paths for processed assemblies commit 950ee2a Author: Kevin Lu <[email protected]> Date: Wed Jun 1 14:46:25 2022 -0400 New setup script that verifies assembly name, builds Dicey index, removes temporaries commit ed195e9 Author: Kevin Lu <[email protected]> Date: Wed Apr 6 15:21:27 2022 -0400 Improve download script to use checksum file for finding files Does not work with GRCm38 regulatory build due to checksum file inconsistencies commit 095e600 Author: Kevin Lu <[email protected]> Date: Wed Apr 6 14:59:18 2022 -0400 Initial draft of new standalone download script commit 9bbbad9 Author: Kevin Lu <[email protected]> Date: Mon Mar 21 18:03:00 2022 -0400 Remove unused contents of bin/ that were also uncited Sources: UCSC, CRISPOR, possibly others - https://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/ - https://github.com/ucscGenomeBrowser/kent - https://github.com/maximilianh/crisporWebsite/tree/master/bin - https://github.com/maximilianh/maxtools commit 7e21763 Author: Kevin Lu <[email protected]> Date: Mon Mar 21 17:31:24 2022 -0400 Remove licence until we get correct licensing details and attributions commit 835263e Author: Kevin Lu <[email protected]> Date: Mon Mar 21 17:29:00 2022 -0400 Remove vendored JBrowse commit 04f6477 Author: Kevin Lu <[email protected]> Date: Mon Mar 21 15:38:59 2022 -0400 Cite background image commit c3e711a Author: Kevin Lu <[email protected]> Date: Mon Mar 21 15:30:43 2022 -0400 Clean up landing page cruft code and fix titles commit b24380f Author: Kevin Lu <[email protected]> Date: Mon Mar 21 15:16:17 2022 -0400 Cite the favicon commit 888430e Author: Kevin Lu <[email protected]> Date: Mon Mar 21 14:50:18 2022 -0400 Switch JBrowse data directories to be under data/ and create Docker mount Increase Ensembl REST API timeout commit 86ba295 Author: Kevin Lu <[email protected]> Date: Mon Mar 21 13:15:28 2022 -0400 Fix up Dicey install script commit 56e3a88 Author: Kevin Lu <[email protected]> Date: Wed Dec 15 15:50:40 2021 -0500 Remove old install script commit 1ca839a Author: Kevin Lu <[email protected]> Date: Wed Dec 15 15:35:19 2021 -0500 Fix Dicey installation commit 99f1e22 Merge: aa1aed8 c7da06b Author: Kevin Lu <[email protected]> Date: Wed Dec 15 11:41:42 2021 -0500 Merge remote-tracking branch 'origin/master' into kevinlul/reproducibility commit aa1aed8 Author: Kevin Lu <[email protected]> Date: Wed Dec 15 11:40:54 2021 -0500 Add paths.conf (to be removed) for image builds commit 49e57f7 Author: Kevin Lu <[email protected]> Date: Wed Dec 15 11:39:10 2021 -0500 Remove dependency on outdated GitPython Only used to write commit hashes to MongoDB (but most are blank or ab62755) Current version if reinstalled has bug gitpython-developers/GitPython#983 without upgrading commit e008ff0 Author: Kevin Lu <[email protected]> Date: Wed Dec 15 11:37:36 2021 -0500 Fix newly added genomes not being added to JBrowse.conf correctly commit 78171dc Author: Kevin Lu <[email protected]> Date: Wed Dec 15 11:36:56 2021 -0500 Write new Dockerfile, using apt and prebuilt binaries where possible commit ba8bd76 Author: Kevin Lu <[email protected]> Date: Wed Dec 15 10:55:55 2021 -0500 Redownload some UCSC Genome Browser binaries to fix dynamic linking issues Source: https://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/ Fixes missing libpng12.so problem that was hacked around commit c7da06b Author: Kevin Lu <[email protected]> Date: Fri Dec 3 18:47:33 2021 +0000 Fix mysterious hardcoded genome in manual primer entry Parse querystring natively commit 7505d24 Author: Kevin Lu <[email protected]> Date: Fri Dec 3 18:24:33 2021 +0000 Fix outdated script and stylesheet references in manual primer entry commit 7d728a2 Author: Kevin Lu <[email protected]> Date: Mon Nov 22 14:15:27 2021 -0500 Ongoing work to restore reproducible builds Missing JBrowse, Primer3, BLAST, Dicey installs commit 012edd8 Author: Kevin Lu <[email protected]> Date: Fri Oct 8 18:23:00 2021 +0000 Add helper scripts used for moving guides and primers between assemblies commit 777dca7 Author: Kevin Lu <[email protected]> Date: Wed May 26 17:51:39 2021 +0000 Fix hardcoded gene assembly name in APEs commit 7952bf7 Author: Kevin Lu <[email protected]> Date: Wed May 26 17:46:10 2021 +0000 Fix FetchAPE for changed directory structure, support all genomes commit 6dc68d1 Author: Kevin Lu <[email protected]> Date: Mon Apr 26 16:26:58 2021 -0400 Replace contact links commit 96d49d2 Author: Kevin Lu <[email protected]> Date: Thu Mar 18 21:41:15 2021 +0000 Add genome assembly name to splash dropdown Disambiguates between assemblies for the same species commit dc25970 Author: Kevin Lu <[email protected]> Date: Thu Mar 18 21:35:23 2021 +0000 Fix bootstrap path for frontend, missing import in setup commit f47a093 Author: Hillary Elrick <[email protected]> Date: Wed Mar 17 14:30:45 2021 +0000 Permissions bugfix for guide design (#7) * ensuring permissions for web access are set * slightly more helpful error message (fixes issue with tmp.fa not being written) commit 1180e97 Author: Hillary Elrick <[email protected]> Date: Tue Mar 16 21:31:18 2021 +0000 Contents link typo + reorder README commit 2f43f8b Author: Kevin Lu <[email protected]> Date: Tue Mar 16 15:46:35 2021 -0400 Update README.md
1 parent e412406 commit 62f69af

File tree

5,728 files changed

+1110
-1410981
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,728 files changed

+1110
-1410981
lines changed

.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*
2+
!config-template

.editorconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
charset = utf-8
6+
trim_trailing_whitespace = true
7+
insert_final_newline = true
8+
max_line_length = 120

.gitignore

100755100644
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
# program/data folders
22
.env
3-
bin/dicey
4-
bin/ncbi-blast-2.7.1+
5-
bin/primer3
6-
jbrowse/data.*
3+
bin/*
4+
jbrowse/data*
75
jbrowse/Makefile
86
jbrowse/setup.log
97
jbrowse/jbrowse.conf

Dockerfile

100755100644
Lines changed: 52 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,52 @@
1-
FROM ubuntu:16.04
2-
LABEL maintainer="[email protected]"
3-
ENV DEBIAN_FRONTEND noninteractive
4-
5-
# INSTALL BASE REQUIREMENTS
6-
RUN apt-get update && \
7-
apt-get install -y git sudo apache2 && \
8-
cd /var/www/html && \
9-
rm index.html
10-
11-
# CHANGE DOCUMENT ROOT AND SERVERNAME
12-
WORKDIR /etc/apache2
13-
RUN sed -i -e "/DocumentRoot/a \ \t\<Directory \'\/var\/www\/html\'\>\n\t\tOptions +ExecCGI\n\t\tAddHandler cgi-script .py\n\t\tAllow from all\n\t</Directory\>" sites-available/000-default.conf
14-
RUN sed -i '1 i\ServerName FORCAST' apache2.conf
15-
16-
# GET HOST CODE
17-
COPY . /var/www/html/
18-
WORKDIR /var/www/html/
19-
20-
# INSTALL DEPENDENCIES
21-
RUN cd src/installation && \
22-
./install.sh /var/www/html && \
23-
./setPermissions.sh
1+
FROM ubuntu/apache2:2.4-20.04_beta
2+
# Match Docker expectations for logging like the Docker Library nginx image
3+
RUN ln -sf /dev/stdout /var/log/apache2/access.log && \
4+
ln -sf /dev/stderr /var/log/apache2/error.log && \
5+
# Enable Common Gateway Interface scripts that comprise much of FORCAST's backend
6+
a2enmod cgi && \
7+
# Enable mod_rewrite for the / homepage redirect
8+
a2enmod rewrite && \
9+
# Disable directory listings. This is a core module, which requires --force
10+
a2dismod --force autoindex
11+
RUN apt update -y && \
12+
apt install -y \
13+
# MongoDB 3.6 for storing guides and primers
14+
mongodb \
15+
# General downloads here, unzip JBrowse
16+
ca-certificates curl unzip \
17+
# Convenient downloads for Dicey from GEAR Genomics Tracy
18+
wget rename \
19+
# FORCAST uses both Python 2 and 3 for some reason
20+
python python3-pip \
21+
# Bioinformatics tools used when installing new genomes
22+
bwa bedtools samtools ncbi-blast+ \
23+
# FORCAST primer design feature after setup
24+
primer3 && \
25+
# Remove lists pulled by apt update for consistent images
26+
rm -rf /var/lib/apt/lists/* && \
27+
# python-pip is no longer included in the distribution as Python 2 is out of support
28+
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python
29+
# In-silico PCR tool for primer design
30+
RUN curl -Lo /usr/local/bin/dicey https://github.com/gear-genomics/dicey/releases/download/v0.1.8/dicey_v0.1.8_linux_x86_64bit && \
31+
chmod +x /usr/local/bin/dicey
32+
# UCSC Genome Browser kent binaries
33+
RUN curl -Lo /usr/local/bin/faToTwoBit https://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit \
34+
-Lo /usr/local/bin/twoBitToFa https://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/twoBitToFa && \
35+
chmod +x /usr/local/bin/faToTwoBit /usr/local/bin/twoBitToFa
36+
RUN curl -LO https://github.com/GMOD/jbrowse/releases/download/1.12.5-release/JBrowse-1.12.5.zip && \
37+
unzip JBrowse-1.12.5.zip && \
38+
mv JBrowse-1.12.5 /var/www/html/jbrowse && \
39+
rm JBrowse-1.12.5.zip && \
40+
cd /var/www/html/jbrowse && ./setup.sh && \
41+
# Default FORCAST configuration for JBrowse. jbrowse/data/datasets.conf is bind-mounted for editing.
42+
echo -e "classicMenu = true\ninclude += data/datasets.conf\n\n[aboutThisBrowser]\ntitle = FORCAST" >> /var/www/html/jbrowse/jbrowse.conf && \
43+
# Add favicon
44+
sed -i '6i\ <link rel="icon" href="../docs/img/crispr-icon.png" sizes="100x100">' /var/www/html/jbrowse/index.html
45+
# Dependencies for FORCAST CGI scripts
46+
RUN pip install --no-cache-dir pymongo==3.12.3 requests==2.27.1 && \
47+
pip3 install --no-cache-dir pymongo==3.12.3 requests==2.27.1 Jinja2==3.1.2
48+
COPY config-template /var/www/html/config
49+
WORKDIR /var/www/html
50+
# Replace the /usr/sbin/apachectl script that is called with the Apache master process that respects signals
51+
ENV APACHE_HTTPD exec /usr/sbin/apache2
52+
CMD service mongodb start && exec apache2-foreground

0 commit comments

Comments
 (0)