TODO for future releases:
=========================

Next action
--------------
* Update the Vignette!
* a mini Vignette (like: http://cran.r-project.org/web/packages/caret/index.html)
* Adjust the Vignette to be a website (like http://caret.r-forge.r-project.org/)

* announce the package on r-packages@r-project.org
* create a relevant tag wiki in SO, just like: http://stackoverflow.com/tags/rcpp/info (do only after intro vignettes is done)
* get added here: http://bioinfo.unice.fr/biodiv/Tree_editors.html
* go through this: http://stackoverflow.com/questions/tagged/dendrogram


* Write paper for bioinfo: mention update, cutree, colored_bars, heatmap.2, Rcpp, dynamicCutree and pvclust

* add tests to nodes_with_condition.

* The Vignette needs a major overhall. 
      Various parts are somewhat boarding, while other newer parts (dendlist, update, %>%) are currently missing. Maybe I should create a section called quirks or something like that - and move various sections there...
* ask the maintainer of "ape" to have rotate S3ed
* add the example for heatmap.2 :)
* Move slides and vignete out of the package (should they be stored somewhere?)
* update README

* Invite other package authors to use dendextend and add it to their "suggests" (including pvclut, dynamicTreeCut, gplots, ape, who else?)

* Maybe add a global package option for printing debugging information, and have many of the logical warn and print stuff be related to these...

* maybe show the use of dendextend+ggdend

* maybe use "abs" in min(-diff(our_dend_heights))/2 in dendextend_options("heights_per_k.dendrogram") ?

New functions
--------------
	* Create cor.dendrogram cor.dendlist - to switch between different cor types and methods.
   * add a print/warn parameter to intersect_trees
   * intersect_trees.dendlist
   * Mention I've used this rect.hclust.nice code for implementation on my verison of the function. http://stackoverflow.com/questions/4720307/change-dendrogram-leaves 
   * Give this a thought: http://stackoverflow.com/questions/10088117/exporting-dendrogram-as-table-in-r?rq=1
   * create rect.dendrogram (and make rect generic). http://stackoverflow.com/questions/717747/how-do-i-color-edges-or-draw-rects-correctly-in-an-r-dendrogram
http://stackoverflow.com/questions/4720307/change-dendrogram-leaves
   * hide some function's doc (labels<-.stuff)

   * manipulate tanglegram using click_rotate

   * colored_bars - add horiz paramter...

   * maybe allow pruning of labels based on their location (since if we get a tree with two identical labels, we may wish to fix it). maybe unique.dendrogram? It can be done by finding duplicate(labels), giving these a new name, and then prune it.


New GUIs
---------
	* GUI for Rcmdr
	* GUI for Deducer
	* GUI with Shiny
	

More DOCS
---------
	* Fix the demo / or work on a nice vignette
	* cross-ref untangle functions docs

Questions to answer
------------------
	* reply here: http://stackoverflow.com/questions/10571266/colouring-branches-in-a-dendrogram-in-r?rq=1
      
Places to publish?!
------------------
	* http://www.software.ac.uk/resources/guides/which-journals-should-i-publish-my-software?mpw
	* http://www.statsci.org/compjour.html
   
General ideas
------------------
   * An algorithm to find subtrees that are topologically identical between the two trees - and color them accordingly.
   * Get stats::midcache.dendrogram to work for non-binary trees...
   * cut_replace - make it in Rcpp - to make cutree_1h.dendrogram faster...
   * See this code: https://github.com/andrie/ggdendro/blob/master/R/dendro_rpart.R
   for creating an rpart plotting machanism using dendrograms!
   This will enable hilighting one branch/rule.
   Note that more "attr" will need to be added to the tree in order to
   include all of the rpart information. This could also allow the merging of plots from rpart/party etc. 
   
   * Add as.dendrogram.ctree . Example code for further work:
require(party)
set.seed(290875)
### regression
airq <- subset(airquality, !is.na(Ozone))
airct <- ctree(Ozone ~ ., data = airq, 
                   controls = ctree_control(maxsurrogate = 3))
airct
plot(airct)
str(airct@tree)
# as.dendrogram.ctree will need to work with the above object
# to extract the elements needed for detecting the tree's parameters...

	* Create: as.dendrogram.randomForest (a template is available in the R folder)	
	* Check if I need to implement something from here: http://r.789695.n4.nabble.com/dendrogram-plot-does-not-draw-long-labels-td3235843.html
	* Also good: get the conditions in a tree: http://stats.stackexchange.com/questions/41443/how-to-actually-plot-a-sample-tree-from-randomforestgettree
	* Look into the proximity matrix produced from a randomForest:
data(iris)
require(randomForest)
mod.rf <- randomForest(Species ~ ., data=iris,  proximity=TRUE)
hc <- hclust(as.dist(mod.rf$proximity))
plot(as.dendrogram(hc))
MDSplot(mod.rf, iris$Species)
	
	* Combine with gridBase to include sub plots like in {party: ?plot.BinaryTree}	
	Sources:
		http://cran.r-project.org/web/packages/party/vignettes/party.pdf
		http://sublogo.r-forge.r-project.org/
		http://casoilresource.lawr.ucdavis.edu/drupal/node/1007
		http://cran.r-project.org/web/packages/gridBase/vignettes/gridBase.pdf
	* give examples with http://cran.r-project.org/web/packages/treemap/index.html
	

	* Ideas for improving the package: http://robjhyndman.com/hyndsight/jss-rpackages/ - DONE

   * Improve the visualization of Pvclust results
      http://bioinformatics.oxfordjournals.org/content/22/12/1540.full
   * and compare it on two clustering algorithms using tanglegram 