-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #220 from NESCent/joss-submission
Paper and README updates for JOSS submission
- Loading branch information
Showing
5 changed files
with
154 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,27 +15,39 @@ TraitDB is a Rails 4 application. It requires [ruby](http://ruby-lang.org) and | |
``` | ||
git clone [email protected]:NESCent/TraitDB.git | ||
``` | ||
2. Install dependencies with `bundle install` | ||
3. Set your database credentials as environment variables. `config/database.yml` will read these values out of the environment. If your database server is on a different host, set the host/port as well: | ||
<pre><code>export TRAITDB_PG_DEV_USER="traitdb_dev_user" | ||
export TRAITDB_PG_DEV_PASS="your-password-here"</code></pre> | ||
``` | ||
export TRAITDB_PG_DEV_USER="traitdb_dev_user" | ||
export TRAITDB_PG_DEV_PASS="your-password-here" | ||
``` | ||
4. Run `rake db:setup`. This Instructs Rails to connect to your database and create the required users and databases. If your database requires you to authenticate before creating users/databases, you will be prompted for credentials. | ||
5. If `rake db:setup` is successful, it will also run a `rake db:migrate` to create database tables. If not successful, you can create the databases and users manually, then run `rake db:migrate` manually. | ||
6. Start the server with `rails server`. | ||
7. Visit [http://localhost:3000](http://localhost:3000) to access the application. You will be shown the about page. If you click _Upload_, you will be redirected to the sign-in screen. From here, you can create an account or sign in with OpenID. | ||
8. Start a [delayed_job](https://github.com/collectiveidea/delayed_job) worker. Delayed job is used to execute dataset imports as a background process. It includes a rake task to start a worker. You can run `rake jobs:work` in an additional terminal process, or run a worker as a daemon with `script/delayed_job start`. | ||
6. If you wish to enable Google Sign-in (recommended), you will need to | ||
- Register an application for [Google OAuth 2.0](https://developers.google.com/identity/protocols/OAuth2) | ||
- Enable the Google+ API | ||
- Set the Client ID and Client Secret credentials in your environment: | ||
``` | ||
export TRAITDB_GOOGLE_APP_ID="your-google-app-id" | ||
export TRAITDB_GOOGLE_APP_SECRET="your-google-app-secret" | ||
``` | ||
7. Start the server with `rails server`. | ||
8. Visit [http://localhost:3000](http://localhost:3000) to access the application. You will be shown the about page. If you click _Upload_, you will be redirected to the sign-in screen. From here, you can sign in with OpenID or a Google Account | ||
9. Start a [delayed_job](https://github.com/collectiveidea/delayed_job) worker. Delayed job is used to execute dataset imports as a background process. It includes a rake task to start a worker. You can run `rake jobs:work` in an additional terminal process, or run a worker as a daemon with `script/delayed_job start`. | ||
## Usage | ||
### Getting Started - Projects and Users | ||
Data in TraitDB is publicly searchable and organized into projects. Initially there are no projects, and only administrators can create projects. Authentication is handled by OpenID, so in order to get started, you must: | ||
1. Sign in with an OpenID by clicking __Sign In__ in the top menu bar. After signing in, there will be an entry in the users table with your email address. | ||
1. After signing in, there will be an entry in the users table with your email address. | ||
2. Upgrade this user to an Administrator with the following rake command: | ||
<pre><code>$ rake traitdb:upgrade_admin[[email protected]] | ||
Upgrading [email protected]</code></pre> | ||
``` | ||
$ rake traitdb:upgrade_admin[[email protected]] | ||
Upgrading [email protected] | ||
``` | ||
3. Reload your web browser, you will have an __Admin__ menu option. | ||
4. Click __Admin->Projects__, and the __New Project__ button. | ||
5. Fill out the project details and save the new project | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
@article{ashman2014tree, | ||
title={Tree of Sex: A database of sexual systems}, | ||
author={Ashman, Tia-Lynn and Bachtrog, Doris and Blackmon, Heath and Goldberg, Emma E and Hahn, Matthew W and Kirkpatrick, Mark and Kitano, Jun and Mank, Judith E and Mayrose, Itay and Ming, Ray and others}, | ||
journal={Scientific Data}, | ||
volume={1}, | ||
pages={140015}, | ||
year={2014}, | ||
publisher={Nature Publishing Group} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
--- | ||
title: 'TraitDB: Web application database of phenotypic trait data.' | ||
tags: | ||
- trait | ||
- rails | ||
- csv | ||
authors: | ||
- name: Dan Leehr | ||
orcid: 0000-0003-3221-9579 | ||
affiliation: "1" | ||
- name: Mercedes Gosby | ||
affiliation: "1" | ||
affiliations: | ||
- name: National Evolutionary Synthesis Center | ||
index: 1 | ||
date: 20 July 2018 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
TraitDB is a web application built to facilitate storage, searching, subsetting, and sharing trait data. | ||
|
||
TraitDB has been used by multiple [NESCent](http://nescent.org/) working groups to assemble datasets from different researchers into a single uniform dataset. Guided by a flexible YAML template system, TraitDB's import process provides validation feedback on CSV files and individual data cells to promote consistency and completeness. | ||
|
||
TraitDB presents several options for browsing, subsetting, and downloading data via its web interface. It can summarize trait data over different taxonomic levels, and has been used to gather and prodice datasets hosted by the [Tree of Sex](treeofsex.org). | ||
|
||
# Acknowledgements | ||
|
||
TraitDB is a project of [National Evolutionary Synthesis Center](http://nescent.org/) | ||
|
||
# References |