A standalone Jar distribution is available for NGB, which includes embedded Tomcat server
Verify that your system meets or exceeds the following hardware/software requirements
-
Server hardware requirements
- CPU: 2 cores
- RAM: 4Gb
- HDD: 20 Gb free space
- Oracle JDK 8 or Open JDK 8
- GIT
-
Client web-browser requirements
- Chrome (>= 56)
- Firefox (>= 51)
- Safari (>= 9)
- EDGE (>= 25)
Obtain NGB source code from GitHub:
$ git clone https://github.com/epam/NGB.git
$ cd NGB
Build NGB standalone jar, using Gradle build script
$ ./gradlew buildJar
You can find catgenome.jar archive in the dist/ folder
Run catgenome.jar
Note: data files, used by NGB instance, will be located in a current directory (current directory of a console)
# Data files will be located in the same folder as a catgenome.jar
$ java -jar catgenome.jar
# Data files will be located in /home/user folder
$ pwd
/home/user
$ java -jar NGB/dist/catgenome.jar
NGB will be avalable at http://localhost:8080/catgenome
By default NGB will run on port 8080 and locate all the data (files and database) in the runtime folder To customize the configuration the following options are available
You can provide an external file catgenome.properties to specify data location. Available properties:
- files.base.directory.path=/opt/catgenome/contents path for storing NGB files (Fasta, BAM, VCF, etc.)
- database.driver.class=org.h2.Driver driver for NGB database, default database is H2
- database.jdbc.url=jdbc:h2:file:/opt/catgenome/H2/catgenome path to NGB database location
- database.username=catgenome user for NGB database
- database.password= password for NGB database, may be empty
- database.max.pool.size=25 NGB database connection pool configuration
- database.initial.pool.size=5 NGB database connection pool configuration
If you want to enable browsing NGS files directly from server's file system, add the following properties:
- file.browsing.allowed=true - enables file browsing from file system
- ngs.data.root.path=/opt/catgenome - sets root of allowed to browsing file system part to /opt/catgenome.
If this property is not set, root will be set to the root of file system.
If you want to configure default options for tracks visualization on a client side, add the following properties:
- config.path=/opt/catgenome/configs path to a directory that contains
jsonconfiguration files for NGB client
If you want to specify max number of VcfIndexEntries keeping in memory during vcf loading, add the following property. For files, which produce more entries then the number, extra entries will be spilled to disk (temp directory).
- files.vcf.max.entries.in.memory=1000000 - 1000000 entries take about 3Gb in the heap
You should put catgenome.properties in config folder in the runtime folder or provide path to folder with properties file from command line:
$ java -jar catgenome.jar --conf=/folder/with/properties
NGB uses Spring Boot so it supports a full stack of Spring Boot Application properties. These properties may be specified by the command line:
# Run NGB on 9999 port
$ java -jar catgenome.jar --server.port=9999
# Disable traffic compression
$ java -jar catgenome.jar --server.compression.enabled=false
or in application.properties file in config folder in the runtime folder:
- server.port=9999
- server.compression.enabled=false
See the full list of available options in the Spring Documentation