Technical Specifications

SGD Hardware and System Software

The SGD database and the majority of our third-party applications (InterMine, JBrowse, and Pathway Tools) run from Amazon Web Services (AWS) on EC2 Linux/Ubuntu-based servers. We are in the process of migrating the rest of our third-party applications (SPELL and Textpresso) to AWS.

Database Management Systems

The primary SGD database was migrated in 2017 from Oracle Server Enterprise Edition to PostgreSQL, an open source and community-developed database. SGD used AceDB as its database software, prior to moving to Oracle in 2000. The SGD database is set up for high availability using streaming replication and Wal-E via Amazon S3 to an identical stand-by server.

The latest SGD database schema can be found in the /schema directory at https://github.com/yeastgenome/SGDBackend-Nex2.

Yeastmine, a data warehouse based on Intermine software, also uses PostgreSQL.

SPELL stores data in MySQL.

Website Software

Frontend

The interface for SGD is a web application that uses the Python Pyramid web framework as well as React.js. The source code can be found at https://github.com/yeastgenome/SGDFrontend.

Backend

The backend uses a separate Pyramid application that queries the database and produces JSON objects. Any website URL can be prepended with "/webservice" to see the API version. For example, https://www.yeastgenome.org/locus/S000003131 produces a webpage while https://www.yeastgenome.org/webservice/locus/S000003131 produces the JSON representation of that locus. The source code for the backend can be found at https://github.com/yeastgenome/SGDBackend-Nex2.

SGD's search utility is built on Elasticsearch.

Varnish Cache is used to cache website responses.