forked from GMOD/jbrowse
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathrbuels_TODO.txt
106 lines (75 loc) · 4.33 KB
/
rbuels_TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
1. Need a perl build system for automated installation of the
Perl dependencies.
2. Java dependency for minifying javascript is unnecessary. Plenty of
CPAN modules can do this easily. No reason to add more languages
into the mix than just JavaScript and Perl.
3. All the JBrowse-internal perl modules should be moved into the
Bio::JBrowse namespace. (lowish-priority)
4. prepare_refseqs.pl memory usage is very high, 1GB when formatting
the tomato genome. This could probably be improved.
5. All perl scripts should use POD::Usage for their usage messages.
6. Consider using Config::General (which is Apache-conf-like) or YAML
as a config file format instead of JSON. These formats support
nesting, arrays, etc, and are much more pleasant for humans to read
and write.
7. Configuration docs need more examples, and at least a little bit of
graphic design. The GBrowse configuration docs do a pretty good
job.
Tabular key/value/type format of the conf key listing is
organized, but hard to read. At least add some cell padding to
the table.
Need section headings, also. It's too hard skim and find what you
want.
8. flatfile-to-json.pl docs need help. Need example invocations.
Command-line help needs reformatting.
9. In flatfile-to-json, using a Bio::DB::SeqFeature::Store with the
'memory' adapter to essentially parse GFF for you is not the way to
go. This is the main source of the horrible memory footprint. 1.1
GB of RAM just to format the tomato genome gene models. Just the
gene models! It's fewer than 600,000 features. Suggested remedy is
to parse the GFF using either Bio::FeatureIO or Bio::GFF3::LowLevel.
10. There are essentially no tests for anything. The only tests in
the whole repo are some exploratory javascript tests that have not
been touched since March 2010. This is a very serious problem.
11. There are very few developer docs throughout. Need to have
comment headers on nearly all methods and functions. I thought I
saw some Doxygen-format comments in one of the source files, but I
don't see a doxygen conf.
12. Lighthouse ticket queue is out of control. Apparent causes for this:
a.) lack of ticket management (there are simple tickets that have
been open for months, for example
http://jbrowse.lighthouseapp.com/projects/23792/tickets/75-error-in-jsongeneratorpm-division-by-zero)
b.) Lighthouse's implementation decisions regarding ticket prioritization:
http://help.lighthouseapp.com/discussions/suggestions/423-priority-on-tickets
Their non-helpful response is essentially "We have decided
that you need to pay for this feature", to which my response,
which I shall not include here, is rather colorful, and very
much in the negative.
My suggested remedy is to go through and aggressively clean out
ticket queue, and then migrate to a different ticketing platform
with more features. Either Github's own Issues or the Open
Bioinformatics Foundation's new Redmine installation come to mind
as options. Or even an old-school Trac installation would be
better.
13. Unless wig2png is really, REALLY speed-sensitive (which I suspect
is not the case), suggest replacing wig2png with a Perl solution
using its Perl's GD libraries. Would obviate the need for the
autoconf infrastructure, since the task of figuring out how to use
GD in various situations would be effectively offloaded to the
maintainers of the Perl's GD libraries. (medium-low priority)
14. Move the jbrowse repo to be under the GMOD org,
http://github.com/gmod
15. Browser JS class should be renamed to JBrowse or JBrowse.Browser
to avoid collisions. This might be rather disruptive, but is very
much for the best. And the faster it's done, the better. Like
ripping off a band-aid.
# feature density histograms are very nice
16. Need support for zooming from mouse-wheel events. Unmodified
mouse wheel event is scrolling up/down through tracks, which is
probably best, but maybe Shift-MouseWheel should zoom.
17. Default zoom effect speed is a bit slow, might want to speed it up
a bit.
18. Need a 'Region' pane like GBrowse 2.x.
19. Need GBrowse-like rubberbanding.
20. --autocomplete option to flatfile-to-json needs input validation.
Does not die on an invalid value.