CIViC - Clinical Interpretation of Variants in Cancer
Developing for CIViC involves setting up a development environment.
To get started quickly, we recommend launching an AWS EC2 instance from our pre-configured and maintained AMI (getting started wiki page). Alternatively, you may set up your own local development environment using the following setup instructions.
Before attempting to install the CIViC server and client software, you should obtain the following applications and libraries:
- A relatively modern Ruby (>= 2.1)
On OSX with homebrew, this should install the needed library dependencies:
brew install libxml2 libxslt openssl postgres node
The following will set up the server side application and load the database schema.
git clone https://github.com/griffithlab/civic-server.git cd civic-server gem install bundler rbenv rehash bundle install rbenv rehash rake db:create rake db:migrate
For convenience, a sanitized version of a recent database backup is provided for your local development environment. You can load it with the following command:
Finally, start the CIViC rails server
If you intend to develop front end features however, you'll need to set up the client side application using the following:
git clone https://github.com/griffithlab/civic-client.git cd civic-client npm install -g bower gulp npm install bower install gulp serve
You should now be able to access the backend server at
http://127.0.0.1:3000 and the frontend application at
Note that certain tasks needed by a running instance of CIViC are accomplished by 'background workers'. This includes data release generation as well as notification delivery.
You can start the workers in the background with the following command:
If you would prefer the workers to run in the foreground you can start them in a console (
rails c) with this command instead:
Note to make yourself an admin in a local install you can do the following from your civic-server repo.
First log into the front end
http://127.0.0.1:3001 and sign in with your user.
Log into a rails console, run a command that makes you an admin in the db, and exit.
rails c User.find_by(email: 'email@example.com').make_admin! exit
Now log into the backend admin interface as follows: http://127.0.0.1:3000/admin
Git repositories related to the CIViC project
The CIViC source code and application are organized in a client-server model. The backend code is available in the civic-server repository and frontend code is available in the civic-client repository. Issues relating to curation are tracked in the civic-curation repository. An example of a Python client is available in the civic-api-client repository. Issues relating to public CIViC meetings are tracked in the civic-meeting repository.