{"id":27235592,"url":"https://github.com/wurmlab/afra","last_synced_at":"2026-03-14T01:03:22.746Z","repository":{"id":5754272,"uuid":"6967038","full_name":"wurmlab/afra","owner":"wurmlab","description":"Genome Annotation for the Masses","archived":false,"fork":false,"pushed_at":"2017-07-09T06:06:17.000Z","size":41137,"stargazers_count":36,"open_issues_count":38,"forks_count":21,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-08-18T01:38:12.201Z","etag":null,"topics":["crowdsourcing","curation","education","gene-prediction"],"latest_commit_sha":null,"homepage":"http://afra.sbcs.qmul.ac.uk","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wurmlab.png","metadata":{"files":{"readme":"README.mkd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-02T12:41:46.000Z","updated_at":"2022-01-10T18:19:34.000Z","dependencies_parsed_at":"2022-08-27T18:32:22.627Z","dependency_job_id":null,"html_url":"https://github.com/wurmlab/afra","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wurmlab/afra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wurmlab%2Fafra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wurmlab%2Fafra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wurmlab%2Fafra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wurmlab%2Fafra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wurmlab","download_url":"https://codeload.github.com/wurmlab/afra/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wurmlab%2Fafra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270932583,"owners_count":24670242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crowdsourcing","curation","education","gene-prediction"],"created_at":"2025-04-10T16:47:37.627Z","updated_at":"2025-12-17T13:34:12.328Z","avatar_url":"https://github.com/wurmlab.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![build status](https://secure.travis-ci.org/yeban/afra.svg?branch=master)](https://travis-ci.org/yeban/afra)\n[![Code Climate](https://codeclimate.com/github/yeban/afra/badges/gpa.svg)](https://codeclimate.com/github/yeban/afra)\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/yeban/afra)\n\n## Afra: crowdsourcing gene feature annotation\n\nGenomes of emerging model organisms are now being sequenced at [low cost](http://www.genome.gov/images/content/cost_genome.jpg).\nHowever, obtaining accurate gene predictions remains challenging.  Even the\nbest gene prediction algorithms make substantial errors, leading to further\nerroneous analysis. Therefore, many predicted genes need to be visually\ninspected and manually curated ([Yandell \u0026 Ence](http://www.nature.com/nrg/journal/v13/n5/full/nrg3174.html)); this can be infeasible when working with thousands of genes from multiple organisms.\n\nInspired by crowdsourcing approaches and platforms including\n[Foldit](http://fold.it/), [Galaxy Zoo](http://www.galaxyzoo.org/) and\n[Crowdflower](http://www.crowdflower.com/), we are developing Afra to recruit\nadditional gene feature curators.  This should help dramatically increase\nthe quality of gene curations available for newly sequenced genomes. In the\nlong-term we aim to recruit contributors among members of the general public.\nHowever, gene curation requires large amounts of specialist knowledge and\novercoming a steep learning curve. While we are working to reduce the steepness\nof the learning curve via interactive tutorials and support forums, genome\ncuration is not yet easily accessible to all. Thus in a first instance we are\nrecruiting curators among biology students. They perform curations as part of\ntheir courses aiming to understand gene structure and/or challenges with gene\nidentification and gene prediction.\n\n### Current status\n\nUsers login to their dashboard using their Facebook account, where they are\npresented with documentation, guided tutorial exercises, and curation challenges which include \"Curate\" buttons.\nEach curation challenge invites user to contribute towards a different curation project.\n\n![user dashboard](www/img/readme/dashboard.png)\n\nClicking 'Curate' sends the user to a JBrowse-derived WebApollo-like curation interface\nfocusing on a single gene model and showing all available tracks of\nevidence for this gene model. The user starts by dragging one of these\nmodels (typically the consensus gene model) to the edit track and can\nthen edit this gene model.\n\n![curation interface](www/img/readme/curate.png)\n\nUsers may refer to the tutorials or seek help on our forum using the 'Help \u0026\nSupport' link at the top. A simple step by step guideline to curation is always\navailable in a sidebar that folds to the right.\n\n#### Behind the scenes\n\nAfra imports a GFF file of predicted gene models and creates a prioritized list of \"curation tasks\"\nbased on expected curation difficulty; the administrator can additionally prioritize specific genes\nfor a specific curation project. Each gene prediction is presented to four\nindependent users/curators. Each curator independently examines the gene model\nand may propose revisions or add comments (e.g., if there is insufficient\nevidence to curate).\n\nFor each gene prediction, submitted gene models are then automatically compared:\nif all users propose the same changes to a gene model, these changes are\nconsidered to be correct. If gene models proposed by different curators\ndisagree, the different gene predictions are shown to several more experience\ncurators who submit their curation in turn. If gene models proposed by the more\nexperienced curators disagree, all predictions are shown to an even more senior\ncurator who makes a final verdict.\n\n### Roadmap\n\n![at work](www/img/readme/at-work.png)\n\n* ~~Annotation editing.~~\n* ~~Prioritized redundant task distribution~~\n* ~~Basic user dashboard.~~\n* ~~Simple, non-interactive tutorials.~~\n* ~~Obtain curations from eight QMUL MSc students.~~\n* ~~Obtain contributions from 20 of undergraduate students.~~\n* ~~December 2014: Simple editor synchronization between two tabs/windows.~~\n* ~~December 2014: Improve annotation editing experience. Make it more intuitive.~~\n* ~~December 2014: Basic automated testing of annotation editing functionality.~~\n\nTodos:\n* Improve page load times.\n* Partially done genome dashboard: Overview of contributions per genome. How many curations. How many pass auto-check.\n* Comments on curations.\n* Extensive automated testing of annotation editing functionality.\n* Improve annotation editing performance.\n* Interactive tutorial.\n* Roll out to 200 first year students learning about gene structure ... and the inadequacies of Bioinformatics algorithms.\n\n### Contributions are welcome\n\nWe welcome contributions of code, curations, or documentation. Find us on\n[Gitter](https://gitter.im/yeban/afra) to discuss how you could best help.\n\nOur [Wiki](https://github.com/yeban/afra/wiki) details setting up a\ndevelopment environment using Docker.\n\n### Contact\n\nPlease [email](mailto:a.priyam@qmul.ac.uk) if you:\n* would like a demo\n* would like to use Afra in your institution to help teach students\n* have any other questions\n\n---\n\n\u003cp align=\"center\"\u003e\nAfra is Copyright (©) 2013 Queen Mary, University of London.\n\u003cbr/\u003e\nParts of Afra are a derivative work of \u003ca href=\"http://jbrowse.org/\"\u003eJBrowse\u003c/a\u003e and \u003ca href=\"http://genomearchitect.org/\"\u003eWebApollo\u003c/a\u003e which are respectively copyright (c) 2000-2006 The Perl Foundation and copyright (c) 2010 Regents of the University of California.\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwurmlab%2Fafra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwurmlab%2Fafra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwurmlab%2Fafra/lists"}