mirror of
https://github.com/chenasraf/snpr.git
synced 2026-05-17 17:38:07 +00:00
wrote contributing, readme and humanstxt
This commit is contained in:
63
CONTRIBUTING.md
Normal file
63
CONTRIBUTING.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Table of contents
|
||||
|
||||
[How to contribute](#how-to-contribute)
|
||||
[How to submit changes](#how-to-submit-changes)
|
||||
[Testing](#testing)
|
||||
[What to work on](#what-to-work-on)
|
||||
[Request enhancements](#request-enhancements)
|
||||
[Talk to us](#talk-to-us)
|
||||
[How the site works](#how-the-site-works)
|
||||
[Setup](#setup)
|
||||
[Install Dependencies](#install-dependencies)
|
||||
[RVM](#rvm)
|
||||
[Setup Config](#setup-config)
|
||||
[Initialize Database](#initialize-database)
|
||||
[Running the server](#running-the-server)
|
||||
[Last words](#last-words)
|
||||
|
||||
# How to contribute
|
||||
|
||||
Thank you very much for your interest in helping openSNP! We're always happy to see new faces here. To make this a safe and inclusive space there is a [code of conduct for the project](https://github.com/gedankenstuecke/snpr/blob/master/CODE_OF_CONDUCT.md).
|
||||
|
||||
## How to submit changes
|
||||
|
||||
We accept [pull requests](https://help.github.com/articles/using-pull-requests/) via the [GitHub interface](https://github.com/gedankenstuecke/snpr/pull/new/master)!
|
||||
|
||||
We are using rubocop and Travis-CI. After you have submitted the request, rubocop will complain about any style-breaks (and it always complains) while Travis-CI will run all tests in the background to see whether the pull request broke anything.
|
||||
|
||||
## Testing
|
||||
|
||||
Inside snpr/:
|
||||
|
||||
```
|
||||
bundle exec rake
|
||||
```
|
||||
|
||||
This runs RSpec tests as well as the **legacy** test/unit ones.
|
||||
|
||||
## What to work on
|
||||
|
||||
The [issues page](https://github.com/gedankenstuecke/snpr/issues) has several open issues, some of which are [marked as "easy-first-bugs"](https://github.com/gedankenstuecke/snpr/issues?q=is%3Aopen+is%3Aissue+label%3Aeasy-first-bugs). Some other things to work on:
|
||||
|
||||
- Currently we have two different testing environments - the legacy ones in test/unit, and the RSpec tests. It would be great to have all tests inside RSpec.
|
||||
- There are many minor style-problems which live in .rubocop_todo.yml inside snpr/.
|
||||
|
||||
## Request enhancements
|
||||
|
||||
Open an issue on the [issues page](https://github.com/gedankenstuecke/snpr/issues), or send a mail to snpr-development@googlegroups.com so we can get the ball rolling!
|
||||
|
||||
## Talk to us
|
||||
|
||||
You can always open an issue for specific problems, or send a mail to snpr-development@googlegroups.com if you want to discuss something or if you have any questions or need help with something. There's also info@opensnp.org if something broke on the webpage itself.
|
||||
|
||||
We're also available on Twitter:
|
||||
|
||||
@gedankenstuecke
|
||||
@helgerausch
|
||||
@philippbayer
|
||||
|
||||
Watch this space for a yet-to-be-created IRC channel.
|
||||
|
||||
## Last words
|
||||
|
||||
Thank you very much for your interest in the project and for the help of all volunteers who've helped us so far! There is a [humans.txt](https://github.com/gedankenstuecke/snpr/blob/master/public/humans.txt) where we celebrate all of you.
|
||||
60
INSTALL.md
Normal file
60
INSTALL.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# Installing openSNP
|
||||
Hello and thanks so much for your interest in running our code! Maybe even to contribute to the project. For more details on this see [CONTRIBUTING.md](https://github.com/gedankenstuecke/snpr/blob/master/CONTRIBUTING.md)
|
||||
|
||||
## How the site works
|
||||
|
||||
The site itself is based on Ruby on Rails (RoR). We usually try to use the newest version, but after major changes in new version RoR it may sometimes take a while for the switch to happen.
|
||||
|
||||
## Setup
|
||||
|
||||
git is needed to download the newest sources:
|
||||
|
||||
```
|
||||
git clone git@github.com:gedankenstuecke/snpr.git
|
||||
```
|
||||
|
||||
Afterwards you'll have a new folder called "snpr" (it's not opensnp for historical reasons) in which all the files reside.
|
||||
|
||||
## Install Dependencies
|
||||
|
||||
- redis
|
||||
- hiredis
|
||||
- postgres
|
||||
|
||||
Depending on your operating system these are installed in different ways.
|
||||
|
||||
### RVM
|
||||
|
||||
It's easier to use [RVM](https://rvm.io/) to handle different Ruby versions, and the repository has all necessary files so that a new installation of RVM should find what it needs to download and install. There is an installation manual on the RVM homepage. After a successful installation and once you cd into the snpr/ directory, RVM should say something
|
||||
about installing the necessary Ruby version.
|
||||
|
||||
## Setup Config
|
||||
|
||||
All configuration is done via environment variables. A file with a
|
||||
working environment for development can be found at `.env.example`.
|
||||
Simply copy it to `.env` to use it as is. The
|
||||
[dotenv](https://github.com/bkeepers/dotenv) gem will pick it up
|
||||
and set the environment variables.
|
||||
|
||||
Copy `config/database.yml.example` to `config/database.yml` and adapt to
|
||||
your database setup if needed (note: it's not needed on my Fedora machine, experience may vary).
|
||||
|
||||
## Initialize Database
|
||||
|
||||
```
|
||||
bundle exec rake db:setup
|
||||
```
|
||||
|
||||
## Running the server
|
||||
|
||||
For development there's a small bash script called `serverscript` which starts the Rails server, the Redis server as well as the Sidekiq workers.
|
||||
|
||||
```
|
||||
bash serverscript.sh
|
||||
```
|
||||
|
||||
There are many background tasks which live in app/workers, such as file parsing or talking to various APIs, which are handled by Sidekiq workers. You can monitor the sidekiq-workers on [localhost:3000/sidekiq](http://localhost:3000/sidekiq) (useful in killing leftover tasks) once sidekiq is up and running.
|
||||
|
||||
## Last words
|
||||
|
||||
Thank you very much for your interest in the project and for the help of all volunteers who've helped us so far! There is a humans.txt where we celebrate all of you.
|
||||
112
README.md
112
README.md
@@ -1,6 +1,6 @@
|
||||
# openSNP [](https://travis-ci.org/gedankenstuecke/snpr)
|
||||
|
||||
a repository to which users can upload their SNP-sets (and exome-VCFs) from
|
||||
Hello! [openSNP.org](https://opensnp.org) is a repository to which users can upload their SNP-sets (and exome-VCFs) from
|
||||
23andme, deCODEme, FamilyTreeDNA, AncestryDNA and IYG-format (for participants
|
||||
of EBI genotyping). On upload, SNPs are annotated using the PLoS and
|
||||
Mendeley-APIs to show users the newest scientific research results on their
|
||||
@@ -9,108 +9,20 @@ according to how many results could be gathered for SNPedia, PLoS and Mendeley
|
||||
(in that order). Users can send each other private messages as well as comment
|
||||
on SNPs and Phenotypes.
|
||||
|
||||
Users can enter phenotypes to assist future research. Search is handled using
|
||||
postgres directly via pg_search.
|
||||
## Installing openSNP
|
||||
Please see [INSTALL.md](https://github.com/gedankenstuecke/snpr/blob/master/INSTALL.md) for more detailed instructions on how to run and setup openSNP.
|
||||
|
||||
RSS-feeds are provided for uploaded genotypes and new publications.
|
||||
## Contributing to openSNP
|
||||
|
||||
You can monitor the sidekiq-workers on
|
||||
[localhost:3000/sidekiq](http://localhost:3000/sidekiq) (useful in killing
|
||||
leftover tasks)
|
||||
Please see [CONTRIBUTING.md](https://github.com/gedankenstuecke/snpr/blob/master/CONTRIBUTING.md) for more detailed instructions on how to contribute.
|
||||
|
||||
To load all standard achievements into the database run
|
||||
## Getting in contact
|
||||
You can always open an issue for specific problems, or send a mail to snpr-development@googlegroups.com if you want to discuss something or if you have any questions or need help with something. There's also info@opensnp.org if something broke on the webpage itself.
|
||||
|
||||
```
|
||||
rake db:seed OR rake db:setup (which also sets up the entire db)
|
||||
```
|
||||
We're also available on Twitter:
|
||||
|
||||
# Getting Started
|
||||
@gedankenstuecke
|
||||
@helgerausch
|
||||
@philippbayer
|
||||
|
||||
## Install Dependencies
|
||||
|
||||
- redis
|
||||
- hiredis
|
||||
- postgres
|
||||
|
||||
## Setup Config
|
||||
|
||||
All configuration is done via environment variables. A file with a
|
||||
working environment for development can be found at `.env.example`.
|
||||
Simply copy it to `.env` to use it as is. The
|
||||
[dotenv](https://github.com/bkeepers/dotenv) gem will pick it up
|
||||
and set the environment variables.
|
||||
|
||||
Copy `config/database.yml.example` to `config/database.yml` and adapt to
|
||||
your database setup.
|
||||
|
||||
## Initialize Database
|
||||
|
||||
```
|
||||
bundle exec rake db:setup
|
||||
```
|
||||
|
||||
## Run Tests
|
||||
|
||||
```
|
||||
bundle exec rake
|
||||
```
|
||||
This runs RSpec tests as well as the **legacy** test/unit ones.
|
||||
|
||||
# Usage
|
||||
|
||||
You need to have the following running to ensure that everything works:
|
||||
|
||||
```
|
||||
redis-server
|
||||
|
||||
sidekiq -q preparse,2 -q parse,2 -q deletegenotype -q fitbit -q fixphenotypes -q frequency -q genomegov -q mailnewgenotype -q mendeley_details -q mendeley -q pgp -q plos_details -q plos -q zipfulldata -q snpedia -q zipgenotyping -C config/sidekiq.yml -e development
|
||||
|
||||
rails s(erver)
|
||||
```
|
||||
|
||||
Note: "serverscript" starts all these in detached screen-sessions.
|
||||
|
||||
To see all rake-tasks:
|
||||
|
||||
```
|
||||
rake -vT
|
||||
```
|
||||
|
||||
# Deployment
|
||||
|
||||
Deployment is handled via capistrano (thanks Helge!). The most important capistrano tasks:
|
||||
|
||||
```
|
||||
cap deploy
|
||||
```
|
||||
|
||||
deploys the newest version to production.
|
||||
|
||||
```
|
||||
cap sidekiq:{start,stop,restart}
|
||||
```
|
||||
|
||||
handles the Sidekiq workers. Has to be started on reboot!
|
||||
|
||||
# Dependencies
|
||||
|
||||
For Fedora 19:
|
||||
|
||||
```
|
||||
yum install postgresql postgresql-devel hiredis hiredis-devel libxslt-devel libxslt libxml2 libxml2-devel
|
||||
```
|
||||
|
||||
# Contribute
|
||||
|
||||
If you want to contribute to openSNP, you are more than welcome to do so:
|
||||
|
||||
* There's a [code of conduct](https://github.com/gedankenstuecke/snpr/blob/master/CODE_OF_CONDUCT.md) which lines out how we intereact with each other.
|
||||
* We use [the issue tracker at GitHub](https://github.com/gedankenstuecke/snpr/issues)
|
||||
for everything that needs to be done. And there is the [mailing list](https://groups.google.com/forum/#!forum/snpr-development) which we use for discuss running openSNP.org and other issues not directly related to the code-base.
|
||||
* Running `rake notes` may give you some hints about things that can be
|
||||
improved.
|
||||
* In order to help improving the overall code style, take a look into
|
||||
`.rubocop_todo.yml`. In order to learn what it is all about take a
|
||||
look at [rubocop](https://github.com/bbatsov/rubocop) and specifically
|
||||
[this section of the README](https://github.com/bbatsov/rubocop#automatically-generated-configuration)
|
||||
to learn more about it.
|
||||
Watch this space for a yet-to-be-created IRC channel.
|
||||
|
||||
71
public/humans.txt
Normal file
71
public/humans.txt
Normal file
@@ -0,0 +1,71 @@
|
||||
# _____ _ _ _____
|
||||
# / ____| \ | | __ \
|
||||
# ___ _ __ ___ _ __ | (___ | \| | |__) |
|
||||
# / _ \| '_ \ / _ \ '_ \ \___ \| . ` | ___/
|
||||
# | (_) | |_) | __/ | | |____) | |\ | |
|
||||
# \___/| .__/ \___|_| |_|_____/|_| \_|_|
|
||||
# | |
|
||||
# |_|
|
||||
|
||||
/* TEAM /*
|
||||
Philipp Bayer
|
||||
Contact: philippbay@gmail.com
|
||||
Site: philipp-bayer.net
|
||||
Twitter: @philippbayer
|
||||
Location: Perth, Australia
|
||||
|
||||
Bastian Greshake
|
||||
Contact: bgreshake@gmail.com
|
||||
Site: ruleofthirds.de
|
||||
Twitter: @gedankenstuecke
|
||||
Location: Frankfurt, Germany
|
||||
|
||||
Helge Rausch
|
||||
Contact: helge@rausch.io
|
||||
Twitter: @helgerausch
|
||||
Location: Berlin, Germany
|
||||
|
||||
/* Contributors /*
|
||||
Calvyn82 (https://github.com/Calvyn82)
|
||||
djab (https://github.com/djab)
|
||||
Austin Davis-Richardson (https://github.com/audy)
|
||||
Stephanie Smith-Unna (https://github.com/Treblesteph)
|
||||
|
||||
/* THANKS /*
|
||||
Fabian Zimmer (logo-designer!)
|
||||
Madeleine Ball
|
||||
John Wilbanks
|
||||
Julia Reda
|
||||
Lore Mroz
|
||||
Scott Chamberlain
|
||||
Caroline Brix
|
||||
Nikolay Kolev
|
||||
Marcel Salathe
|
||||
Emanuel Moura
|
||||
Thomas Landrain
|
||||
Philip Brechler
|
||||
Samantha Clark
|
||||
Beau Gunderson
|
||||
Thomas Schiewerling
|
||||
Rhonda Lea Kirk Fries
|
||||
Tom Hodder
|
||||
Niclas Deißler
|
||||
Niels Muenck
|
||||
Cathal Garvey
|
||||
Tristan
|
||||
Daniel Ford
|
||||
Ben Creasy
|
||||
Mark Atwood
|
||||
Albert Manson
|
||||
Divya Mistry
|
||||
Sergey
|
||||
Nick
|
||||
Brian Degger
|
||||
Malin
|
||||
Joerg Rings
|
||||
|
||||
/* SITE /*
|
||||
Where: https://opensnp.org
|
||||
Last Update: 2016-02-07
|
||||
Standards: HTML5, CSS
|
||||
Components: Ruby on Rails, Bootstrap, jQuery
|
||||
Reference in New Issue
Block a user