Coder Social home page Coder Social logo

gmod / apollo Goto Github PK

View Code? Open in Web Editor NEW
124.0 124.0 85.0 180.56 MB

Genome annotation editor with a Java Server backend and a Javascript client that runs in a web browser as a JBrowse plugin.

Home Page: http://genomearchitect.readthedocs.io/

License: Other

Java 15.41% CSS 2.00% JavaScript 27.12% HTML 0.04% Python 0.05% Shell 0.51% Groovy 53.84% Perl 0.94% Dockerfile 0.09%
apollo genome-annotation-editor grails groovy gwt jbrowse jbrowse-plugin

apollo's People

Contributors

abretaud avatar anaome avatar childers avatar christabone avatar cmdcolin avatar deepakunni3 avatar enuggetry avatar garrettjstevens avatar gitter-badger avatar gregghelt2 avatar hexylena avatar hsiaoyi0504 avatar justaddcoffee avatar jwlin avatar kimrutherford avatar lgretton avatar luke-c-sargent avatar mbc32 avatar moffmade avatar monicacecilia avatar nathandunn avatar nehavc avatar razofz avatar rbelnap avatar rbuels avatar robsyme avatar s2kfan avatar spficklin avatar trstickland avatar yating-l avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apollo's Issues

Importing features should be able to (optionally) include metadata

From: http://gmod.827538.n3.nabble.com/Meta-data-from-evidence-tracks-td4046592.html

Question/Issue 1:

I noticed that when creating transcripts from evidence, that all meta data (like ‘description, dbxref) are lost. This is a bit of a problem, since my workflow/rationale looks like this:

  • create annotation with maker
  • functionally annotate maker annotation
  • load as track into WebApollo
  • Manual verify transcript structures/meta data and add to user-curated track (changing the models significantly would of course require the curator to remove the meta data)
  • Save curated annotations to Chado DB
  • Load curated annotations to Jbrowse portal from Chado

So I hadn’t intended to ever take the annotations out of the database again - but if the meta data is always lost in this processing chain, I would basically have to dump out the WebApollo annotation, functionally annotate it and then load it into JBrowse as a flat file. Which to me defeats the purpose a little bit of being able to store WebApollo transcript models to chado and so on (in my use case anyway).

Add multiple editor (owners) tag to exported gff3/json

Currently the exported gff3 contains a field for owner, which is the user that created that model.
Our usage tracking would be greatly enhanced if the exported gff3 would also include an 'editor' tag, which consists of a list of all users that modified the model.

annotate genes split across scaffolds

  • allow annotation of features when second contiguous projection
  • annotation when second contiguous projection can be projected off-site (or not at all)
  • test annotation when cross annotation (not folded)
  • test annotation when folded (and with padding)
  • getFeatures should project properly
    • projecting in ref seq is failing
    • fix offset no-exon projection when annotating locally (and viewing without projections) if second contiguous one
  • projections for the latter half lose strand
  • projecting with "padding" fails in HTMLFeatures (loses latter half)
  • handle proper gene name
  • handle proper transcript name
  • verify doing an annotation correctly
  • fix naming schema for cross-scaffold scheming
  • verify doing an annotation across scaffolds
  • feature event should publish back properly:
    • make sure that the "Bookmark" is being sent back over the wire
    • also subscribe to any sequence ids, as well.

Several of our groups are struggling with annotating genes that are split across scaffolds. I imagine you guys have discussed the feasibility of this before… This isn’t really a feature request, but I wanted to put it on your radar as something that annotators of very fragmented assemblies are dealing with. We looked a bit into the gff3 and chado support for gene features split across reference sequences - it appears that gff3 supports having one feature with a single ID (without having a parent feature grouping them), but the chado bulk loader doesn’t. There also doesn’t appear to be a CV term in SO that describes a gene split between sequences due to assembly fragmentation – which could potentially be used as a parent feature for these situations. So, I can see where there would be issues both in figuring out the best way to visualize split genes, as well as how this should be represented in gff3 or chado.

Change Track Name

We are trying to manage multiple instances of WebApollo using the same user database. We are handling it in this way:

  1. Each instance of WebApollo has it's own config.xml file with the annotation_track_name element customized with a unique project name.
  2. Reference sequences are prepared using the extract_seqids_from_fasta.pl and are given a prefix (-p option) that matches the project name. This ensures that if there are two or more sequences from different projects with the same name that there won't be any conflicts.

But, I am having a problem with JBrowse in that it doesn't want to show the annotation track. This happens because JBrowse calls the AnnotationEditorService servlet and passes the track name as "Annotations" rather than the project name that was listed in the config.xml file. WebApollo returns that read permissions is not available for the track named 'Annotations-[seq name]'. It really should be checking the permission for the track named '[Project Name]-[seq name]'.

The problem seems to occur because the track name 'Annotations' is hard-coded on line 56 and 155 of the add-webapollo-plugin.pl perl script. If I edit the trackList.json file and change the track name to be the project name then JBrowse works just fine.

Would it be possible to add a command-line argument to that script to allow us to set the track name?

Thanks

add appropriate NCBI validation checks

Requested these checks from NCBI. I think it would make sense for ALL users to have access to most of these. I think it would make sense for them to choose which errors / warnings they want to see (its possible that some might be slow). I think that many of these may come on the newer UI.

Genome insertion trigers recalculate CDS on non-coding features

If a sequence insertion is made on the exon for a feature, Web Apollo calculates the longest CDS. This is a problem for non-coding features, which are not supposed to have CDS features.
Here is an example:

