Skip to content

Commit

Permalink
split seq selection on org and sofa type
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@2911 ee4ac58c-ac51-4696-9907-e4b3aa274f04
  • Loading branch information
tjc committed Jun 18, 2005
1 parent 5d4959e commit eb9dd4f
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 26 deletions.
37 changes: 29 additions & 8 deletions uk/ac/sanger/artemis/components/DatabaseEntrySource.java
Expand Up @@ -28,10 +28,6 @@
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
import javax.swing.tree.TreePath;
import java.awt.event.MouseListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.Cursor;
import java.awt.Container;
import java.awt.GridLayout;
import java.net.*;
Expand Down Expand Up @@ -189,7 +185,7 @@ protected JTree getDatabaseTree()
DatabaseDocument doc = new DatabaseDocument(location);

entries = doc.getDatabaseEntries();
Vector organism = doc.getOrganism();
Vector organism = doc.getOrganism();

DefaultMutableTreeNode top =
new DefaultMutableTreeNode("PSU Organism List");
Expand All @@ -206,12 +202,19 @@ protected JTree getDatabaseTree()
* @return node that is currently selected
*
*/
protected DefaultMutableTreeNode getSelectedNode(JTree tree)
protected String getSelectedNode(JTree tree)
{
TreePath path = tree.getLeadSelectionPath();
if(path == null)
return null;
return (DefaultMutableTreeNode)path.getLastPathComponent();

DefaultMutableTreeNode seq_node = (DefaultMutableTreeNode)path.getLastPathComponent();
DefaultMutableTreeNode type_node = (DefaultMutableTreeNode)seq_node.getParent();
DefaultMutableTreeNode org_node = (DefaultMutableTreeNode)type_node.getParent();

return (String)org_node.getUserObject() + " - " +
(String)type_node.getUserObject() + " - " +
(String)seq_node.getUserObject();
}

/**
Expand All @@ -228,21 +231,39 @@ private void createNodes(DefaultMutableTreeNode top, Vector org,
Enumeration enum_org = org.elements();
DefaultMutableTreeNode org_node;
DefaultMutableTreeNode seq_node;
DefaultMutableTreeNode typ_node;

while(enum_org.hasMoreElements())
{
String name = (String)enum_org.nextElement();
org_node = new DefaultMutableTreeNode(name);
top.add(org_node);

Hashtable seq_type_node = new Hashtable();

Enumeration enum_seq = organism.keys();
while(enum_seq.hasMoreElements())
{
String seq_name = (String)enum_seq.nextElement();
if(seq_name.startsWith(name))
{
int ind1 = seq_name.indexOf( "- ");
int ind2 = seq_name.lastIndexOf("- ");

String type = seq_name.substring(ind1+2,ind2).trim();
seq_name = seq_name.substring(ind2+2).trim();

if(!seq_type_node.containsKey(type))
{
typ_node = new DefaultMutableTreeNode(type);
seq_type_node.put(type,typ_node);
org_node.add(typ_node);
}
else
typ_node= (DefaultMutableTreeNode)seq_type_node.get(type);

seq_node = new DefaultMutableTreeNode(seq_name);
org_node.add(seq_node);
typ_node.add(seq_node);
}
}
}
Expand Down
9 changes: 3 additions & 6 deletions uk/ac/sanger/artemis/components/DatabaseJFrame.java
Expand Up @@ -20,7 +20,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/DatabaseJFrame.java,v 1.3 2005-06-01 15:07:31 tjc Exp $
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/DatabaseJFrame.java,v 1.4 2005-06-18 07:01:16 tjc Exp $
*/

package uk.ac.sanger.artemis.components;
Expand Down Expand Up @@ -115,11 +115,8 @@ private void showSelected(final DatabaseEntrySource entry_source,
Cursor cbusy = new Cursor(Cursor.WAIT_CURSOR);
Cursor cdone = new Cursor(Cursor.DEFAULT_CURSOR);

DefaultMutableTreeNode node = entry_source.getSelectedNode(tree);
if(node == null || !node.isLeaf())
return;

String id = entry_source.getEntryID((String)node.getUserObject());
String node_name = entry_source.getSelectedNode(tree);
String id = entry_source.getEntryID(node_name);
if(id != null)
getEntryEditFromDatabase(id, entry_source, tree, art_main);
}
Expand Down
24 changes: 12 additions & 12 deletions uk/ac/sanger/artemis/util/DatabaseDocument.java
Expand Up @@ -189,6 +189,13 @@ public InputStream getInputStream() throws IOException
return null;
}


/**
*
* Given a parent (chromosome, contig, supercontig) retrieve the features
* in the form of a GFF stream.
*
*/
private String getGFF(Connection conn, String parentFeatureID)
throws java.sql.SQLException
{
Expand Down Expand Up @@ -338,13 +345,7 @@ public Hashtable getDatabaseEntries()
while(rs.next())
cvterm_id.add(rs.getString("type_id"));

// String sql = "select cvterm.cvterm_id, cvterm.name FROM cvterm, cv "+
// "WHERE cv.cv_id = cvterm.cv_id and cvterm.name = 'chromosome'";
// ResultSet rs = st.executeQuery(sql);
// rs.next();
// String cvterm_id = rs.getString("cvterm_id");

sql = new String("SELECT abbreviation, name, feature_id FROM organism, feature WHERE (");
sql = new String("SELECT abbreviation, name, feature_id, type_id FROM organism, feature WHERE (");

for(int i=0; i<cvterm_id.size(); i++)
{
Expand All @@ -356,16 +357,15 @@ public Hashtable getDatabaseEntries()
sql = sql + ") " + " and organism.organism_id=feature.organism_id "+
"ORDER BY abbreviation, name";

// sql = new String("SELECT abbreviation, name, feature_id FROM organism, feature WHERE type_id = '"+
// cvterm_id+"' and organism.organism_id=feature.organism_id "+
// "ORDER BY abbreviation, name");
appendToLogFile(sql,sqlLog);

rs = st.executeQuery(sql);
while(rs.next())
{
String org = rs.getString("abbreviation");
db.put(org+" - "+rs.getString("name"), rs.getString("feature_id"));
String org = rs.getString("abbreviation");
String typeName = getCvtermName(conn,rs.getLong("type_id"));
db.put(org+" - "+typeName+" - "+rs.getString("name"),
rs.getString("feature_id"));
if(!organism.contains(org))
organism.add(org);
}
Expand Down

0 comments on commit eb9dd4f

Please sign in to comment.