HorseGeneAnnotation Crowd sourcing the equine genome

Contributing to HorseGeneAnnotation

This document is a set of guidelines for contributing to HorseGeneAnnotation on GitHub. These are guidelines, not rules. This guide is meant to make it easy for you to get involved.

Table of Contents

Getting Started

First of all, thank you for your interest in contributing to our project :tada:!

HorseGeneAnnotation is a community based gene curation website focused on improving the annotation of genes in non-model and agricultural species – starting with the horse!

What does this mean?

Genes are the primary unit of study in genetics. In non-model and agricultural organisms, such as the horse, genes are identified within the genome using an automated workflow of computer programs. These auto-generated lists of gene and their known or suspected structures and DNA sequences often contain errors that need to be manually fixed. This website will teach people how to do this, present them with troublesome regions, and then solicit curation in a crowd-sourced manner!

I am a scientist/programmer/designer/educator and I want to help, how do I get started?

This project is meant to mash up many different disciplines, both technical and non-technical! We chose to use Github as a central place to host our project (i.e. a repository of information) because of the great tools that github offers for collaboration. While Github is a great place for programmers and developers, but we understand if it’s a little easy to get lost. There is a semi-steep learning curve for getting started…

The good news is that the learning curve is very short and there are TONS of guides for how to use and contribute using github. The other perk of using github as a content management system is that you almost cannot goof anything up. All changes to a project are recorded and there is an infinitely deep undo button. So experiment away!

We are also here to help! The best way to get help is to contact someone working on the project. We have a live chat room which you can ask any question in. Just click this badge and join the conversation: Gitter chat

If you would rather experiment yourself, click the Issues tab at the top of the page or follow this link to see our list of things we are working on. You can filter the list of tasks by clicking each tag and reducing the issues to ones that might suit you!

Participation guidelines

This project adheres to a code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to rob@linkage.io.

What we’re working on

Take a look at the issues in our sprint milestone or browse some good first bugs to get started!

In general, our workflow is split into three main project areas.

  1. Tutorials, content and documentation
  2. Backend Code (Python)
  3. Frontend Code (Javascript)

Each project has its own page with tasks and issues related to each project area. In general, project developments will be outlined as: (1), contributions to tutorials or content; (2), implemented on the backend, where changes will be incorporated in the database, the internal program logic will be built, and the content will be created; and then (3), the changes will be implemented as an interface on the frontend using javascript to render the webpage and to interact with the database.

For a high level roadmap on the objectives in each project, please visit each projects respective

  1. Tutorials, etc Roadmap
  2. Backend Roadmap
  3. Frontend Roadmap

Current issues and tasks related to each project area and discussion on each component can be found in the respective roadmaps. Please visit each project areas roadmap or filter the issue tracker for more information on each project area.

How to submit changes

Once you’ve identified one of the issues above that you feel you can contribute to, you’re ready to make a change to the project repository!

Working on a website together is difficult. It is easy to step on each others feet :feet:

  1. Fork this repository. This makes your own version of this project you can edit and use.
  2. Make your changes! You can do this in the GitHub interface on your own local machine. Once you’re happy with your changes…
  3. Submit a pull request. This opens a discussion around your project and lets the project lead know you are proposing changes.

First time contributing to open source? Check out this free series, How to Contribute to an Open Source Project on GitHub.

How to report bugs

Notice a mistake? Please file any bugs, requests, or questions in our issue tracker!