Scaffold1   WebApollo   gene    870322  875660  .   +   .   Name=73DAC4E888056EE3754995061F15375C;
Scaffold1   WebApollo   tRNA    870322  875660  .   +   .   Name=LdecTmpM001045-RA;
Scaffold1   WebApollo   exon    871543  871777  .   +   .   Name=C3C416C288FA09E123B0F0F225FC685E;
Scaffold1   WebApollo   exon    870322  870366  .   +   .   Name=5B5C479A0399008A64FA8D01EF3813CE;
Scaffold1   WebApollo   exon    873246  873730  .   +   .   Name=8835B8B0B924A447756DFBD92D945E67;
Scaffold1   WebApollo   exon    875510  875660  .   +   .   Name=8DB97ABB2C1623E701E05FEE5B4E454F;

After adding insertion:

Scaffold1   WebApollo   gene    870322  875660  .   +   .   Name=73DAC4E888056EE3754995061F15375C;
Scaffold1   WebApollo   tRNA    870322  875660  .   +   .   Name=LdecTmpM001045-RA;
Scaffold1   WebApollo   exon    871543  871777  .   +   .   Name=C3C416C288FA09E123B0F0F225FC685E;
Scaffold1   WebApollo   exon    870322  870366  .   +   .   Name=5B5C479A0399008A64FA8D01EF3813CE;
Scaffold1   WebApollo   CDS 870329  870366  .   +   0   Name=BE5E8F6277CB18AEDD3684C093B5E99C-CDS;
Scaffold1   WebApollo   CDS 871543  871777  .   +   2   Name=BE5E8F6277CB18AEDD3684C093B5E99C-CDS;
Scaffold1   WebApollo   CDS 873246  873730  .   +   0   Name=BE5E8F6277CB18AEDD3684C093B5E99C-CDS;
Scaffold1   WebApollo   CDS 875510  875625  .   +   2   Name=BE5E8F6277CB18AEDD3684C093B5E99C-CDS;
Scaffold1   WebApollo   exon    873246  873730  .   +   .   Name=8835B8B0B924A447756DFBD92D945E67;
Scaffold1   WebApollo   exon    875510  875660  .   +   .   Name=8DB97ABB2C1623E701E05FEE5B4E454F;

Overlapper issue

  • Overlapper issue - Not sure what the deal is, but it might be worth noting that we're using the November 2013 WA version for this particular genome (didn't want to deal with updating issues while people were actively annotating).

Error when annotating more than 20 isoforms.

From Monical Poelchau:
"One of our annotators is working on a gene model with ~20 isoforms. When attempting to drag more evidence into the user-created annotations track in the area of this gene model, we get the error 'Error writing transcript:null'. Catalina.out output is pasted below."

java.lang.NullPointerException
at org.gmod.gbol.bioObject.CDS.overlaps(CDS.java:187)
at org.bbop.apollo.web.overlap.OrfOverlapper.overlaps(OrfOverlapper.java:28)
at org.bbop.apollo.web.overlap.OrfOverlapper.overlaps(OrfOverlapper.java:17)
at org.bbop.apollo.web.AnnotationEditorService.addTranscript(AnnotationEditorService.java:3892)
at org.bbop.apollo.web.AnnotationEditorService.addTranscript(AnnotationEditorService.java:1202)
at org.bbop.apollo.web.AnnotationEditorService.addTranscript(AnnotationEditorService.java:1186)
at org.bbop.apollo.web.AnnotationEditorService.doPost(AnnotationEditorService.java:403)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

Support Multiple Genomes in a single instance

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).

Export Chado - error message.

On the Demo site,
in the 'Select Reference Sequence' window,
when selecting File > Export > Chado for a scaffold, or a group of scaffolds,
Web Apollo issues an error, hanging with the message: "Data Adapter. Error writing Chado".

screen shot 2014-04-02 at 12 30 44 pm

Activating edge matching on the selected feature even when no feature in other track aligns with the selected feature is confusing.

So I select a feature and its edges do not match with any other feature in all tracks displayed. Yet, left-edge-match and right-edge-match classes are applied to the selected feature. This is confusing because a user will be tempted to scroll down to look for corresponding edge-matched feature and find none.

This happens because FeatureEdgeManager iterates through all tracks including the one containing the selected feature and thus matches the selected feature with itself. A feature will always edge-match on to itself.

Following rough patch (git diff) is a fix. I can send a PR if you agree.

