This repository has been archived by the owner on Jan 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
750 additions
and
218 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
*.py[cod] | ||
target | ||
*~ | ||
#* | ||
doc/source/schemas/*.avpr | ||
build | ||
|
||
#********** windows template********** | ||
|
||
# Windows image file caches | ||
Thumbs.db | ||
|
||
# Folder config file | ||
Desktop.ini | ||
|
||
# Recycle Bin used on file shares | ||
$RECYCLE.BIN/ | ||
|
||
|
||
#********** osx template********** | ||
|
||
.DS_Store | ||
|
||
# Thumbnails | ||
._* | ||
|
||
# Files that might appear on external disk | ||
.Spotlight-V100 | ||
.Trashes | ||
|
||
|
||
#********** linux template********** | ||
|
||
.* | ||
!.gitignore | ||
*~ | ||
|
||
# KDE | ||
.directory | ||
|
||
|
||
#********** emacs template********** | ||
|
||
*~ | ||
\#*\# | ||
/.emacs.desktop | ||
/.emacs.desktop.lock | ||
.elc | ||
auto-save-list | ||
tramp | ||
.\#* | ||
|
||
# Org-mode | ||
.org-id-locations | ||
*_archive | ||
|
||
|
||
#********** vim template********** | ||
|
||
.*.sw[a-z] | ||
*.un~ | ||
Session.vim | ||
|
||
|
||
#********** maven template********** | ||
|
||
target/ | ||
|
||
#********** Travis CI ********** | ||
|
||
!.travis.yml | ||
|
||
#********** IntelliJ files ****** | ||
*.iml | ||
|
This file was deleted.
Oops, something went wrong.
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,89 @@ | ||
# How to contribute | ||
|
||
Thank you for taking the time to contribute. We appreciate it! | ||
|
||
There are two ways to contribute - via issues, which are used for discussion, and pull requests, which are concrete proposals of change. | ||
|
||
## Issues | ||
|
||
The project's [Issues Page](https://github.com/ga4gh/beacon-team/issues) is a forum to discuss both major and minor issues related to developing the Beacon API. It also serves as the means for collaborating with the group and discussing contributions that will ultimately lead to changes to the API. See the [Issue](#issue_resolution) section below for specifics on how issues are resolved by the community. | ||
|
||
## Pull Requests | ||
|
||
The way to contribute development effort and code to the project is via GitHub pull requests. GitHub provides a nice [overview on how to create a pull request](https://help.github.com/articles/creating-a-pull-request). | ||
|
||
Some general rules to follow: | ||
|
||
- [Fork](https://help.github.com/articles/fork-a-repo) the main project into your personal GitHub space to work on. | ||
- Create a branch for each update that you're working on. These branches are often called "feature" or "topic" branches. Any changes that you push to your feature branch will automatically be shown in the pull request. | ||
- Keep your pull requests as small as possible. Large pull requests are hard to review. Try to break up your changes into self-contained and incremental pull requests. | ||
- The first line of commit messages should be a short (<80 character) summary, followed by an empty line and then any details that you want to share about the commit. | ||
- Please try to follow the [existing syntax style](#syntax_style). | ||
|
||
## Issue Resolution | ||
|
||
Once a pull request or issue have been submitted, anyone can comment or vote on to express their opinion following the Apache voting system. Quick summary: | ||
|
||
- **+1** something you agree with | ||
- **-1** if you have a strong objection to an issue, which will be taken very seriously. A -1 vote should provide an alternative solution. | ||
- **+0** or **-0** for neutral comments or weak opinions. | ||
- It's okay to have input without voting. | ||
- Silence gives assent. | ||
|
||
A pull request with at least two **+1** votes, no **-1** votes, that has been open for at least 3 days is ready to be merged. We sometimes waive the 3 days for cosmetic-only changes -- use good judgment. If an issue gets any **-1** votes, the comments on the issue need to reach consensus before the issue can be resolved one way or the other. There isn't any strict time limit on a contentious issue. | ||
|
||
The project will strive for full consensus on everything until it runs into a problem with this model. | ||
|
||
## Syntax Style and Conventions | ||
|
||
The current code conventions for the source files are as follows: | ||
|
||
- Use two-space indentation, and no tabs. | ||
- Hard-wrap code to 80 characters per line. | ||
- Use `UpperCamelCase` for object or record names. | ||
- Use `lowerCamelCase` for attribute or method names. | ||
- Use `CONSTANT_CASE` for global and constant values. | ||
- Comments: | ||
- Comments should be indented at the same level as the surrounding code. | ||
- Comments should precede the code that they make a comment on. Documentation comments will not work otherwise. | ||
- Documentation comments, which are intended to be processed by avrodoc and displayed in the user-facing API documentation, must use the `/** ... */` style, and must not have a leading `*` on each internal line: | ||
|
||
/** | ||
This documentation comment will be | ||
processed correctly by avrodoc. | ||
*/ | ||
|
||
/** | ||
* This documentation comment will have a | ||
* bullet point at the start of every line | ||
* when processed by avrodoc. | ||
*/ | ||
|
||
- Block and multi-line non-documentation comments, intended for schema developers only, must use the `/* ... */` style. | ||
|
||
/* | ||
This multi-line comment will not appear in the | ||
avrodoc documentation and is intended for | ||
schema developers. | ||
*/ | ||
|
||
- All multi-line comments should have the comment text at the same indent level as the comment delimeters. | ||
- One-line non-documentation comments, intended for schema developers only, must use the `// ...` style. | ||
|
||
## Gitflow Workflow | ||
|
||
Our workflow is based on [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow), which defines a strict branching model designed around the project release. This workflow uses two branches to record the history of the project. The master branch stores the official release history, and the develop branch serves as an integration branch for features. Aside from these two main branches, the workflow utilizes topic and release branches. | ||
|
||
### Topic Branches | ||
|
||
If you wish to collaborate on a new feature with other GA4GH members you can ask that a topic branch be created. Since Github does not allow pull requests against branches that do not yet exist, you will have to create an issue asking for the topic branch to be created. | ||
|
||
Once a topic branch exists, pull requests can be made against it in the usual way. It may also be brought up to date with new changes merged into develop by anyone with commit access, if the changes produce merely a fast-forward merge for each constituent branch. However, if changes from the develop branch create a new merge commit in or or more of the repositories, that commit needs to be reviewed in a pull request. | ||
|
||
Changes made in a topic branch can be merged into develop by creating and then [resolving in the normal way](#issue_resolution) a pull request against the develop branch. | ||
|
||
Topic branches that have been merged into develop and that are no longer being developed upon should be [deleted](https://github.com/blog/1335-tidying-up-after-pull-requests) (they will still appear in the git history). | ||
|
||
### Release Branches | ||
|
||
From time to time the group will make a release. This is achieved by creating a branch named "release-foo", where foo is the release name. Only bug fixes are allowed to release branches. To refer to a specific version of a release branch either the commit id can be used, or alternatively (better), a tag can be created (which should be replicated across repositories). |
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 |
---|---|---|
@@ -1,49 +1,25 @@ | ||
# Beacon Project Repository | ||
# Beacon Schemas | ||
|
||
## What's a Beacon? | ||
## What is a Beacon? | ||
|
||
A “Beacon” is a web-accessible service that can be queried for information about a specific allele. A user of a Beacon can pose queries of the form “Have you observed this nucleotide (e.g. C) at this genomic location (e.g. position 32,936,732 on chromosome 13)?” to which the Beacon must respond with either “yes” or “no.” In this way, a Beacon allows allelic information of interest to be discovered by a remote querier with no reference to a specific sample or patient the allele was observed in. | ||
A _Beacon_ is a web-accessible service that can be queried for information about a specific allele. A user of a Beacon can pose queries of the form _Have you observed this nucleotide (e.g. C) at this genomic location (e.g. position 32,936,732 on chromosome 13)?_ to which the Beacon must respond with either _yes_ or _no_. | ||
|
||
## Related Links | ||
## Beacon Project | ||
|
||
* GA4GH Beacon Site: http://ga4gh.org/#/beacon | ||
* Beacon Network: http://beacon-network.org | ||
The Beacon project is a project to test the willingness of international sites to share genetic data in the simplest of all technical contexts. For more information, visit [GA4GH Data Working Group](http://ga4gh.org/#/beacon). | ||
|
||
## How to light a Beacon | ||
## Tools | ||
|
||
If you are a data steward, please consider lighting a Beacon. There are three options of varying complexity for lighting beacons: | ||
* From scratch (hardest): develop a Beacon compliant with the specification(s) in the schemas directory of this repository | ||
* Reference impementation (easier): use a free to download and install implementation of Beacon, which you host on your network or on a cloud instance you own | ||
* Managed solutions (easiest): use an implementation of Beacon that is implemented and maintained by a third-party | ||
A list of related tools and projects developed by the community is maintained on the [Resources](https://github.com/ga4gh/beacon-team/wiki/Resources) wiki page. | ||
|
||
Please contact us for support in lighting a Beacon. | ||
## How to contribute | ||
|
||
## Developers | ||
Guidelines for contributing to this repository are listed in the [CONTRIBUTING.md](CONTRIBUTING.md) document. | ||
|
||
### Development Model | ||
## License | ||
|
||
We adopt the Gitflow development model as outlined here: http://nvie.com/posts/a-successful-git-branching-model/ | ||
See the [LICENSE](LICENSE) file. | ||
|
||
### Developer FAQs | ||
## More information | ||
|
||
#### What are the valid responses for a beacon? | ||
|
||
A: Yes or No | ||
|
||
Yes means, "I have information about the queried variant" and No means, either (i) "I don't have information about the queried variant" or (ii) "I don't know if I have information about the queried variant". | ||
|
||
The decision to support either Yes or No, and not an additional Null option, was due to complexities in distinguishing between "I don't have information about the queried variant" and "I don't know if I have information about the queried variant". For example, if a beacon is served from a VCF file that has reference alleles omitted, it is impossible to determine whether the reference allele was observed but not recorded, or not observed at all. | ||
|
||
It was decided that an additional set of Evidence Codes could be returned if this information is available. | ||
|
||
### Is the position in a Beacon query 0-based or 1-based? | ||
|
||
A: 0-based | ||
|
||
The decision to use 0-based coordinates for the position in the Beacon query was based on alignment with the core GA4GH APIs. Of course, when designing clients (e.g. websites) which query beacons, developers should use descretion about what the end-user expects. The Beacon Network, for example, takes 1-based coordinates as input and queries connected Beacons in 0-based coordinates, as appropriate. | ||
|
||
### How are queries against complex mutations treated? | ||
|
||
A: For insertions and deletions exact match is required for a Yes response. More complex mutations (e.g. inversions, duplications) are not yet supported. | ||
|
||
Queries for insertions or deletions must be sepcified using ref and alt strings of bases. For insertions and deletions exact match is required for a Yes response. More complex mutations (e.g. inversions, duplications) are not yet supported. | ||
More information for developers is available on [our wiki](https://github.com/ga4gh/beacon-team/wiki). |
Submodule beacon-of-beacons
deleted from
46f5ad
Submodule beaconizer
deleted from
2869cd
Oops, something went wrong.