Difference between revisions of "Phenex"

From phenoscape
(Release Notes)
(Replaced content with "Phenex is being [https://github.com/phenoscape/Phenex maintained on Github]. [https://github.com/phenoscape/Phenex/releases Releases] and [https://github.com/phenoscape/Ph...")
Line 1: Line 1:
__NOTOC__
+
Phenex is being [https://github.com/phenoscape/Phenex maintained on Github]. [https://github.com/phenoscape/Phenex/releases Releases] and [https://github.com/phenoscape/Phenex/issues known issues] can be found there, and [https://github.com/phenoscape/Phenex/wiki documentation about using Phenex] has now been moved to a Github-hosted wiki.
<div style="float:right;"><center>[[Image:Phenex-small.png]]</center>
 
<div style="margin: 1em;">__TOC__</div>
 
</div>
 
Phenex is an application for annotating character matrix files with ontology terms.  Character states can be annotated using the Entity-Quality syntax for ontologically describing phenotypes.  In addition, taxon entries can be annotated with identifiers from a taxonomy ontology.  Phenex saves ontology annotations alongside traditional character matrix data using the new [http://www.nexml.org NeXML] format standard for evolutionary data.  Phenex builds on [http://www.phenote.org/ Phenote] and [http://oboedit.org/ OBO-Edit] from the [http://www.obofoundry.org/ OBO project]. Jim Balhoff is the lead developer of Phenex.
 
 
 
You can learn more about using Phenex for phenotype annotation by viewing our [https://www.youtube.com/channel/UCEJqJ6r00D5W61tv1K4xDvA introductory screencasts].
 
 
 
==Download & Installation==
 
Phenex is available for Mac or PC as a Java webstart application. Download and installation instructions can be found here: http://phenoscape.github.io/Phenex/
 
 
 
===Release Notes===
 
See the [https://github.com/phenoscape/Phenex/releases Phenex release history] for the list of issues addressed in each version.
 
 
 
==License and Attribution==
 
 
 
Phenex is open source software, released under the [http://www.opensource.org/licenses/mit-license.php MIT license].
 
 
 
If you use Phenex for annotation or extend it for your project, please cite the following publication in your documentation and resulting publications: <br/>
 
Balhoff JP, Dahdul WM, Kothari CR, Lapp H, Lundberg JG, Mabee P, Midford PE, Westerfield ME, Vision TJ. 2010. ''Phenex: Ontological Annotation of Phenotypic Diversity''. PLoS ONE 5(5): e10500. [http://dx.doi.org/10.1371/journal.pone.0010500 DOI]
 
 
 
==Source code and support ==
 
 
 
Please join the Phenex users mailing list for software support and discussion of Phenex features:
 
* https://lists.sourceforge.net/lists/listinfo/phenex-users
 
 
 
The Phenex source code is hosted [https://github.com/phenoscape/Phenex at GitHub].  To make contributions to the project or test the latest in-development code, you should check out a working copy from the Git repository:
 
* git clone git://github.com/phenoscape/Phenex.git
 
The Phenex source includes both an Eclipse project (used for most active development) and an Ant build file (used for making releases).  You can browse [https://github.com/phenoscape/Phenex Phenex source code on the web].
 
 
 
==Running Phenex==
 
After launching Phenex, Java can sometimes be a little slow to start up.  If you're running Java 6 or later, you should see a splash screen image shortly after launching.  This is followed by a panel informing you that Phenex is checking for ontology updates.  If you have not run Phenex before, your computer needs to be online in order for Phenex to download the required ontologies.  If you have run Phenex before, Phenex will check for the availability of a newer version of each ontology and download it if necessary.  It is okay to work offline if Phenex has previously had a chance to download the ontologies.  Phenex performs a check for ontology updates each time it is launched.
 
 
 
=== Reporting Bugs and Feature Requests ===
 
Report any bugs and make feature requests using the [https://github.com/phenoscape/Phenex/issues Phenex issue tracker].  You will need to log in with a GitHub account to submit an issue (just create an account if you don't already have one).
 
 
 
==Documentation==
 
===Ontology  configuration===
 
By default, Phenex comes pre-configured with the ontologies used for the Phenoscape project, but it can be configured to load terms from any OBO ontology from the web or a local file.  Configuration of ontologies in Phenex has two components: (1) adding term sources - URLs representing OBO files; and (2) specifying the set of terms which should be available within each kind of entry field - an entry field can allow terms from a subset of a given ontology, or from more than one ontology.
 
====Term sources====
 
To edit the list of terms sources, open the Ontology Sources panel by selecting View > Config > Ontology Sources from the menu.  Add a new source by pressing the '+' button.  Enter an HTTP or local file URL in the URL column, and an optional label of your choice in the Label column.  Press "Apply" to save your list of ontology sources.  You will need to relaunch Phenex in order for it to download the given files and load all the terms into its ontology session.
 
====Entry field filters====
 
The set of terms available in a given entry field are determined by term filters.  Term filters are just saved search specifications which can be created using the Search Panel.  To apply a term filter to a particular type of entry field, save it in one of the standard locations (below).
 
=====Creating a term filter=====
 
Open the Search Panel from View > Ontology > Search Panel.  Configure the search to specify the needed terms - you can test the result by performing the search with the Search button.  Save the filter by pressing the disk icon.  An example of a term filter used for the entity field in the Phenoscape configuration is shown [[Phenex term filter|here]].
 
 
 
=====Configuring entry fields=====
 
To configure a particular entry field, place a filter file with the appropriate name in the Filters folder within the [[#Locating_the_Phenex_settings_folder|Phenex settings folder]]. You may need to create the Filters folder. You will need to relaunch Phenex for the new filters to take effect.  The following types of entry fields are available:
 
* Taxa
 
** ''<Phenex settings folder>''/Filters/taxa.xml
 
** Used in the Taxa panel: Valid Taxon column
 
* Museum collections
 
** ''<Phenex settings folder>''/Filters/museums.xml
 
** Used in the Specimens panel: Collection column
 
* Entities
 
** ''<Phenex settings folder>''/Filters/entities.xml
 
** Used in the Phenotypes panel: Entity column, Related Entity column
 
* Qualities
 
** ''<Phenex settings folder>''/Filters/qualities.xml
 
** Used in the Phenotypes panel: Quality column
 
* Units
 
** ''<Phenex settings folder>''/Filters/units.xml
 
** Used in the Phenotypes panel: Unit column
 
* Relations
 
** ''<Phenex settings folder>''/Filters/relations.xml
 
** Specifies the relations available when creating post-compositions
 
 
 
===Locating the Phenex settings folder===
 
The Phenex settings folder contains cached copies of downloaded ontology files, entry field filter files, and other settings files.  Its location is dependent on the platform on which you're running Phenex.
 
* '''Mac OS X:'''  ''<user's home>''/Library/Application Support/Phenex
 
** In Mac OS 10.7+, this folder is hidden but can be made visible by going to Finder> Go > Go to Folder, and typing in "~/Library"
 
* '''Windows:''' C:\Documents and Settings\''<user's name>''\Phenex
 
* '''Unix:'''  ''<user's home>''/.phenex
 
 
 
=== Creating, opening, and saving data files<br/> ===
 
 
 
This introductory screencast demonstrates how to create, open and save files in Phenex: [https://www.youtube.com/watch?v=4y68PehOnSo https://www.youtube.com/watch?v=4y68PehOnSo].
 
 
 
Phenex uses the NeXML file format for evolutionary data.&nbsp; NEXUS formatted phylogenetic matrices can be converted to NeXML format by using the NeXML plugin within Mesquite. Please see the [[Configuring_Mesquite_with_the_NeXML_plugin|instructions for configuring Mesquite with the NeXML plugin.]]
 
 
 
===Entering polymorphic or uncertain state values===
 
The Phenex matrix editor can handle entry of polymorphic or uncertain state values within cells. In order to enter multiple states in a single cell,you must use the matrix "quick editor". Just beneath the matrix view, there is a checkbox titled "Use quick editor". After enabling this setting, when you click to edit a cell, instead of popping up a states menu, the cell will become an editable text field, which operates very much like the matrix cell editor in Mesquite. Here you can simply type the symbol of the state you want to enter. If you want to enter a polymorphism of states 0 and 1, simply enter "0&1" (no spaces). For an uncertainty, use a slash: "0/1".
 
 
 
===Consistency Review panel===
 
Phenex includes a Consistency Review panel which reports problematic or missing annotations. The consistency issues currently evaluated are:
 
 
 
* Unannotated state.
 
* Empty '''entity''' field.
 
* Empty '''quality''' field.
 
* Post-composition consisting of more than one differentia (may be okay).
 
* Relational quality used without a '''related entity'''.
 
* '''Related entity''' entered without a relational quality.
 
* Biological process entity not used with a process quality.
 
* Qualities descending from different attributes used in states for a given character.
 
 
 
===Collaboration via file change detection and autosave===
 
Phenex includes two features that are intended to facilitate multiple curators editing shared files (such as in Dropbox).
 
* '''File change detection and reload:''' If a file changes on disk while it is being edited by Phenex, Phenex will detect the change and alert the user. The user will be given the opportunity to load the most current version of the file, so that conflicting edits are not produced. If the open file is in an edited, unsaved state, the unsaved edits will need to be discarded before reloading.
 
* '''Autosave:''' To make it unlikely that Phenex will be holding unsaved edits at the time a file changes via Dropbox, an autosave feature is provided that immediately writes every edit to disk. This must be enabled via the menu command <code>File > Enable Autosave</code>. Currently the setting is not persistent; it needs to be turned on each time Phenex is launched.
 
 
 
=== Ontology Request Broker (ORB) ===
 
 
 
During the course of curation, a term may be needed which isn't available in a given ontology. Using ORB, the curator can request a provisional term from the [http://www.bioontology.org/wiki/index.php/BioPortal_Provisional_Terms Bioportal provisional term service].
 
 
 
*Select <code>ORB > Request New Term...</code> and fill out the request dialog.
 
*A provisional term with a temporary ID and the requested name will immediately be added to the Phenex ontology session. This term will now be available within all ontology autocomplete fields in Phenex. Provisional terms are displayed in <span style="color:#800080;">purple</span> within data fields.
 
*If the provisional term is assigned a permanent ID via the [[Ontology Request Broker|provisional term management interface]] (not part of Phenex), when Phenex next loads any data file containing that term, it will auto-migrate data using the provisional ID to the permanent ID.
 
*See the [[Ontology Request Broker]] documentation for more information on the overall workflow for handling provisional terms.
 
 
 
==Troubleshooting Problems==
 
 
 
===Removing Corrupted Ontology Files===
 
 
 
Local copies of ontology files can become corrupted, causing Phenex to display a warning about "dangling" terms on start-up. Note that the warning about danglers can also indicate a valid ontology change related to merging of terms from a recent ontology update.
 
 
 
To remove local copies of ontologies from your Phenex directory, delete all files within the “Ontology Cache” folder on your computer. This folder can be found within the [[#Locating_the_Phenex_settings_folder|Phenex settings folder]].
 
 
 
Phenex will then download new copies of the ontology files on startup.
 
 
 
[[Category:Curation]]
 
[[Category:Informatics]]
 
[[Category:Software]]
 
[[Category:Phenex]]
 

Revision as of 16:36, 12 December 2017

Phenex is being maintained on Github. Releases and known issues can be found there, and documentation about using Phenex has now been moved to a Github-hosted wiki.