@Override public int compare(ConceptAccession o1, ConceptAccession o2) { if (o1.getElementOf().equals(o2.getElementOf())) return o1.getAccession().compareTo(o2.getAccession()); return o1.getElementOf().getId() .compareTo(o2.getElementOf().getId()); } });
@Override public int compare(ConceptAccession o1, ConceptAccession o2) { // within same DataSource sort first by ambiguity, than by accession if (o1.getElementOf().equals(o2.getElementOf())) { if (!o1.isAmbiguous() && o2.isAmbiguous()) return -1; else if (o1.isAmbiguous() && !o2.isAmbiguous()) return 1; else return o1.getAccession().compareTo(o2.getAccession()); } else { // sort according to DataSource return o1.getElementOf().getId().compareTo(o2.getElementOf().getId()); } }
/** * Cast a given ConceptAccession into a BerkeleyConceptAccession. * * @param old * ConceptAccession * @return BerkeleyConceptAccession */ protected static BerkeleyConceptAccession convert(ConceptAccession old) { BerkeleyConceptAccession nu = new BerkeleyConceptAccession( old.getSID(), old.getOwnerId(), old.getAccession(), old.getElementOf(), old.isAmbiguous()); return nu; }
private String getShortestNotAmbiguousConceptAccession(Set<ConceptAccession> co_accs) { String shortest_acc=" "; int length= 100000; for(ConceptAccession acc : co_accs) { if(!(acc.isAmbiguous()) && (acc.getAccession().trim().length() <= length)) { shortest_acc= acc.getAccession().trim(); length= shortest_acc.length(); } } return shortest_acc; }
@Override public void actionPerformed(ActionEvent e) { this.setVisible(false); editor.acc.setAmbiguous(box.isSelected()); // has the DataSource of accession changed? DataSource dataSource = (DataSource) selection.getSelectedItem(); if (!editor.acc.getElementOf().equals(dataSource)) { // delete old one ConceptAccession old = editor.concept.getConceptAccession(editor.acc.getAccession(), editor.acc.getElementOf()); editor.concept.deleteConceptAccession(editor.acc.getAccession(), editor.acc.getElementOf()); // create one with new DataSource editor.acc = editor.concept.createConceptAccession(old.getAccession(), dataSource, old.isAmbiguous()); } } }
@Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { // which concept we are working on concept = (ONDEXConcept) table.getValueAt(row, 0); // check for concept accession values if (value instanceof ConceptAccession) { acc = (ConceptAccession) value; value = acc.getAccession(); } else { acc = null; } // use default text field editor return super.getTableCellEditorComponent(table, value, isSelected, row, column); }
private Map<DataSource, List<ConceptAccession>> getCVtoAccessions(ONDEXConcept c) { Map<DataSource, List<ConceptAccession>> cvMap = new HashMap<DataSource, List<ConceptAccession>>(); for (ConceptAccession acc : c.getConceptAccessions()) { // add all accessions by data source DataSource cv = acc.getElementOf(); if (!cvMap.containsKey(cv)) { List<ConceptAccession> ll = new LinkedList<ConceptAccession>(); cvMap.put(cv, ll); } cvMap.get(cv).add(acc); } return cvMap; }
/** * Modify given concept accession * * @param editor * to propagate changes to element of upwards */ public ConceptAccessionPopup(ConceptAccessionTableCellEditor editor) { this.editor = editor; // editor panel BoxLayout layout = new BoxLayout(this, BoxLayout.LINE_AXIS); this.setLayout(layout); // selection of DataSource for element of this.add(new JLabel("Element of: ")); Object[] cvs = editor.graph.getMetaData().getDataSources().toArray(); Arrays.sort(cvs, new Util()); selection = new JComboBox(cvs); selection.setSelectedItem(editor.acc.getElementOf()); this.add(selection); // check box for ambiguity box = new JCheckBox("Is ambiguous concept accession?"); box.setSelected(editor.acc.isAmbiguous()); this.add(box); // button to close popup JButton close = new JButton("close"); close.addActionListener(this); this.add(close); }
if (ignoreAmbiguity || !hitConceptAcc.isAmbiguous()) {
private String getShortestNotAmbiguousConceptAccession(Set<ConceptAccession> co_accs) { String shortest_acc=" "; int length= 100000; for(ConceptAccession acc : co_accs) { if(!(acc.isAmbiguous()) && (acc.getAccession().trim().length() <= length)) { shortest_acc= acc.getAccession().trim(); length= shortest_acc.length(); } } return shortest_acc; }
existing.put(new Pair<String>(ca.getAccession(), ca.getElementOf().getId()), ca.isAmbiguous()); concept.getConceptAccession((String) pair.getFirst(), dataSource).setAmbiguous(accessions.get(pair));
@Override public String toString(TableModel model, int row, int column) { Object o = model.getValueAt(row, column); if (o instanceof MetaData) return ((MetaData) o).getId(); else if (o instanceof ONDEXConcept) return String.valueOf(((ONDEXConcept) o).getId()); else if (o instanceof ONDEXRelation) return String.valueOf(((ONDEXRelation) o).getId()); else if (o instanceof ConceptName) return ((ConceptName) o).getName(); else if (o instanceof ConceptAccession) return ((ConceptAccession) o).getAccession(); else if (o instanceof Attribute) return ((Attribute) o).getValue().toString(); else if (o != null) return o.toString(); else return ""; }
/** * Checks if a Pfam accession is in the * <code>Set<ConceptAccession></code> Iterator * * @param accessions - accessions which should be checked * @param graph - AbstractONDEXGraph * @return boolean - true, if the protein has pfam information attached */ private boolean hasPfamInformationAttached( Set<ConceptAccession> accessions, ONDEXGraph graph) { DataSource pfam = graph.getMetaData().getDataSource(MetaData.CV_PFAM); for (ConceptAccession accession : accessions) { if (accession.getElementOf().equals(pfam)) { return true; } } return false; }
public static String getAccession(ONDEXConcept c, DataSource cv) { for (ConceptAccession ac : c.getConceptAccessions()) { if (ac.getElementOf().equals(cv)) { return ac.getAccession(); } } return null; }
/** * Copies all accessions from old concept to new concept. * * @param oldC * old ONDEXConcept * @param newC * new ONDEXConcept */ private void copyAccessions(ONDEXConcept oldC, ONDEXConcept newC) { // iterate over all old accessions for (ConceptAccession acc : oldC.getConceptAccessions()) { // clone old accession on new concept newC.createConceptAccession(acc.getAccession(), acc.getElementOf(), acc.isAmbiguous()); } }
private String getShortestNotAmbiguousConceptAccession(Set<ConceptAccession> co_accs) { String shortest_acc=" "; int length= 100000; for(ConceptAccession acc : co_accs) { // System.out.println("\t acc: "+ acc.getAccession().trim() +", isAmbiguous: "+ acc.isAmbiguous()); if(!(acc.isAmbiguous()) && (acc.getAccession().trim().length() <= length)) { shortest_acc= acc.getAccession().trim(); length= shortest_acc.length(); } } // System.out.println("\t shortest_acc: "+ shortest_acc); return shortest_acc; }
for (ONDEXConcept concept : concepts) { for (ConceptAccession ca : concept.getConceptAccessions()) { String acc = ca.getAccession().toUpperCase(); if (!targetSeqs.containsKey(acc)) { targetSeqs.put(acc.toUpperCase(), concept);
@Override public boolean accepts() { // get meta data ONDEXGraph graph = viewer.getONDEXJUNGGraph(); DataSource dsSyngenta = graph.getMetaData().getDataSource("Syngenta"); // look at all selected concepts for (ONDEXConcept c : entities) { for (ConceptAccession ca : c.getConceptAccessions()) { // at least one accession with source Syngenta if (ca.getElementOf().equals(dsSyngenta)) { return true; } } } return false; }
public static Set<String> getAccessions(ONDEXConcept c, DataSource cv) { Set<String> set = new HashSet<String>(); for (ConceptAccession ac : c.getConceptAccessions()) { if (ac.getElementOf().equals(cv)) { set.add(ac.getAccession()); } } return set; }
/** * Generate metadata for Concept Accession. * @param accession * A Concept Accession (from the Ondex API). * @return JSONObject * JSONObject containing information about the Concept Accession. */ private JSONObject buildConceptAccession(ConceptAccession accession) { JSONObject accJson= new JSONObject(); accJson.put(JSONAttributeNames.ACCESSION, accession.getAccession()); // Element Of (return parent data source information). accJson.put(JSONAttributeNames.ELEMENTOF, buildDataSource(accession.getElementOf())); accJson.put(JSONAttributeNames.AMBIGUOUS, String.valueOf(accession.isAmbiguous())); return accJson; }