TODO
BerkeleyDB accumulates log files which must be periodically deleted, and we should have a daemon that does this… http://www-rohan.sdsu.edu/doc/BerkeleyDB/ref/transapp/logfile.html
Unit tests using Pyramid recommendations, for example when a profile is processed (plotter.db.Profile.process) test for presence of objects in the database, and then when the profile is deleted, check for deletion of relvant objects and files (PNG scatterplots, probes.bedGraph.gz data).
Integration with Galaxy? From within Galaxy, is it possible to store the annotated regions in a database and display an updated segmentation model? https://wiki.galaxyproject.org/VisualizationsRegistry
2017.01.27
Faster deletion. SegAnnDB uses BerkeleyDB, which is very fast but makes updating and deleting profiles a bit tricky. I have started writing a view (plotter.views.delete_profiles) for profile deletion along with some database support (plotter.db.Profile.delete), but it is a slow O(ND) operation where T is the number of databases and N is the average number of items in each database. Deleting one profile should be an O(1) operation.
ALMOST FIXED IN GSOC2016, waiting for final bugfixes from abstatic: Add support for browsers that do not render large PNG images. SegAnnDB currently uses very large PNGs to visualize DNA copy number profiles, but these are not supported by all browsers. http://sugiyama-www.cs.titech.ac.jp/~toby/images/ One way to fix this problem would be to always assume that the maximum pixel width is 1500 (the current size for “standard” whole chromosome display, and for whole profile display). On the chromosome page, e.g. http://bioviz.rocq.inria.fr/profile/dr3hg19/2/ we could delete the “Plot size” links. Instead we would provide links at the top to various sub-regions of chromosomes, like we have chromosome links on the top of http://bioviz.rocq.inria.fr/profile/dr3hg19/ The links would be e.g. http://bioviz.rocq.inria.fr/profile/dr3hg19/2/1000000:2000000/ and those pages would contain 1500 x 200 pixel images, and provide links to the areas before and after on that same chromosome.
2015.12.10
In practice the process daemon can be inactive when there are still un-processed profiles. When the process daemon is idle it should check the list of profiles and add un-processed profiles back into the ProfileQueue.
2015.11.19
First installation from GitHub.
4 March 2014
Viewing/annotating several profiles at a time.
27 March 2013
Plotting large profiles with PNGs.
Fitting any 0/1 breakpoint annotations using SegAnnot.