Open Tree of Life
Constructs a comprehensive, dynamic and digitally-available tree of life by synthesizing published phylogenetic trees along with taxonomic data.
https://github.com/opentreeoflife/opentree
Category: Biosphere
Sub Category: Biodiversity Data Access and Management
Keywords from Contributors
transforms measur archiving ecology observation conversion projection animals compose optimize
Last synced: about 4 hours ago
JSON representation
Repository metadata
Opentree browsing and curation web site. For overarching or cross-repo concerns, please see the 'germinator' repo.
- Host: GitHub
- URL: https://github.com/opentreeoflife/opentree
- Owner: OpenTreeOfLife
- License: bsd-2-clause
- Created: 2013-02-18T20:17:46.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-11-18T18:00:29.000Z (5 months ago)
- Last Synced: 2025-03-16T15:14:40.485Z (about 1 month ago)
- Language: JavaScript
- Homepage: http://tree.opentreeoflife.org/
- Size: 26.5 MB
- Stars: 115
- Watchers: 19
- Forks: 26
- Open Issues: 300
- Releases: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
README.md
opentree
This is the repository for the Open Tree of Life web applications, one of many subsystems making up the Open Tree of Life project code.
For Open Tree of Life documentation, see the germinator repository's wiki. The 'deployment system' and web API documentation sources that formerly resided in this repository now live in the germinator repository.
The following instructions have not been reviewed in a long time. For local installation a better place to start might be this wiki page.
Installation
See the phylografter instructions for
more details about using web2py.
We strongly recommend using a virtual environment to manage the version of
Python and installed modules. We're currently running opentree with Python
v2.7.3. Newer versions of python2.7 should work, but NOTE that web2py is not
compatible with Python 3.
If necessary, compile Python2.7 and use it when making your virtualenv. You
should be able to safely install multiple versions of python using your
preferred package manager, or by configuring Python2.7 with the --prefix
option and 'make altinstall'.
So the final invocation to create your virtualenv should look something like:
$ virtualenv --python=/usr/bin/python2.7 --distribute <path/to/new/virtualenv/>
Or, if you're using virtualenvwrapper (http://virtualenvwrapper.readthedocs.org/en/latest/index.html):
$ mkvirtualenv --python=python2.7 --no-site-packages --distribute opentree
The included requirements.txt file lists known-good versions of all the required
python modules for opentree, plus a few convenience modules. To install these modules
using pip,
The contents of the webapp subdirectory are a web2py application. Make a symbolic
link called "opentree" in a web2py/applications directory to the webapp directory.
You should be able to launch web2py and see the app running at http://127.0.0.1:8000/opentree/
There is now a second web2py app for the curation tool, which will also need a
symlink. This will be available at http://127.0.0.1:8000/curator/
Briefly:
-
Download and unpack the source code version of web2py from
http://www.web2py.com/examples/default/download MTH used version 2.4.2 of web2pyNOTE: This version of web2py includes basic support for OAuth 2.0, but it needs
a minor patch to support for login via the GitHub API v3. (The curation app
uses GitHub for its datastore and attribution. The tree browser also uses it
for its issue tracker, with optional authentication for convenience.) Replace
this web2py file with a modified version in the same folder as this README: -
Create the sym links for the main web app and the study curation tool.
-
Customize web2py's site-wide routing behavior using "SITE.routes.py"
This routing file works in tandem with the opentree app router and lets us have
proper URLs with hyphens instead of underscores. -
Launch web2py
Where the -a flag is allowing you to reuse the previous admin password that you used
with this instance of web2py.To test with login and proper domain name, modify your test system's
/etc/hosts
file (or equivalent) to resolve the domaindevtree.opentreeoflife.org
to localhost (127.0.0.1). Then run web2py on (privileged) port 80 like so:To test with local HTTPS, modify your test system's
/etc/hosts
file as described above, then use a web2py options file to
support HTTP traffic on port 80 and HTTPS on port 443. This requires working
key and cert files.
to localhost (127.0.0.1). Then run web2py on (privileged) port 80 like so:This looks for the options file
multiport_options.py
in the same
directory asweb2py.py
, with contents something like this:Now you should be able to use production domain names, secure connections,
and OAuth as in the production setup.
Subdirectories
mockup
: JAR's hand-written html that mock up the design of the site.
smasher
: construction of synthetic taxonomy. See https://github.com/OpenTreeOfLife/opentree/wiki/Open-Tree-Taxonomy for details
webapp/controllers
: python code executed by web2py when a URL is successfully mapped to a controller.
webapp/modules
: python code that can be imported and used by the webpp, but is not exposed as controller
webapp/models
: code that describes the database structure used by the web app
webapp/views
: templates for the page content that is rendered in response to a query. The view is typically specific to a few controllers in the web app
webapp/static
: static content to be returned by the web app. Contains css, images and js subdirectories for commonly used items.
webapp/private
: the location to be used for storing installation-specific configuration information.
webapp/cron
: directory that stores commands to be executed periodically by the web2py framework when the app is running.
webapp/databases
: the location of the database files used by web2py.
webapp/languages
: web2py code for internationalization
webapp/cache, webapp/databases, webapp/errors, webapp/sessions, webapp/uploads
: directories used by web2py to store content associated with user's activities. Content here should not need to be committed to version control.
curator/*
: similar subdirectories to those in webapp/* above
Acknowledgements
Argus uses Raphaeljs and jQuery libraries.
Arrow icons are from http://raphaeljs.com/icons those icons are licensed under the followin MIT license:
Copyright © 2008 Dmitry Baranovskiy
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
Owner metadata
- Name: OpenTreeOfLife
- Login: OpenTreeOfLife
- Email:
- Kind: organization
- Description:
- Website: http://opentreeoflife.github.io/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1752618?v=4
- Repositories: 62
- Last ynced at: 2023-03-24T06:19:40.025Z
- Profile URL: https://github.com/OpenTreeOfLife
GitHub Events
Total
- Issues event: 2
- Watch event: 5
- Issue comment event: 7
- Push event: 3
- Pull request event: 5
Last Year
- Issues event: 2
- Watch event: 5
- Issue comment event: 7
- Push event: 3
- Pull request event: 5
Committers metadata
Last synced: 8 days ago
Total Commits: 2,980
Total Committers: 16
Avg Commits per committer: 186.25
Development Distribution Score (DDS): 0.2
Commits in past year: 2
Committers in past year: 1
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Jim Allman | j****m@i****m | 2383 |
Jonathan A Rees | j****8@m****t | 196 |
Mark T. Holder | m****r@g****m | 146 |
Karen Cranston | k****n@g****m | 101 |
Joseph W. Brown | p****b@g****m | 30 |
Cody Hinchliff | c****f@g****m | 23 |
Benjamin Redelings | b****s@g****m | 22 |
Stephen Smith | s****n@b****t | 22 |
Emily Jane McTavish | e****h@g****m | 20 |
Jonathan "Duke" Leto | j****n@l****t | 18 |
zbolander | b****b@g****m | 9 |
dependabot[bot] | 4****] | 4 |
Peter Midford | p****d@g****m | 3 |
Arlin Stoltzfus | a****n@u****u | 1 |
James J Balamuta | c****s | 1 |
Ubuntu | u****u@i****l | 1 |
Committer domains:
- ip-10-244-180-215.us-west-2.compute.internal: 1
- umd.edu: 1
- leto.net: 1
- blackrim.net: 1
- mumble.net: 1
- ibang.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 122
Total pull requests: 170
Average time to close issues: 9 months
Average time to close pull requests: 13 days
Total issue authors: 16
Total pull request authors: 7
Average comments per issue: 3.44
Average comments per pull request: 0.46
Merged pull request: 157
Bot issues: 0
Bot pull requests: 8
Past year issues: 9
Past year pull requests: 3
Past year average time to close issues: 2 months
Past year average time to close pull requests: less than a minute
Past year issue authors: 3
Past year pull request authors: 2
Past year average comments per issue: 1.11
Past year average comments per pull request: 0.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- mtholder (26)
- jar398 (20)
- snacktavish (17)
- jimallman (16)
- josephwb (9)
- rhr (9)
- bredelings (5)
- chinchliff (5)
- chrsowen (4)
- pmidford (2)
- kcranston (2)
- Katzlab (2)
- davetank (2)
- sjl197 (1)
- cleopatra17 (1)
Top Pull Request Authors
- jimallman (139)
- mtholder (10)
- dependabot[bot] (8)
- jar398 (6)
- snacktavish (5)
- bredelings (1)
- kcranston (1)
Top Issue Labels
- taxonomy (37)
- enhancement (12)
- bug (4)
- phylesystem batch operation (2)
- duplicate (2)
- question (1)
- Pyramid webapps (1)
Top Pull Request Labels
- dependencies (8)
- javascript (2)
- python (1)
- close this? (1)
Dependencies
- blueimp-canvas-to-blob >=2.1.0
- blueimp-load-image >=1.11.0
- blueimp-tmpl >=2.5.3
- jquery >=1.6
- grunt ~0.4.1 development
- grunt-bump-build-git ~1.1.0 development
- grunt-contrib-jshint ~0.7.2 development
- formidable >=1.0.11
- imagemagick >=0.1.3
- node-static >=0.6.5
- 210 dependencies
- browserify ^16.5.1 development
- browserify-versionify ^1.0.4 development
- watchify ^4.0.0 development
- acorn ^6.4.1
- blob-polyfill 1.x
- file-saver 1.3.x
- jszip ^3.7.1
- bleach *
- jwcrypto ==0.9.1
- locket ==0.1.1
- python-dateutil ==2.2
- python_jwt *
- requests *
- 127 dependencies
Score: 8.80086724247048