Difference between revisions of "GSoC"

From GMOD
Jump to: navigation, search
(WormBase: data visualization)
m (Google Summer of Code 2019 @ Open Genome Informatics)
(80 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[File:Landing-page-gsoc2014.png|right|link=http://www.google-melange.com/]]
+
[[File:GoogleSummer_2016logo.jpg|373px|right|link=GSoC]]
  
== Welcome to the Genome Informatics Google Summer of Code ==
+
== Google Summer of Code 2019 @ Open Genome Informatics ==
  
from the [http://www.google-melange.com Google Summer of Code website]:
+
'''[https://summerofcode.withgoogle.com/ Google Summer of Code]''' is a global program that offers student developers stipends to write code for various open source software projects. We work with many open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together over 14,000 successful student participants from 118 countries, 651 open source organizations, and over 35 million lines of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all. (''Excerpt from the [https://summerofcode.withgoogle.com/ Google Summer of Code website]'')
  
<blockquote>
+
Since 2011, the Open Genome Informatics group has served as an "umbrella organization" to a variety of bioinformatics projects, including [[Main Page|GMOD]] and its software projects -- [[JBrowse]], [[Apollo]], [[Chado]], [[Galaxy]] etc.; [http://www.informatics.jax.org/ Mouse Genome Informatics]; [https://oicr.on.ca/research-portfolio/ OICR]; [http://www.reactome.org Reactome]; [http://www.wormbase.org WormBase]; and [https://bioconda.github.io/ Bioconda].
'''Google Summer of Code''' is a global program that offers student developers stipends to write code for various open source software projects. We work with many open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together over 7,500 successful student participants from 97 countries and over 7,000 mentors from over 100 countries worldwide to produce over 50 million lines of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.
+
</blockquote>
+
  
Google Summer of Code has several goals:
+
'''More information about this year's participating bioinformatics groups can be found [[GSOC_Groups | here]].'''
#Create and release open source code for the benefit of all
+
#Inspire young developers to begin participating in open source development
+
#Help open source projects identify and bring in new developers and committers
+
#Provide students the opportunity to do work related to their academic pursuits (think "flip bits, not burgers")
+
#Give students more exposure to real-world software development scenarios (e.g., distributed development, software licensing questions, mailing-list etiquette)
+
  
 +
To learn more about this year's event and how GSoC works, please refer to the [https://developers.google.com/open-source/gsoc/faq FAQ].
  
== Genome Informatics GSoC ==
+
==Mailing lists, IRC, and other ways to get in touch  ==
  
For the past few years, a group of related bioinformatics projects have participated in Google Summer of Code under the umbrella of Genome Informatics. This includes [http://gmod.org GMOD] and its software projects -- GBrowse, JBrowse, etc.; [http://galaxy.psu.edu Galaxy]; [http://porteco.org PortEco]; [http://www.reactome.org Reactome]; [http://seqware.github.io SeqWare] [http://www.wormbase.org WormBase]; and others.
+
*Email: [mailto:robin.haw@oicr.on.ca robin.haw@oicr.on.ca] '''and''' [mailto:help@gmod.org help@gmod.org] -- find out more about GSoC, a specific project, or your potential mentor(s).
 
+
== How GSoC Works ==
+
 
+
From the [http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2014/help_page#7._How_does_the_program_work GSoC FAQ]:
+
 
+
#Open source projects who'd like to participate in Google Summer of Code in 2014 should choose at least two organization administrators to represent them.
+
#Organization administrators will submit the mentoring organization’s proposal for participation online.
+
#Google will notify the organization administrators of acceptance, and an account for the accepted organizations will be created on the Google Summer of Code 2014 site.
+
#Students submit project proposals online to work with particular mentoring organizations.
+
#Mentoring organizations rank student proposals and perform any other due diligence on their potential students; student proposals are matched with a mentor.
+
#Google allocates a particular number of student slots to each organization.
+
#Mentoring organizations make their final decision on which students to accept into the program.
+
#Students are notified of acceptance.
+
#Students begin learning more about their mentoring organization and its community before coding work starts.
+
#Students begin coding work at the official start of the program, provided they've interacted well with their community up until the program start date.
+
#Mentors and students provide mid-term progress evaluations.
+
#Mentors provide a final evaluation of student progress at close of program; students submit a final review of their mentor and the program.
+
#Students upload completed code to Google Summer of Code site.
+
 
+
The organization administrators for the Genome Informatics group are Robin Haw of Reactome and Amelia Ireland of GMOD.
+
<!--
+
== Member Projects ==
+
 
+
The Genome Informatics group is organizing the joint efforts of GMOD, Galaxy, Reactome, Galaxy, GBrowse, GMOD, JBrowse, Reactome, SeqWare, and Wormbase (see below). This is a great opportunity for students to contribute to the work of any of  eight established bioinformatics projects.<br>
+
 
+
;'''[http://galaxy.psu.edu Galaxy]''': An open, web-based platform for accessible, reproducible, and transparent computational biomedical research. The public Galaxy service makes analysis tools, genomic data, tutorial demonstrations, persistent workspaces, and publication services available to any scientist that has access to the Internet. Local Galaxy servers can be set up by downloading the Galaxy application and customizing it to meet particular needs. Galaxy is implemented in Python. Links: [http://galaxy.psu.edu/ Website].
+
 
+
;'''[http://www.gmod.org Generic Model Organism Database (GMOD)]''' : An open source project to develop a complete set of software for creating and administering a model organism database. Components of this project include genome visualization and editing tools, literature curation tools, a robust database schema, biological ontology tools, and a set of standard operating procedures. This project is collaboration of several database projects, including WormBase, FlyBase, Mouse Genome Informatics, Gramene, the Rat Genome Database, TAIR, EcoCyc, and the Saccharomyces Genome Database. Links: [http://www.gmod.org Website], [http://blog.gmod.org GMOD Blog]
+
 
+
;'''[http://gmod.org/wiki/GBrowse GBrowse]''': The Generic Genome Browser (GBrowse) is a web application for searching and displaying annotations on genomes. GBrowse was designed from the bottom up for portability, extensibility, and modularity. It relies on no proprietary software, but only readily available open source software such as MySQL and the BioPerl libraries. GBrowse is implemented in Perl. Link: [http://gmod.org/wiki/GBrowse Website].
+
 
+
;'''[http://jbrowse.org JBrowse]''': JBrowse is being developed as the successor to GBrowse.  It is a modern, fast genome browser implemented almost entirely in JavaScript, with some server-side formatting code in Perl.  Link: [http://jbrowse.org Website].
+
 
+
;'''[http://porteco.org PortEco]''': PortEco project unifies web access to information and tools about the biology of E. coli, its bacteriophages, plasmids, and mobile genetic elements. PortEco partners include [http://ecocyc.org EcoCyc], [http://ecoliwiki.org EcoliWiki], the [http://expression.porteco.org Stanford Microarray Database], and [http://pantherdb.org PANTHER] protein families database.  PortEco is responsible for maintaining the [http://geneontology.org Gene Ontology] annotation of ''E. coli'' genes.
+
 
+
;'''[http://www.reactome.org Reactome]''' : A manually curated database of core pathways and reactions in human biology that functions as a data mining resource and electronic textbook. The Reactome data model describes diverse processes in the human system, including the pathways of intermediary metabolism, regulatory pathways, signal transduction, and high-level processes, such as the cell cycle. Reactome software uses only freely available (and often open source) components and has been created with cross-platform compatibility and wide usability in mind. Data is stored in a MySQL database, the web site is implemented in Perl and data entry tool in Java programming language. The Reactome team is composed of individuals who are both biologists and programmers at the Ontario Institute for Cancer Research, New York University Langone Medical Center, Cold Spring Harbor Laboratory, and The European Bioinformatics Institute. Links: [http://www.reactome.org Website], [http://wiki.reactome.org ReactomeWiki ].
+
 
+
;'''[http://seqware.github.com SeqWare]''': SeqWare is a multi-faceted project that includes a developer-friendly workflow development and execution engine (SeqWare Pipeline) along with a NoSQL variant database (SeqWare Query Engine).  The system is used by OICR to automate the analysis of a large percentage of the NGS samples processed by the institute.  It's our intention to share these workflow with the community and we're using the SeqWare workflow format and reference VM on Amazon to do this.  For the GSoC we're interested in integrating the project with Galaxy to use that terrific application as a frontend.  We also are interested in exposing the Query Engine HBase variant database through a nice REST API and web app for interacting with this highly scalable variant storage and analysis system.  The SeqWare team is based at OICR and includes developers at UNC, Nimbus Informatics, Garvin, and other locations.  Links: [http://seqware.github.com]
+
 
+
;'''[http://www.wormbase.org WormBase]''' : An online bioinformatics database of the biology and genome of the model organism Caenorhabditis elegans and related nematodes. It is used by the C. elegans research community both as an information resource and as a mode to publish and distribute their results. The database is constantly updated and new versions are released on a monthly basis. WormBase is a collaboration among the Wellcome Trust Sanger Institute, Ontario Institute for Cancer Research, Washington University in St. Louis, and the California Institute of Technology. Links: [http://www.wormbase.org Website].
+
-->
+
 
+
 
+
== Contact Us ==
+
 
+
*Email: [mailto:help@gmod.org help@gmod.org] and [mailto:robin.haw@oicr.on.ca robin.haw@oicr.on.ca] -- find out more about GSoC, a specific project, or your potential mentor(s).
+
 
*Discussion mailing lists: [http://groups.google.com/group/genome-informatics Genome Informatics Google Groups] - ask about our projects; join the community!
 
*Discussion mailing lists: [http://groups.google.com/group/genome-informatics Genome Informatics Google Groups] - ask about our projects; join the community!
 
*IRC channel: #genomeinformatics on Freenode.
 
*IRC channel: #genomeinformatics on Freenode.
 +
* Students and Mentors can email both [[User:Robin.haw|Robin]] and [[User:Scott|Scott]] to get more information about the program.
  
== Students: How to apply ==
+
== [[GSOC_Project_Ideas_2019 | Project Ideas]] ==
  
We would like to know who you are and how you think. Incorporate the following into your application:
+
'''Got an idea for a GSOC project? [[GSOC_Project_Ideas_2019 |Add it here]].''' Ideas will be included in the proposal we send to GSOC, and great ideas make for a great proposal, so please add yours now.
 
+
*Your information
+
**Name, email, and website (optional)
+
*Brief background: education and relevant work experience
+
*Your programming interests and strengths
+
**What are your languages of choice?
+
**Any prior experience with open source development?
+
**Your interest and background in biology or bioinformatics
+
**Any prior exposure to biology or bioinformatics?
+
*Your ideas for a project (an original idea or one expanded from our Ideas Page)
+
**Provide as much detail as possible
+
**Strong applicants include an implementation plan and timeline (hint!)
+
**Refer to and link to other projects or products that illustrate your ideas
+
**Identify possible hurdles and questions that will require more research/planning
+
*What can you bring to the team?
+
 
+
 
+
== Resources ==
+
 
+
*[http://www.google-melange.com/ GSoC Main Site]
+
*[http://groups.google.com/group/google-summer-of-code-discuss GSoC discussion group]
+
 
+
===Guides===
+
*[http://en.flossmanuals.net/melange/ GSoC User Guide]
+
*[http://en.flossmanuals.net/GSoCStudentGuide/ GSoC Student Guide]
+
*[http://en.flossmanuals.net/GSoCMentoring/ GSoC Mentoring Guide]
+
 
+
=== For Students ===
+
*[http://en.flossmanuals.net/GSoCStudentGuide/ GSoC Student Guide]
+
*[http://groups.google.com/group/google-summer-of-code-students-list GSoC Students-Only List]
+
 
+
=== For Mentors ===
+
*[http://en.flossmanuals.net/GSoCMentoring/ GSoC Mentoring Guide]
+
*[http://groups.google.com/group/google-summer-of-code-mentors-list GSoC Mentors-Only List]
+
 
+
 
+
== Project Ideas ==
+
 
+
These projects include a broad set of skills, technologies and domains, such as GUIs, database integration and algorithms.
+
 
+
Students are also encouraged to propose their own ideas related to our projects. If you have strong computer skills and have an interest in biology or bioinformatics, you should definitely apply! '''Do not hesitate to propose your own project idea: some of the best applications we see are by students that go this route.''' As long as it is relevant to one of our projects, we will give it serious consideration. Creativity and self-motivation are great traits for open source programmers.
+
 
+
If you have any difficulty using the wiki, please email your project proposal to [mailto:help@gmod.org help@gmod.org] and we will add it for you.
+
 
+
See the [[GSoC 2013|list of project proposals from 2013]] for ideas from last year's GSoC.
+
 
+
 
+
For potential mentors: students work remotely and will typically communicate with you electronically. Students are expected to be self-motivated and responsible for getting work done. The average time investment is about five hours per week.
+
 
+
 
+
=== Advice from Google on suitable project ideas ===
+
 
+
The following information comes from the [http://en.flossmanuals.net/GSoCMentoring/defining-a-project/ GSoC manual on what makes a good GSoC project]:
+
 
+
 
+
There are many ways to define a good GSoC project—probably as many ways as there are student-mentor pairings. Here are just a few:
+
 
+
'''Low-hanging fruit:''' These projects require minimal familiarity with the codebase and basic technical knowledge. They are relatively short, with clear goals.
+
 
+
'''Risky/Exploratory:''' These projects push the scope boundaries of your development effort. They might require expertise in an area not covered by your current development team. They might take advantage of a new technology. There is a reasonable chance that the project might be less successful, but the potential rewards make it worth the attempt.
+
 
+
'''Fun/Peripheral:''' These projects might not be related to the current core development focus, but create new innovations and new perspective for your project.
+
 
+
'''Core development:''' These projects derive from the ongoing work from the core of your development team. The list of features and bugs is never-ending, and help is always welcome.
+
 
+
'''Infrastructure/Automation:''' These projects are the code that your organization uses to get its development work done; for example, projects that improve the automation of releases, regression tests and automated builds. This is a category in which a GSoC student can be really helpful, doing work that the development team has been putting off while they focus on core development.
+
 
+
 
+
''source: [http://en.flossmanuals.net/GSoCMentoring/defining-a-project/ GSoC manual]''
+
 
+
 
+
From the Genome Informatics GSoC experience in 2013, prospective students are interested in "new" technologies and languages, such as iOS and Android apps, and fancy, flashy, web-based projects.
+
 
+
 
+
'''Project idea format'''
+
 
+
=== Example of Idea ===
+
 
+
Brief description of the idea, including any relevant links, etc.
+
 
+
*Languages and skills: programming language(s) to be used, plus any other particular computer science skills needed
+
*Idea: ''name + contact details of the person(s) who thought up the idea''
+
*Mentor(s): ''name + contact details of the proposed mentor(s)''
+
 
+
== 2014 Project Ideas ==
+
=== Reactome: Visualising Large Diagrams ===
+
 
+
Reactome is a free, open-source, curated and peer reviewed database of biomolecular pathways with about 12.000 distinct visitors/month. The Reactome Pathway Diagram viewer was develop initially as a GSoC project and it has become part of the Reactome Pathway Browser (http://www.reactome.org/PathwayBrowser/). The widget works fine for the current size of the diagrams but there is a need of including larger diagrams in the future, so we need to improve the current implementation using a different approach.
+
 
   
 
   
*'''Languages and skills''': Java, GWT, HTML5 Canvas, Data visualisation
+
These projects can use a broad set of skills, technologies, and domains, such as GUIs, database integration, and algorithms. Students are also encouraged to propose their own ideas related to our projects. If you have strong computer skills and have an interest in biology or bioinformatics, you should definitely apply! '''Do not hesitate to propose your own project idea: some of the best applications we see are by students that go this route.''' As long as it is relevant to one of our projects, we will give it serious consideration. Creativity and self-motivation are great traits for open source programmers.
*'''Idea''': Henning Hermjakob <hhe@ebi.ac.uk>, Antonio Fabregat <fabregat@ebi.ac.uk>
+
*'''Mentor(s'''): Antonio Fabregat Mundo <fabregat@ebi.ac.uk>
+
 
+
'''Description''': The current pathway diagram widget works fine for the pathways in Reactome but diagrams with a large number of entities, for example large biomolecular disease maps, slow the widget down unacceptably. A different approach is needed in order to draw larger pathways in the canvas. Including techniques used for gaming can help to our propose, for example using quadtrees would help to filter the number of objects to be drawn in each canvas iteration (depending of the zoom level and the targeted frame) and will also speed up the object hovering detection while the user moves the mouse over the diagram. Another useful improvement to the diagram could be implementing a multi-layer approach using several canvases for representing different layers of information. In this case exporting the view as an image will be a little more complicated but it is a good use case to take into account at the end of the internship.
+
 
+
 
+
=== SeqWare ===
+
 
+
*'''Languages and skills''': Java, Bash/Linux, AWS, Google Cloud, Ansible, Vagrant, HBase/NOSQL, MapReduce+associated Hadoop technologies<br>
+
*'''Mentor(s)''': Brian O'Connor <boconnor@oicr.on.ca>, Denis Yuen <denis.yuen@oicr.on.ca><br>
+
 
+
There are quite a few projects that I would like to see happen for SeqWare and it would be great to get a student to help on these:
+
 
+
* add hybrid workflow support to SeqWare Pipeline so users can write workflows that include support for Hadoop tools (Pig, Hive, M/R, etc) and traditional command line tools
+
* push forward the design of our multi-cloud cluster provisioning technology stack based on Vagrant. This includes incorporating cool provision technologies like Ansible.
+
* leverage Elastic Map Reduce on Amazon's AWS as an environment to run SeqWare
+
* leverage the Google cloud, add support for spinning up SeqWare clusters in this environment and to interact with their bucket store
+
* work with the Galaxy tool and finish the compatibility layer that allows SeqWare workflows to run/interact with Galaxy
+
* write a AngularJS-based web application on top of our HBase variant/read NOSQL database, write proof of concept analytical plugins that use machine learning and other advanced techniques to analyze data stored in this scalable backend
+
 
+
<!--
+
===InterMine===
+
 
+
*'''Languages and skills''':
+
*'''Mentor(s)''': InterMine team members
+
 
+
 
+
Some brief ideas for InterMine projects:
+
 
+
* InterMine and the Semantic Web - make InterMine more semantic.
+
* Building biological tools - eg: a synteny viewer
+
* Natural Language Processing and rich queries: Writing an NLP query engine
+
* Mobile (Android/iOS) apps
+
* Data importer/Mine builder: an application to build a mine from a set of standard files and web-services.
+
 
+
-->
+
 
+
=== Tripal Pedigree Viewer ===
+
 
+
*'''Languages and skills''': PHP, HTML 5 and Javascript
+
*'''Mentor(s)''': Lacey-Anne Sanderson <lacey.sanderson@usask.ca>
+
 
+
'''Description''': Development of an interactive, collapsible pedigree diagram to be displayed on Tripal Germplasm pages. The  nodes of the diagram need to contain the name of the stock with a link to the page and the edges of the diagram need to be named with the relationship type (ie: maternal parent of). All of the data is already stored within a PHP tree class with traversal methods. Thus we are looking for a student to use the traversal methods to generate the markup needed for their application and the actual drawing of the pedigree using languages and libraries of their choosing. Here is [http://mbostock.github.io/d3/talk/20111018/tree.html an example] showing the collapsibility desired; however, names within the node circles (as compared to beside in the example) and labelled connector lines (edges) are needed.
+
 
+
'''Background''': Tripal is a Drupal module that implements display and management of biological data within a Drupal site. Drupal is a PHP-based, database-driven content management system used for development of websites (from blogs, to ecommerce sites, and now organism community sites such as [http://knowpulse2.usask.ca/portal KnowPulse: Legume Breeding & Genomics], [http://www.citrusgenomedb.org/ Citrus Genome] and many more). See [http://tripal.info our website] for more Tripal sites as well as additional information. The Tripal Germplasm module provides the ability to display and manage plant/animal breeding programs. Currently the pedigree is displayed in the community standard textual format (ie: ParentA//ParentB1/ParentB2 which says the offspring of ParentB1 & ParentB2 mated with ParentA to produce the current germplasm). Although this is descriptive and common in the community, a graphical diagram showing these relationships would be a lot more intuitive which is the motivation behind this project.
+
 
+
 
+
===JBrowse: REST daemon for Chado ===
+
 
+
Implement a self-contained server in the language of your choice (such as Python/WSGI, Perl/Plack, node.js, or Java/Jetty) to serve feature data and name completions out of a GMOD Chado database schema according to the JBrowse 1 REST API, enabling an instance of JBrowse1 to run directly atop a Chado database.  Possible addition: implement another daemon in Perl/Plack that does the same thing for a GBrowse 2 installation.
+
 
+
*'''Skills''': server-side language of student's choice
+
 
+
 
+
===JBrowse "regions of interest" lists===
+
 
+
Add functionality to JBrowse 2 to manage lists of "regions of interest" on a per-user basis, storing the lists using the JavaScript localStorage API.  Allow a user to "apply" a regions list to a view in JBrowse 2 so that the view shows only the user's regions, without any of the intervening space in between.
+
 
+
*'''Skills''': advanced JavaScript
+
 
+
 
+
===Drupal-based GMOD Tool Information Tool===
+
 
+
*'''Skills''': PHP / Drupal, HTML, Javascript
+
*'''Mentors''': Lacey-Anne Sanderson, Amelia Ireland
+
 
+
Description to be added soon.
+
 
+
=== Galaxy CloudMan ===
+
 
+
* '''Languages and skills:''' Pyhton, JavaScript, Backbone, Mako, Bash/Linux, AWS
+
* '''Idea:''' Enis Afgan (afgane AT gmail.com)
+
* '''Mentor(s):''' [https://wiki.galaxyproject.org/EnisAfgan Enis Afgan] (afgane AT gmail DOT com), [https://wiki.galaxyproject.org/DannonBaker Dannon Baker] (dannon DOT baker AT gmail DOT com)
+
 
+
Galaxy CloudMan (http://usecloudman.org) is a cloud manager that orchestrates all the steps required to provision and manage a set of cloud resources to deliver a functional compute cluster in the cloud. A deployed instance of CloudMan comes preconfigured with the Galaxy application, dozens of bioinformatics tools and gigabytes of genome reference data. The application is used around the world to launch hundreds of clusters per month. The following are suggestions for the student improvements that would help the project grow further (each would be a separate project):
+
* A new web interface, exposing key application functionality and focusing on scalability and accessibility
+
* An automated process for deploying/replicating Galaxy on the Cloud across all AWS regions
+
* Advanced cluster autoscaling (responsive, based on individual cluster’s workload, taking advantage of different cloud instance types)
+
 
+
=== Galaxy Charts and Open Requests ===
+
 
+
* '''Languages and skills:''' Pyhton, JavaScript, Bash/Linux
+
* '''Idea:''' Aysam Guerler  (aysam.guerler AT gmail.com)
+
* '''Mentor(s):''' [https://wiki.galaxyproject.org/SamGuerler Sam Guerler] (aysam DOT guerler AT mail.com)
+
 
+
Ideas:
+
 
+
* Improving Galaxy Charts by e.g. adding new visualizations or options to customize visualizations. This is a very confined project. It has the advantage that the student can (basically) not break code and does not have to grasp Galaxy’s inner layers, but still would be able to make a major contribution.
+
 
+
* Something from the [https://trello.com/b/75c1kASa/galaxy-development Tool requests and Developer ideas lists at Trello] although one card may not be enough.
+
 
+
 
+
=== dictyBase: Integration of HTML5 based live content editor ===
+
 
+
'''Languages and skills:''' HTML5, Javascript('''angularjs''') and CSS('''Bootstrap/Pure framework''') markup.
+
 
+
'''Idea:''' Siddhartha Basu(siddhartha DASH basu AT northwestern DOT edu)
+
 
+
'''Mentor(s):''' Siddhartha Basu(siddhartha DASH basu AT northwestern DOT edu), Petra Fey(pfey AT northwestern DOT edu)
+
==== Idea ====
+
[http://dictybase.org dictyBase] has quite a lot of static HTML pages(for
+
example the front page) that are handcrafted and maintained by manually
+
editing on the server side. The pages are content heavy, however the
+
manual nature of it makes it incredibly difficult to add new content,
+
integrate third party widgets (such as twitter feed) or do collaborative
+
editing. The proposal is to integrate one of [https://www.raptor-editor.com/ raptor],  
+
[http://jejacks0n.github.io/mercury/ mercury] or
+
[http://vitalets.github.io/x-editable/ bootstrap X-editable] client side HTML5 editor
+
to make the content editable right from the browser. The content will be
+
pushed back and forth through a RESTful backend. The project is expected
+
to be split into the following sections...
+
  
* Generate a bootstrap(optionally pure framework) based markup of core page structure. This includes header/footers and parts of pages that are not editable.
 
* Identify the contentblocks and integrate one of the editors (student's choice) to make them editable.
 
* Use angularjs ([https://github.com/mgonto/restangular restangular] prefered) framework to save the edited content to a RESTful backend. The RESTful backend (written in golang) along with HTTP resource specification would be made available (deployable binary) to the student.
 
* Integrate image inclusion. Could explore angularjs based option such as [https://github.com/danialfarid/angular-file-upload angular file upload]
 
* Make the editor available only to authorized users. For this, integrate the frontend to our RESTful authentication backend.
 
  
 +
== Preparing for GSoC 2019 ==
 +
Right now it is the organization application process for GSoC - we won't know if Open Genome Informatics has been accepted as a GSOC 2019 mentoring organization until [https://developers.google.com/open-source/gsoc/timeline February 6th]. Nevertheless, it is a perfect time if students would like to talk to mentors about project ideas. If you are interested in mentoring, please check the Mentors section below, and contact the organization admin.
  
 +
===Students===
 +
More information about [[GSOC_Applications_Guide | writing your application]] will be available closer to the start of the student application period.
  
=== WormBase: data visualization ===
+
===Mentors===
*'''Languages and skills''': javascript, HTML5, JS graphical library of your choice (eg. d3), some perl
+
We encourage mentors and mentoring organizations to think about new projects year round! If you'd like help with your ideas page or your separate mentoring org application, please feel to contact the organization admins. Links to [[GSOC_Mentoring_Guide | advice about mentoring and other resources]] are available.
* '''Mentor(s)''': Abigail Cabunoc <abigail.cabunoc@oicr.on.ca>
+
There are several areas of improvement for data visualization on the wormbase website. Here are a couple requests we've received from the community, but we are open to other ideas:
+
* Create a chromosome map tool - allow users to input and visualize the position of genetic loci.
+
** Original community request: https://github.com/WormBase/website/issues/1103
+
* Create a central dogma view to tie together our gene/protein/sequence pages
+
** Original community request: https://bitbucket.org/tharris/wormbase/issue/557/add-central-dogma-nav-to-overview
+
  
 
[[Category:Galaxy]]
 
[[Category:Galaxy]]
 
[[Category:JBrowse]]
 
[[Category:JBrowse]]
 +
[[Category:MGI]]
 
[[Category:WormBase]]
 
[[Category:WormBase]]
 
[[Category:GSoC]]
 
[[Category:GSoC]]
 +
[[Category:Reactome]]
 +
[[Category:WebApollo]]

Revision as of 17:09, 18 December 2018

GoogleSummer 2016logo.jpg

Google Summer of Code 2019 @ Open Genome Informatics

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We work with many open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together over 14,000 successful student participants from 118 countries, 651 open source organizations, and over 35 million lines of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all. (Excerpt from the Google Summer of Code website)

Since 2011, the Open Genome Informatics group has served as an "umbrella organization" to a variety of bioinformatics projects, including GMOD and its software projects -- JBrowse, Apollo, Chado, Galaxy etc.; Mouse Genome Informatics; OICR; Reactome; WormBase; and Bioconda.

More information about this year's participating bioinformatics groups can be found here.

To learn more about this year's event and how GSoC works, please refer to the FAQ.

Mailing lists, IRC, and other ways to get in touch

Project Ideas

Got an idea for a GSOC project? Add it here. Ideas will be included in the proposal we send to GSOC, and great ideas make for a great proposal, so please add yours now.

These projects can use a broad set of skills, technologies, and domains, such as GUIs, database integration, and algorithms. Students are also encouraged to propose their own ideas related to our projects. If you have strong computer skills and have an interest in biology or bioinformatics, you should definitely apply! Do not hesitate to propose your own project idea: some of the best applications we see are by students that go this route. As long as it is relevant to one of our projects, we will give it serious consideration. Creativity and self-motivation are great traits for open source programmers.


Preparing for GSoC 2019

Right now it is the organization application process for GSoC - we won't know if Open Genome Informatics has been accepted as a GSOC 2019 mentoring organization until February 6th. Nevertheless, it is a perfect time if students would like to talk to mentors about project ideas. If you are interested in mentoring, please check the Mentors section below, and contact the organization admin.

Students

More information about writing your application will be available closer to the start of the student application period.

Mentors

We encourage mentors and mentoring organizations to think about new projects year round! If you'd like help with your ideas page or your separate mentoring org application, please feel to contact the organization admins. Links to advice about mentoring and other resources are available.