All Projects → eternagame → EternaJS

eternagame / EternaJS

Licence: other
Eterna game/RNA design interface

Programming Languages

typescript
32286 projects
C++
36643 projects - #6 most used programming language
coffeescript
4710 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to EternaJS

eternagame.org
Website for the Eterna citizen science game
Stars: ✭ 17 (+41.67%)
Mutual labels:  rna, citizen-science, serious-game, serious-games, citsci, citscigames
sequencework
programs and scripts, mainly python, for analyses related to nucleic or protein sequences
Stars: ✭ 22 (+83.33%)
Mutual labels:  rna
ODM2DataSharingPortal
A Python-Django web application enabling users to upload, share, and display data from their environmental monitoring sites via the app's ODM2 database. Data can either be automatically streamed from Internet of Things (IoT) devices, manually uploaded via CSV files, or manually entered into forms.
Stars: ✭ 22 (+83.33%)
Mutual labels:  citizen-science
RNASeq
RNASeq pipeline
Stars: ✭ 30 (+150%)
Mutual labels:  rna
RNA-Science-Toolbox
A platform to do RNA science
Stars: ✭ 22 (+83.33%)
Mutual labels:  rna
dnapacman
waka waka
Stars: ✭ 15 (+25%)
Mutual labels:  rna
pyinaturalist
Python client for iNaturalist
Stars: ✭ 68 (+466.67%)
Mutual labels:  citizen-science
rnacentral-webcode
RNAcentral website source code
Stars: ✭ 23 (+91.67%)
Mutual labels:  rna
metaRNA
Find target sites for the miRNAs in genomic sequences
Stars: ✭ 19 (+58.33%)
Mutual labels:  rna
naf
Nucleotide Archival Format - Compressed file format for DNA/RNA/protein sequences
Stars: ✭ 35 (+191.67%)
Mutual labels:  rna
RNArtistCore
A Kotlin DSL and library to create and plot RNA 2D structures
Stars: ✭ 20 (+66.67%)
Mutual labels:  rna
seqfold
minimalistic nucleic acid folding
Stars: ✭ 39 (+225%)
Mutual labels:  rna
RNArtist
RNArtist allows you to design and paint your RNA 2D structures interactively. Coupled with the 3D viewer UCSF Chimera, use your 2D as a map to explore RNA 3D architectures.
Stars: ✭ 86 (+616.67%)
Mutual labels:  rna
Klimerko
☁ DIY Air Quality Measuring Device
Stars: ✭ 69 (+475%)
Mutual labels:  citizen-science
SwipesForScience
A general purpose citizen science game template for scientific research
Stars: ✭ 24 (+100%)
Mutual labels:  citizen-science
ann
A repository for brainstorming and prototyping ideas related to the eLifeSprint project Annotate them all (https://sprint.elifesciences.org/annotate-them-all/)
Stars: ✭ 13 (+8.33%)
Mutual labels:  citizen-science
aircitizen
main repo of the aircitizen project
Stars: ✭ 18 (+50%)
Mutual labels:  citizen-science
galaxytools
🔬📚 Galaxy Tool wrappers
Stars: ✭ 106 (+783.33%)
Mutual labels:  rna
hlatyping
Precision HLA typing from next-generation sequencing data
Stars: ✭ 28 (+133.33%)
Mutual labels:  rna
lncpipe
UNDER DEVELOPMENT--- Analysis of long non-coding RNAs from RNA-seq datasets
Stars: ✭ 24 (+100%)
Mutual labels:  rna

EternaJS

Eterna game/RNA design interface

Interested in development? Join the discusson on the Eterna Discord!

Eterna Discord

Setup

The project uses NPM for dependency management, webpack for packaging, and babel to polyfill ES2015 language features into ES5 and earlier.

  • Install npm (via nodejs):
  • $ npm install in root directory
  • Install and build the energy models via the instructions in lib/README.md. These are not included due to licensing restrictions.
  • If you want to modify any values in .env:
    • Create a file named .env.local and add any values from .env that you want to override.
    • You may want to use your actual username and password for DEBUG_PLAYER_ID and DEBUG_PLAYER_PASSWORD, instead of using EternaJS unauthenticated (i.e., as a guest user).
    • If you will be performing actions which cause data to be uploaded to our servers that could create inconsistencies, spam, or other potential problems, please leave APP_SERVER_URL as https://eternadev.org. If your changes are purely cosmetic, you may benefit from using https://eternagame.org instead.
    • If you are using eternadev, please note that this is using a clone of our production database. We wipe and re-clone it occasionally, but some times the time span we do this in may be longer or shorter. Depending on when we last cloned the DB and when you made your account, YOU MAY NOT YET HAVE AN ACCOUNT. Feel free to create one at http://eternadev.org. Additionally, make sure to back up anything you have on eternadev that you want to keep around.

Running tests

$ npm run test

Building and running

  • Compile and Serve:

    • $ npm run start
  • To do the first puzzle in Eterna, load up http://localhost:63343/?puzzle=4350940, and ask your browser to View JavaScript Console. To create your own test puzzles, check out the next section.

Setting up new test puzzles

  • Create your puzzle using the puzzlemaker GUI by clicking the "Create Puzzle" button at http://eternadev.org/web/playerpuzzles/

  • For functionality not available via the puzzlemaker, a puzzle can be directly set up via Drupal on the eternadev server through http://eternadev.org/node/add/puzzle and edited with http://eternadev.org/node/<id>/edit. Your login will need to have been granted Drupal admin access. We are working on a way to define and load puzzles locally, but until that time if you need a custom puzzle set up, let us know.

  • After you publish, you should be able to see the puzzle on the same player puzzles page, and figure out its ID by clicking on the puzzle.

Contributing

For introductory material to this codebase and the technologies it is built with, check out https://github.com/eternagame/development-bootcamp. If you're looking for somewhere to start contributing, check out our issues labelled good first issue.

  • Fork the repository

  • Make your changes in a separate git branch. In command line, use a command like git checkout -b myawesomefeature.

  • VS Code is a superb IDE for developing EternaJS, available for Mac & Windows. (Even Rhiju, a hardcore Emacs user, has converted.)

  • When you're ready to merge into master for deployment, create a pull request at https://github.com/Eternagame/EternaJS/pulls. We will then perform a code review.

Please note that for some reason or another, we may not approve of adding a feature you may have written. To avoid doing work we may reject later please open an issue and we will triage it and/or initiate discussion about the feature. That said, feel free to work on changes for your own experimentation. Eternascript boosters are also a great way to add in extra tools you want to see added, without needing us to consider whether or not that feature makes sense as a first-class citizen, or the specifics of how it needs to be implemented for a consistent user experience.

We also recommend joining our Discord to chat with other developers.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].