public void DownloadClinicalData(string tumor, SpiderTreeNode node, string targetDir, IProgressCallback callback = null)
        {
            TCGASpider.DownloadFiles(node, targetDir, null, callback);
            //var gzfile = string.Format("clinical_{0}.tar.gz", tumor);
            //var uri = string.Format("{0}/{1}", node.Uri, gzfile);
            //var targetFile = string.Format("{0}/{1}", targetDir, gzfile);

            //if (!WebUtils.DownloadFile(uri, targetFile, callback))
            //{
            //  TCGASpider.DownloadFiles(node, targetDir, null, callback);
            //  return;
            //}
            //else
            //{
            //  UncompressFile(targetDir, targetDir, targetFile, true);
            //}
        }
        public override IEnumerable <string> Process()
        {
            Progress.SetMessage("Getting tree from TCGA ...");

            var node = TCGASpider.GetDirectoryTree("tumor", TCGASpider.RootUrl, true);

            var name = string.Format("TCGA_directory_{0:yyyyMMdd}", DateTime.Now);

            var treeFile = Path.Combine(options.OutputDirectory, name + ".tree");

            node.PrintToFile(treeFile);

            var fileName = Path.Combine(options.OutputDirectory, name + ".xml");

            Progress.SetMessage("Saving data to " + fileName + " ...");
            new SpiderTreeNodeXmlFormat().WriteToFile(fileName, node);

            Progress.SetMessage("Done.");
            Progress.End();

            return(new[] { fileName, treeFile });
        }