Skip to content

Commit

Permalink
add Jupyter-lite to Dockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
craigrbarnes committed Nov 15, 2024
1 parent bc6bda9 commit 290ce4a
Show file tree
Hide file tree
Showing 31 changed files with 3,521 additions and 168 deletions.
20 changes: 9 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ WORKDIR /gen3

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
python \
pip \
libssl1.1 \
libgnutls30 \
ca-certificates \
Expand All @@ -31,21 +33,17 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& npm install -g [email protected]

RUN addgroup --system --gid 1001 nextjs && adduser --system --uid 1001 nextjs
COPY ./package.json ./package-lock.json ./
COPY ./package-lock.json ./
COPY ./package.json ./package-lock.json ./next.config.js /tsconfig.json ./tailwind.config.js ./postcss.config.js ./start.sh ./
COPY ./src ./src
COPY ./public ./public
COPY ./config ./config
COPY ./next.config.js ./
COPY ./tsconfig.json ./
COPY ./.env.development ./
COPY ./.env.production ./
COPY ./tailwind.config.js ./
COPY ./postcss.config.js ./
COPY ./jupyter-lite ./jupyter-lite
RUN npm ci
RUN npm install \
"@swc/core" \
"@napi-rs/magic-string"
"@napi-rs/magic-string" \
RUN npm run build
ENV PORT=80
CMD ["npm", "run", "start"]
RUN pip install -r ./jupyter-lite/requirements.txt
RUN jupyter lite build --contents ./jupyter-lite --output-dir dist ./jupyter
ENV PORT=3000
CMD bash ./start.sh

Check warning on line 49 in Dockerfile

View workflow job for this annotation

GitHub Actions / Build Image and Push to Quay / Build Image and Push

JSON arguments recommended for ENTRYPOINT/CMD to prevent unintended behavior related to OS signals

JSONArgsRecommended: JSON arguments recommended for CMD to prevent unintended behavior related to OS signals More info: https://docs.docker.com/go/dockerfile/rule/json-args-recommended/
12 changes: 12 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# TODO For CanineDC

