{ "info": { "author": "Rob Schaefer, Joe Jeffers", "author_email": "schae234@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "![COB LOGO](https://s3-us-west-2.amazonaws.com/camoco/COBLogo.png)\n\n# COB - The Co-expression Browser\n\nCOB is a complete client/server package built to browse gene co-expression networks created by [Camoco](https://github.com/LinkageIO/Camoco). The client is written in javascript, and the server is written in python.\n\n## Demo Version\n\nFor your convenience, a demonstration version of COB is available to run as a Docker image with sample data. The data and scripts used to build this image are available as a repository as an example. The built image is also available on [Docker Hub](https://hub.docker.com/r/linkageio/camoco-cob) using the tag `maize-data`. Running the Docker image does not require any special configuration since it already has all of the data built and included. It can be run as follows:\n\n```bash\ndocker run --name cob -p 50000:50000\n```\n\nThis image can be seen running at [http://lovelace.cs.umn.edu/cob](http://lovelace.cs.umn.edu/cob). This demonstration server is provided as-is, and is not guaranteed to be maintained indefinitely. The Docker image is the preferred method to use this demo version.\n\n## Getting Started\n\n### Installation\n\nThis package is entirely dependent on [Camoco](https://github.com/LinkageIO/Camoco). It is is designed such that once the Camoco has been installed, COB can be added by, inside the camoco virtual environment, running:\n\n```bash\npip install camoco-cob\n```\n\n### Docker\n\nIncluded in this repo there is a Dockerfile which contains camoco and cob in a container. It does not provide any data prebuilt, thus in order to use this, three different mounts are available which are explained below. To run the image you would want to use a command like this:\n\n```bash\ndocker run -it --rm --name cob \\\n --volume $HOME/.camoco:/home/camoco/.camoco\n --volume $HOME/cob.conf:/home/camoco/cob.conf\n --publish 50000:50000\n linkageio/camoco-cob\n```\n\nThis will start cob based on the configuration and data provided on localhost port 50000. To enter the container, just add `bash` to the end of the command, or enter a running container using exec with `bash`.\n\n#### Mounts\n\n##### `/home/camoco/.camoco`\n\nThis is the storage directory for all camoco related data. This can be kept in the container, but it will not be persistent then. It is highly recommended to mount a directory for this.\n\n##### `/home/camoco/cob.conf`\n\nThis is the location of the cob configuration file that is used by cob by default. This will not work by default given no data is included in this docker image. Make sure to build your configuration based off your data and mount it here.\n\n##### `/home/camoco/.camoco.conf`\n\nThis is the location of the camoco configuration file. By default the emable camoco config file in this repo is used. This should work fine for most use cases.\n\n### Usage\n\nOnce installed, COB has a convinient command line interface to manage the server. To run it with all of the default options, no options are required, just execute in the camoco virtual environment:\n\n```bash\ncob\n```\n\nThis will start the server in the current terminal window. To see the site, navigate to `http://localhost:50000` in your web browser once the server has finished loading. To terminate the server, press `Ctrl+C` in the same terminal window. To run the server in the background, add the `-d` flag to the start command. To terminate all instances of the COB server, run `cob -k`. To define a specific server to kill, add the `-n` flag followed by the name of the server as such:\n\n```bash\ncob -k -n my_server\n```\n\nTo use a specific configuration file for server settings, the file may be defined with the `-c` flag:\n\n```bash\n cob -c my_server.conf\n```\n\nIf no configuration file is defined, COB then checks for a section `web` in the main camoco configuration file `~/.camoco.conf`. If there are no settings in that file, it will load with default values. The full configuration options are discussed in the next section.\n\nThis is the full documentation for all `cob` CLI options, which can also be accessed by executing `cob -h`:\n\n```txt\nusage: cob [-h] [-c USERCONF] [-d] [-k] [-l] [-n NAME]\n\nManage instances of the COB server.\n\noptional arguments:\n -h, --help show this help message and exit\n -c USERCONF, --config USERCONF\n Provide a YAML formatted configuration file, if not\n provided, general Camoco config file is used.\n -d, --daemon Run gunicorn as a daemon (allows closing of this\n terminal).\n -k, --kill Kill running server. Use '-n' to define specific\n server to kill otherwise all will be.\n -l, --list Kill running server. Use '-n' to define specific\n server to kill otherwise all will be.\n -n NAME, --name NAME Name of server to start or kill.\n```\n\n## Configuration\n\nA powerful configuration engine is provided to both set options for the server and also options for the content for the website, such as default option values. As mentioned above, these can either be provided through a standalone YAML configuration file ([`example.conf`](https://github.com/LinkageIO/cob/blob/master/example.conf) is included in the repo) or in a section with the same format titled `web` in the main camoco configuration file (found at `~/.camoco.conf`). One need not include one at all, this will just be started with the default values (seen below). This will also trigger all available Camoco networks and GWAS datasets to be loaded in. To prevent this, one may specify the desired datasets. The following is an annotated version of the default settings, showing all the potential configuration options:\n\n### Server Options\n\n```yaml\nname: cob # The name of this server instance, must be unique for\n# each instance, can be overridden by '-n' flag\nport: 50000 # Port to which the server will be attached\nthreads: 8 # How many individual threads the sever process may use\ntimeout: 500 # How long a thread maybe unresponsive before termination\ndev:\n False # Forces JS and CSS to be recompiled on every request\n # Normally done only on server restart\n```\n\n### Datasets\n\n```yaml\nnetworks: # Camoco networks that are to be loaded in the server.\n - My_Network_1 # If this is not included, all available Camoco\n - My_Network_2 # networks will be loaded.\ngwas: # GWAS datasets that will be loaded in the server. If\n - My_GWAS_1 # this is not included, all GWAS datasets that\n # correspond to loaded networks will be loaded.\n```\n\n### Default Values\n\n```yaml\ndefaults: # This is the dictionary containing all of the defaults\n # for the options on the web site\n logSpacing: True # Spacing of genes in Polywas layout, log or true distance\n visEnrich: True # Only enrich genes visible on graph or all in table\n fdrFilter: True # Whether to use FDR to filter query results\n nodeCutoff: 1 # How many edges a node must have to be visible\n edgeCutoff: 3.0 # The cutoff for significance of edge scores\n fdrCutoff: 0.35 # If the FDR Filter is used, the cutoff for being visible\n windowSize: 50000 # Window size used in the query\n flankLimit: 2 # Flank limit used in the query\n visNeighbors: 25 # Default number of neighbors visible in custom network\n nodeSize: 10 # Size of the nodes on the graph\n pCutoff: 0.05 # P value cutoff for enrichment queries\n minTerm: 5 # Minimum number of genes a GO term must have to be included\n maxTerm: 300 # Maximum number of genes a GO term must have to be included\n```\n\n### Reference Links\n\nThis section allows for linking directly from genes to an external website for more information. This can be configured for each different reference genome (RefGen) used to build the included networks. If not included, the option won't appear. To configure this,start by writing the name of the RefGen under the `refLinks` option, followed by a colon and a space as seen below. Then you must go to the database you wish to use for that RefGen, and search any gene. After finding this, copy the URL onto the line after the name of the RefGen. Finally replace the name of the gene in the URL with the string `{id}`. This allows the website to find where in the URL the gene name goes, and replace it with any gene for that organism. The following example works for maize, soybean, and medicago. Add or subtract species at will.\n\n```yaml\nrefLinks:\n Zm5bFGS: http://www.maizegdb.org/gene_center/gene/{id}\n Gmax_a2_V1: https://www.soybase.org/sbt/search/search_results.php?category=FeatureName&version=Glyma2.0&search_term={id}\n Mt_4.0: http://medicago.jcvi.org/cgi-bin/medicago/manatee/shared/ORF_infopage.cgi?db=mta4&user=access&password=access&identifier=locus&orf={id}\n```\n\n## Notes\n\nIf you care to make this site accessible to the web, you can add a reverse proxy to Apache, allowing for access by using a normal URL. An example of how to do this is provided here, but for more detailed documentation, see the [Apache docs](https://httpd.apache.org/docs/2.4/).\n\n```xml\n\n ProxyPass /cob http://127.0.0.1:50000\n ProxyPassReverse /cob/ http://127.0.0.1:50000\n\n```\n\nThe equivalent can be done in NGINX using the `proxy_pass` directive.\n\n## Development\n\nThis package works with the standard `python3 setup.py develop` command for purposes of development in a given environment, no special configuration is necessary.\n\nTo build and push a new version the package, update the version in the `cob/__init__.py` file, install twine, and then do the following:\n\n```bash\npython setup.py sdist\ntwine upload dist/*\n```\n\nIt will ask for authentication, but should handle everything else.\n\n## Paper\n\nThere is a publication for this updated version of cob in process. More information will be added to this doc when it's available.\n\n## Acknowledgements\n\nI would like to thank all members of the Myers Lab for their extensive and patient mentorship. I would also like to thank Max Franz, for all of his work on [Cytoscape.js](http://js.cytoscape.org/), and assistance in getting it integrated optimally. Finally I would like to thank the open source web development community in general. This project was only possible because of the robust ecosystem of packages available for use by everyone.\n\n## Funding\n\nJ.J., R.S., and J.M. were partially supported by a Biomedical Informatics and Computational Biology (BICB) Fellowship. This work was supported by a grant from the National Science Foundation to N.M.S. (DBI-1237931) and by US Department of Agriculture Hatch funds to N.M.S. and C.L.M. R.S., R.B. and C.L.M. were partially supported by grants from the National Science Foundation (IOS 1126950 and DBI 0953881). C.L.M. is supported by the CIFAR Genetic Networks Program. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.", "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/LinkageIO/cob", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "camoco-cob", "package_url": "https://pypi.org/project/camoco-cob/", "platform": "", "project_url": "https://pypi.org/project/camoco-cob/", "project_urls": { "Homepage": "https://github.com/LinkageIO/cob" }, "release_url": "https://pypi.org/project/camoco-cob/0.9.7/", "requires_dist": null, "requires_python": ">=3", "summary": "The Co-Expression Network Browser", "version": "0.9.7" }, "last_serial": 5404683, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "01fe265448307465b9dc654c8f10f157", "sha256": "1020e1df853d663ac7bdc784e39d38901d9d69828151c789ea6b87bff47dcf18" }, "downloads": -1, "filename": "camoco_cob-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "01fe265448307465b9dc654c8f10f157", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 44676, "upload_time": "2018-01-08T02:06:03", "url": "https://files.pythonhosted.org/packages/88/72/038ebd6e7288cbaedacd8f3381bb86401abbcdb0254070ff60ffc253def4/camoco_cob-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdf2080fe9113116563e5742019ca23b", "sha256": "735a6eb972cafec127de1a0bb311bbcc5a5cf8d2a93890a7690e1faff0367e35" }, "downloads": -1, "filename": "camoco-cob-0.9.0.tar.gz", "has_sig": false, "md5_digest": "fdf2080fe9113116563e5742019ca23b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 36513, "upload_time": "2018-01-08T02:06:04", "url": "https://files.pythonhosted.org/packages/12/f0/7d1ce49d03c65229d1d60a4fb85d675819ea7253820a7252ffdd3db3d3f5/camoco-cob-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "b4cea3a64d01cd8d337e34d9ea183dae", "sha256": "8ddba519b308d692ea8cb872a307e8d8dfa10c4a38401d117a6edba6583808cf" }, "downloads": -1, "filename": "camoco_cob-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b4cea3a64d01cd8d337e34d9ea183dae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 50836, "upload_time": "2018-01-08T02:14:51", "url": "https://files.pythonhosted.org/packages/1f/9d/f48abfd20b9da263479fd5e5f4848315966817eec87a07e891f3f52eeb3e/camoco_cob-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee44160d344c995d626c448f59c338c6", "sha256": "eaaa5c8f4efb0f79c1a8d090b26127dd87fe07b4d1b55298484ec379143bb98c" }, "downloads": -1, "filename": "camoco-cob-0.9.1.tar.gz", "has_sig": false, "md5_digest": "ee44160d344c995d626c448f59c338c6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 39841, "upload_time": "2018-01-08T02:15:20", "url": "https://files.pythonhosted.org/packages/2f/69/872127d5593ce8c6b1d082dde11a94f3236b7914d6a1a93222c25ae5fe19/camoco-cob-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "b7892b20cadc9dc1fa2856544fc1f062", "sha256": "d1926fbfae92d5111e19cc811c15c4be5ca5fff6730ba55275e15abef71bb704" }, "downloads": -1, "filename": "camoco_cob-0.9.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b7892b20cadc9dc1fa2856544fc1f062", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 50818, "upload_time": "2018-01-08T02:27:52", "url": "https://files.pythonhosted.org/packages/58/41/6856922b32db84a93589f987bac91e2b0d7f86c5b744bcada16f918f5603/camoco_cob-0.9.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b74e9bccda1b631f2cc0f6f45a9ba6cd", "sha256": "add770ab9442e124f2c20462cda94f41a46431e694fdda34d0f64938e1ed864c" }, "downloads": -1, "filename": "camoco-cob-0.9.2.tar.gz", "has_sig": false, "md5_digest": "b74e9bccda1b631f2cc0f6f45a9ba6cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 40054, "upload_time": "2018-01-08T02:27:53", "url": "https://files.pythonhosted.org/packages/6c/9d/d74ee5eaabc14a702814f0072d7986d0798a30961d60a6c657903bef0dd6/camoco-cob-0.9.2.tar.gz" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "db005ad58bb3933bda74d379b8df526e", "sha256": "2ab070217ee8292a77a92e66f25cc83db2ab2fc3f34da666516c5edc634a6176" }, "downloads": -1, "filename": "camoco-cob-0.9.3.tar.gz", "has_sig": false, "md5_digest": "db005ad58bb3933bda74d379b8df526e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 572677, "upload_time": "2019-02-23T19:23:09", "url": "https://files.pythonhosted.org/packages/19/51/fd900062167b41afa004312554bf0c635052f93d081184159cd8ce2a4575/camoco-cob-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "ae04722e6f86b5973af88f933b1fa1cc", "sha256": "72644772b4e974a59060318838458937ad1b838a2f1b0d035ed704f86c5e88fa" }, "downloads": -1, "filename": "camoco_cob-0.9.4-py3.6.egg", "has_sig": false, "md5_digest": "ae04722e6f86b5973af88f933b1fa1cc", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3", "size": 592932, "upload_time": "2019-02-23T21:17:49", "url": "https://files.pythonhosted.org/packages/94/1f/4d046e88e64c5e9f36670b04875c2ebe5cf2e45aeded9446692a4f054390/camoco_cob-0.9.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "943271e699647b0e1ceccce1483b15b0", "sha256": "6564dff83bba75ef56c3bf77bc29ae95f1c2e43256d3dfee8d4ac7e379f484c9" }, "downloads": -1, "filename": "camoco-cob-0.9.4.tar.gz", "has_sig": false, "md5_digest": "943271e699647b0e1ceccce1483b15b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 572767, "upload_time": "2019-02-23T21:17:51", "url": "https://files.pythonhosted.org/packages/5a/69/f2d990c14a4b61a22408f4dcf835fbf90cf110867f6f35981b4478f551d1/camoco-cob-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "30dee4a1f37f5c31f7df949e55fd4616", "sha256": "ce896936ca03c163d9fdefdd161d1f2d0209d3307f0b1314a39019227ea4820b" }, "downloads": -1, "filename": "camoco-cob-0.9.5.tar.gz", "has_sig": false, "md5_digest": "30dee4a1f37f5c31f7df949e55fd4616", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 572704, "upload_time": "2019-02-23T21:36:23", "url": "https://files.pythonhosted.org/packages/de/dd/062153b0ca80ac9c4a395c2d23f32365be5939c2532166ef734874ce9d73/camoco-cob-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "dc8b14506d907138a98ea2a42f64dda2", "sha256": "735a7a4d0603fe8d52dd14fc85a318201d05ccc56c3d99d959b83ee37b2d9195" }, "downloads": -1, "filename": "camoco-cob-0.9.6.tar.gz", "has_sig": false, "md5_digest": "dc8b14506d907138a98ea2a42f64dda2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 306612, "upload_time": "2019-02-25T03:43:49", "url": "https://files.pythonhosted.org/packages/7c/4f/a67d8ecf2c6ca36956c81fd8e16c6866b0f866813e69c4503603bcbc5019/camoco-cob-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "b9a91eb56b53670759a54a7797f6236e", "sha256": "a514f182836ccaf221dc7b04e79ce5ccd1ab12192c5683a83f2a3d5c31e04114" }, "downloads": -1, "filename": "camoco-cob-0.9.7.tar.gz", "has_sig": false, "md5_digest": "b9a91eb56b53670759a54a7797f6236e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 307811, "upload_time": "2019-06-15T19:41:04", "url": "https://files.pythonhosted.org/packages/57/8d/731d7e86281dc47e12695ef5b620a96f70b070b98a31501cb47187d33f6c/camoco-cob-0.9.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9a91eb56b53670759a54a7797f6236e", "sha256": "a514f182836ccaf221dc7b04e79ce5ccd1ab12192c5683a83f2a3d5c31e04114" }, "downloads": -1, "filename": "camoco-cob-0.9.7.tar.gz", "has_sig": false, "md5_digest": "b9a91eb56b53670759a54a7797f6236e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 307811, "upload_time": "2019-06-15T19:41:04", "url": "https://files.pythonhosted.org/packages/57/8d/731d7e86281dc47e12695ef5b620a96f70b070b98a31501cb47187d33f6c/camoco-cob-0.9.7.tar.gz" } ] }