diff --git a/www/JBrowse/FeatureEdgeMatchManager.js b/www/JBrowse/FeatureEdgeMatchManager.js
index cdb483c..5ae1227 100644
--- a/www/JBrowse/FeatureEdgeMatchManager.js
+++ b/www/JBrowse/FeatureEdgeMatchManager.js
@@ -92,8 +92,8 @@ var FeatureEdgeMatchManager = declare(null, {
             var target_track = trackdiv.track;
             // only DraggableHTMLFeatures and descendants should have track.edge_matching_enabled
             if (target_track && target_track.store && target_track.edge_matching_enabled)  {
-                if (verbose_edges)  {
-                    console.log("edge matching for: " + target_track.name);
+                if (target_track === rec.track) {
+                    return;
                 }

                 var featureStore = target_track.store;
@@ -125,6 +125,9 @@ var FeatureEdgeMatchManager = declare(null, {

                                     var ssmin = ssfeat.get('start');
                                     var ssmax = ssfeat.get('end');
+
+                                    var ssubdiv = rec.track.getFeatDiv(ssfeat);
+                                    var $ssubdiv = $(ssubdiv);
                                     for (var k=0; k < target_subfeats.length; k++)  {
                                         var tsfeat = target_subfeats[k];
                                         var tstype = tsfeat.get('type');
@@ -142,9 +145,11 @@ var FeatureEdgeMatchManager = declare(null, {
                                                     var $tsubdiv = $(tsubdiv);
                                                     if (ssmin === tsmin)  {
                                                         $tsubdiv.addClass("left-edge-match");
+                                                        $ssubdiv.addClass("left-edge-match");
                                                     }
                                                     if (ssmax === tsmax)  {
                                                         $tsubdiv.addClass("right-edge-match");
+                                                        $ssubdiv.addClass("right-edge-match");
                                                     }
                                                 }
                                             }

Add encrypted user database

Specifications:

Allow user to migrate to encrypted version easily
Using encrypted version is optional (not forced on users when upgrading versions)
Should be supported by both java and perl components
Ideally use standard crypt format

This was started previously here:

b25780b
79d4392

But then reverted here 6278a44

Bug in JBrowse authentication in development code.

At the hackaton this past January, some changes were made to the server/WebApollo/src/org/bbop/apollo/web/Login.java file to support OAuth authentication. It changed the way HTTP GETs were handled. This inadvertantly broke the logins through JBrowse. I have committed a fix to my forked copy of Apollo, and I have a patch I can supply.

Add ability to drop down a boundary line, or set a line that stays on a coordinate, as a point of reference

  • Ability to bookmark a set of favorite 'locations' so that user's can come back and hop between them.
  • Create the ability to mark things after executing searches. For instance dropping a pin after reaching a specific nucleotide coordinate, or a 'line' marking a range of interest.
  • f I have a list of sites that I want to keep checking, does WebApollo have a way to look through a list of regions you want to look up?
    WAP team answer: we are in the process of generating a tool to bookmark a region. It would be also useful to have the ability to find a region using GO searches, or other terms.

Suzi, please revise and clarify 'Bookmarking' here and on the Trello card that reads 'Adding ability to drop down a boundary line, or set a line that stays on a coordinate, as a point of reference', which has a 'Bookmarking' comment

Support of community level private evidence tracks

Some of our annotation communities have private data they would like to make available to the annotators but not the public. Could you implement a category of track that is only visible if you are logged in and have read permissions?

GFF3 exports bad coordinates

2014-10-04 22:59 GMT-04:00 Daniel Hughes [email protected]:
aha, the very last buggy model:

gff is 1-based coordinates - but the problem is probably the same sort of thing as before given the GBOL that follows the gff - it'd take looking at it properly to see what's going on as updating the start to either 1 or 2 results in stops in the coding sequence:

sequence-region Scaffold6154 1 10437

Scaffold6154 WebApollo gene 0 7739 . + . Name=A464CB0E837997D1C1D87DDEDDB8E0BB;date_creation=2014-07-2;owner=[email protected];ID=A464CB0E837997D1C1D87DDEDDB8E0BB;date_last_modified=2014-07-2
Scaffold6154 WebApollo mRNA 0 7739 . + . Name=Scaffold6154:75-606;date_creation=2014-07-2;Parent=A464CB0E837997D1C1D87DDEDDB8E0BB;owner=[email protected];ID=CC2EB7C7C3624151D93F1A98191540FA;date_last_modified=2014-07-2
Scaffold6154 WebApollo exon 0 726 . + . Name=3D2A22D0A9059B01D465618B00B659BB;date_creation=2014-07-2;Parent=CC2EB7C7C3624151D93F1A98191540FA;owner=[email protected];ID=3D2A22D0A9059B01D465618B00B659BB;date_last_modified=2014-07-2
Scaffold6154 WebApollo CDS 2 726 . + 0 Name=CC2EB7C7C3624151D93F1A98191540FA-CDS;date_creation=2014-07-2;Parent=CC2EB7C7C3624151D93F1A98191540FA;owner=[email protected];ID=CC2EB7C7C3624151D93F1A98191540FA-CDS;Note=Manually set translation start;date_last_modified=2014-07-2
Scaffold6154 WebApollo CDS 7449 7725 . + 2 Name=CC2EB7C7C3624151D93F1A98191540FA-CDS;date_creation=2014-07-2;Parent=CC2EB7C7C3624151D93F1A98191540FA;owner=[email protected];ID=CC2EB7C7C3624151D93F1A98191540FA-CDS;Note=Manually set translation start;date_last_modified=2014-07-2
Scaffold6154 WebApollo exon 7449 7739 . + . Name=81268E97CF1F24E9DC7053C58897FB0D;date_creation=2014-07-2;Parent=CC2EB7C7C3624151D93F1A98191540FA;owner=[email protected];ID=81268E97CF1F24E9DC7053C58897FB0D;date_last_modified=2014-07-2

typename : gene, type : sequence:gene - chado uniquename : A464CB0E837997D1C1D87DDEDDB8E0BB : -1 - 7739
typename : mRNA - chado uniquename : CC2EB7C7C3624151D93F1A98191540FA : -1 - 7739
typename : exon - chado uniquename : 3D2A22D0A9059B01D465618B00B659BB : -1 - 726
typename : CDS - chado uniquename : CC2EB7C7C3624151D93F1A98191540FA-CDS : 1 - 7725
typename : exon - chado uniquename : 81268E97CF1F24E9DC7053C58897FB0D : 7448 - 7739

before i forget - the GBOL versions:

typename : gene, type : sequence:gene - chado uniquename : 2C0BB5880CD39A3BC6DCD557B7E51543 : 2147483647 - -2147483648
typename : mRNA - chado uniquename : D3D8D326733984FD60F20D6C98668F7E : 2147483647 - -2147483648
typename : CDS - chado uniquename : D3D8D326733984FD60F20D6C98668F7E-CDS : 258637 -

typename : gene, type : sequence:gene - chado uniquename : B38042A319EE29716CDD8F798F737ADD : 2147483647 - -2147483648
typename : mRNA - chado uniquename : 9208823E7608CEE5F5BC46775904F31E : 2147483647 - -2147483648
typename : CDS - chado uniquename : 9208823E7608CEE5F5BC46775904F31E-CDS : 913924 - 913936

typename : gene, type : sequence:gene - chado uniquename : E75DF9601260F1A386B30CA0191F3AD3 : 2147483647 - -2147483648
typename : mRNA - chado uniquename : EBED00783D648B17E71C60DD46CA6FEF : 2147483647 - -2147483648
typename : CDS - chado uniquename : EBED00783D648B17E71C60DD46CA6FEF-CDS : 912483 - 912513

first chance i've had to look at this since last week and was just building an ensembl db to simplify a few tasks when i noticed there seems to be what i'm guessing is a 32-bit signed integer overflow issue for coords:

2^31=2147483648

Scaffold1001 WebApollo gene -2147483648 -2147483648 . - . Name=2C0BB5880CD39A3BC6DCD557B7E51543;date_creation=2014-04-13;owner=gyocum;ID=2C0BB5880CD39A3BC6DCD557B7E51543;date_last_modified=2014-04-13
Scaffold1001 WebApollo mRNA -2147483648 -2147483648 . - . Name=Scaffold1001:258637-258738;date_creation=2014-04-13;Parent=2C0BB5880CD39A3BC6DCD557B7E51543;owner=gyocum;ID=D3D8D326733984FD60F20D6C98668F7E;date_last_modified=2014-04-13
Scaffold51 WebApollo gene -2147483648 -2147483648 . - . Name=B38042A319EE29716CDD8F798F737ADD;date_creation=2014-04-19;owner=gyocum;ID=B38042A319EE29716CDD8F798F737ADD;date_last_modified=2014-04-19
Scaffold51 WebApollo mRNA -2147483648 -2147483648 . - . Name=Scaffold51:913919-913967;date_creation=2014-04-19;Parent=B38042A319EE29716CDD8F798F737ADD;owner=gyocum;ID=9208823E7608CEE5F5BC46775904F31E;date_last_modified=2014-04-19
Scaffold51 WebApollo gene -2147483648 -2147483648 . + . Name=E75DF9601260F1A386B30CA0191F3AD3;date_creation=2014-04-19;owner=gyocum;ID=E75DF9601260F1A386B30CA0191F3AD3;date_last_modified=2014-04-19
Scaffold51 WebApollo mRNA -2147483648 -2147483648 . + . Name=Scaffold51:912412-912513;date_creation=2014-04-19;Parent=E75DF9601260F1A386B30CA0191F3AD3;owner=gyocum;ID=EBED00783D648B17E71C60DD46CA6FEF;date_last_modified=2014-04-19

dan

Add button to 'History' window.

Add a button to revert the model to a specific version in the 'History' window options. This would replace the right-click function to change back to that model.
Suggested label for the button: 'Revert to this version'.

Connection problems lead to stalling edits.

  1. Users are experiencing problems when trying to change an exon boundary.
    The behaviour includes:
  2. the boundary bounces back and remains unchanged
  3. after refreshing (cleaning cache) the boundary can be changed
  4. after refreshing (cleaning cache) the boundary is ALREADY changed

The problem may be the result of latency issues, connection timeouts, or connection lag. It could be also the result of intermittent connections on WiFi, resulting in users attempting to connect to a no-longer-existent session.

Users are experiencing a similar problem when trying to delete an exon.
The behaviour includes:

  • deleting the exon with the right-click menu, but seeing the exon still displayed on the screen
  • attempting to delete the exon for a second (and subsequent) times leads to error messages from Web Apollo stating that the exon cannot be deleted because it does not exist.

Example error log from user:
(from localhost.2014-07-14.log):

Jul 14, 2014 10:35:57 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [org.bbop.apollo.web.AnnotationEditorService] in context with path [/cimlec] threw exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1904)
at org.bbop.apollo.editor.AnnotationEditor.setTranslationStart(AnnotationEditor.java:352)
at org.bbop.apollo.editor.AnnotationEditor.setTranslationStart(AnnotationEditor.java:313)
at org.bbop.apollo.editor.AnnotationEditor.calculateCDS(AnnotationEditor.java:466)
at org.bbop.apollo.web.AnnotationEditorService.calculateCDS(AnnotationEditorService.java:2078)
at org.bbop.apollo.web.AnnotationEditorService.calculateCDS(AnnotationEditorService.java:2073)
at org.bbop.apollo.web.AnnotationEditorService.setExonBoundaries(AnnotationEditorService.java:2556)
at org.bbop.apollo.web.AnnotationEditorService.doPost(AnnotationEditorService.java:561)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)

Forced ASCII sort on tracks in non-simple mode

I've noticed that our tracks are now displayed as an ASCII sotred list (CAPS first), as opposed to being defined in one of the configuration files. Does anyone know where this can be reset?

If I reset the trackSelector type to Simple, it reverts back to our pre-defined order, but we lose the advantages of the new selector. Is there a way to have the best of both worlds?

Exporting FASTA per selected region, not per scaffold.

I may have misunderstood this, but I thought this was already possible? If so, how?
I am re-opening an issue, just to make sure.

cheers,
~moni.

Anthony Bretaudeau wrote (March 3, 2014):
"On WebApollo, when I zoom to a specific region, I would like to be able to extract the fasta sequence corresponding to the selected region.
This is possible in JBrowse by clicking on the Reference Sequence track menu -> "Save track data " and selecting the FASTA format.
Is there a way to do it in WebApollo? The only formats available in the "Save Track data" dialog are GFF3, BED and Sequin Table"

Ed Lee responded:
"We currently don't have that functionality in WebApollo. WebApollo's reference sequence track is quite different than JBrowse's reference sequence track so they have different functionality. We can look into porting that functionality for a future release."

highlight feature via API

selectTrack.jsp will hang for large data

Chris C reported that the selectTracks.jsp hangs sometimes.

I think it is getting a timeout because it is loading ALL of the tracks into the page. They said they have up to 100K, so that might be problematic to load that much data in.

Offending exon with "non canonical" (and non existent) boundaries, and an artificial intron

After inspecting a gene model on the bedbug instance of Web Apollo, I learned that Apollo is acting as though there is an intron of length = 0bp. (the previous exon "ends" one position (bp) before). I discovered the error by using the square brackets [] to move between exons.

Below are Console erros, as well as the fragment of the .css that describes non-canonical warning in the offending exon.

This is what the "non canonical" image looks like, located in the middle of an exon.
Apollo seems to think that there is an intron of length = 0bp, and it is indicating that it has non-canonical splice sites.

The element in the css style sheet is identified as:

Elements
element.style {
left: 3.333818605328286%;
width: 0%;
}
.noncanonical-splice-site, .plus-noncanonical-splice-site, .minus-noncanonical-splice-site {
margin-left: -8px;
/* margin-top: -11px; /
margin-top: 9px;
padding-left: 8px;
padding-right: 8px;
position: absolute;
height: 16px;
z-index: 100;
background-color: transparent;
background-image: url('../img/exclamation_circle_orange.png');
pointer-events: none;
/
background-image: url('img/exclamation_circle_orange.png'); /
/
background-image: url('img/warning_exclamation_small.png'); /
/
background-image: url('img/warning_exclamation.png'); /
/
background-image: url('img/marker_rounded_red.png'); /
/
background-image: url('img/marker_squared_red.png'); */
}
.subfeature, .plus-subfeature, .minus-subfeature {
position: absolute;
background-color: #dadada;
height: 7px;
min-width: 1px;
z-index: 12;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
}
body, div, dl, dt, dd, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
}
user agent stylesheetdiv {
display: block;
}
Inherited from div.feature.plus-annot.ui-droppable
.feature, .plus-feature, .minus-feature {
position: absolute;
height: 7px;
background-repeat: repeat-x;
cursor: pointer;
min-width: 1px;
z-index: 10;
background-color: #eee;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
}
Inherited from div.trackContainer.innerTrackContainer.draggable.dojoDndSource.dojoDndTarget.dojoDndContainerOver
.draggable {
cursor: move;
}
Inherited from body.tundra
html, body {
height: 100%;
width: 100%;
padding: 0;
border: 0;
font-size: 12px;
font-family: Univers,Trebuchet MS,Helvetica,Arial,sans-serif;
}
body {
font: 12px Myriad,Helvetica,Tahoma,Arial,clean,sans-serif;
}
Inherited from html.dj_webkit.dj_chrome.dj_contentbox.has-webkit.has-no-quirks
html, body {
height: 100%;
width: 100%;
padding: 0;
border: 0;
font-size: 12px;
font-family: Univers,Trebuchet MS,Helvetica,Arial,sans-serif;
}

The error console looks like this:

Error Console:
loaded WebApollo plugin main.js:36
In JBrowse configuration, datasets specified, but dataset_id not set. Dataset selector will not be shown. Browser.js:550
The page at 'https://apollo.nal.usda.gov/cimlec/jbrowse/?loc=Scaffold4%3A8930608..894284…%2CTranscriptome%20models%2Ccimlec_RNA_female%2Ccimlec_RNA_male&highlight=' was loaded over HTTPS, but displayed insecure content from 'http://jbrowse.org/analytics/clientReport?ver=development&refSeqs-count=140…FWiggle%2FDensity=2&track-types-JBrowse%2FView%2FTrack%2FWiggle%2FXYPlot=1': this content should also be loaded over HTTPS.
?loc=Scaffold4%3A8930608..8942847&tracks=DNA%2CAnnotations%2Ccimlec_current_models%2Caugustus_maske…:1
Store statistics: Clec_RNA-Adult-Female_300Bp_ICD_CLI5RP.bam
Object
GlobalStatsEstimationMixin.js:55
Store statistics: Clec_RNA-Adult-Male_300Bp_ICD_CLI5RP.bam
Object {featureDensity: 0.0253515625, _statsSampleFeatures: 649, _statsSampleInterval: Object}
GlobalStatsEstimationMixin.js:55
GET https://apollo.nal.usda.gov/cimlec/jbrowse/data/seq/140/168/b9/Scaffold4-446.txt net::ERR_CONNECTION_TIMED_OUT xhr.js:206
xhr xhr.js:206
provider.(anonymous function) util.js:101
declare._fetchChunk SequenceChunks.js:113
(anonymous function) SequenceChunks.js:86
declare.getFeatures SequenceChunks.js:105
declare.getReferenceSequence SeqFeature.js:169
declare.fillBlock SequenceTrack.js:380
declare._showBlock BlockBased.js:554
declare.showRange BlockBased.js:281
inherited declare.js:189
declare.showRange DraggableHTMLFeatures.js:1092
(anonymous function) GenomeView.js:2000
declare.trackIterate GenomeView.js:2249
declare.showVisibleBlocks GenomeView.js:1999
declare.zoomUpdate GenomeView.js:1913
(anonymous function) GenomeView.js:1792
Animation.stop Animation.js:62
Animation.animate Animation.js:30
Animation.animFunction

After attempting to modify the boundary to go from 5' end towards the 3' end of the offending exon, and trying to pass the 'non-canonical' features, the error log included a "SyntaxError" due to an "Unexpected token", which I imagine was caused by the non-canonical signal.

This is the error log in the console:

SyntaxError {stack: (...), message: "Unexpected token <"}
message: "Unexpected token <"
stack: (...)
get stack: function () { [native code] }
set stack: function () { [native code] }
proto: Error
"SyntaxError: Unexpected token <
at declare.handleError (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:4428:54)
at https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:5534:16
at signalListener (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:37:21)
at signalWaiting (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:28:4)
at reject.reject (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:219:5)
at signalDeferred (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:84:15)
at signalListener (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:58:4)
at signalWaiting (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:28:4)
at reject.reject (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:219:5)
at signalDeferred (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:84:15)
----------------------------------------
rejected at signalDeferred (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:84:15)
at signalListener (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:55:5)
at signalWaiting (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:28:4)
at reject.reject (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:219:5)
at signalDeferred (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:84:15)
at signalListener (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:58:4)
at signalWaiting (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:28:4)
at reject.reject (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:219:5)
at signalDeferred (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:84:15)
at signalListener (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:55:5)
----------------------------------------
Error
at Promise.then.promise.then (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/Deferred.js:252:24)
at declare.executeUpdateOperation (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:5526:12)
at HTMLDivElement.$.resizable.stop (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:767:31)
at Object.$.Widget._trigger (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jqueryui/widget.js:268:13)
at Object.$.widget._propagate (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jqueryui/resizable.js:525:26)
at Object.$.widget._mouseStop (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jqueryui/resizable.js:342:8)
at Object.$.widget._mouseUp (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jqueryui/mouse.js:138:9)
at HTMLDocument._mouseUpDelegate (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jqueryui/mouse.js:94:16)
at HTMLDocument.jQuery.event.dispatch (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jquery/jquery.js:3256:9)
at HTMLDocument.elemData.handle.eventHandle (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/jslib/jquery/jquery.js:2875:46)" instrumentation.js:18

I then tried to pull up the Annotation Information Editor,

First, the request was not sent to the server.
Later, Web Apollo failed at retrieving the AIE, and threw two errors. These three errors are shown below:

POST https://apollo.nal.usda.gov/cimlec/AnnotationEditorService xhr.js:206
xhr xhr.js:206
dojo.xhr xhr.js:607
dojo.rawXhrPost.dojo.xhrPost xhr.js:644
declare.getAnnotationInfoEditorConfigs AnnotTrack.js:2024
declare.getAnnotationInfoEditorForSelectedFeatures AnnotTrack.js:1997
declare.getAnnotationInfoEditor AnnotTrack.js:1985
annot_context_menu.addChild.dijit.MenuItem.onClick AnnotTrack.js:4730
declare.onItemClick _MenuBase.js:258
(anonymous function) _MenuBase.js:65
(anonymous function) on.js:198
(anonymous function) a11yclick.js:84
DOMException {message: "Failed to execute 'send' on 'XMLHttpRequest': Fail…llo.nal.usda.gov/cimlec/AnnotationEditorService'.", name: "NetworkError", code: 19, stack: "Error: Failed to execute 'send' on 'XMLHttpRequest….gov/cimlec/jbrowse/src/dijit/_MenuBase.js:65:10)", response: Object…}
code: 19
message: "Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://apollo.nal.usda.gov/cimlec/AnnotationEditorService'."
name: "NetworkError"
response: Object
responseText: undefined
stack: "Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://apollo.nal.usda.gov/cimlec/AnnotationEditorService'.↵ at Error (native)↵ at xhr (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/request/xhr.js:206:9)↵ at Object.dojo.xhr (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/_base/xhr.js:607:11)↵ at Object.dojo.rawXhrPost.dojo.xhrPost (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dojo/_base/xhr.js:644:15)↵ at declare.getAnnotationInfoEditorConfigs (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:2024:11)↵ at declare.getAnnotationInfoEditorForSelectedFeatures (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:1997:15)↵ at declare.getAnnotationInfoEditor (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:1985:14)↵ at annot_context_menu.addChild.dijit.MenuItem.onClick (https://apollo.nal.usda.gov/cimlec/jbrowse/plugins/WebApollo/js/View/Track/AnnotTrack.js:4730:16)↵ at declare.onItemClick (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dijit/_MenuBase.js:258:46)↵ at HTMLTableRowElement. (https://apollo.nal.usda.gov/cimlec/jbrowse/src/dijit/_MenuBase.js:65:10)"
status: undefined
xhr: XMLHttpRequest
proto: DOMException
xhr.js:432
_deferError xhr.js:432
(anonymous function) xhr.js:392
notify Deferred.js:187
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:202
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:202
complete Deferred.js:168
reject.errback Deferred.js:230
(anonymous function) xhr.js:627
signalListener Deferred.js:37
then.promise.then Deferred.js:258
lang.extend.otherwise Promise.js:115
dojo.xhr xhr.js:620
dojo.rawXhrPost.dojo.xhrPost xhr.js:644
declare.getAnnotationInfoEditorConfigs AnnotTrack.js:2024
declare.getAnnotationInfoEditorForSelectedFeatures AnnotTrack.js:1997
declare.getAnnotationInfoEditor AnnotTrack.js:1985
annot_context_menu.addChild.dijit.MenuItem.onClick AnnotTrack.js:4730
declare.onItemClick _MenuBase.js:258
(anonymous function) _MenuBase.js:65
(anonymous function) on.js:198
(anonymous function) a11yclick.js:84
TypeError {stack: (...), message: "Cannot read property 'sequence:gene' of undefined"}
xhr.js:432
_deferError xhr.js:432
(anonymous function) xhr.js:392
notify Deferred.js:187
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:198
complete Deferred.js:168
resolve.callback Deferred.js:215
notify Deferred.js:196
complete Deferred.js:168
resolve.callback Deferred.js:215
(anonymous function) xhr.js:619
signalListener Deferred.js:37
then.promise.then Deferred.js:258
dojo.xhr xhr.js:618
dojo.rawXhrPost.dojo.xhrPost xhr.js:644
init AnnotTrack.js:2137
declare.createAnnotationInfoEditorPanelForFeature AnnotTrack.js:3833
declare.getAnnotationInfoEditorForSelectedFeatures AnnotTrack.js:2002
declare.getAnnotationInfoEditor AnnotTrack.js:1985
annot_context_menu.addChild.dijit.MenuItem.onClick AnnotTrack.js:4730
declare.onItemClick _MenuBase.js:258
(anonymous function) _MenuBase.js:65
(anonymous function) on.js:198
(anonymous function) a11yclick.js:84
TypeError {stack: (...), message: "Cannot read property 'sequence:mRNA' of undefined"}
message: "Cannot read property 'sequence:mRNA' of undefined"
stack: (...)
get stack: function () { [native code] }
set stack: function () { [native code] }
proto: Error
xhr.js:432
_deferError xhr.js:432
(anonymous function) xhr.js:392
notify Deferred.js:187
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:198
complete Deferred.js:168
resolve.callback Deferred.js:215
notify Deferred.js:196
complete Deferred.js:168
resolve.callback Deferred.js:215
(anonymous function) xhr.js:619
signalListener Deferred.js:37
then.promise.then Deferred.js:258
dojo.xhr xhr.js:618
dojo.rawXhrPost.dojo.xhrPost xhr.js:644
init AnnotTrack.js:2137
declare.createAnnotationInfoEditorPanelForFeature AnnotTrack.js:3833
declare.getAnnotationInfoEditorForSelectedFeatures AnnotTrack.js:2007
declare.getAnnotationInfoEditor AnnotTrack.js:1985
annot_context_menu.addChild.dijit.MenuItem.onClick AnnotTrack.js:4730
declare.onItemClick _MenuBase.js:258
(anonymous function) _MenuBase.js:65
(anonymous function) on.js:198
(anonymous function) a11yclick.js:84

Later, Web Apollo did not let me grab an exon to add it to a feature.
I was unable to drag the element from the Evidence tracks (any evidence tracks) to add it as an exon to the desired new annotation.

The error went away after reloading and cleaning the cache.

the errors in the console read like so (repeatedly):

Uncaught TypeError: Cannot read property 'domNode' of null DraggableHTMLFeatures.js:917
declare.handleFeatureDragSetup DraggableHTMLFeatures.js:917
declare.onFeatureMouseDown DraggableHTMLFeatures.js:787
(anonymous function) lang.js:373
jQuery.event.dispatch jquery.js:3256
elemData.handle.eventHandle jquery.js:2876

It is not possible to retrieve the entire Sequence of the gene model with the fake intron. An "Unexpected token" is also apparent and disruptive.

The error console reads:

SyntaxError {stack: (...), message: "Unexpected token <"}
message: "Unexpected token <"
stack: (...)
get stack: function () { [native code] }
arguments: null
caller: null
length: 0
name: ""
prototype: Object
constructor: function () { [native code] }
arguments: null
caller: null
length: 0
name: ""
prototype: Object
constructor: function () { [native code] }
arguments: null
caller: null
length: 0
name: ""
prototype: Object
proto: function Empty() {}

proto: Object
proto: function Empty() {}

proto: Object
proto: function Empty() {}

set stack: function () { [native code] }
proto: Error
xhr.js:432
_deferError xhr.js:432
(anonymous function) xhr.js:392
notify Deferred.js:187
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:198
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:202
complete Deferred.js:168
reject.errback Deferred.js:230
notify Deferred.js:202
complete Deferred.js:168
reject.errback Deferred.js:230
(anonymous function) xhr.js:627
signalListener Deferred.js:37
signalWaiting Deferred.js:28
reject.reject Deferred.js:219
signalDeferred Deferred.js:84
signalListener Deferred.js:58
signalWaiting Deferred.js:28
reject.reject Deferred.js:219
signalDeferred Deferred.js:84
signalListener Deferred.js:58
signalWaiting Deferred.js:28
reject.reject Deferred.js:219
signalDeferred Deferred.js:84
signalListener Deferred.js:55
signalWaiting Deferred.js:28
reject.reject Deferred.js:219
signalDeferred Deferred.js:84
signalListener Deferred.js:58
signalWaiting Deferred.js:28
reject.reject Deferred.js:219
handleResponse xhr.js:54
onLoad xhr.js:76

GFF3 output phase wrong

From Marc Hoppner:

I apologise if this was already discussed (couldn’t find anything) - but with the latest version of WebApollo I am seeing some worrying issues with CDS features. Basically, all phases are wrong after importing the GFF file into WA and then dumping it again through the web interface. One example - the input was a Maker-derived annotation, which was loaded as track, the annotation was moved to the user track and dumped out as GFF3:

...

Bug on reference sequence track when hiding

If you are not logged into WebApollo, and you zoom-in to the base level, and then zoom back out, there is a shadow that covers up other tracks where the reference track was.

Unable to use edge matching to "set as x' end"

Function to use edge matching to "set as 3' (or 5') end" does not work with RNAseq data on Amel demo in icebox as of July 15, 2014. This function was working well until first week of June 2014.

No error log captured yet.

Feature request for add-bw-track.pl

Typo in help: the usage text refers to the program as "add_bw_track.pl", where is should be "add-bw-track.pl"

There are options I manually set that are usable, but not recognized as command line set parameters. I would like these parameters as optional command line options.
"clip_marker_color"
"height"
"bg_color"

No record of feature deletion

Could you add a trigger to log when a user deletes an annotation? Ideally it would have the id for the deleter, the locus of the feature and the creator of the deleted feature. If this is just a tab-delimited text file in the directory it would be great. If it was viewable for admins through the admin menu it would be even better.

extend mRNA causes 500 error

Notes from Asela:

Hello All,

I have 4 different genomes running as separate webapollo instances on the same tomcat7 server. Issue 2 stated below occurred only on one instance, and the others are running just fine.

  1. jbrowse/data symlink : META-INF/context.xml -> WEB-INF/context.xml

I continued to have problems with loading data when a symlink was used as the data folder. After googling, I copied the META-INF/context.xml file into WEB-INF folder and now it seems to have solved the issue. The idea was to add a xml file with . (I am not sure whether this caused the error stated next.)

  1. extending mRNA sometimes success sometimes failure.

Now I am faced with this very peculiar issue when I try to extend the mRNA. Sometimes I am able to extend it and sometimes I cannot and It gives an error . Then when I flip the strand of the mRNA back and forth, then I can extend the mRNA. I played around with this issue for some time and narrowed it down to the following scenario with the corresponding error messages on the tomcat7 log.

    Action                                                                                                                                                               Error
Drag gene from evidence track to User Annotation track                                             "POST /myGenome/AnnotationEditorService HTTP/1.1" 200 466 and "GET /myGenome/AnnotationChangeNotificationService?track=Annotations-                               myGenome&dojo.preventCache=1411432103780 HTTP/1.1" 200 1963
Try to extend 5' end of mRNA                                                                                  "POST /myGenome/AnnotationEditorService HTTP/1.1" 500 1813
Right click -> Flip strand                                                                                          "POST /myGenome/AnnotationEditorService HTTP/1.1" 200 439 and  "GET /myGenome/AnnotationChangeNotificationService?track=Annotations-myGenome&dojo.preventCache=1411433032843 HTTP/1.1" 200 2070
Extend the new 5' end                                                                                             "POST /myGenome/AnnotationEditorService HTTP/1.1" 200 468 and "GET /myGenome/AnnotationChangeNotificationService?track=Annotations-myGenome&dojo.preventCache=1411433274515 HTTP/1.1" 200 2070
Right click -> Undo extension                                                                                  "POST /myGenome/AnnotationEditorService HTTP/1.1" 200 35 and "GET /myGenome/AnnotationChangeNotificationService?track=Annotations-myGenome&dojo.preventCache=1411433312796 HTTP/1.1" 200 1280
Right click -> Flip strand (now it is back to original form)                                            "GET /myGenome/AnnotationChangeNotificationService?track=Annotations-myGenome&dojo.preventCache=1411433413468 HTTP/1.1" 200 1277 and "POST /myGenome/AnnotationEditorService HTTP/1.1" 200 359 
Now extend the 5' end (This was the original intent)                                                   "GET /myGenome/AnnotationChangeNotificationService?track=Annotations-myGenome&dojo.preventCache=1411433482249 HTTP/1.1" 200 1277 and "POST /myGenome/AnnotationEditorService HTTP/1.1" 200 369 

Some times I can extend the mRNA in one go without all the flipping. While googling the error messages I came across this post that discussed a similar issue which is to do with sessions and tokens. jaredhanson/passport-twitter#12
I am not sure whether that will be helpful (I am not familiar with JSP development).

I am sure I have messed up something very small... Please point me to what it is...

Cheers,
Asela

Provide submenu when merging two different feature types.

In an instance using the November Web Apollo release (at NAL/USDA), several pseudogene annotations have an mRNA child feature. This is not biologically sound - and frankly should not be possible (check SO).

Monica Poelchau found this out after the annotator conducted the modifications. Neither her nor I have not been able to reproduce it.

screen shot 2014-09-11 at 1 00 56 am

"Combination tracks" using discrete features

JBrowse allows some interesting "combination tracks" to be declared on discrete features.

WebApollo is more limited in the sense that discrete features aren't allowed in WebApollo's Combination tracks.

Compare the behavior of regular JBrowse instance
http://jbrowse.org/code/JBrowse-1.11.5/?data=sample_data%2Fjson%2Fvolvox

With WebApollo (produces a red icon when trying to drop a "GFF" type track on the combination track)
http://icebox.lbl.gov/WebApolloDemoStaging/jbrowse/

Example of the dialog for combining discrete features in JBrowse

screenshot-jbrowse org 2014-10-14 16-42-47

The reason for this is because the allowed drag-and-drop track types are hardcoded in the JBrowse Combination track and WebApollo defines new tracktypes for DraggableHTMLFeatures

Allow arbitrary search (including notes field)

This will be provided as part of the refactor. How this works with the UI, I'm not sure.

==== Previous Note =====

I was considering this proposal to allow multiple name stores in JBrowse and struck me that it could be useful for webapollo as well GMOD/jbrowse: #499

There could be a REST API within WebApollo that serves up the names of the features that are annotated in the User-created annotations, along with the regular name stores from evidence tracks.

I can't be sure, but it might also be possible to allow searching of other fields (ie the Notes field) or other arbitrary metadata using the REST API (i mean, with the REST API, you can return any results that you want!).

I think indexing these types of metadata would actually be easier with the REST API compared with the regular generate-names.pl script which is fairly sophisticated.

properly handle BAD track additions

e.g., when importing a GFF3 file with both gene and mRNA on the same region into jbrowse, when the imported track is annotated, it causes an error, but still "adds" the annotation and leaves the database in an inconsistent state. It also is unclear what would be annotated, as well. We should disallow this type of annotation explicitly.

Missing LICENSE file

This information is missing in the git repo.
Also, although the paper says it's open source it doesn't specify which license.
If in doubt, I would recommend using the MIT license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.