* Create CountsPanel
* Files Charts
* Expandable Bar Chart List
* Jobs Manager
* Create Selector Facet
* Fix Enum Badge Component
* Create Homepage
* Center Explorer Tabs
* Setup/Test notebook
* Add BAM File visualization
153 changes: 68 additions & 85 deletions config/gen3/explorer.json
Original file line number Diff line number Diff line change
@@ -1,41 +1,38 @@
[
{
"tabTitle": "Cases",
"tabTitle": "Subjects",
"charts": {
"race": {
"project_id": {
"chartType": "fullPie",
"title": "Race"
"title": "Projects"
},
"ethnicity": {
"chartType": "horizontalStacked",
"title": "Ethnicity"
"disease_type": {
"chartType": "fullPie",
"title": "Disease Type"
},
"gender": {
"chartType": "bar",
"title": "Gender"
"data_format": {
"chartType": "horizontalStacked",
"title": "Data Format"
}
},
"filters": {
"tabs": [
{
"title": "Study Selection",
"fields": ["project"]
"title": "Subject",
"fields":[
"project_id",
"gender",
"breed",
"data_format",
"data_type"
]
},
{
"title": "Subjects",
"fields": [
"study",
"gender",
"race",
"ethnicity",
"vital_status",
"whatever_lab_result_value"
],
"fieldsConfig": {
"gender" : {
"type" : "multiselect"
}
}
"title": "Diagnosis",
"fields":[
"disease_type",
"primary_site"
]
}
]
},
Expand All @@ -44,24 +41,21 @@
"detailsConfig": {
"panel": "default",
"mode" : "click",
"idField": "submitter_id",
"idField": "project_id",
"title": "Details"
},
"pageLimit": {
"limit": 10000
},
"fields": [
"project",
"project_id",
"disease_type",
"primary_site",
"breed",
"gender",
"race",
"ethnicity",
"whatever_lab_result_value"
],
"columns": {
"whatever_lab_result_value": {
"sortable": false
}
}
"data_format",
"data_type"
]
},
"dropdowns": {
"download-table": {
Expand All @@ -77,8 +71,7 @@
"rightIcon": "download",
"action": "data-json",
"actionArgs" : {
"filename": "MIDRC_Series_table.json",
"rootPath": "gen3_discovery"
"filename": "canine_subjects_table.json"
}
},
{
Expand All @@ -89,51 +82,29 @@
"rightIcon": "download",
"action": "data-csv",
"actionArgs" : {
"filename": "data_table.csv"
"filename": "canine_subjects_table.csv"
}
},
{
"enabled": true,
"type": "data-tsv",
"title": "TSV",
"leftIcon": "datafile",
"rightIcon": "download",
"action": "data-tsv",
"actionArgs" : {
"filename": "canine_subjects_table.tsv"
}
}
]
}
},
"buttons": [
{
"enabled": true,
"type": "data-json",
"title": "JSON",
"dropdownId": "download-table",
"leftIcon": "datafile",
"rightIcon": "download",
"actionArgs": {
"filename": "data_table.json"
}
},
{
"enabled": true,
"type": "data-tsv",
"title": "TSV",
"dropdownId": "download-table",
"leftIcon": "datafile",
"rightIcon": "download",
"actionArgs": {
"filename": "data_table.tsv"
}
},
{
"enabled": true,
"type": "data-csv",
"title": "CSV",
"dropdownId": "download-table",
"leftIcon": "datafile",
"rightIcon": "download",
"actionArgs": {
"filename": "data_table.csv"
}
},
{
"enabled": true,
"type": "manifest",
"action": "manifest",
"title": "Download File Manifest for Cases",
"title": "Download File Manifest for Subject",
"leftIcon": "datafile",
"rightIcon": "download",
"fileName": "case_manifest.json",
Expand Down Expand Up @@ -177,28 +148,35 @@
"resourceIdField": "object_id",
"referenceIdFieldInResourceIndex": "subject_id",
"referenceIdFieldInDataIndex": "subject_id"
},
"accessibleFieldCheckList": ["project"],
"accessibleValidationField": "project"
}
}
},
{
"tabTitle": "Data Files",
"charts": {
"file_type": {
"chartType": "stackedBar",
"title": "File Type"
"data_type": {
"chartType": "horizontalStacked",
"title": "File Type",
"valueType" : "percent"
},
"file_format": {
"chartType": "stackedBar",
"title": "File Format"
"data_format": {
"chartType": "horizontalStacked",
"title": "File Format",
"valueType" : "percent"
}
},
"filters": {
"tabs": [
{
"title": "File",
"fields": ["subject_id"]
"fields": [
"project_id",
"data_type",
"data_format"
],
"searchFields": [
"file_name"
]
}
]
},
Expand All @@ -207,10 +185,15 @@
"detailsConfig": {
"panel": "fileDetails",
"mode": "click",
"idField": "file_name",
"idField": "object_id",
"title": "File Details"
},
"fields": ["subject_id", "file_type", "file_size", "object_id"]
"fields": [
"project_id",
"file_name",
"file_size",
"object_id"
]
},
"guppyConfig": {
"dataType": "file",
Expand Down
38 changes: 27 additions & 11 deletions config/gen3/footer.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,34 @@
{
"footerRightLogos": [
[
"classNames": {
"root": "bg-base-darker",
"layout": "flex items-center justify-end"
},
"rightSection": {
"columns": [
{
"logo": "/images/gen3.png",
"width": 132,
"height": 60,
"description": "Gen3 Logo"
"rows": [
{
"Icon": {
"logo": "/icons/gen3.png",
"width": 132,
"height": 60,
"description": "Gen3 Logo"
}
}
]
},
{
"logo": "/images/createdby.png",
"width": 170,
"height": 60,
"description": "Created by CTDS"
"rows": [
{
"Icon": {
"logo": "/icons/createdby.png",
"width": 170,
"height": 60,
"description": "Created by CTDS"
}
}
]
}
]
]
}
}
38 changes: 1 addition & 37 deletions config/gen3/landingPage.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,7 @@
"splitarea": {
"left": [
{
"text": "The <strong>Gen3 Data Platform</strong> is a single web interface which allows visitors to <strong>discover, access and analyze data</strong>. Making data easily findable enables secondary, cross-study analyses, promotes dissemination of research and accelerates new discoveries."
},
{
"link": {
"href": "/discovery",
"linkType": "portal",
"text": "Explore Gen3 Data"
}
},
{
"text": "The Gen3 platform consists of open-source software services that support the emergence of healthy data ecosystems by enabling the interoperation and creation of cloud-based data resources, including data commons and analysis workspaces. Gen3 aims to accelerate and democratize the process of scientific discovery by making it easy to manage, analyze, harmonize, and share large and complex datasets in the cloud."
"text": "The Canine Data Commons supports the management and sharing of genomics data for the canine research community and aims to accelerate opportunities for discovery and development for the treatment and prevention of canine cancer. The data commons supports cross-project analyses by harmonizing data from different projects through the collaborative development of a data dictionary, providing an API for data queries and download, and providing a cloud-based analysis workspace with rich tools and resources."
},
{
"link": {
Expand All @@ -41,32 +31,6 @@
},
{
"break": "standard"
},
{
"cardsArea": {
"title": "",
"cards": [
{
"icon": "MdOutlineSearch",
"bodyText": "Search studies and related datasets for download or analysis in a workspace.",
"btnText": "Discover",
"href": "/Discovery",
"linkType": "portal"
},
{
"icon": "MdOutlineBarChart",
"bodyText": "Explore Tutorials and Example Analysis.",
"btnText": "Analyze",
"href": "/resource-browser",
"linkType": "portal"
}
]
}
},
{
"quoteArea": {
"quote": "Our vision is a world in which researchers have ready access to the data needed and the tools required to make data-driven discoveries that increase our scientific knowledge and improve the quality of life."
}
}
]
}
Loading

0 comments on commit 290ce4a

Please sign in to comment.