{ "info": { "author": "Drew Ellison Hart", "author_email": "drew.ellison.hart@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "*********\nGeonomics\n*********\n\nForward-time, individual-based, landscape genomic simulation in Python.\n\n.. code-block:: python\n\n # :::::: ::: :: :::::::::::#\n #:::::: :::: ::: :: :: :: ::::::::::: ::#\n #::::::::: :: :: :::::::::::::::::::::::::#\n #:::::::::: :::::::::: :::::: :::::::: ::#\n # : :::: :: :::: : :: :::::::: : :: : #\n # GGGGG EEEE: OOOOO NN NN OOOOO MM MM IIIIII CCCCC SSSSS #\n # GG EE OO OO NNN NN OO OO MM MM II CC SS #\n # GG EE OO OO NN N NN OO OO MMM MMM II CC SSSSSS #\n # GG GGG EEEE OO OO NN NNN OO OO MM M MM II CC SS #\n # GG G EE OO OO NN NN OO OO MM MM II CC SSS #\n # GGGGG EEEE: OOOOO NN NN OOOOO MM MM IIIIII CCCCC SSSSS #\n # ::::::::: :::::::::: :: :: : : #\n #:: ::::: :::::: ::: ::::::: #\n # ::: ::::: :: ::::: #\n # :: :::: #\n # #\n # :: :: ::: #\n\n\n\n\n**Geonomics** allows users to build and run arbitrarily complex, forward-time,\nagent-based, and spatially explicit simulations for landscape genomics. It is\ndesigned to allow novice Python users to create sophisticated simulations with\nminimal code, while also allowing advanced users a high level of extensibility\nand customizability.\n\nWe will continue to expand and add functionality in future versions. Please\ncontact us with questions, suggestions, or requests!\n\nMain Features\n-------------\nThe following is a short list of highlights. For the full monty, please see\nthe `homepage `_,\nthe `docs `_,\nand the `original methods paper `_.\n\n - a model object, which serves as the primary user interface and which\n contains all other model components\n - a landscape object consisting of an arbitrary number of environmental\n raster layers\n - a community object consisting of an arbitrary number of species objects,\n each consisting of an arbitrary number of individuals\n - an optional genomic-architecture object, upon which individuals' genomes\n are based\n - spatialized logistic growth regulating local population densities\n - the capability to model realistic movement and offspring dispersal\n across conductance surfaces\n - neutral and non-neutral evolution capabilities, with spatially contingent\n selection\n - demographic- and environmental-change capabilities\n - the capability to run an arbitrary number of iterations of a model\n - the capability to sample data and a variety of statistics at any desired\n timesteps during a model run\n - numerous visualization methods to aid in model design, exploration,\n analysis, and presentation\n\n\nInstallation\n------------\n\nGeonomics can be installed with `pip`:\n\n.. code-block:: python\n\n pip install geonomics\n\n\nQuickstart\n----------\nFor impatient beginners, the following code will run Geonomics' default model::\n\n >>> import geonomics as gnx\n >>> mod = gnx.run_default_model()\n\nThis will build and run **geonomics**' default model, return its `Model` object\nas `mod`, and leave its parameters file in your current working directory under\nthe name 'GNX_default_model_params.py'.\n\nFor patient folks, the following diagrams should provide more insight, and the\n`documentation `_\nprovides full details.\n\n\nDetails\n-------\n\nProcedural Diagram\n~~~~~~~~~~~~~~~~~~\n\n.. image:: ./img/procedural_diagram.jpg\n\nUsers can run Geonomics models in as few as three steps.\n\n1. **Create and edit a parameters file**: After importing geonomics as `gnx`,\n users can run the function `gnx.make_parameters_file()` function, feeding in\n a series of arguments to indicate the desired number and type of landscape layers,\n number and parameterization of species, data and statistics to be recorded, and parameters\n file name. Users can then edit the default parameter values in the resulting file to parameterize\n their model. Within the parameters file, they have the option of referencing external files\n to be used by their model, including static raster files or directories of raster time series, as well\n as a CSV file defining a custom genomic architecture.\n\n2. **Use the parameters file to create a model**: After setting up their parameters file, users can\n call the `gnx.make_model()` function, providing their parameters file's name as an argument. This\n will create a new `gnx.Model` object, containing a `gnx.Landscape` with the defined number of layers,\n and a `gnx.Community` with the defined number of species composed of starting individuals. The landscape,\n species, and individuals will all be described by a number of characteristics, in accordance with the values\n defined in the parameters file.\n\n3. **Run the model**: Users can then call the model's `mod.run` or `mod.walk` methods, to either run their model\n to completion or run it manually for some number of time steps. Each time step will include, as applicable,\n movement, mating, mortality, environmental and demographic change, and data-writing operations. For more detail\n on these operations, see the conceptual diagram that follows.\n\nConceptual Diagram\n~~~~~~~~~~~~~~~~~~\n\n.. image:: ./img/conceptual_diagram.jpg\n\nOperations during the main phase of a Geonomics model run. In the center is a\nspecies on a multi-layer landscape that includes a selection layer (above) and\na movement and carrying capacity layer (below). Surrounding the landscape is a\nflow-diagram of the major operations during a time step. Operations in dashed\nboxes are optional.\n\n- **movement**: During the movement stages (top-left), individuals move\n along movement vectors drawn from various distribution options.\n\n- **mating**: During the mating stage (top-right), an individual (purple outline) randomly\n chooses a mate (green outline) from all potential mates within its mating radius\n (dashed circle). The resulting offspring (dashed outline) disperses from its\n parents' midpoint along a randomly drawn dispersal vector.\n\n- **mortality**: During the mortality stage (bottom-right), deaths are modeled as a Bernoulli\n process, with the probability of mortality being a product of density-dependence\n and selection on all traits.\n\n- **changes**: During the changes stage (bottom-left), demographic change events\n (not pictured) and environmental change events (represented as a\n series of change rasters corresponding to scheduled time steps,\n t1, t2, \u2026, tn), take place.\n\n\nDisclaimer\n----------\n**Geonomics** claims no affiliation with the philosophy and economic ideology\n`Georgism `_, sometimes referred to as\n'geonomics'. It is a portmanteau of **geo**\\graphy and ge\\ **nomics**.\nI just thought it sounded neat, and found it delightfully confusing.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/drewhart/geonomics", "keywords": "landscape genomics genetics ecology evolution simulation model environmental model agent-based", "license": "", "maintainer": "", "maintainer_email": "", "name": "geonomics", "package_url": "https://pypi.org/project/geonomics/", "platform": "", "project_url": "https://pypi.org/project/geonomics/", "project_urls": { "Documentation": "https://htmlpreview.github.io/?https://github.com/drewhart/geonomics/blob/master/doc/built/doc.html", "Homepage": "https://github.com/drewhart/geonomics", "Source": "https://github.com/drewhart/geonomics" }, "release_url": "https://pypi.org/project/geonomics/0.0.3/", "requires_dist": [ "numpy", "matplotlib", "pandas (>=0.23.4)", "geopandas", "scipy", "scikit-learn", "statsmodels (>=0.9.0)", "shapely", "bitarray", "pyvcf", "GDAL ; extra == 'reading_and_writing_of_common_raster_data_formats'", "nlmpy ; extra == 'simulation_on_neutral_landscape_models'" ], "requires_python": ">=3.5", "summary": "A package for landscape genomic simulation", "version": "0.0.3" }, "last_serial": 5962396, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "0bb23745b996585e5943263b954286e4", "sha256": "39d0e138196aaf0cd9685b94568d587578f143db7688590b873acb22573dfb3e" }, "downloads": -1, "filename": "geonomics-0.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0bb23745b996585e5943263b954286e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 239587, "upload_time": "2019-10-11T20:41:30", "url": "https://files.pythonhosted.org/packages/98/11/cf5d71afe767b3ea5ea32f3a470f0c7e417a282d10fef89c843c6d6a9c95/geonomics-0.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69fd9c68ea463b82c5f5b5804d067153", "sha256": "42b3c816866cd77a4f76e36e91483fe67aa6af87fc00c3748b13520f8747fb9c" }, "downloads": -1, "filename": "geonomics-0.0.0.tar.gz", "has_sig": false, "md5_digest": "69fd9c68ea463b82c5f5b5804d067153", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 116600, "upload_time": "2019-10-11T20:41:33", "url": "https://files.pythonhosted.org/packages/eb/59/61a0fa7da6d1eb95274b20e70411e3bbcbf336f2e51c0c3f24d9dfd69227/geonomics-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "d9069f65e0d67738d4033f0ba648c366", "sha256": "0c3ecfd66e2d63914e629fecccaa84e601d14b18a61c93f042db84f89c8e0a19" }, "downloads": -1, "filename": "geonomics-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d9069f65e0d67738d4033f0ba648c366", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 239593, "upload_time": "2019-10-11T20:50:37", "url": "https://files.pythonhosted.org/packages/93/b3/bd6a10c6c3f7c104cdc783db60e04e514dc5dc4f00fc6cb5e48d8852bd19/geonomics-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06021e12d0924707a5d50d217b921272", "sha256": "74f5da257d112a495b6a0756de5015ed383bacbacc68c9fdc48b64c450dba679" }, "downloads": -1, "filename": "geonomics-0.0.1.tar.gz", "has_sig": false, "md5_digest": "06021e12d0924707a5d50d217b921272", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 116614, "upload_time": "2019-10-11T20:50:40", "url": "https://files.pythonhosted.org/packages/94/78/b9f359a494236813eed883f681c635039c80b0de74eadf3154a44f3756df/geonomics-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "68879d0bde9c0329bb0e55fa1da4296b", "sha256": "9015ff8a016fcc7dd994ff2cfe944139ad0992c98243893c85dc1cee8dc09782" }, "downloads": -1, "filename": "geonomics-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "68879d0bde9c0329bb0e55fa1da4296b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 239656, "upload_time": "2019-10-12T00:14:48", "url": "https://files.pythonhosted.org/packages/58/e1/1fffecb70032bb26f65a22ac7c6a6e1bd6ddffc859645f83440538b14140/geonomics-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d4578b97258093939423a10a1704cff", "sha256": "a1bf3e75a75273834855a3827c44ec306e95322c9adb56e29ce6d733f0f78170" }, "downloads": -1, "filename": "geonomics-0.0.2.tar.gz", "has_sig": false, "md5_digest": "9d4578b97258093939423a10a1704cff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 116635, "upload_time": "2019-10-12T00:14:53", "url": "https://files.pythonhosted.org/packages/a9/dc/92413210227000ae3ba79a2bed09be79739402886498f55a6cbef588519f/geonomics-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "33bb2e2f434c636cecb33b5f69dd9938", "sha256": "0edd55a2cd37b584ed9186ca6e7aa7989d29408942c47cb9b408992b18911faf" }, "downloads": -1, "filename": "geonomics-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33bb2e2f434c636cecb33b5f69dd9938", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 239721, "upload_time": "2019-10-12T00:25:33", "url": "https://files.pythonhosted.org/packages/10/15/8d20a14f7614c6ec4e383d9f9d60397d7c5ccc12d48c7c4d49a800d6d0e6/geonomics-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "854e2068c2cabe7d6aa2a6b71451b62b", "sha256": "4c7fb1df2d9ede7c64a8ec7ceb6615221b93b846159d509101ebbacde562e1b6" }, "downloads": -1, "filename": "geonomics-0.0.3.tar.gz", "has_sig": false, "md5_digest": "854e2068c2cabe7d6aa2a6b71451b62b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 116648, "upload_time": "2019-10-12T00:25:40", "url": "https://files.pythonhosted.org/packages/cb/64/cdd4f9ac826c438745b222bff8aa1099e4d70824845a6e33825b5fe07f53/geonomics-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "33bb2e2f434c636cecb33b5f69dd9938", "sha256": "0edd55a2cd37b584ed9186ca6e7aa7989d29408942c47cb9b408992b18911faf" }, "downloads": -1, "filename": "geonomics-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33bb2e2f434c636cecb33b5f69dd9938", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 239721, "upload_time": "2019-10-12T00:25:33", "url": "https://files.pythonhosted.org/packages/10/15/8d20a14f7614c6ec4e383d9f9d60397d7c5ccc12d48c7c4d49a800d6d0e6/geonomics-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "854e2068c2cabe7d6aa2a6b71451b62b", "sha256": "4c7fb1df2d9ede7c64a8ec7ceb6615221b93b846159d509101ebbacde562e1b6" }, "downloads": -1, "filename": "geonomics-0.0.3.tar.gz", "has_sig": false, "md5_digest": "854e2068c2cabe7d6aa2a6b71451b62b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 116648, "upload_time": "2019-10-12T00:25:40", "url": "https://files.pythonhosted.org/packages/cb/64/cdd4f9ac826c438745b222bff8aa1099e4d70824845a6e33825b5fe07f53/geonomics-0.0.3.tar.gz" } ] }