GMOD / Apollo

Genome annotation editor with a Java Server backend and a Javascript client that runs in a web browser as a JBrowse plugin.
http://genomearchitect.readthedocs.io/
Other
126 stars 85 forks source link

Support Multiple Genomes in a single instance #50

Closed nathandunn closed 9 years ago

nathandunn commented 9 years ago

Talked with @colindiesh . . .. the JBrowseDataServlet can simply use ?data= for a particular genome. So, now we need to link (in thd database) Genomes to directory files. Not sure if that is a config or a database thing. I want to start moving stuff into the website with a database backing, so it will probably be there. Sep 11 at 10:43 am - Edit - Delete Nathan Dunn (ndunn) Nathan Dunn I think that these ideas shouldn't be incompatible with what @colindiesh proposed, except that the servlet would manage the directories.

My take is also that . . . long-term that I want to get rid of Berkeley DB in favor of either a document-store (MongoDB) or a relational DB (H2 or Postgres). This would allow a search of features based on associated data (which could still retain their unique ID's), such as annotated phenotype, genotype, etc. Sep 10 at 7:39 pm - Edit - Delete Nathan Dunn (ndunn) Nathan Dunn I think that the solution for this comes from mapping jbrowse through the servlet (see maven / test above) . . .

If we define the default route as /jbrowse/?loc=scf you can define other genomes into other routes:

/jbrowse/1?loc=scf /jbrowse/2?loc=scf

,etc. the servlet will either look to the symlink (if there), by default, or use the database to figure out what genome to talk to. Sep 9 at 6:53 pm - Edit - Delete Colin Diesh (colindiesh) Colin Diesh Another thing for the brainstorm list is having a selector on selectTracks.jsp for selecting which organism we want to browse to. Aug 25 at 1:15 pm - Reply - Delete Colin Diesh (colindiesh) Colin Diesh Here's a short brainstorm list of things that might need changing to support multiple genomes in one instance.

1) allowing multiple refSeqs.json to be specified in config.xml 2) allowing a list of organisms instead of a single organism config.xml 3) allowing multiple blat_config.xml files 4) allowing multiple chado hibernate.xml configs because exporting multiple species to the same chado database will take much longer to test than just exporting to separate chado databases 5) modifying the AnnotationEditorService API to take the species that is currently being edited so that annotations are "routed" to the right berkeleyDB 6) allowing multiple “prefixes” to be specified for each refSeq (e.g. normally we have Annotations-chr1 but if two genomes both have chr1, then we need to allow users to setup BeeAnnotations-chr1 and CowAnnotations-chr1 in their list).

hexylena commented 9 years ago

If there's any way to support multiple organisms from a single chado database with as little webapollo configuration required as possible, that would be extremely useful to us.

So if we can do that without reconfiguring webapollo, that would be ideal. I understand this isn't everyone's use case, so can be filed under "feature requets" :)

nathandunn commented 9 years ago

So multiple organisms will be supported in 2.0, a pretty major rewrite, and configuration will be very minimal: enter the organism name and the jbrowse data directory.

Chado export #145 will be added in 2.1. I'm going to move your comments there as I think it seems to make sense to support either.

hexylena commented 9 years ago

Ah, sounds good. Thanks @nathandunn

monicacecilia commented 9 years ago

This is done!!

selewis commented 9 years ago

Cheers! Huzzah!

On Wed, Apr 8, 2015 at 10:56 AM, Monica Munoz-Torres < notifications@github.com> wrote:

This is done!!

— Reply to this email directly or view it on GitHub https://github.com/GMOD/Apollo/issues/50#issuecomment-90987984.