1. GeneMOb software manipulates Gene Mobile Objects. These software constructs combine user annotations with links to external references.
2. A gene is represented in the GeneMOb framework by a tree, whose nodes correspond to various gene references:
HomoloGene (grouping of homologs from different species)
Gene (from a particular species)
RNA (specific product of gene transcription)
Protein (product of RNA translation)
Genomic Feature (defined chromosomal address, e.g. SNP)
Gene tree nodes can be edited and rearranged, and new nodes can be added irrespective of whether they have an NCBI accession number or not. Thus, GeneMOb is built on a foundation of widely recognized standards, but gives the user full control in customizing the system.
3. Gene collections are made of elements corresponding to a single type of gene tree node, and are marked accordingly with
,
,
,
and
icons. Gene collections are also arranged in a tree. A "blank collection"
can be used to group related collections, or to attach a note to another collection.
4. The collection tree is displayed in the left pane of the main application window. Clicking a collection node displays a table of the member genes in the upper right pane, and the collection description in the lower right pane. The appearance of the gene table can be customized by dragging the columns to adjust their width and relative position; clicking a column header sorts the table on that column. Double clicking a gene in the table opens the Gene Info window.
5. The tree shown in the Gene Tree tab of the Gene Info window is automatically created by the system. The radio buttons underneath the tree switch between the saved GeneMOb tree and the tree generated on the fly from the NCBI data. While initially identical, these trees can differ if the user edits the saved tree, or NCBI data change. Each node of the tree has a contextual menu associated with it. The common items open the appropriate page in the NCBI online database ("Go to Webpage") and move the gene to the "Grabbed Genes" table ("Grab"). In addition, the nodes of a saved GeneMOb tree have appropriate editing options. The Maps tab is used to display genomic maps - zoom in with Ctrl-Click, zoom out with Shift-Click.
6. In addition to providing instant access to references on the Web, gene trees allow automatic integration of the data entered into GeneMOb 0.9. For example, the gene FCRL5 represented by protein NP_112571 in the breast cancer collection breast (child of the CAN collection in step 4), has also been identified as a secreted protein by RNA AY358085 in the spdi collection, and in an microarray experiment MA_1 (child of mas) with a probe corresponding to RNA AA863369.
7. Users can annotate nodes of the gene tree by editing the name and description fields. In addition, collection-specific gene annotations can be entered in the comment column of the gene table (see step 4).
8. To create gene collection in GeneMOb 0.9, select New Collection... from the Collection menu. In the General tab of the Gene Collection Info window that appears, enter collection name, and select from the drop-down list the parent node. The text entered in the Description area will be rendered as HTML in the main application window, so it is easy to create active hyperlinks.
9. To add genes to the collection, switch to the Members tab. Existing genes can be added with the Import Selected Genes button, and new genes can be individually created and added to the collection with the Add Gene button. Genes for batch-wise addition to a collection can be selected from several sources. For example, one can select a subset of genes from the gene table of an existing collection (see step 4).
10. More importantly, user can search the locally stored data downloaded by ftp from NCBI, by gene name, synonym, a keyword in the description, species, and chromosome number.
11. In the Found Genes table displaying the search result, user can determine the desired gene type using the radio button on top of the table, and select a subset for addition to the new collection.
12. Similarly, genes can be retrieved by typing or pasting a list of identifiers. The type of identifier is chosen with a radio button, and can be a protein or RNA accession, NCBI HomoloGene, Entrez Gene, or UniGene number, or CCDS number.
13. Finally, user can open from GeneMOb 0.9 a text file with results of a microarray experiment (eg. downloaded from Stanford MicroArray Database). In the following dialog, select the column containing the RNA accessions with the radio button, and choose the result columns of interest using the checkboxes.
14. GeneMOb 0.9 will extract data from the file, and look up the genes in the database. Expression results can then be saved as a part of the collection.
15. GeneMOb 0.9 is a distributed application: the program running on the desktop, GeneMOb Client, communicates with GeneMOb Server to perform more complicated tasks. GeneMOb Server handles the transactions in MySQL, a powerful open source database software. The database consists of 2 modules: one holds the periodically updated NCBI data, and the other contains the gene collections and all user annotations. See the manual page for the details about GeneMOb Server and the database.
16. GeneMOb 0.9 can also save collections by writing them to XML files in the client's file system. These structured, human-readable text files provide an easy means of data backup and exchange. Gene collections can be read and displayed by GeneMOb Client from the XML files, even in the absence of a connection to the GeneMOb Server. Examples of XML files with gene collections are available at our download page.
17. The role of GeneMOb Server is not limited to interactions with the MySQL database. User can select in the GeneMOb Client a set of proteins or RNAs to align. Since GeneMOb does not currently store the sequences, the Server will retrieve them from NCBI, using the EFetch utility. It will then use a local copy of the ClustalW program to produce the sequence alignment. The result is sent to the Client, which displays it.
18. GeneMOb Client's Java Swing graphical user interface allows great flexibility in data visualization. For example, Gene Relations Diagram is an intuitive representation of interactions between genes. Users can create new relations in the Gene Collection Info window, and than arrange the components by dragging them in the Gene Relations Diagram panel.
19. GeneMOb's functionality can be further expanded with plugins - Java programs which implement the genemob.plugin.ClientPlugin interface. GeneMOb Client checks on startup for their presence and installs them in the Plugins menu. Plugins have full access to all the GeneMOb resources. The Genotype Table plugin in the screenshot inserts additional columns in the gene table.