{ "info": { "author": "Ray", "author_email": "rblick.ecol@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Visualization" ], "description": "===========\nVirtual Ecologist\n===========\n\nA set of tools to optimize transect length in an ecological monitoring program.\nThe primary goal is to reduce transect length without losing the power to\ndetect a difference between surveys (e.g. seasonal surveys). \n\nThese tools assume that the data are collected from transects (which can be\n variable in length), and each transect contains sequential data collection points.\nE.g. A 50 meter transect with 1m2 plots spaced 4 meters apart. \n\nIt also assumes that you are assessing grouped data (e.g. functional groups,\nlifeforms, guilds or a custom list of groupings used to cluster species) at an\nindividual location. For example, lifeforms (forbs, trees) in a remnant forest.\n\n\nInstallation\n-----------\n```bash\n# clone repo\nhttps://github.com/rayblick/Virtual-Ecologist.git\n# cd in to root directory\npython setup.py install\n```\n\nUsage\n------------\n\n```python\n# Import library\nfrom virtualecologist import virtualecologist as ve\n# instantiate virtualecologist\n# requires 2 datasets...\nexample = ve.VirtualEcologist(\"virtualecologist/data/pilotdata.csv\",\n \"virtualecologist/data/fulldata.csv\")\n# uses pilot data to generate mean error rate\nexample.train_observer()\n# match main data to the mean error rate\n# if pilot data not given, you assume a 10% error rate for all groups\nexample.match_full_dataset()\n# print to console a table of groups and error rates\n# execution here returns error rate\nexample.print_table(example.mse_output)\n# Main function\n# isolate the location and the lifeform to investigate\n# produces a figure showing number of plots to reduce\nexample.calc_mmd(site=\"swamp\", lifeform=\"shrub\")\n# generates a stacked barchart for all sites and lifeforms in the dataset\nexample.create_barchart()\n# get the probability density function for your selected lifeform\nexample.create_pdf_figure()\n```\n\nExample\n==============\n\n###Sampling design\n--------------\nLocation: single wetland \nTarget habitat: hydrological gradient \nDesign: stratified-random transects (of variable length) \nSampling: 1m plots every 4m \nLifeform: damp tolerant terrestrial plants (Tda) \n\n**Thresholds:** \n\n + Minimum detectable difference of 10% \n + All transects have to keep at least 4 plots each \n\n\n![wc](https://raw.github.com/rayblick/Virtual-Ecologist/master/img/transects2014.jpg)\n\n\n###Get started\n-------------\n```python\nfrom virtualecologist import virtualecologist as ve\nwc = ve.VirtualEcolgist(\"path/to/pilotdata.csv\",\"path/to/fulldata.csv\")\n```\n\n###Train your Virtual Ecolgist:\n-------------\n```python\nwc.train_observer()\n# find all cases that are not trained\nwc.match_full_dataset()\n# print mean square error for each life form\nwc.print_table(wc.mse_output)\n```\n\n**Tabulated output:**\n-------------\n```markdown\n+----+----------+---------+------------+\n| ID | Lifeform | MSE | Pilot data |\n+----+----------+---------+------------+\n| 1 | ARp | 22.333 | yes |\n| 2 | ATe | 315.452 | yes |\n| 3 | ATl | 27.273 | yes |\n| 4 | ATw | 306.5 | yes |\n| 5 | Ate | 152.412 | no |\n| 6 | T/ATe | 152.412 | no |\n| 7 | T | 49.021 | yes |\n| 8 | Tdr | 292.731 | yes |\n| 9 | Tda | 53.576 | yes |\n+----+----------+---------+------------+\n```\n\n###Calculate minimum detectable difference\n--------------\n```python\nwc.calc_mmd(site=\"West Carne\", lifeform=\"Tda\")\n\n# console printout\n#>>> Max number of plots you can drop (if each transect still has 4 plots) is: 1.57\n#>>> The trigger value was exceeded when the minimum number of plots per transect was less than: 17.0\n\n```\nThe console print out summarizes the figure. In this example I can remove 1.57 plots\nfrom each transect before the minimum detectable difference exceeds 10%. Importantly,\nthese results are associated with finding a minimum of 17 plots with at least\none species from the target group (Tda).\n\nNote the dashed line in the figure which shows the number of plots with at least one species\nfrom Tdr. Unsurprisingly, as I reduce plots from each transect, the minimum\ndetectable difference between my observations and the Virtual Ecologist increases\n(and so does variability).\n\n![mmd](https://raw.github.com/rayblick/Virtual-Ecologist/master/img/mdd.png)\n\n\n###Produce probability density function\n--------------\n```python\n# This will produce one figure for each group of plants\nwc.create_pdf_figure()\n```\n![pdf](https://raw.github.com/rayblick/Virtual-Ecologist/master/img/pdf.png)\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rayblick/Virtual-Ecologist", "keywords": "ecology,environment,conservation,modelling", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "virtualecologist", "package_url": "https://pypi.org/project/virtualecologist/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/virtualecologist/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/rayblick/Virtual-Ecologist" }, "release_url": "https://pypi.org/project/virtualecologist/0.0.5/", "requires_dist": null, "requires_python": null, "summary": "Optimize transect length in ecological surveys.", "version": "0.0.5" }, "last_serial": 1928664, "releases": { "0.0.4": [ { "comment_text": "", "digests": { "md5": "6c0456bbd8e7b7c4a8853f61e8a2e6d7", "sha256": "abb2b5b5f5298a8c1832b36722541e7881af3aa7c7de39926b6972f71adca4c5" }, "downloads": -1, "filename": "virtualecologist-0.0.4-py2.7.egg", "has_sig": false, "md5_digest": "6c0456bbd8e7b7c4a8853f61e8a2e6d7", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17570, "upload_time": "2016-01-27T22:56:39", "url": "https://files.pythonhosted.org/packages/9d/fb/222d05c27466c4ec15fa0ac598190a70cffac1b68b9cbbeae16626e69cd3/virtualecologist-0.0.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "93bee7bf78a51adc384dab3329219f26", "sha256": "a7edb992befa4087617255fc0c8654181b1142f30a187ba4e3c1c1c89895a222" }, "downloads": -1, "filename": "virtualecologist-0.0.4.tar.gz", "has_sig": false, "md5_digest": "93bee7bf78a51adc384dab3329219f26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15623, "upload_time": "2016-01-27T22:52:56", "url": "https://files.pythonhosted.org/packages/10/ea/169cb84b79f866d1c521ee19d599948a8a9ddd70e8aa2400eefdd327ecbb/virtualecologist-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8f795cd1d76c5f650279a6af9fcd87ad", "sha256": "2410c260bfcbbe92a835f048100b0b0b3d88a497244fff11964d6afd45b09ee3" }, "downloads": -1, "filename": "virtualecologist-0.0.5-py2.7.egg", "has_sig": false, "md5_digest": "8f795cd1d76c5f650279a6af9fcd87ad", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18305, "upload_time": "2016-01-29T06:31:38", "url": "https://files.pythonhosted.org/packages/bb/84/5442d7995191b491f912ae434f7ddf9da0c34523b3b4909df83f71ec49f6/virtualecologist-0.0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7098573c746c48dbceb3d9a9433c6c1b", "sha256": "34ed8ef3fc75ee937526e28fab1bfed63f0ed724cf7eb9c9b6e51fc779b6dbb5" }, "downloads": -1, "filename": "virtualecologist-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7098573c746c48dbceb3d9a9433c6c1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16335, "upload_time": "2016-01-29T06:31:31", "url": "https://files.pythonhosted.org/packages/06/c2/02e51fd67c765fbd5f0a7a1d370d365342680f84052a32de9733f63801b7/virtualecologist-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8f795cd1d76c5f650279a6af9fcd87ad", "sha256": "2410c260bfcbbe92a835f048100b0b0b3d88a497244fff11964d6afd45b09ee3" }, "downloads": -1, "filename": "virtualecologist-0.0.5-py2.7.egg", "has_sig": false, "md5_digest": "8f795cd1d76c5f650279a6af9fcd87ad", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18305, "upload_time": "2016-01-29T06:31:38", "url": "https://files.pythonhosted.org/packages/bb/84/5442d7995191b491f912ae434f7ddf9da0c34523b3b4909df83f71ec49f6/virtualecologist-0.0.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "7098573c746c48dbceb3d9a9433c6c1b", "sha256": "34ed8ef3fc75ee937526e28fab1bfed63f0ed724cf7eb9c9b6e51fc779b6dbb5" }, "downloads": -1, "filename": "virtualecologist-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7098573c746c48dbceb3d9a9433c6c1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16335, "upload_time": "2016-01-29T06:31:31", "url": "https://files.pythonhosted.org/packages/06/c2/02e51fd67c765fbd5f0a7a1d370d365342680f84052a32de9733f63801b7/virtualecologist-0.0.5.tar.gz" } ] }