{ "info": { "author": "Leonhard Wachutka", "author_email": "leonhard@wachutka.eu", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "======\nwBuild\n======\n\n.. _user-overview:\n\nOverview\n--------\nwBuild is all about making your day easier resolving, updating and cascading various dependencies, pipeline rules and\ncode structs. The program lets you specify all the needed information in a YAML header right in your R code and let\nthe automated :code:`Snakemake` processes do the rest!\n\n\nYou can learn more about the features that wBuild provides either taking a look at the :ref:`features list `\nor :ref:`looking at the HTML output of the demo project `. Another interesting thing to take a look at could be\nthe :ref:`installation requirements & procedure ` and, in particular, :ref:`wBuild project tree structure `.\n\nYou can find functionality overview of wBuild and its relationship with Snakemake :ref:`here `.\n\nExample\n-------\n\nFirst, we :ref:`install ` all the needed software requirements, including wBuild.\nThen, we :ref:`initialize wbuild ` which creates :ref:`wBuild files ` in our project.\n\nAfter that, we create an R script in the and provide a :ref:`YAML header ` with wBuild-supported tags:\n\n.. code-block:: R\n\n #'---\n #' title: Basic Input Demo\n #' author: Leonhard Wachutka\n #' wb:\n #' input:\n #' - iris: \"Data/{wbP}/iris.RDS\"\n #' output:\n #' - wBhtml: \"Output/html/030_AnalysisOfId_{id}.html\"\n #' type: noindex\n #' output:\n #' html_document:\n #' code_folding: show\n #' code_download: TRUE\n #'---\n\n source('.wBuild/wBuildParser.R')\n parseWBHeader(\"Scripts/Analysis1/050_PythonCode/030_AnalysisTemplate.R\")\n\n id = snakemake@wildcards[[\"id\"]]\n iris_df = wbReadRDS('iris')\n colnames(iris_df) = gsub('\\\\.','',colnames(iris_df))\n hist(iris_df[[id]],main=id)\n\nRunning :bash:`snakemake` now in the root directory of your project will now automatically\nparse the parameters out of scripts headers and create an HTML output showing the results of our petal analysis - found in HTML output directory\n(:code:`./Output/html` by default) along with a nice navigable HTML structure. Let's open one of the output HTML files, use the\nupper footer to navigate to the :ref:`needed subproject ` (here *Analysis1*), and we will see a nicely rendered output of our\nscript:\n\n.. image:: /res/images/HTML_output_demo.png\n :scale: 70%\n :align: left\n\n|\n|\n\nYou can read more about :ref:`publishing the output HTML to your common server ` or try launching demonstration yourself as follows:\n\n.. _running-demo:\n\nRunning demo\n~~~~~~~~~~~~\n* Install wBuild. You can learn more about the installation process :ref:`here `.\n* Navigate to an *empty* directory.\n* Run :bash:`wbuild demo`. This will create a wBuild demo project with various examples.\n* Explore the files in :bash:`Scripts/`\n* Run :bash:`snakemake` on the root directory to let Snakemake do its thing (see below) and compile the project.\n* Open :code:`Output/html/index.html` in your web browser. From there, you can browse through sites showing and describing :ref:`basic features ` of wBuild on an example analysis.\n\n.. _overview-of-functionality:\n\nFunctionality & workflow\n------------------------\nwBuild is *not really a standalone application*, much more **a plugin and \"code generator\" for the later use of Snakemake**, which is *inevitable* part\nof a workflow involving wBuild: this way, you run :code:`snakemake` CLI each time you want to build and render your project!\n\nFirst, wBuild executes the initial, `setup` part of the workflow:\n\n.. image:: /res/images/snakemake_wbuild_diag_setup.jpg\n :scale: 80%\n\n|\nAfter that comes the project build phase. During this step, snakemake with a help of wBuild does process your project and\ncreates the results. Following diagram shows the process:\n\n.. image:: /res/images/snakemake_wbuild_diag_build.jpg\n :scale: 80%\n\n|\nAs you see, *Snakemake* actually takes the **main** role in a typical wBuild workflow, so every user is *encouraged* to\nlearn more about Snakemake - for instance `in its official documentation `_.\nYou are also welcome to take a look at the more :ref:`technial features ` that wBuild provides.\n\n\nA small overview of the functionality that wBuild provides:\n\n* wBuild enables reproducible research by appending every R-markdown script to the global analysis pipeline written in snakemake\n* All R scripts using R-markdown are compiled via knitr/Rmarkdown and rendered in a navigable web-page\n* This is achieved by writing the snakemake rules directly in the header of your R scripts\n* Headers allow the same flexibility (i.e. usage of python) as in the traditional Snakefile, but do not separate dependencies from the code where they are actually used.\n\n.. _project-structure:\n\nwBuild project structure\n------------------------\n\nAssert :code:`ROOT` is the root directory of your wBuild project.\n\nROOT/.wBuild\n Is a directory with static wBuild files that *is not to be changed unless necessary*. There are all the\n service files located.\n\nROOT/wbuild.yaml\n It is a configuration file. Necessary but editable by the user. See :ref:`configuration file `.\n\nROOT/.wBuild.depend\n File *autogenerated* by wBuild. Contains rule information for the :ref:`Snakemake pipeline `.\n\n.. _scripts-structure:\n\nROOT/Scripts\n Is a directory where all your scripts should be located within **subdirectories**. Organizing your code directly into subdirectories helps you to flexibly structure your project, to\n present them divided by tabs in the HTML output or to\n :ref:`apply the same script to the various equally structured data `\n\nROOT/Output\n Is a default output directory. It's subdirectories, :code:`html` and :code:`ProcessedData`, are paths for\n :ref:`published html ` and processed data by default (:ref:`you can change it `).\n\n\n=======\nHistory\n=======\n\n0.1.0 (2017-06-23)\n------------------\n\n* First release on PyPI.\n\n1.0 (2017-12-15)\n---------------------\n* Improved Demo\n* Many fixes", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gagneurlab/wBuild", "keywords": "wbuild", "license": "", "maintainer": "", "maintainer_email": "", "name": "wbuild", "package_url": "https://pypi.org/project/wbuild/", "platform": "", "project_url": "https://pypi.org/project/wbuild/", "project_urls": { "Homepage": "https://github.com/gagneurlab/wBuild" }, "release_url": "https://pypi.org/project/wbuild/1.8.0/", "requires_dist": null, "requires_python": "", "summary": "Automatic build tool for R Reports", "version": "1.8.0", "yanked": false, "yanked_reason": null }, "last_serial": 8445317, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "27542fd054bb51605540c832f70b5870", "sha256": "bfbc92e876c76026286369893df6cebdba259f120ad214021eff14a414142e54" }, "downloads": -1, "filename": "wbuild-0.1.0.tar.gz", "has_sig": false, "md5_digest": "27542fd054bb51605540c832f70b5870", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79874, "upload_time": "2017-06-25T22:20:58", "upload_time_iso_8601": "2017-06-25T22:20:58.935398Z", "url": "https://files.pythonhosted.org/packages/21/c2/9c92d6005161f26b8b9c30532876ebe466d637b2d3195e8d14cae72362fc/wbuild-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5c32697797bdf41914c6f2f7195e8839", "sha256": "0bce867668511c2b52a7010ddfefa8d04a99b51137ace64a02e06ebc1a6f24ab" }, "downloads": -1, "filename": "wbuild-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5c32697797bdf41914c6f2f7195e8839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 79647, "upload_time": "2017-06-25T22:34:03", "upload_time_iso_8601": "2017-06-25T22:34:03.451630Z", "url": "https://files.pythonhosted.org/packages/fb/f3/3e74d2754552ced3ff73fdd937754018a920cf34ba6482e0884524a42819/wbuild-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0": [ { "comment_text": "", "digests": { "md5": "af00945f844dc06ac11fc037f8d83793", "sha256": "5122ac99df863ea33f2fd9d39cdff3c2556bb7e9493100e7e04494f5a40068dd" }, "downloads": -1, "filename": "wbuild-1.0.tar.gz", "has_sig": false, "md5_digest": "af00945f844dc06ac11fc037f8d83793", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94098, "upload_time": "2017-12-15T12:09:15", "upload_time_iso_8601": "2017-12-15T12:09:15.974850Z", "url": "https://files.pythonhosted.org/packages/bd/9e/ba9f9cf398af272ef9cf84490dc0a8877001babd86e471ef4f03e4aedc6e/wbuild-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "9e26380b93861ba94f4f397bf4b6c929", "sha256": "6ea119a26778b9e932ca89cb3e303b95b193e151c110085a29e63e7151799252" }, "downloads": -1, "filename": "wbuild-1.1.3.tar.gz", "has_sig": false, "md5_digest": "9e26380b93861ba94f4f397bf4b6c929", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94138, "upload_time": "2017-12-15T12:59:31", "upload_time_iso_8601": "2017-12-15T12:59:31.794265Z", "url": "https://files.pythonhosted.org/packages/ea/79/bebe43baa0185c1b1638dacf8df970533853a8d690a25d58752e4f5b40d7/wbuild-1.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "587673c1088d3557e8b1ed9e6655d6b6", "sha256": "2220e90b4d9fe07b54073c659543bdd75b7e8bd56fecb3e15d08efa445b722fd" }, "downloads": -1, "filename": "wbuild-1.1.4.tar.gz", "has_sig": false, "md5_digest": "587673c1088d3557e8b1ed9e6655d6b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94390, "upload_time": "2017-12-15T13:17:24", "upload_time_iso_8601": "2017-12-15T13:17:24.510038Z", "url": "https://files.pythonhosted.org/packages/69/a5/d5a1ffc51a6061eb9512b77b62b8c23b8fda789b6ac6c79f46c28811cfe4/wbuild-1.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "8ec1cc52f78c4d199a515fb822422c9a", "sha256": "a62af92e64ecd7c6782ad6a96722a9e4b068f2b74535312e93c9755b8d4265c4" }, "downloads": -1, "filename": "wbuild-1.1.5.tar.gz", "has_sig": false, "md5_digest": "8ec1cc52f78c4d199a515fb822422c9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 94396, "upload_time": "2017-12-15T13:33:12", "upload_time_iso_8601": "2017-12-15T13:33:12.247157Z", "url": "https://files.pythonhosted.org/packages/4b/6c/4d0edebf7da92746bf1e0f3b161dd970748a3efae2cbd3fc17129431a784/wbuild-1.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "7e59a0c69bd69a5718e51f189e1ebce2", "sha256": "67477909184bff2cbdb949b6f655c701c3558601a085279101b44cf576e1a6ee" }, "downloads": -1, "filename": "wbuild-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7e59a0c69bd69a5718e51f189e1ebce2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 515988, "upload_time": "2018-07-02T14:56:50", "upload_time_iso_8601": "2018-07-02T14:56:50.471282Z", "url": "https://files.pythonhosted.org/packages/27/a7/eef21e5750541163e3a17baf320e3b81be6bd7cde2a1e162adf60431f098/wbuild-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "979bd41ea715ff81e9cd4ada67c51532", "sha256": "114e092b4b469010a93482f510040b594985ae4e128cd8e0150817fed5a342e8" }, "downloads": -1, "filename": "wbuild-1.6.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "979bd41ea715ff81e9cd4ada67c51532", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109600, "upload_time": "2019-09-26T16:05:57", "upload_time_iso_8601": "2019-09-26T16:05:57.066785Z", "url": "https://files.pythonhosted.org/packages/11/15/f7342214d96c5fb78645b5a1cca62757763225a876035927bcb801b999fa/wbuild-1.6.0.linux-x86_64.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "053487ee94b1b7991c4903b06916fa1c", "sha256": "dc5e2a54252a7decd99652337f987ce512d5d4ef2e1f16b8038a1c2af404b87a" }, "downloads": -1, "filename": "wbuild-1.6.1.tar.gz", "has_sig": false, "md5_digest": "053487ee94b1b7991c4903b06916fa1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 520642, "upload_time": "2019-09-26T16:09:42", "upload_time_iso_8601": "2019-09-26T16:09:42.105814Z", "url": "https://files.pythonhosted.org/packages/50/78/f5ba98e63c5daaaad082a92cbf3897f3fa2e101ba70d235d94920a0d7776/wbuild-1.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.4": [ { "comment_text": "", "digests": { "md5": "876a2f830cda8eedf15c119bb4ad0589", "sha256": "d77c7af77e51bc8eefd2922530782b3cc1c60ae95748d9827b8fc893bc1035e6" }, "downloads": -1, "filename": "wbuild-1.6.4.tar.gz", "has_sig": false, "md5_digest": "876a2f830cda8eedf15c119bb4ad0589", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 520662, "upload_time": "2019-10-22T07:58:35", "upload_time_iso_8601": "2019-10-22T07:58:35.860351Z", "url": "https://files.pythonhosted.org/packages/78/98/b7c9d5d4c1c330c3ca4149aa605be729414e0dffda8f632f5a4c8817b6a5/wbuild-1.6.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "3742bffebe5ce46d18c86b93b61ab75b", "sha256": "3d4495b2d1e5a9380a0b03a8ff20500f81466f5ea68c2ec5e2fe65f61a407a2a" }, "downloads": -1, "filename": "wbuild-1.7.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "3742bffebe5ce46d18c86b93b61ab75b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109065, "upload_time": "2020-09-24T16:23:06", "upload_time_iso_8601": "2020-09-24T16:23:06.878627Z", "url": "https://files.pythonhosted.org/packages/8c/e4/7341ebc89feebc4c7518ef020ae917fd6e6237e91ce21aaf9fe28d648aec/wbuild-1.7.0.linux-x86_64.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "046f1d30aed11e26733c7ab6bb6ee3c3", "sha256": "073802e73a55111c3f61db98a4751cfcef23754f1dfd492587ba836ec0485c05" }, "downloads": -1, "filename": "wbuild-1.7.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "046f1d30aed11e26733c7ab6bb6ee3c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111195, "upload_time": "2020-09-24T16:11:34", "upload_time_iso_8601": "2020-09-24T16:11:34.636976Z", "url": "https://files.pythonhosted.org/packages/2f/2e/0bcef9e8c212fd71ebe6107e5763bbd692e1cc8169c93d056344450ccca4/wbuild-1.7.1.linux-x86_64.tar.gz", "yanked": false, "yanked_reason": null } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "41d052a768521890e3224f61860051d3", "sha256": "3088d3fcbc71106464f20e3546a73df400dc03d17f11e70bdb15d35d7e6c5a7e" }, "downloads": -1, "filename": "wbuild-1.8.0.tar.gz", "has_sig": false, "md5_digest": "41d052a768521890e3224f61860051d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 517437, "upload_time": "2020-10-19T10:15:43", "upload_time_iso_8601": "2020-10-19T10:15:43.227465Z", "url": "https://files.pythonhosted.org/packages/6f/63/58257fe77e1f3f7448d0b3dfa40af44a9d7414954248cea5fc147c9d2dce/wbuild-1.8.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "41d052a768521890e3224f61860051d3", "sha256": "3088d3fcbc71106464f20e3546a73df400dc03d17f11e70bdb15d35d7e6c5a7e" }, "downloads": -1, "filename": "wbuild-1.8.0.tar.gz", "has_sig": false, "md5_digest": "41d052a768521890e3224f61860051d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 517437, "upload_time": "2020-10-19T10:15:43", "upload_time_iso_8601": "2020-10-19T10:15:43.227465Z", "url": "https://files.pythonhosted.org/packages/6f/63/58257fe77e1f3f7448d0b3dfa40af44a9d7414954248cea5fc147c9d2dce/wbuild-1.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }