Genolink is a middleware solution enabling seamless integration and interoperability between genotype databases and Genesys-PGR (genebank passport repository). Genolink is funded as part of the Australian Grains Genebank Strategic Partnership, a $30M joint investment between the Victorian State Government and Grains Research and Development Corporation (GRDC) that aims to unlock the genetic potential of plant genetic resources for the benefit of the Australian grain growers. https://agriculture.vic.gov.au/crops-and-horticulture/the-australian-grains-genebank
-
Connects genotype databases and Genesys-PGR without the need for data duplication, reducing synchronization issues and overheads.
-
Provides real-time access to passport and genotype data, ensuring users always have current information.
-
Allows users to filter accessions based on passport information or specified lists of accessions ot specified lists of genotype ids before retrieving related genotype data.
-
Supports integration with multiple genomic platforms, enabling comprehensive data retrieval and consolidation.
-
Provides APIs for independent user-facing tools like the web-based genomic visualization tool Pretzel to leverage its functionality.
-
Reduces data redundancy by avoiding the need for local duplicate copies of databases.
Note: For any placeholder values (e.g.,
<your_db_username>
,<your_db_password>
, etc.), please replace them with the correct data that you need to use.
Make sure you have installed:
- Node.js (v14+)
- npm (v6+)
- MySQL (server & client)
Clone the project repository to your local machine from GitHub:
git clone <repository_url>
Navigate to the 'front' directory and install dependencies:
npm install
Create a .env file in the 'front' directory with the following content:
VITE_Genesys_OIDC_CLIENT_ID=<your_client_id>
VITE_Genesys_OIDC_CLIENT_SECRET=<your_client_secret>
VITE_GENOLINK_SERVER=http://127.0.0.1:3000
VITE_GENESYS_SERVER=https://api.genesys-pgr.org
Note: To obtain your Genesys OIDC Client ID and Secret, please contact the Genesys support team.
Build the frontend and move the generated 'dist' folder to the backend's root directory:
npm run build
mv dist ../back/
Navigate to the back directory and install dependencies:
npm install
_Install MySQL server and client for your OS _Start MySQL server _Create a database user and database:
CREATE USER '<your_db_username>'@'localhost' IDENTIFIED BY '<your_db_password>';
CREATE DATABASE <your_db_name>;
GRANT ALL PRIVILEGES ON <your_db_name>.* TO '<your_db_username>'@'localhost';
FLUSH PRIVILEGES;
Create a .env file in the 'back' directory with the following content:
DB_USERNAME=<your_db_username>
DB_PASSWORD=<your_db_password>
DB_NAME=<your_db_name>
DB_HOST=localhost
DB_DIALECT=mysql
GIGWA_SERVER=<your_gigwa_server_url>
GERMINATE_SERVER=<your_germinate_server_url>
GENOLINK_SERVER=http://127.0.0.1:3000
GENESYS_SERVER=https://api.genesys-pgr.org
GENOLINK_SERVER_PORT=3000
Start the backend server by running the following in 'back' folder:
node index.js
Open your browser and navigate to http://localhost:3000 to use your application.
Make sure you have installed:
- Docker (v20+)
- Docker Compose (v1.29+)
Clone the project repository to your local machine from GitHub:
git clone <repository_url>
Example .env content:
DB_ROOT_PASSWORD=<your_root_mysql_password>
DB_USERNAME=<your_db_username>
DB_PASSWORD=<your_db_password>
DB_NAME=<your_db_name>
DB_HOST=db
DB_DIALECT=mysql
GIGWA_SERVERS={"AUS165": "https://gigwa.plantinformatics.io", "MEX002": "https://gigwatest.plantinformatics.io"}
GERMINATE_SERVER=https://germinate.plantinformatics.io
GENOLINK_SERVER=http://127.0.0.1:3000
GENESYS_SERVER=https://api.genesys-pgr.org
GENOLINK_SERVER_PORT=3000
VITE_Genesys_OIDC_CLIENT_ID=<your_client_id>
VITE_Genesys_OIDC_CLIENT_SECRET=<your_client_secret>
VITE_GENOLINK_SERVER=http://127.0.0.1:3000
VITE_GENESYS_SERVER=https://api.genesys-pgr.org
VITE_PLATFORM=Gigwa
Note: To obtain your Genesys OIDC Client ID and Secret, please contact the Genesys support team.
Navigate to the directory containing the docker-compose.yml file and run the following command to start the containers:
docker-compose up -d
Open your browser and navigate to http://127.0.0.1:3000 to use your application.