{ "info": { "author": "Youngjune Park", "author_email": "regjah@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Utilities" ], "description": "# nJSD\n\nnJSD is a python package for calculating distance between two biological networks instantiated with gene-expression profiles using entropy concept. It was designed to measure intratumor heterogeneity from bulk RNA-sequencing data. **Transcriptome-based ITH (tITH)** of tumor state was calculated by considering both normal state and ideally heterogeneous state.\n\n## Installation\n\n```python\npip install njsd\n```\n\n## Usage\n\nnJSD supports command-line invocation as below:\n\n```shell\nusage: njsd [-h] -n NETWORK -r REF -q QUERY -o OUTPUT [-t GENESET]\n\nCalculate network-based Jensen-Shannon Divergence.\n\noptional arguments:\n -h, --help show this help message and exit\n -n NETWORK, --network NETWORK\n Pre-defined network\n -r REF, --ref REF Reference gene expression profile\n -q QUERY, --query QUERY\n Query gene expression profile\n -o OUTPUT, --output OUTPUT\n Output file.\n -t GENESET, --geneset GENESET\n Gene set list\n```\n\nNote that `-t GENESET` option is optional. If `-t` option is specified, *gene set-specified* nJSD and tITH will be computed. Otherwise, `njsd` will compute *transcriptome-wide* nJSD of the two expression profiles and tITH of query gene expression profile.\n\n**Network file**, which should be given with `-n/--network` option must be formatted as below where each line specifies an edge in the network. `njsd` will simply ignore the header by skipping a single line, so you may name each column in a human-friendly way:\n\n GeneA GeneB # Header\n GeneSymbol1 GeneSymbol2\n GeneSymbol1 GeneSymbol3\n GeneSymbol1 GeneSymbol4\n ...\n\n**Gene expression profile**, which should be given with `-r/--ref` or `-q/--query` option must follow the format below. Again, the header doesn't matter. Note that `njsd` will automatically apply log2-transformation to expression values by taking log2(expression + 1), we recommend giving `njsd` unnormalized expression values, such as raw FPKM, RPKM or TPM.\n\n GeneSymbol ExpressionValue # Header\n GeneA 10\n GeneB 20\n BeneC 30\n ...\n\n**Gene set list**, which should be given with `-t/--geneset` option file must have the format below. Please be warned that this file should **not** have a header. The first column denotes names of each gene set(or group), and the following columns represent the members of each group.\n\n Group1Name GeneA GeneB GeneC ...\n Group2Name GeneD GeneE GeneF ...\n Group3Name GeneA GeneG GeneH ...\n ...\n\n## Examples\n\nToy data, which represents three different gene expression profiles(`Toy.profile1, Toy.profile2, Toy.profile3`) which are instantiation of the template network(`Toy.network`), are given in `example` directory. Following execution scenarios show how to compute nJSD between the gene expression profiles.\n\nThe template network is shown:\n\n![network](img/network.svg)\n\nAnd figures below are three gene expression profiles instantiated on top of the template network:\n\n![profiles](img/profiles.svg)\n\n### Transcriptome-wide nJSD\n\nYou can compute transcriptome-wide nJSD as below:\n\n```shell\n$ njsd -n example/Toy.network -r example/Toy.profile1 -q example/Toy.profile2 -o profile2_njsd_all.txt\n```\n\nOutput file contains nJSD_NT(Normal-to-Tumor nJSD), nJSD_TA(Tumor-to-maximally Ambiguous state), and tITH values. You can think of *Normal* as *Reference*, and *Tumor* as *Query* gene expression profiles.\n\n```shell\n$ cat profile2_njsd_all.txt\n```\n\n```shell\nnJSD_NT nJSD_TA tITH\n0.003935020793376432 0.0068202519228746615 0.36586899255754446\n```\n\nLet's compare nJSDs between profile 1 and 2, and profile 1 and 3. \n\n```shell\n$ njsd -n example/Toy.network -r example/Toy.profile1 -q example/Toy.profile3 -o profile3_njsd_all.txt\n```\n\n```shell\n$ cut -f1 profile2_njsd_all.txt profile3_njsd_all.txt\n```\n\n```shell\nnJSD_NT\n0.003935020793376432\nnJSD_NT\n0.007758064133920005\n```\n\nIndeed, the distance between profile1 and 3 is greater than that of profile 1 and 2.\n\n### Gene set-specified nJSD\n\nYou can compute gene set-specified nJSD by specifying `-t/--geneset` option as below:\n\n```shell\n$ njsd -n example/Toy.network -r example/Toy.profile1 -q example/Toy.profile2 -t example/Toy.geneset -o output_njsd_gene_set.txt\n```\n\nEach line of the output file contains nJSD_NT, nJSD_TA, tITH values for each gene set.\n\n```shell\n$ cat output_njsd_gene_set.txt\n```\n\n```shell\nGene_set_ID nJSD_NT nJSD_TA tITH\n1st_pwy 0.00782194587529338 0.00938496594270829 0.45458162150340947\n2nd_pwy 0.0 0.004261233542045538 0.0\n3rd_pwy 0.00521463058352892 0.00710205590340923 0.4233793390015275\n4th_pwy 0.007908518155920452 0.004261233542045538 0.6498504120870645\n5th_pwy 0.006257556700234704 0.008522467084091077 0.42337933900152747\n```\n\nCitation\n----------------------\n\nY. Park, S. Lim, J. Nam, S. Kim, Measuring intratumor heterogeneity by network entropy using RNA-seq data, Scientific Reports (2016)", "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/iron-lion/nJSD", "keywords": "", "license": "BSD 2-Clause License", "maintainer": "Dohoon Lee", "maintainer_email": "dohlee.bioinfo@gmail.com", "name": "njsd", "package_url": "https://pypi.org/project/njsd/", "platform": "", "project_url": "https://pypi.org/project/njsd/", "project_urls": { "Homepage": "https://github.com/iron-lion/nJSD" }, "release_url": "https://pypi.org/project/njsd/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Calculate Jensen-Shannon Divergence between two gene expression profiles to measure transcriptome-based intratumor heterogeneity(tITH).", "version": "0.1.4" }, "last_serial": 4096437, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1ee03bca6dea4ae08181d616341edd24", "sha256": "93098daa6040a58d7b4c389e3533c5e4d8203cab913629cd33078daa1a19026a" }, "downloads": -1, "filename": "njsd-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1ee03bca6dea4ae08181d616341edd24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9134, "upload_time": "2018-07-17T15:31:05", "url": "https://files.pythonhosted.org/packages/85/55/e92665506de0cf28d8fba13dd93d2546300d16c73e828071acbf52952df4/njsd-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2f97caff5cbe613dcf6cf68b6f5dcb0c", "sha256": "158387cbd6d4573c53da7b66128c0b80d0e781dbd639cd710081fd969e64206c" }, "downloads": -1, "filename": "njsd-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2f97caff5cbe613dcf6cf68b6f5dcb0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10029, "upload_time": "2018-07-17T15:45:15", "url": "https://files.pythonhosted.org/packages/47/8a/3926cfb4cfdeccb9e33c424f5c8b9e23d5941b24831ee4cec44eb886fd77/njsd-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "4e5a65008ad2be006f10754a22aec4c7", "sha256": "3505e1b840520571456fd26d90725b636f7a2ee5448a897378b530cda3c11b53" }, "downloads": -1, "filename": "njsd-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4e5a65008ad2be006f10754a22aec4c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10061, "upload_time": "2018-07-17T15:58:39", "url": "https://files.pythonhosted.org/packages/57/bd/2bd0441d6605b4adc987df1405b614bec9e9fce4af0c5df7c2e99c013153/njsd-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c5669764cdfac54ddeeec927e09232e5", "sha256": "1db99210a73540aeeffc7642ca255e192c8c21d8d94ba9fe43eaffc86d60bf0f" }, "downloads": -1, "filename": "njsd-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c5669764cdfac54ddeeec927e09232e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10323, "upload_time": "2018-07-18T04:33:33", "url": "https://files.pythonhosted.org/packages/44/9d/f20058e6ec553e2ef9a77e5727b7508299686e83b9fc6322982358bfde26/njsd-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "bb3b6dff7ec903281e6b5da0cfe053cd", "sha256": "e91a0d815a9b7ed37936e383b73572959efcb8ce24d964ea3c0e9eef413e4891" }, "downloads": -1, "filename": "njsd-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bb3b6dff7ec903281e6b5da0cfe053cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10551, "upload_time": "2018-07-24T09:43:03", "url": "https://files.pythonhosted.org/packages/40/5e/8d7677793b28b979736926154e6d1fcbc43faa4a732640d3af2d5841ab10/njsd-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bb3b6dff7ec903281e6b5da0cfe053cd", "sha256": "e91a0d815a9b7ed37936e383b73572959efcb8ce24d964ea3c0e9eef413e4891" }, "downloads": -1, "filename": "njsd-0.1.4.tar.gz", "has_sig": false, "md5_digest": "bb3b6dff7ec903281e6b5da0cfe053cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10551, "upload_time": "2018-07-24T09:43:03", "url": "https://files.pythonhosted.org/packages/40/5e/8d7677793b28b979736926154e6d1fcbc43faa4a732640d3af2d5841ab10/njsd-0.1.4.tar.gz" } ] }