Skip to content
Snippets Groups Projects
Commit 071715df authored by tjc's avatar tjc
Browse files

remove

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@9761 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent a2606ab3
No related branches found
No related tags found
No related merge requests found
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Artemis - Chado database</title>
</head>
<body>
<a href="http://www.sanger.ac.uk/Software/Artemis/"><b>Artemis</b></a> and
<a href="http://www.sanger.ac.uk/Software/ACT/"><b>ACT</b></a> can be used
to connect to <a href="http://www.gmod.org/"><b>Chado</b></a> databases.
They are being developed to read and write to the database and perform the
same functions as the standard Artemis and ACT.
<h2>Connecting to a Chado Database</h2>
The following java flags are used when running Artemis when connecting to a
database. These options currently are all needed.
<ol>
<li><b><pre>-DChado</pre></b>
this is used to get Artemis to look for the database.
The address of the database (hotname, port and name) can be conveniently
included as follows:
<br><pre>-DChado="hostname:port/test?username"</pre>
So that these details are already completed in the popup login pane.
<br><br>
<img src="login.gif" align="middle" alt="login"/>
<br>
</li>
<li><b><pre>-Djdbc.drivers=org.postgresql</pre></b>
this is used to define the <a href="http://jdbc.postgresql.org/">
JDBC postgres driver
</a>.
</li>
<li><b><pre>-Dibatis</pre></b>
use the <a href="http://ibatis.apache.org/" title="iBatis">iBATIS</a>
Data Mapper
</li>
</ol>
<br>
So the command line will look someting like this example:
<pre> ./art -DChado="localhost:2996/test?tjc" -Dibatis \
-Djdbc.drivers=org.postgresql.Driver</pre>
<h2>Reading From the Database</h2>
On a successfull login in a database and file manager window will open up.
The database manager will dislay "Database Loading...". The organisms
in the database with residues are shown in a expandable tree. Double
clicking on the sequence names opens them up in Artemis.
<br><br>
<img src="databasemanager.gif"/>
<p>
A sequence can be opened in Artemis from the command line (without going
through the database manager). This is done by supplying a command line argument
with the organism and chromosome (or source feature):
<br><pre>Pfalciparum:Pf3D7_09</pre>
and optionally a range can be included to just display features within it:
<br><pre>Pfalciparum:Pf3D7_09:92000..112000</pre>
this could be used in combination with the <i>-Doffset=base</i> flag (<i>e.g.
-Doffset=10000</i>) to open Artemis at a particular section of a sequence
<p>
To reduce the number of transactions to the database, all of the sequence is
read into Artemis. This includes most of the feature qualifiers. There are some
qualifiers (ortho/paralog and similarity qualifiers) that lazily load their data
as and when it is needed, <i>i.e.</i> when opened for viewing in the gene builder.
This lazy loading improves the performance of reading data from the database
for sequences with a large number of features.
<h2>iBatis Database Mapping</h2>
<a href="http://ibatis.apache.org/" title="iBatis">iBatis</a> data mapper
framework has been used to facilitate the communication with the database
from Artemis. It uses XML descriptors to couple the SQL statements with the
Java objects that Artemis understands. The XML maps are in the '<i>artemis_sqlmap</i>'
in the Artemis distribution. These are divided up into files based on the
Chado table names.
<p>
The SQL statements can be seen in the Artemis <a href=
"http://www.sanger.ac.uk/Software/Artemis/manual/launch-window.html#LAUNCH-WINDOW-OPTIONS-SHOW-LOG">
Log Viewer</a> window:<br>
<img src="logviewer.gif" width="100%"/>
<br><br>This is mainly useful for debugging and tracking problems with reading
from and writing to the database. Artemis uses
<a href="http://logging.apache.org/log4j/">log4j</a> to produce logging
and the configuration file for this is in the file '<i>etc/log4j.properties</i>'.
<h2>Gene Representation</h2>
Below is an illustration of how the feature are stored in Chado
in the Sanger PSU.
<p>
<center><b><i>Gene Model</i></b>
<br>
<img src="chado_gene_model.gif"/></center>
<p>The names (in red) are the internal database uniquenames. These names are
automatically generated by the gene builder from an ID provided by the
user. <i>N.B.</i> in our data model UTRs are represented as distinct from
exons.
<h3>Gene Building</h3>
A gene can be created in Artemis (or ACT) by highlighting a base range and selecting
from the '<i>Create</i>' menu the '<i>Gene Model From Base Range</i>' option.
This prompts for a unique ID and this corresponds to the names in the above
gene model representation. The basic consituent features are created; <i>i.e.</i>
gene, transcript, CDS and polypeptide. <i>N.B.</i> Artemis joins the exon
features and repesents them as a CDS feature. These are shown on the frame
lines in the feature display window.
<p>
A gene builder for a selected gene feature can be opened from the '<i>Edit</i>' menu
by selecting the '<i>Selected Feature in Editor</i>' option or simply using the '<i>E</i>'
shortcut key.
<center><p><b><i>The Artemis Gene Builder</i></b><br>
<img src="editor.gif"></center>
<p>There are two distinct parts to the gene builder window. The top part shows
the <b><i>gene hierarchy and structure</i></b>. The bottom part shows the
<b><i>annotation</i></b> associated with one of the constituent features.
These two parts of the gene builder are described below.
<ol>
<li><b>Gene Hierarchy and Structure</b><br>
The top left hand side is a tree structure of the gene model. To the right
of this is a graphical representation of the features. A feature can be selected
from either the tree or the graphical view. The annotation for the selected
feature is displayed in the bottom part of the gene builder.
<p>Structural changes can be carried out in the graphical view. The feature ends
can be dragged to adjust their coordinates. On right clicking on this area there
is a popup menu for adding and deleting features in the gene model.
<center><p><b><i>Editing the Gene Model In the Gene Builder</i></b><br>
<img src="genebuilder2.gif" border="1"></center>
<p>
Additional transcripts can be added from here. The checkbox to the right of
the above CDS is used to hide and show the associated CDS in the Artemis
feature display. This can make structural edits clearer for multiple transcripts.
<p>
<li><b>Annotation</b><br>
There are 4 (Properties, Core, Controlled Vocabulary and Match) sections in
the annotation part of the gene builder. These are described below. These can
be viewed in a scrollable view or in a tabbed view. There is a check box at
the bottom of the gene builder to change between these views.
<p>
<ul>
<li><b>Properties</b><br>
This contains properties such as the synonyms, time last modified and the
internal ID. Synonyms are added as a controlled vocabulary (these are in
a cv named '<i>genedb_synonym_type</i>').
<center><p><b><i>Properties section</i></b><br>
<img src="Properties.gif" border="1"></center>
</li><p>
<li><b>Core</b><br>
The core annotation contains any other annotation that does not fit into the
other sections. <i>E.g.</i> comments, literature, Dbxref. Hyperlinks are
provided for SWALL, EMBL, UniProt, PMID, PubMed, InterPro and Pfam, and opening
up a local browser.
</li><p>
<li><b>Controlled Vocabulary (CV)</b><br>
The CV module in Chado is concerned with controlled vocabularies or ontologies.
Therefore, Chado can use the biological ontologies and this makes it very
expressive.
<p>
This section in the gene builder provides a form for adding and deleting GO,
controlled curation, product, Riley class annotation. CV terms are added by
clicking the 'ADD' button. When adding a term to a feature the user is
prompted for the CV name and then keyword. The term to be added is then
selected from a drop down list of terms containing the word or phrase.
To further assist in finding the CV term from the list, typing in the
text will start to autocomplete and scroll to the first matching term.
<center><p><b><i>CV section</i></b><br>
<img src="CV.gif" border="1"></center>
<p>GO terms are selected from molecular_function, biological_process
or cellular_component CV's.
<p>Products are stored in Chado as a CV (<i>i.e.</i> in cvterm in
a cv named '<i>genedb_products</i>').
<p>Other generic controlled curations can be found by Artemis and shown
if their CV name in Chado is prefixed with '<i>CC_</i>' (<i>e.g.</i>
CC_controlledcuration, CC_workshop). These then appear in a drop down
list when adding CV terms to a feature.
<p>Adding new terms to the database can also be done from this section.
In the drop down selection of CV's there is an 'Add term...' option.
This opens an input panel for new terms.
<center><p><b><i>Adding a new CV term</i></b><br>
<img src="addterm.gif"></center>
</li><p>
<li><b>Match</b><br>
This section allows the user to add ortholog/paralog links to other genes
in the database.
<p>
The ortholog/paralog tables provide links for opening the gene editor or
an Artemis window for each entry. The '<i>VIEW</i>' button opens a
separate Artemis displaying the gene ortholog or paralog and the
surrounding features.
<p>
In addition similarity qualifiers can be added here from matches to
blast and fasta searches carried out in Artemis. These are added
from the Artemis Object Editor.
</li>
</ul>
</ol>
<h3>Writing To The Database</h3>
When a feature or qualifier is changed, added or deleted the '<i>Commit</i>' button (on
the top tool bar) changes colour to red. Changes in Artemis only get written back to the
database when this button is clicked.
<center><p><b><i>Commit Button</i></b><br>
<img src="commit.gif" border="1"></center>
<p>
There is also an option under the '<i>File</i>' menu to '<i>Commit To
Database</i>'. Note in ACT there is no commit button and the '<i>Commit To
Database</i>' menu option is used to write back to the database.
<p>
If there is an error during the commit then Artemis will provide the option to
force commit. This means it will commit what it can. Naturally this can be potentially
problematic. Therefore, <b>commiting back to the database frequently is encouaged</b>.
Any errors are reported in the log viewer.
<h3>Community Annotation</h3>
Multiple users can launch Artemis and query the database. This has been stress
tested and used in the malaria re-annotation exercise with 30+ Artemis clients
connecting to the database.
<p>
Artemis records the time a features was last modified (<i>timelastmodified</i>). Before
changing a feature it will check this time stamp against the database record of the
<i>timelastmodified</i>.
If the corresponding feature in the database has changed by another user it will
ask whether to continue with the commit process.
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment