Skip to content

Commit 973bef0

Browse files
committed
updated with latest from master @ 8d3aba6
1 parent a8c4c7e commit 973bef0

File tree

445 files changed

+24047
-13734
lines changed

Some content is hidden

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

445 files changed

+24047
-13734
lines changed

.dockerignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
data/
2+
!data/projects/knoweng/demo_files/
3+
!data/projects/knoweng/pipeline_readmes/
4+
docker/
5+
!docker/flask_entrypoint.sh
6+
ci_scripts/
7+
.git
8+
.gitignore
9+
client-debug.log

.gitignore

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33
data/db/*
44
data/userfiles/*
55
!data/userfiles/.gitkeep
6-
# created by data/projects/knoweng/populate.sh
7-
data/src
8-
data/gene_annotations
9-
data/logs
10-
data/networks
6+
data/projects/knoweng/demo_files
7+
data/projects/knoweng/networks
8+
data/projects/knoweng/pipeline_readmes
119
data/projects/mmbdb/*
1210
data/projects/hello_world/*
1311

Dockerfile.flask

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
FROM tiangolo/uwsgi-nginx-flask:python2.7
2+
3+
# Install package dependencies
4+
RUN apt-get -qq update && \
5+
apt-get -qq install --no-install-recommends \
6+
build-essential \
7+
curl \
8+
netcat \
9+
libpq-dev \
10+
python-dev \
11+
sudo && \
12+
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - && \
13+
apt-get -qq update && \
14+
apt-get -qq install nodejs && \
15+
apt-get -qq clean all && \
16+
apt-get -qq autoclean && \
17+
apt-get -qq autoremove && \
18+
rm -rf /var/lib/apt/lists/*
19+
20+
RUN npm install -g [email protected]
21+
22+
# Configure/clear flask working directory
23+
ENV BASEDIR="/code_live"
24+
WORKDIR $BASEDIR/
25+
26+
# Install Python dependencies
27+
RUN pip --no-cache-dir install -q setuptools==33.1.1
28+
ADD ./requirements/ $BASEDIR/requirements
29+
RUN pip --no-cache-dir install -q -r requirements/nest_flask.txt
30+
31+
RUN rm -rf /app
32+
33+
# Copy in our app source and config files
34+
#COPY data/projects/knoweng/demo_files/*.txt /demo_files/
35+
COPY nest_flask_etc/uwsgi/uwsgi.ini /etc/uwsgi/uwsgi.ini
36+
COPY nest_flask_etc/nginx/ /etc/nginx/
37+
COPY nest_flask_etc/supervisor/ /etc/supervisor/
38+
COPY client $BASEDIR/client
39+
40+
# Build UI from source
41+
WORKDIR $BASEDIR/client/
42+
RUN npm install && \
43+
gulp dist
44+
45+
# Copy in demo files, publication data, and pipeline readmes
46+
WORKDIR /
47+
RUN git clone https://github.com/KnowEnG/quickstart-demos && \
48+
cp -r quickstart-demos/demo_files / && \
49+
cp -r quickstart-demos/publication_data /demo_files/ && \
50+
find /demo_files -type f -name \*.bz2 | xargs bzip2 -d && \
51+
cp -r quickstart-demos/pipeline_readmes / && \
52+
rm -rf /quickstart-demos
53+
WORKDIR $BASEDIR/
54+
55+
COPY . .
56+
RUN cp $BASEDIR/docker/flask_entrypoint.sh $BASEDIR/entrypoint.sh
57+
58+
# Set runtime environment options
59+
ENV PROJECT_ENV="knoweng" \
60+
NEST_RUNLEVEL="development" \
61+
PYTHONPATH="$BASEDIR"
62+
63+
# We need to override the entrypoint from the base image, because it clobbers our config
64+
# Note the k8s yamls override the entrypoint *again*
65+
ENTRYPOINT [ "./entrypoint.sh" ]

Dockerfile.jobs

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
FROM python:2.7
2+
3+
# Install package dependencies for jobs
4+
RUN apt-get -qq update && \
5+
apt-get -qq install --no-install-recommends \
6+
pkg-config \
7+
libpng-dev \
8+
libfreetype6-dev \
9+
libblas-dev \
10+
liblapack-dev \
11+
gfortran \
12+
netcat \
13+
libatlas-base-dev \
14+
libhdf5-dev \
15+
python-tk \
16+
r-base \
17+
r-base-dev \
18+
libffi-dev \
19+
libssl-dev && \
20+
apt-get -qq clean all && \
21+
apt-get -qq autoclean && \
22+
apt-get -qq autoremove && \
23+
rm -rf /var/lib/apt/lists/*
24+
25+
# Configure our app's expected working directory
26+
ENV BASEDIR="/app" \
27+
PYTHONPATH="$BASEDIR"
28+
WORKDIR $BASEDIR/
29+
30+
# Install Python dependencies for jobs (1/2)
31+
# force setuptools v33; newer versions will fail https://github.com/pypa/setuptools/issues/937
32+
# alternative is to update pip, but that requires updating python (otherwise we
33+
# hit security errors), and that's complicated, because ubuntu 14.04 locks in
34+
# 2.7.6
35+
COPY requirements $BASEDIR/requirements/
36+
RUN pip --no-cache-dir install -q setuptools==33.1.1
37+
RUN pip --no-cache-dir install -q numpy==1.11.3
38+
RUN pip --no-cache-dir install -q -r requirements/nest_jobs.txt
39+
40+
# Install Python dependencies for jobs (2/2)
41+
# The following pip packages do not declare their dependencies properly, and
42+
# therefore cannot reliably be installed from the requirements txt files.
43+
# (pip does not install in the order declared in the file, but rather
44+
# an ordering based on installing the order to resolve dependencies)
45+
RUN pip --no-cache-dir install -q biom-format==2.1.5
46+
RUN pip --no-cache-dir install -q h5py==2.5.0 && \
47+
python -c "import skbio" #this prevents a "caching fonts" message on every command
48+
49+
# Copy in demo files, publication data, and pipeline readmes
50+
WORKDIR /
51+
RUN git clone https://github.com/KnowEnG/quickstart-demos && \
52+
cp -r quickstart-demos/demo_files / && \
53+
cp -r quickstart-demos/publication_data /demo_files/ && \
54+
find /demo_files -type f -name \*.bz2 | xargs bzip2 -d && \
55+
cp -r quickstart-demos/pipeline_readmes / && \
56+
rm -rf /quickstart-demos
57+
WORKDIR $BASEDIR/
58+
59+
COPY . .
60+
61+
# Define our jobs worker entrypoint
62+
ENTRYPOINT ["python","-m","nest_py.knoweng.jobs.worker_app"]

README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
===============================
2-
Platform
2+
Nest
33
===============================
44

5-
This repository contains the codebase implementing the KnowEnG platform's
6-
web services and client.
5+
This repository contains the codebase implementing both the Mayo Microbiome
6+
Database project and the KnowEnG frontend.
77

88

99
To Install Docker

client/css/knoweng/style.css

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ H4 {
182182
text-align: center;
183183
margin-left: auto;
184184
margin-right: auto;
185-
margin-top: 80px;
185+
padding-top: 80px;
186186
font-size: 16pt;
187187
z-index: -1;
188188
}
@@ -193,4 +193,71 @@ H4 {
193193

194194
.brand-text {
195195
color: #1D609E;
196-
}
196+
}
197+
198+
/* Start of ngx-bootstrap popover customization */
199+
.popover.customClass {
200+
margin-top: -22px;
201+
margin-left: 66px;
202+
}
203+
204+
.popover.customClass>.arrow, .popover.customClass>.arrow:after {
205+
border-style: none;
206+
}
207+
208+
.popover.customClass>.popover-content {
209+
padding: 0;
210+
background-color: #EBF2F2;
211+
}
212+
213+
.popover.infoClass {
214+
padding: 0px;
215+
color: #000000;
216+
font-family: Lato;
217+
font-size: 14px;
218+
line-height: 17px;
219+
max-width: 100%;
220+
margin-left: 10px;
221+
margin-top: 10px;
222+
}
223+
224+
.popover.infoClass>.popover-title {
225+
background-color: #35516A;
226+
}
227+
228+
.popover.infoClass>.arrow:before, .popover.infoClass>.arrow:after {
229+
border-bottom-color: #35516A;
230+
}
231+
232+
.popover.infoClass>.popover-content .popover-content-blue {
233+
color: #1D609E;
234+
}
235+
236+
.popover.infoClass>.popover-content .help-info-popover {
237+
width: 292px;
238+
padding-bottom: 10px;
239+
}
240+
241+
.popover.infoClass>.popover-content h5 {
242+
font-weight: 700;
243+
}
244+
245+
.popover.gradientPickerClass {
246+
margin-top: 3px;
247+
margin-left: 20px;
248+
}
249+
250+
.popover.gradientPickerClass>.arrow, .popover.gradientPickerClass>.arrow:after {
251+
border-style: none;
252+
}
253+
254+
.popover.gradientPickerClass>.popover-content {
255+
padding: 0px;
256+
}
257+
258+
/* End of ngx-bootstrap popover customization */
259+
260+
.ng-draggable {
261+
cursor: move;
262+
}
263+

client/data/demofiles.json

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,40 @@
11
{
2-
"gene_prioritization": {
3-
"features": {
4-
"filename": "demo_GP.genomic.txt",
5-
"url": "https://raw.githubusercontent.com/KnowEnG/quickstart-demos/master/demo_files/demo_GP.genomic.txt"
6-
},
7-
"response": {
8-
"filename": "demo_GP.phenotypic.txt",
9-
"url": "https://raw.githubusercontent.com/KnowEnG/quickstart-demos/master/demo_files/demo_GP.phenotypic.txt"
10-
}
2+
"feature_prioritization": {
3+
"features_file": [{
4+
"filename": "demo_FP.genomic.txt"
5+
}],
6+
"response_file": [{
7+
"filename": "demo_FP.phenotypic.txt"
8+
}]
119
},
1210
"gene_set_characterization": {
13-
"features": {
14-
"filename": "demo_GSC.spreadsheet.txt",
15-
"url": "https://raw.githubusercontent.com/KnowEnG/quickstart-demos/master/demo_files/demo_GSC.spreadsheet.txt"
16-
}
11+
"gene_set_file": [{
12+
"filename": "demo_GSC.spreadsheet.txt"
13+
}]
1714
},
1815
"sample_clustering": {
19-
"features": {
20-
"filename": "demo_SC.genomic.txt",
21-
"url": "https://raw.githubusercontent.com/KnowEnG/quickstart-demos/master/demo_files/demo_SC.genomic.txt"
22-
},
23-
"response": {
24-
"filename": "demo_SC.phenotypic.txt",
25-
"url": "https://raw.githubusercontent.com/KnowEnG/quickstart-demos/master/demo_files/demo_SC.phenotypic.txt"
26-
}
16+
"features_file": [{
17+
"filename": "demo_SC.genomic.txt"
18+
}],
19+
"response_file": [{
20+
"filename": "demo_SC.phenotypic.txt"
21+
}]
22+
},
23+
"signature_analysis": {
24+
"query_file": [{
25+
"filename": "demo_SA.samples.txt"
26+
}],
27+
"signatures_file": [{
28+
"filename": "demo_SA.signatures.mapped.txt"
29+
}]
30+
},
31+
"spreadsheet_visualization": {
32+
"spreadsheets": [
33+
{
34+
"filename": "demo_SSV.genomic.txt"
35+
}, {
36+
"filename": "demo_SSV.phenotypic.txt"
37+
}
38+
]
2739
}
2840
}

client/data/manuscripts.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"manuscripts": [
3+
{
4+
"title": "Knowledge-guided analysis of \"omics\" data using the KnowEnG cloud platform",
5+
"authors": "Charles Blatti III, Amin Emad, Matthew J. Berry, Lisa Gatzke, Milt Epstein, Daniel Lanier, Pramod Rizal, Jing Ge, Xiaoxia Liao, Omar Sobh, Mike Lambert, Corey S. Post, Jinfeng Xiao, Peter Groves, Aidan T. Epstein, Xi Chen, Subhashini Srinivasan, Erik Lehnert, Krishna R. Kalari, Liewei Wang, Richard M. Weinshilboum, Jun S. Song, C. Victor Jongeneel, Jiawei Han, Umberto Ravaioli, Nahil Sobh, Colleen B. Bushell, Saurabh Sinha",
6+
"link": {
7+
"text": "bioRxiv",
8+
"url": "https://www.biorxiv.org/content/10.1101/642124v1"
9+
},
10+
"abstract_sections": [
11+
{
12+
"title": "Abstract",
13+
"text": "We present KnowEnG, a free-to-use computational system for analysis of genomics data sets, designed to accelerate biomedical discovery. It includes tools for popular bioinformatics tasks such as gene prioritization, sample clustering, gene set analysis and expression signature analysis. The system offers \"knowledge-guided\" data-mining and machine learning algorithms, where user-provided data are analyzed in light of prior information about genes, aggregated from numerous knowledge-bases and encoded in a massive \"Knowledge Network.\" KnowEnG adheres to \"FAIR\" principles: its tools are easily portable to diverse computing environments, run on the cloud for scalable and cost-effective execution of compute-intensive and data-intensive algorithms, and are interoperable with other computing platforms. They are made available through multiple access modes including a web-portal, and include specialized visualization modules. We present use cases and re-analysis of published cancer data sets using KnowEnG tools and demonstrate its potential value in democratization of advanced tools for the modern genomics era."
14+
}
15+
],
16+
"data_files_directory": "publication_data/blatti_et_al_2019/spreadsheets/",
17+
"data_files": [
18+
"in1_SC_pancanClinical",
19+
"in1_SC_pancanMutations",
20+
"in2_SC_pancanClinical",
21+
"in2_SC_pancanMultiomicsClusters",
22+
"in3_SC_metabricClinical",
23+
"in3_SC_metabricExpression",
24+
"in4_FP_pancanDiseaseType",
25+
"in4_FP_pancanExpression",
26+
"in5_GSC_diseaseGenes_out4",
27+
"in6_SA_esccExpression",
28+
"in6_SA_luscSignatures",
29+
"in7_FP_esccBestSignature_out6",
30+
"in7_FP_esccExpression",
31+
"in8_GSC_signatSpecificGenes_out7",
32+
"out1_SC_pancanMutationClusters",
33+
"out2_SC_cocaClusters",
34+
"out3_SC_metabricClusters",
35+
"out5_GSC_diseaseGeneOntology",
36+
"out8_GSC_pathwayEnrichments"
37+
],
38+
"data_readme_url": "https://github.com/KnowEnG/quickstart-demos/blob/master/publication_data/blatti_et_al_2019/README.md"
39+
}
40+
]
41+
}

