X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureChooser.java;h=13fa46007c49762ee27fb5b9c588251eceef5a18;hb=ba74c240931531706fd2f95bde111033e513e71e;hp=64717958d08a3d1edf90dc0fd3413be7ef8b7a4c;hpb=f4c55ce8e067fc6ae84a6ae614cebed6c88a81f0;p=jalview.git diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 6471795..13fa460 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -45,6 +45,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.Vector; import javax.swing.JCheckBox; @@ -148,8 +149,8 @@ public class StructureChooser extends GStructureChooser implements { long startTime = System.currentTimeMillis(); pdbRestCleint = PDBFTSRestClient.getInstance(); - Collection wantedFields = pdbRestCleint - .getAllDefaulDisplayedDataColumns(); + Collection wantedFields = pdbDocFieldPrefs + .getStructureSummaryFields(); discoveredStructuresSet = new LinkedHashSet(); HashSet errors = new HashSet(); @@ -186,7 +187,8 @@ public class StructureChooser extends GStructureChooser implements if (discoveredStructuresSet != null && !discoveredStructuresSet.isEmpty()) { - tbl_summary.setModel(FTSRestResponse.getTableModel(lastPdbRequest, + getResultTable().setModel( + FTSRestResponse.getTableModel(lastPdbRequest, discoveredStructuresSet)); structuresDiscovered = true; noOfStructuresFound = discoveredStructuresSet.size(); @@ -248,7 +250,7 @@ public class StructureChooser extends GStructureChooser implements boolean isPDBRefsFound = false; boolean isUniProtRefsFound = false; StringBuilder queryBuilder = new StringBuilder(); - HashSet seqRefs = new LinkedHashSet(); + Set seqRefs = new LinkedHashSet(); if (seq.getAllPDBEntries() != null) { @@ -256,9 +258,8 @@ public class StructureChooser extends GStructureChooser implements { if (isValidSeqName(entry.getId())) { - queryBuilder.append("pdb_id") - .append(":") -.append(entry.getId().toLowerCase()) + queryBuilder.append("pdb_id:") + .append(entry.getId().toLowerCase()) .append(" OR "); isPDBRefsFound = true; // seqRefs.add(entry.getId()); @@ -274,21 +275,18 @@ public class StructureChooser extends GStructureChooser implements { if (dbRef.getSource().equalsIgnoreCase(DBRefSource.UNIPROT)) { - queryBuilder -.append("uniprot_accession").append(":") + queryBuilder.append("uniprot_accession:") .append(getDBRefId(dbRef)) .append(" OR "); - queryBuilder -.append("uniprot_id") - .append(":") - .append(getDBRefId(dbRef)).append(" OR "); + queryBuilder.append("uniprot_id:").append(getDBRefId(dbRef)) + .append(" OR "); isUniProtRefsFound = true; } else if (dbRef.getSource().equalsIgnoreCase(DBRefSource.PDB)) { - queryBuilder.append("pdb_id") - .append(":").append(getDBRefId(dbRef).toLowerCase()) + queryBuilder.append("pdb_id:") + .append(getDBRefId(dbRef).toLowerCase()) .append(" OR "); isPDBRefsFound = true; } @@ -337,7 +335,7 @@ public class StructureChooser extends GStructureChooser implements * @param seqName * @return */ - private static String sanitizeSeqName(String seqName) + static String sanitizeSeqName(String seqName) { Objects.requireNonNull(seqName); return seqName.replaceAll("\\[\\d*\\]", "") @@ -397,8 +395,8 @@ public class StructureChooser extends GStructureChooser implements long startTime = System.currentTimeMillis(); pdbRestCleint = PDBFTSRestClient.getInstance(); lbl_loading.setVisible(true); - Collection wantedFields = pdbRestCleint - .getAllDefaulDisplayedDataColumns(); + Collection wantedFields = pdbDocFieldPrefs + .getStructureSummaryFields(); Collection filteredResponse = new HashSet(); HashSet errors = new HashSet(); @@ -407,7 +405,6 @@ public class StructureChooser extends GStructureChooser implements FTSRestRequest pdbRequest = new FTSRestRequest(); if (fieldToFilterBy.equalsIgnoreCase("uniprot_coverage")) { - System.out.println(">>>>>> Filtering with uniprot coverate"); pdbRequest.setAllowEmptySeq(false); pdbRequest.setResponseSize(1); pdbRequest.setFieldToSearchBy("("); @@ -455,15 +452,18 @@ public class StructureChooser extends GStructureChooser implements Collection reorderedStructuresSet = new LinkedHashSet(); reorderedStructuresSet.addAll(filteredResponse); reorderedStructuresSet.addAll(discoveredStructuresSet); - tbl_summary.setModel(FTSRestResponse.getTableModel( + getResultTable().setModel( + FTSRestResponse.getTableModel( lastPdbRequest, reorderedStructuresSet)); - FTSRestResponse.configureTableColumn(tbl_summary, wantedFields); - tbl_summary.getColumn("Ref Sequence").setPreferredWidth(120); - tbl_summary.getColumn("Ref Sequence").setMinWidth(100); - tbl_summary.getColumn("Ref Sequence").setMaxWidth(200); + FTSRestResponse.configureTableColumn(getResultTable(), + wantedFields, tempUserPrefs); + getResultTable().getColumn("Ref Sequence").setPreferredWidth(120); + getResultTable().getColumn("Ref Sequence").setMinWidth(100); + getResultTable().getColumn("Ref Sequence").setMaxWidth(200); // Update table selection model here - tbl_summary.addRowSelectionInterval(0, filterResponseCount - 1); + getResultTable().addRowSelectionInterval(0, + filterResponseCount - 1); mainFrame.setTitle(MessageManager.formatMessage( "label.structure_chooser_filter_time", totalTime)); } @@ -530,8 +530,6 @@ public class StructureChooser extends GStructureChooser implements { cmb_filterOption.addItem(new FilterOption("Best Quality", "overall_quality", VIEWS_FILTER)); - cmb_filterOption.addItem(new FilterOption("Most UniProt Coverage", - "uniprot_coverage", VIEWS_FILTER)); cmb_filterOption.addItem(new FilterOption("Best Resolution", "resolution", VIEWS_FILTER)); cmb_filterOption.addItem(new FilterOption("Most Protein Chain", @@ -592,7 +590,7 @@ public class StructureChooser extends GStructureChooser implements String currentView = selectedFilterOpt.getView(); if (currentView == VIEWS_FILTER) { - if (tbl_summary.getSelectedRows().length > 0) + if (getResultTable().getSelectedRows().length > 0) { btn_view.setEnabled(true); } @@ -730,19 +728,21 @@ public class StructureChooser extends GStructureChooser implements String currentView = selectedFilterOpt.getView(); if (currentView == VIEWS_FILTER) { - int pdbIdColIndex = tbl_summary.getColumn("PDB Id") + int pdbIdColIndex = getResultTable().getColumn("PDB Id") .getModelIndex(); - int refSeqColIndex = tbl_summary.getColumn("Ref Sequence") + int refSeqColIndex = getResultTable().getColumn("Ref Sequence") .getModelIndex(); - int[] selectedRows = tbl_summary.getSelectedRows(); + int[] selectedRows = getResultTable().getSelectedRows(); PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length]; int count = 0; ArrayList selectedSeqsToView = new ArrayList(); for (int row : selectedRows) { - String pdbIdStr = tbl_summary.getValueAt(row, pdbIdColIndex) + String pdbIdStr = getResultTable().getValueAt(row, + pdbIdColIndex) .toString(); - SequenceI selectedSeq = (SequenceI) tbl_summary.getValueAt(row, + SequenceI selectedSeq = (SequenceI) getResultTable() + .getValueAt(row, refSeqColIndex); selectedSeqsToView.add(selectedSeq); PDBEntry pdbEntry = selectedSeq.getPDBEntry(pdbIdStr); @@ -803,9 +803,13 @@ public class StructureChooser extends GStructureChooser implements pdbEntry = new PDBEntry(); if (pdbIdStr.split(":").length > 1) { - pdbEntry.setChainCode(pdbIdStr.split(":")[1]); + pdbEntry.setId(pdbIdStr.split(":")[0]); + pdbEntry.setChainCode(pdbIdStr.split(":")[1].toUpperCase()); + } + else + { + pdbEntry.setId(pdbIdStr); } - pdbEntry.setId(pdbIdStr); pdbEntry.setType(PDBEntry.Type.PDB); selectedSequence.getDatasetSequence().addPDBId(pdbEntry); } @@ -830,7 +834,7 @@ public class StructureChooser extends GStructureChooser implements launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap, new SequenceI[] { selectedSequence }); } - mainFrame.dispose(); + closeAction(); } }).start(); } @@ -854,7 +858,8 @@ public class StructureChooser extends GStructureChooser implements final PDBEntry[] pdbEntriesToView, final AlignmentPanel alignPanel, SequenceI[] sequences) { - ssm.setProgressBar("Launching PDB structure viewer.."); + ssm.setProgressBar(MessageManager + .getString("status.launching_3d_structure_viewer")); final StructureViewer sViewer = new StructureViewer(ssm); if (SiftsSettings.isMapWithSifts()) @@ -862,45 +867,19 @@ public class StructureChooser extends GStructureChooser implements ArrayList seqsWithoutSourceDBRef = new ArrayList(); for (SequenceI seq : sequences) { - if (seq.getSourceDBRef() == null) + if (seq.getSourceDBRef() == null && seq.getDBRefs() == null) { - if (seq.getDBRefs() == null) - { seqsWithoutSourceDBRef.add(seq); continue; } - for (DBRefEntry dbRef : seq.getDBRefs()) - { - if (dbRef.getSource().equalsIgnoreCase("uniprot")) - { - seq.setSourceDBRef(dbRef); - break; - } - } - for (DBRefEntry dbRef : seq.getDBRefs()) - { - if (dbRef.getSource().equalsIgnoreCase("pdb")) - { - seq.setSourceDBRef(dbRef); - break; - } - } - if (seq.getSourceDBRef() == null) - { - seqsWithoutSourceDBRef.add(seq); - } - } } if (!seqsWithoutSourceDBRef.isEmpty()) { int y = seqsWithoutSourceDBRef.size(); ssm.setProgressBar(null); - ssm.setProgressBar(">>>>> Fetching Database refs for " + y - + " sequence" + (y > 1 ? "s" : "") - + " with no valid uniprot or pdb ref for SIFTS mapping"); - System.out.println(">>>>> Fetching Database refs for " + y - + " sequence" + (y > 1 ? "s" : "") - + " with no valid uniprot or pdb ref for SIFTS mapping"); + ssm.setProgressBar(MessageManager.formatMessage( + "status.fetching_dbrefs_for_sequences_without_valid_refs", + y)); SequenceI[] seqWithoutSrcDBRef = new SequenceI[y]; int x = 0; for (SequenceI fSeq : seqsWithoutSourceDBRef) @@ -919,14 +898,16 @@ public class StructureChooser extends GStructureChooser implements } SequenceI[][] collatedSeqs = seqsMap.toArray(new SequenceI[0][0]); ssm.setProgressBar(null); - ssm.setProgressBar("Fetching PDB Structures for selected entries.."); + ssm.setProgressBar(MessageManager + .getString("status.fetching_3d_structures_for_selected_entries")); sViewer.viewStructures(pdbEntriesToView, collatedSeqs, alignPanel); } else { ssm.setProgressBar(null); - ssm.setProgressBar("Fetching PDB Structure for " - + pdbEntriesToView[0].getId()); + ssm.setProgressBar(MessageManager.formatMessage( + "status.fetching_3d_structures_for", + pdbEntriesToView[0].getId())); sViewer.viewStructures(pdbEntriesToView[0], sequences, alignPanel); } } @@ -989,7 +970,7 @@ public class StructureChooser extends GStructureChooser implements { String searchTerm = txt_search.getText().toLowerCase(); searchTerm = searchTerm.split(":")[0]; - System.out.println(">>>>> search term : " + searchTerm); + // System.out.println(">>>>> search term : " + searchTerm); List wantedFields = new ArrayList(); FTSRestRequest pdbRequest = new FTSRestRequest(); pdbRequest.setAllowEmptySeq(false);