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
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
<!-- 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>
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
<!-- 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">
<!-- 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>
<!-- 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>
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
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
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
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
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}
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();
{
codonCounts[codonEncoded + 2]++;
ungappedCount++;
+ break;
}
}
}
// 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)
{
*/
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;
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:
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)
// 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);
else
{
errorMessage = getMessageByHTTPStatusCode(
- clientResponse.getStatus(), "PDB");
+ responseStatus, "PDB");
throw new Exception(errorMessage);
}
}
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)
{
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);
}
}
}
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
{
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);
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());
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());
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());
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());
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());