client/data/youtube.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[
22
"nAZzN100B3w",
33
"Vp76-Oz-Yuc",
4-
"mQJ7Y0jh5xM"
4+
"nP4wtVZOY3E"
55
]

client/gulpfile.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
var gulp = require('gulp');
2-
var git = require('git-rev');
32
var fs = require('fs');
43

54
var del = require('del');
@@ -110,18 +109,6 @@ gulp.task('ts', function () {
110109
});
111110

112111
gulp.task('dist', [ /*'css', 'img',*/ 'ts', 'html', 'cachebuster:js', 'cachebuster:html' , 'cachebuster:css' ], function () {
113-
// git-rev expose long or short SHA
114-
git.long(function (sha) {
115-
// TODO: Add more fields to this, as necessary / helpful
116-
var status = {
117-
sha: sha,
118-
runlevel: process.env.NEST_RUNLEVEL || 'development',
119-
hzHost: process.env.HUBZERO_APPLICATION_HOST || '',
120-
maxUploadSize: process.env.MAX_CONTENT_LENGTH || ''
121-
};
122-
fs.writeFileSync('dist/status.json', JSON.stringify(status));
123-
console.log('Status Written:', status);
124-
});
125112
});
126113

127114
//run tests once and exit, suitable for testing in build environment like Jenkins

client/img/knoweng/linen.png

1.23 KB
Loading

0 commit comments

Comments
 (0)