Merge branch 'merge/JAL-3310_and_JAL-3300' into develop
authorBen Soares <bsoares@dundee.ac.uk>
Wed, 19 Jun 2019 11:51:21 +0000 (12:51 +0100)
committerBen Soares <bsoares@dundee.ac.uk>
Wed, 19 Jun 2019 11:51:21 +0000 (12:51 +0100)
help/help/html/calculations/treeviewer.html
help/help/html/releases.html
resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/analysis/AAFrequency.java
src/jalview/commands/EditCommand.java
src/jalview/fts/core/FTSRestClient.java
src/jalview/fts/service/pdb/PDBFTSRestClient.java
src/jalview/gui/StructureChooser.java
test/jalview/commands/EditCommandTest.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..dfc159b 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
@@ -229,126 +240,215 @@ li:before {
             <!-- JAL-2864 -->Memory test suite to detect leaks in common
             operations</li>
           <li>
-            <!-- JAL-3140 -->IntervalStoreJ (NCList
-            implementation that alows updates) used for Sequence Feature collections</li>          
-        </ul>
-      </td>
-    <td align="left" valign="top">
-        <ul>
-          <li>
-            <!-- 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>
-            <!-- JAL-3239 -->Text misaligned in EPS or SVG image export with monospaced font</li>
-          <li>
-            <!-- JAL-3171 -->Warning of 'Duplicate entry' when saving
-            Jalview project involving multiple views</li>
-          <li>
-            <!-- JAL-3164 -->Overview for complementary view in a linked
-            CDS/Protein alignment is not updated when Hide Columns by
-            Annotation dialog hides columns</li>
-          <li>
-            <!-- JAL-3158 -->Selection highlighting in the complement of
-            a CDS/Protein alignment stops working after making a
-            selection in one view, then making another selection in the
-            other view</li>
-          <li>
-            <!-- JAL-3161 -->Annotations tooltip changes beyond visible columns</li>
-          <li>
-            <!-- JAL-3154 -->Table Columns could be re-ordered in
-            Feature Settings and Jalview Preferences panels</li>
-          <li>
-            <!-- JAL-2865 -->Jalview hangs when closing windows
-            or the overview updates with large alignments</li>
-          <li>
-            <!-- JAL-2750 -->Tree and PCA calculation fails for selected
-            region if columns were selected by dragging right-to-left
-            and the mouse moved to the left of the first column</li>
-            <li>
-            <!-- JAL-3218 -->Couldn't hide selected columns adjacent 
-            to a hidden column marker via scale popup menu</li>
-          <li>
-            <!-- JAL-2846 -->Error message for trying to load in invalid
-            URLs doesn't tell users the invalid URL</li>
-          <li>
-            <!-- JAL-3178 -->Nonpositional features lose feature group
-            on export as Jalview features file</li>
-          <li>
-            <!-- JAL-3097,JAL-3099 -->Blank extra columns drawn or 
-            printed when columns are hidden</li>
-          <li>
-            <!-- JAL-3082 -->Regular expression error for '(' in Select Columns by Annotation description</li>
-          <li>
-            <!-- JAL-3072 -->Scroll doesn't stop on mouse up after 
-            dragging out of Scale or Annotation Panel</li>
-          <li>
-            <!-- JAL-3075 -->Column selection incorrect after scrolling out of scale panel</li>
-          <li>
-            <!-- JAL-3074 -->Left/right drag in annotation can scroll alignment down</li>
-          <li>
-            <!-- JAL-3108 -->Error if mouse moved before clicking Reveal in scale panel</li>
-          <li>
-            <!-- JAL-3002 -->Column display is out by one after Page Down, Page Up in wrapped mode</li>
-          <li>
-            <!-- JAL-2839 -->Finder doesn't skip hidden regions</li>
-          <li>
-            <!-- JAL-2932 -->Finder searches in minimised alignments</li>
-          <li>
-            <!-- JAL-2250 -->'Apply Colour to All Groups' not always selected on
-            opening an alignment</li>
-          <li>
-            <!-- JAL-3180 -->'Colour by Annotation' not marked selected in Colour menu</li>
-          <li>
-            <!-- JAL-3201 -->Per-group Clustal colour scheme changes when 
-            different groups in the alignment are selected</li>
-          <li>
-            <!-- JAL-2717 -->Internationalised colour scheme names not shown correctly in menu</li>
-          <li>
-            <!-- JAL-3206 -->Colour by Annotation can go black at min/max threshold limit</li>
-          <li>
-            <!-- JAL-3125 -->Value input for graduated feature colour threshold gets 'unrounded'</li>
-          <li>
-            <!-- JAL-2982 -->PCA image export doesn't respect background colour</li>
-          <li>
-            <!-- JAL-2963 -->PCA points don't dim when rotated about y axis</li>
-          <li>
-            <!-- JAL-2959 -->PCA Print dialog continues after Cancel</li>
-          <li>
-            <!-- JAL-3078 -->Cancel in Tree Font dialog resets alignment, not Tree font</li>
-          <li>
-            <!-- JAL-2964 -->Associate Tree with All Views not restored from project file</li>
-          <li>
-            <!-- JAL-2915 -->Scrolling of split frame is sluggish if Overview shown in complementary view</li>
-          <li>
-            <!-- JAL-2898 -->stop_gained variants not shown correctly on peptide sequence</li>
-          <li>
-            <!-- JAL-3021 -->Sequence Details report opens positioned to top of report</li>
-          <li>
-            <!-- JAL-914 -->Help page can be opened twice</li>
-        </ul>
-        <em>Editing</em>
-        <ul>
-          <li>
-            <!-- JAL-2822 -->Start and End should be updated when
-            sequence data at beginning or end of alignment added/removed
-            via 'Edit' sequence</li>
-          <li>
-            <!-- 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>
-          <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> 
+            <!-- JAL-3140 JAL-2446 -->IntervalStoreJ (NCList
+            implementation that alows updates) used for Sequence Feature collections</li>
+          <li><!-- JAL-2360,JAL-2416 -->More unit test coverage, and minor issues resolved.</li>          
         </ul>
       </td>
-    </tr>
+                       <td align="left" valign="top">
+                               <ul>
+                                       <li>
+                                               <!-- 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>
+                                               <!-- 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 Jalview
+                                               project involving multiple views
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3164 -->Overview for complementary view in a linked
+                                               CDS/Protein alignment is not updated when Hide Columns by
+                                               Annotation dialog hides columns
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3158 -->Selection highlighting in the complement of a
+                                               CDS/Protein alignment stops working after making a selection in
+                                               one view, then making another selection in the other view
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3161 -->Annotations tooltip changes beyond visible
+                                               columns
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3154 -->Table Columns could be re-ordered in Feature
+                                               Settings and Jalview Preferences panels
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2865 -->Jalview hangs when closing windows or the
+                                               overview updates with large alignments
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2750 -->Tree and PCA calculation fails for selected
+                                               region if columns were selected by dragging right-to-left and the
+                                               mouse moved to the left of the first column
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3218 -->Couldn't hide selected columns adjacent to a
+                                               hidden column marker via scale popup menu
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2846 -->Error message for trying to load in invalid URLs
+                                               doesn't tell users the invalid URL
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3178 -->Nonpositional features lose feature group on
+                                               export as Jalview features file
+                                       </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>
+                                               <!-- JAL-3082 -->Regular expression error for '(' in Select
+                                               Columns by Annotation description
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3072 -->Scroll doesn't stop on mouse up after dragging
+                                               out of Scale or Annotation Panel
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3075 -->Column selection incorrect after scrolling out of
+                                               scale panel
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3074 -->Left/right drag in annotation can scroll
+                                               alignment down
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3108 -->Error if mouse moved before clicking Reveal in
+                                               scale panel
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3002 -->Column display is out by one after Page Down,
+                                               Page Up in wrapped mode
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2839 -->Finder doesn't skip hidden regions
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2932 -->Finder searches in minimised alignments
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2250 -->'Apply Colour to All Groups' not always selected
+                                               on opening an alignment
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3180 -->'Colour by Annotation' not marked selected in
+                                               Colour menu
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3201 -->Per-group Clustal colour scheme changes when
+                                               different groups in the alignment are selected
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2717 -->Internationalised colour scheme names not shown
+                                               correctly in menu
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3206 -->Colour by Annotation can go black at min/max
+                                               threshold limit
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3125 -->Value input for graduated feature colour
+                                               threshold gets 'unrounded'
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2982 -->PCA image export doesn't respect background
+                                               colour
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2963 -->PCA points don't dim when rotated about y axis
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2959 -->PCA Print dialog continues after Cancel
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3078 -->Cancel in Tree Font dialog resets alignment, not
+                                               Tree font
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2964 -->Associate Tree with All Views not restored from
+                                               project file
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2915 -->Scrolling of split frame is sluggish if Overview
+                                               shown in complementary view
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2898 -->stop_gained variants not shown correctly on
+                                               peptide sequence
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3021 -->Sequence Details report opens positioned to top
+                                               of report
+                                       </li>
+                                       <li>
+                                               <!-- JAL-914 -->Help page can be opened twice
+                                       </li>
+                               </ul> <em>Editing</em>
+                               <ul>
+                                       <li>
+                                               <!-- JAL-2822 -->Start and End should be updated when sequence
+                                               data at beginning or end of alignment added/removed via 'Edit'
+                                               sequence
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2541,JAL-2684 (tests) -->Delete/Cut selection doesn't
+                                               relocate sequence features correctly when start of sequence is
+                                               removed (Known defect since 2.10)
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2830 -->Inserting gap sequence via the Edit Sequence
+                                               dialog corrupts dataset sequence
+                                       </li>
+                                       <li>
+                                               <!-- JAL-3313 -->Codon consensus logo incorrectly scaled when
+                                               shown without normalisation
+                                       </li>
+                               </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>
+                                       <li>
+                                               <!-- JAL-3314 -->Rightmost selection is lost when mouse re-enters
+                                               window after dragging left to select columns to left of visible
+                                               region
+                                       </li>
+                                       <li>
+                                               <!-- JAL-2876 -->Features coloured according to their description
+                                               string and thresholded by score in earlier versions of Jalview are
+                                               not shown as thresholded features in 2.11. To workaround please
+                                               create a Score filter instead.
+                                       </li>
+                               </ul>
+                       </td>
+               </tr>
     <tr>
     <td width="60" nowrap>
       <div align="center">
@@ -554,6 +654,11 @@ li:before {
               <!-- JAL-2593 -->Improved performance when rendering lots
               of features (particularly when transparency is disabled)
             </li>
+            <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>
@@ -1427,6 +1532,15 @@ li:before {
               <!-- JAL-2589 -->User defined gap colour not shown in
               overview when features overlaid on alignment
             </li>
+            <li>
+              <!-- JAL-2567 -->Feature settings for different views not
+              recovered correctly from Jalview project file
+            </li>
+            <li>
+              <!-- JAL-2256 -->Feature colours in overview when first opened
+              (automatically via preferences) are different to the main
+              alignment panel
+            </li>
           </ul>
           <em>Data import/export</em>
           <ul>
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 e4f2dfa..f1d5e79 100755 (executable)
@@ -531,7 +531,7 @@ public class AAFrequency
     for (int col = 0; col < cols; col++)
     {
       // todo would prefer a Java bean for consensus data
-      Hashtable<String, int[]> columnHash = new Hashtable<String, int[]>();
+      Hashtable<String, int[]> columnHash = new Hashtable<>();
       // #seqs, #ungapped seqs, counts indexed by (codon encoded + 1)
       int[] codonCounts = new int[66];
       codonCounts[0] = alignment.getSequences().size();
@@ -551,6 +551,7 @@ public class AAFrequency
           {
             codonCounts[codonEncoded + 2]++;
             ungappedCount++;
+            break;
           }
         }
       }
index b9d32f7..aae72d6 100644 (file)
@@ -838,7 +838,7 @@ public class EditCommand implements CommandI
             // old ds and edited ds are different, so
             // create the new dataset sequence
             SequenceI newds = new Sequence(oldds);
-            newds.setSequence(fullseq);
+            newds.setSequence(fullseq.toUpperCase());
 
             if (command.oldds == null)
             {
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
           {
index 2160657..348d871 100644 (file)
@@ -90,11 +90,11 @@ public class EditCommandTest
     testee = new EditCommand();
     seqs = new SequenceI[4];
     seqs[0] = new Sequence("seq0", "abcdefghjk");
-    seqs[0].setDatasetSequence(new Sequence("seq0ds", "abcdefghjk"));
+    seqs[0].setDatasetSequence(new Sequence("seq0ds", "ABCDEFGHJK"));
     seqs[1] = new Sequence("seq1", "fghjklmnopq");
-    seqs[1].setDatasetSequence(new Sequence("seq1ds", "fghjklmnopq"));
+    seqs[1].setDatasetSequence(new Sequence("seq1ds", "FGHJKLMNOPQ"));
     seqs[2] = new Sequence("seq2", "qrstuvwxyz");
-    seqs[2].setDatasetSequence(new Sequence("seq2ds", "qrstuvwxyz"));
+    seqs[2].setDatasetSequence(new Sequence("seq2ds", "QRSTUVWXYZ"));
     seqs[3] = new Sequence("seq3", "1234567890");
     seqs[3].setDatasetSequence(new Sequence("seq3ds", "1234567890"));
     al = new Alignment(seqs);
@@ -285,7 +285,8 @@ public class EditCommandTest
             4, 8, al);
     assertEquals("abcdefghjk", seqs[0].getSequenceAsString());
     assertEquals("fghjZ-xYopq", seqs[1].getSequenceAsString());
-    assertEquals("fghjZxYopq",
+    // Dataset Sequence should always be uppercase
+    assertEquals("fghjZxYopq".toUpperCase(),
             seqs[1].getDatasetSequence().getSequenceAsString());
     assertEquals("qrstuvwxyz", seqs[2].getSequenceAsString());
     assertEquals("1234567890", seqs[3].getSequenceAsString());
@@ -315,7 +316,8 @@ public class EditCommandTest
     assertEquals("ABxyZ-DEF", seq.getSequenceAsString());
     assertEquals(1, seq.getStart());
     assertEquals(8, seq.getEnd());
-    assertEquals("ABxyZDEF",
+    // Dataset sequence always uppercase
+    assertEquals("ABxyZDEF".toUpperCase(),
             seq.getDatasetSequence().getSequenceAsString());
     assertEquals(8, seq.getDatasetSequence().getEnd());
 
@@ -340,7 +342,8 @@ public class EditCommandTest
     assertEquals("ABxyZ-DEF", seq.getSequenceAsString());
     assertEquals(1, seq.getStart());
     assertEquals(8, seq.getEnd());
-    assertEquals("ABxyZDEF",
+    // dataset sequence should be Uppercase
+    assertEquals("ABxyZDEF".toUpperCase(),
             seq.getDatasetSequence().getSequenceAsString());
     assertEquals(8, seq.getDatasetSequence().getEnd());
 
@@ -363,8 +366,8 @@ public class EditCommandTest
     assertEquals("----klmnopq", seqs[1].getSequenceAsString());
     // and ds is preserved
     assertTrue(dsseq == seqs[1].getDatasetSequence());
-    // and it is unchanged
-    assertEquals("fghjklmnopq", dsseq.getSequenceAsString());
+    // and it is unchanged and UPPERCASE !
+    assertEquals("fghjklmnopq".toUpperCase(), dsseq.getSequenceAsString());
     // and that alignment sequence start has been adjusted
     assertEquals(5, seqs[1].getStart());
     assertEquals(11, seqs[1].getEnd());
@@ -390,8 +393,8 @@ public class EditCommandTest
     assertEquals("----klmnopq", seqs[1].getSequenceAsString());
     // and ds is preserved
     assertTrue(dsseq == seqs[1].getDatasetSequence());
-    // and it is unchanged
-    assertEquals("fghjklmnopq", dsseq.getSequenceAsString());
+    // and it is unchanged AND UPPERCASE !
+    assertEquals("fghjklmnopq".toUpperCase(), dsseq.getSequenceAsString());
     // and that alignment sequence start has been adjusted
     assertEquals(5, seqs[1].getStart());
     assertEquals(11, seqs[1].getEnd());