Merge branch 'documentation/JAL-3111_release_211' into develop
authorJim Procter <jprocter@issues.jalview.org>
Tue, 18 Jun 2019 15:08:39 +0000 (16:08 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Tue, 18 Jun 2019 15:08:39 +0000 (16:08 +0100)
help/help/html/calculations/treeviewer.html
help/help/html/releases.html
resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/fts/core/FTSRestClient.java
src/jalview/fts/service/pdb/PDBFTSRestClient.java
src/jalview/gui/StructureChooser.java

index 8cb2b59..f326f19 100755 (executable)
     alignment, such as another tree viewer.
   </p>
   <p>
-    <strong><em><a name="partitioning">Grouping sequences by partitioning</a> the
-        tree at a particular distance</em></strong><br> Clicking anywhere along
-    the extent of the tree (but not on a leaf or internal node) defines
-    a tree 'partition', by cutting every branch of the tree spanning the
-    depth where the mouse-click occurred. Groups are created containing
-    sequences at the leaves of each connected sub tree. These groups are
-    each given a different colour, which are reflected in other windows
-    in the same way as if the sequence IDs were selected, and can be
-    edited in the same way as user defined sequence groups.
-  </p>
+               <strong><em><a name="partitioning">Grouping
+                                       sequences by partitioning</a> the tree at a particular distance</em></strong><br>
+               Clicking anywhere along the extent of the tree (but not on a leaf or
+               internal node) defines a tree 'partition', by cutting every branch of
+               the tree spanning the depth where the mouse-click occurred. A red line
+               will be shown where the partition was made, and groups are created
+               containing sequences at the leaves of each connected sub tree. These
+               groups are each given a different colour, which are reflected in other
+               windows in the same way as if the sequence IDs were selected, and can
+               be edited in the same way as user defined sequence groups.
+       </p>
   <p>
     Tree partitions are useful for comparing clusters produced by
     different methods and measures. They are also an effective way of
index 88b0fd7..bbd0334 100755 (executable)
@@ -162,8 +162,8 @@ li:before {
                                                                when in wrapped mode
                                                        </li>
                                                        <li>
-                                                               <!-- JAL-3073 -->Can select columns by dragging left/right in
-                                                               annotations
+                                                               <!-- JAL-3073 -->Can select columns by dragging left/right in a graph or histogram
+                                                               annotation
                                                        </li>
                                                        <li>
                                                                <!-- JAL-2814 -->Help button on Uniprot and PDB search panels
@@ -176,6 +176,12 @@ li:before {
                                                                <!-- JAL-3181 -->Consistent ordering of links in sequence id
                                                                popup menu
                                                        </li>
+                                                       <li>
+                                                       <!-- JAL-3080 -->Red line indicating tree-cut position not shown if no subgroups are created</li>
+                                                       <li>
+                                                       <!-- JAL-3042 -->Removed ability to configure length of search history by right-clicking search box</li>
+                                                       
+                                                        
                                                </ul></li>
                                        <li><strong>Java 11 Support</strong>
                                                <ul>
@@ -201,8 +207,13 @@ li:before {
             and XML based data retrieval clients</li>
           <li><!-- JAL-3311 -->Disable VAMSAS menu in preparation for removal</li> 
           <li><!--  -->Jalview Desktop no longer distributed via Java Web Start</li>
-        </ul>
-        <em>Development and Release Processes</em>
+        </ul> <em>Documentation</em>
+                               <ul>
+                                       <li>
+                                               <!-- JAL-3003 -->Added remarks about transparent rendering effects
+                                               not supported in EPS figure export
+                                       </li>
+                               </ul> <em>Development and Release Processes</em>
         <ul>
                                        <li>
                                                <!-- JAL-3196,JAL-3007 -->Jalview Native Application and
@@ -239,7 +250,11 @@ li:before {
             <!-- JAL-3143 -->Timeouts when retrieving data from Ensembl</li>
           <li>
             <!-- JAL-3244 -->'View [Structure] Mappings' and structure superposition in Jmol fail on Windows</li>
-          <li>
+                                       <li>
+                                               <!-- JAL-3286 -->Blank error dialog is displayed when discovering
+                                               structures for sequences with lots of PDB structures
+                                       </li>
+                                       <li>
             <!-- JAL-3239 -->Text misaligned in EPS or SVG image export with monospaced font</li>
           <li>
             <!-- JAL-3171 -->Warning of 'Duplicate entry' when saving
@@ -274,7 +289,11 @@ li:before {
           <li>
             <!-- JAL-3178 -->Nonpositional features lose feature group
             on export as Jalview features file</li>
-          <li>
+                                       <li>
+                                               <!-- JAL-2060 -->'Graduated colour' option not offered for
+                                               manually created features (where if feature score is Float.NaN)
+                                       </li>
+                                       <li>
             <!-- JAL-3097,JAL-3099 -->Blank extra columns drawn or 
             printed when columns are hidden</li>
           <li>
@@ -337,16 +356,22 @@ li:before {
             <!-- JAL-2541 -->Delete/Cut selection doesn't relocate
             sequence features correctly when start of sequence is
             removed (Known defect since 2.10)</li>
-        </ul>
-        <em>New Known Defects</em>
+        </ul><em>New Known Defects</em>
         <ul>
           <li>
             <!-- JAL-2647 -->Input Data menu entry is greyed out when PCA View is restored from a Jalview 2.11 project</li> 
           <li>
-            <!-- JAL-3213 -->Alignment panel height can be too small after 'New View'</li> 
-          <li>
-            <!-- JAL-3240 -->Display is incorrect after removing gapped columns within hidden columns</li> 
-        </ul>
+            <!-- JAL-3213 -->Alignment panel height can be too small after 'New View'</li>
+                                       <li>
+                                               <!-- JAL-3240 -->Display is incorrect after removing gapped
+                                               columns within hidden columns
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3314 -->Rightmost selection is lost when mouse re-enters
+                                               window after dragging left to select columns to left of visible
+                                               region
+                                       </li>
+                               </ul>
       </td>
     </tr>
     <tr>
@@ -554,7 +579,12 @@ li:before {
               <!-- JAL-2593 -->Improved performance when rendering lots
               of features (particularly when transparency is disabled)
             </li>
-          </ul>
+                                               <li>
+                                                       <!-- JAL-2296,JAL-2295 -->Experimental features in 2.10.2 for
+                                                       exchange of Jalview features and Chimera attributes made
+                                                       generally available
+                                               </li>
+                                       </ul>
           </div>
       </td>
       <td><div align="left">
index f095290..d2d8e88 100644 (file)
@@ -1226,9 +1226,6 @@ label.structure_chooser_filter_time = Structure Chooser - Filter time ({0})
 label.structure_chooser_no_of_structures = Structure Chooser - {0} Found ({1})
 info.no_pdb_entry_found_for = No PDB entry found for {0}
 exception.unable_to_detect_internet_connection = Jalview is unable to detect an internet connection
-exception.fts_rest_service_no_longer_available = {0} rest services no longer available!
-exception.resource_not_be_found = The requested resource could not be found
-exception.fts_server_error = There seems to be an error from the {0} server
 exception.fts_server_unreachable = Jalview is unable to reach the {0} server. \nPlease ensure that you are connected to the internet and try again.
 label.nw_mapping = Needleman & Wunsch Alignment
 label.sifts_mapping = SIFTs Mapping
@@ -1245,8 +1242,6 @@ action.next_page= >>
 action.prev_page= << 
 label.next_page_tooltip=Next Page
 label.prev_page_tooltip=Previous Page
-exception.bad_request=Bad request. There is a problem with your input.
-exception.service_not_available=Service not available. The server is being updated, try again later.
 status.launching_3d_structure_viewer = Launching 3D Structure viewer...
 status.fetching_3d_structures_for_selected_entries = Fetching 3D Structures for selected entries...
 status.fetching_dbrefs_for_sequences_without_valid_refs = Fetching db refs for {0} sequence(s) without valid db ref required for SIFTS mapping
index ec7eb5d..e9e18ce 100644 (file)
@@ -1200,7 +1200,6 @@ tooltip.rnalifold_settings=Modificar la configuraci
 label.show_selected_annotations=Mostrar anotaciones seleccionadas
 status.colouring_chimera=Coloreando Chimera
 label.configure_displayed_columns=Configurar Columnas Mostradas
-exception.resource_not_be_found=El recurso solicitado no se ha encontrado
 label.aacon_calculations=cálculos AACon
 label.pdb_web-service_error=Error de servicio web PDB
 exception.unable_to_detect_internet_connection=Jalview no puede detectar una conexión a Internet
@@ -1225,13 +1224,10 @@ exception.fts_server_unreachable=Jalview no puede conectar con el servidor {0}.
 exception.outofmemory_loading_mmcif_file=Sin memoria al cargar el fichero mmCIF
 label.hide_columns_not_containing=Ocultar las columnas que no contengan
 label.pdb_sequence_fetcher=Recuperador de secuencias PDB
-exception.fts_server_error=Parece que hay un error desde el servidor {0}
-exception.service_not_available=Servicio no disponible. El servidor se está actualizando, vuelva a intentarlo más tarde.
 status.waiting_for_user_to_select_output_file=Esperando que el usuario seleccione el fichero {0}
 action.prev_page=<< 
 status.cancelled_image_export_operation=Operación de exportación {0} cancelada
 label.couldnt_run_groovy_script=No se ha podido ejecutar el script Groovy
-exception.bad_request=Solicitud incorrecta. Hay un problema con su entrada.
 label.run_groovy=Ejecutar script Groovy desde la consola
 action.next_page=>> 
 label.uniprot_sequence_fetcher=Recuperador de secuencias UniProt
@@ -1247,7 +1243,6 @@ label.next_page_tooltip=P
 label.sifts_mapping=Mapeado SIFTs
 label.mapping_method=Método de mapeo de secuencia \u27F7 estructura
 info.error_creating_file=Error al crear fichero {0}
-exception.fts_rest_service_no_longer_available= Servicios Rest {0} ya no están disponibles! 
 status.launching_3d_structure_viewer=Lanzando visualizador de estructura 3D...
 status.obtaining_mapping_with_sifts=Obteniendo mapeo por SIFTS
 status.fetching_3d_structures_for=Buscando la estructura 3D para {0}
index f94d455..8b1c785 100644 (file)
@@ -43,13 +43,13 @@ import java.util.Objects;
  */
 public abstract class FTSRestClient implements FTSRestClientI
 {
-  protected Collection<FTSDataColumnI> dataColumns = new ArrayList<FTSDataColumnI>();
+  protected Collection<FTSDataColumnI> dataColumns = new ArrayList<>();
 
-  protected Collection<FTSDataColumnGroupI> dataColumnGroups = new ArrayList<FTSDataColumnGroupI>();
+  protected Collection<FTSDataColumnGroupI> dataColumnGroups = new ArrayList<>();
 
-  protected Collection<FTSDataColumnI> searchableDataColumns = new ArrayList<FTSDataColumnI>();
+  protected Collection<FTSDataColumnI> searchableDataColumns = new ArrayList<>();
 
-  protected Collection<FTSDataColumnI> defaulDisplayedDataColumns = new ArrayList<FTSDataColumnI>();
+  protected Collection<FTSDataColumnI> defaulDisplayedDataColumns = new ArrayList<>();
 
   protected FTSDataColumnI primaryKeyColumn;
 
@@ -446,22 +446,22 @@ public abstract class FTSRestClient implements FTSRestClientI
     throw new Exception("Couldn't find data column group with id : " + id);
   }
 
-  public String getMessageByHTTPStatusCode(int code, String service)
+  public static String getMessageByHTTPStatusCode(int code, String service)
   {
     String message = "";
     switch (code)
     {
     case 400:
-      message = MessageManager.getString("exception.bad_request");
+      message = "Bad request. There is a problem with your input.";
       break;
 
     case 410:
       message = MessageManager.formatMessage(
-              "exception.fts_rest_service_no_longer_available", service);
+              service + " rest services no longer available!");
       break;
     case 403:
     case 404:
-      message = MessageManager.getString("exception.resource_not_be_found");
+      message = "The requested resource could not be found";
       break;
     case 408:
     case 409:
@@ -470,16 +470,16 @@ public abstract class FTSRestClient implements FTSRestClientI
     case 502:
     case 504:
     case 505:
-      message = MessageManager.formatMessage("exception.fts_server_error",
-              service);
+      message = "There seems to be an error from the " + service
+              + " server";
       break;
     case 503:
-      message = MessageManager.getString("exception.service_not_available");
+      message = "Service not available. The server is being updated, try again later.";
       break;
     default:
       break;
     }
-    return message;
+    return String.valueOf(code) + " " + message;
   }
 
   protected String getResourceFile(String fileName)
index cbeaff1..5293c32 100644 (file)
@@ -152,10 +152,11 @@ public class PDBFTSRestClient extends FTSRestClient
       // System.out.println("query >>>>>>> " + pdbRestRequest.toString());
 
       // Check the response status and report exception if one occurs
-      if (clientResponse.getStatus() != 200)
+      int responseStatus = clientResponse.getStatus();
+      if (responseStatus != 200)
       {
         String errorMessage = "";
-        if (clientResponse.getStatus() == 400)
+        if (responseStatus == 400)
         {
           errorMessage = parseJsonExceptionString(responseString);
           throw new Exception(errorMessage);
@@ -163,7 +164,7 @@ public class PDBFTSRestClient extends FTSRestClient
         else
         {
           errorMessage = getMessageByHTTPStatusCode(
-                  clientResponse.getStatus(), "PDB");
+                  responseStatus, "PDB");
           throw new Exception(errorMessage);
         }
       }
index e18d6af..ec2ebe3 100644 (file)
@@ -322,6 +322,11 @@ public class StructureChooser extends GStructureChooser
     boolean isUniProtRefsFound = false;
     StringBuilder queryBuilder = new StringBuilder();
     Set<String> seqRefs = new LinkedHashSet<>();
+    
+    /*
+     * note PDBs as DBRefEntry so they are not duplicated in query
+     */
+    Set<String> pdbids = new HashSet<>();
 
     if (seq.getAllPDBEntries() != null
             && queryBuilder.length() < MAX_QLENGTH)
@@ -330,9 +335,10 @@ public class StructureChooser extends GStructureChooser
       {
         if (isValidSeqName(entry.getId()))
         {
-          queryBuilder.append("pdb_id:").append(entry.getId().toLowerCase())
-                  .append(" OR ");
+          String id = entry.getId().toLowerCase();
+          queryBuilder.append("pdb_id:").append(id).append(" OR ");
           isPDBRefsFound = true;
+          pdbids.add(id);
         }
       }
     }
@@ -355,9 +361,13 @@ public class StructureChooser extends GStructureChooser
           else if (dbRef.getSource().equalsIgnoreCase(DBRefSource.PDB))
           {
 
-            queryBuilder.append("pdb_id:")
-                    .append(getDBRefId(dbRef).toLowerCase()).append(" OR ");
-            isPDBRefsFound = true;
+            String id = getDBRefId(dbRef).toLowerCase();
+            if (!pdbids.contains(id))
+            {
+              queryBuilder.append("pdb_id:").append(id).append(" OR ");
+              isPDBRefsFound = true;
+              pdbids.add(id);
+            }
           }
           else
           {