The web application for viewing, exploring, and annotating 1D and 2D genomic data.
HiGlass App is used to run https://higlass.io but you can also use it as the starting point for building your own application around HiGlass. For example, it is used in Novartis' Peax as the frontend application.
Note: This is the source code for the web application only! You might want to check out the following repositories as well:
- HiGlass viewer: https://github.com/higlass/higlass
- HiGlass server: https://github.com/higlass/higlass-server
- HiGlass docker: https://github.com/higlass/higlass-docker
- HiGlass manage: https://github.com/higlass/higlass-manage
npm install --save higlass-app
git clone https://github.com/higlass/higlass-app && higlass-app npm install
npm run build
Autoformat JS code:
npm run fix
config.json contains the default configuration. For adjustments, copy it to
dev is used in developmental mode,
prod is picked up in production, and
local can be used for local testing. The config is overwritten in the following order: default, dev, prod, local.
Additionally some settings can be overwritten at run time using
public/config.js. For details please see the table below:
|Name||Description||Type||Default||config.js name||Configurable via
|homepageDemos||If set to
|server||Define the default higlass server from which view config are loaded by default.||
|basepath||The base path under which higlass-app will run, e.g., if you set it to
|defaultOptions||Default options that are being passed to
|defaultViewConfig||Default view config to load. This can either be a uuid or an actual view config. By default, the default view config has the uuid
||none (internally defaults to
|runByOrganization||Name of the organization running the HiGlass instance.||
|runByOrganizationURL||Optional URL pointing to the host organization's website.||
|runBySlogan||Slogan to advertise the host organization.||
|runByLogoURL||URL pointing to the host organization's logo.||
|runByContactURL||URL or mailto link to get in touch with the hosting organization.||
HiGlass App is based on react-create-app and implements the following folder structure:
/build[Do not edit.]
Contains the build files.
Contains the build configs for webpack and converting Markdown into JSX. Except the JSX, the files are derived from react-create-app.
/node_modules[Do not edit.]
Contains thrid party libraries.
Contains the public index files of HiGlassApp.
Contains node scripts for webpack and converting Markdown into JSX. Except the JSX, the files are derived from react-create-app.
Entry point for the application source.
Flat folder containing Redux actions. All actions should be exported in the
Flat folder containing presentational components. See Dan's article for a comparison between presentational and container components.
Flat folder containing config files. Configs should host all constant variables.
Flat folder containing container components. See Dan's article for a comparison between presentational and container components.
Flat folder containing factory functions. See Eric's article for an introduction to factory functions.
Flat folder containing higher-order components. See the React docs for an introduction.
Flat folder containing images.
Flat folder containing Redux reducers.
Flat folder containing generic style components. Note: this is kind of arbitrary but I like to separate reusable CSS classes from
index.scsssuch that I can quickly drop them into other apps.
Flat folder containing utility functions. (Utility function must be pure and should not have any state or side effects!)
Flat folder containing all view components. (View components are just like presentational components with the only difference that they are associated to a specific URL. This separation is again arbitrary but I like having all views separated as I consider them uncomposable. Only
Mainshould import views.)