{ "info": { "author": "Soumitra Pal", "author_email": "soumitrakp@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# JUDI - Bioinformatics Pipeline: *Just Do It*\n\n*judi* comes from the idea of bringing the power and efficiency of *doit* to\nexecute any kind of task under many combinations of parameter settings.\n\n\n## Sample Code\n\nSnippet from [tutorial](https://judi.readthedocs.io/tutorial_1.html), save it as ``dodo.py``.\n\n```python\nfrom judi import File, Task, add_param, combine_csvs\n\nadd_param('100 101 102 103'.split(), 'sample')\nadd_param('1 2'.split(), 'group')\n\nREF = 'hg_refs/hg19.fa'\npath_gen = lambda x: '{}_{}.fq'.format(x['sample'],x['group'])\n\nclass AlignFastq(Task):\n inputs = {'reads': File('orig_fastq', path = path_gen)}\n targets = {'sai': File('aln.sai')}\n actions = [('bwa aln {} {} > {}', [REF,'$reads','$sai'])]\n\nclass CreateBam(Task):\n mask = ['group']\n inputs = {'reads': AlignFastq.inputs['reads'],\n 'sai': AlignFastq.targets['sai']}\n targets = {'bam': File('aln.bam', mask = mask)}\n actions = [('bwa sampe {} {} {} | samtools view -Sbh - | samtools sort - > {}', [REF,'$sai','$reads','$bam'])]\n\nclass GetCoverage(Task):\n mask = ['group']\n inputs = {'bam': CreateBam.targets['bam']}\n targets = {'cov': File('cov.csv', mask = mask)}\n actions = [('(echo val; samtools rmdup {} - | samtools mpileup - | cut -f4) > {}', ['$bam','$cov'])]\n\nclass CombineCoverage(Task):\n mask = ['group', 'sample']\n inputs = {'cov': GetCoverage.targets['cov']}\n targets = {'csv': File('combined.csv', mask = mask),\n 'pdf': File('pltcov.pdf', mask = mask, root = '.')}\n actions = [(combine_csvs, ['#cov', '#csv']),\n (\"\"\"echo \"library(ggplot2); pdf('{}')\n ggplot(read.csv('{}'), aes(x = val)) +\n geom_density(aes(color = factor(sample)))\"\\\n | R --vanilla\"\"\", ['$pdf','$csv'])]\n```\nRun from terminal:\n\n```console\n$ doit list\nAlignFastq\nCombineCoverage\nCreateBam\nGetCoverage\n$ doit\n. AlignFastq:group~1,sample~100\n. AlignFastq:group~2,sample~100\n. AlignFastq:group~1,sample~101\n. AlignFastq:group~2,sample~101\n. AlignFastq:group~1,sample~102\n. AlignFastq:group~2,sample~102\n. AlignFastq:group~1,sample~103\n. AlignFastq:group~2,sample~103\n. CreateBam:sample~100\n. CreateBam:sample~102\n. CreateBam:sample~103\n. CreateBam:sample~101\n. GetCoverage:sample~100\n. GetCoverage:sample~102\n. GetCoverage:sample~103\n. GetCoverage:sample~101\n. CombineCoverage:\n```\n\n## Project Details\n\n - Website & docs - [https://pyjudi.readthedocs.io](https://pyjudi.readthedocs.io)\n - Project management on github - [https://github.com/ncbi/JUDI](https://github.com/ncbi/JUDI)\n\n## License\n\nThe MIT License\nCopyright (c) 2019-2020 Soumitra Pal\n\nsee LICENSE file\n\n\n## Install\n\n*judi* is tested on python 3.6.\n\n```console\n$ pip install judi\n```\n\n## Dependencies\n\n- doit\n\n## Documentation\n\n``docs`` folder contains ReST documentation based on Sphinx.\n\n```console\n$ make html\n```\n\n## Contributing\n\nOn github create pull requests using a named feature branch.\n\n\n", "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/ncbi/JUDI", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "judi", "package_url": "https://pypi.org/project/judi/", "platform": "", "project_url": "https://pypi.org/project/judi/", "project_urls": { "Homepage": "https://github.com/ncbi/JUDI" }, "release_url": "https://pypi.org/project/judi/0.0.0.2/", "requires_dist": null, "requires_python": "", "summary": "A Software Workflow Management System Based on DoIt", "version": "0.0.0.2" }, "last_serial": 5259239, "releases": { "0.0.0.1": [ { "comment_text": "", "digests": { "md5": "573bb4796e9a70e3c2a52fcc6a23d50a", "sha256": "c0643bc0e0a2221555a9d49fa715b9ea9dedacd22f60fe401d3870489562ad1b" }, "downloads": -1, "filename": "judi-0.0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "573bb4796e9a70e3c2a52fcc6a23d50a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4950, "upload_time": "2019-04-26T21:43:34", "url": "https://files.pythonhosted.org/packages/2a/de/69bd2567c3a7344cc085297bef13ec9a43acbb5735a47406caf0dded709e/judi-0.0.0.1-py3-none-any.whl" } ], "0.0.0.2": [ { "comment_text": "", "digests": { "md5": "d6920a3585828a952ece034f98fd6a09", "sha256": "4204cd9e6ab279da6a96c787b902c328054811615f4c440d1da463f80e3ae387" }, "downloads": -1, "filename": "judi-0.0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d6920a3585828a952ece034f98fd6a09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10478, "upload_time": "2019-05-12T16:01:50", "url": "https://files.pythonhosted.org/packages/c6/bc/27528b0aabc79897418d45915494cfd55a7d77ab9478e1881972d0ad61a7/judi-0.0.0.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d6920a3585828a952ece034f98fd6a09", "sha256": "4204cd9e6ab279da6a96c787b902c328054811615f4c440d1da463f80e3ae387" }, "downloads": -1, "filename": "judi-0.0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d6920a3585828a952ece034f98fd6a09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10478, "upload_time": "2019-05-12T16:01:50", "url": "https://files.pythonhosted.org/packages/c6/bc/27528b0aabc79897418d45915494cfd55a7d77ab9478e1881972d0ad61a7/judi-0.0.0.2-py3-none-any.whl" } ] }