Merge branch 'Release_2_9_0b1_Branch' Release_2_9_0b1
authorJim Procter <jprocter@issues.jalview.org>
Thu, 8 Oct 2015 15:16:58 +0000 (16:16 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Thu, 8 Oct 2015 15:16:58 +0000 (16:16 +0100)
923 files changed:
.settings/org.eclipse.jdt.ui.prefs
RELEASE
build.xml
doc/AddingGroovySupport.html
doc/AnnotationPostAnalysis.txt
doc/JalviewRNASupport.html
doc/UnitTesting.html
doc/biojsmsa-templates.html
doc/building.html
doc/developing.html
doc/i18n.html
doc/index.html
doc/newdmobj.html
examples/appletParameters.html
examples/applets.html
examples/css/ie6.css
examples/css/ie7.css
examples/css/reset.css
examples/css/style.css
examples/embedded.html
examples/embeddedWJmol.html
examples/estrogenReceptorCdna_aln.fa [new file with mode: 0644]
examples/estrogenReceptorCdna_frag.fa
examples/estrogenReceptorProtein_aln.fa [new file with mode: 0644]
examples/estrogenReceptorProtein_frag.fa
examples/exampleFeatures.txt
examples/formComplete.html
examples/groovy/JvLoadTestHarness.groovy
examples/groovy/JvLoadTester.groovy
examples/groovy/alignLoadedFile.groovy
examples/groovy/annotationForSelectedSequence.groovy
examples/groovy/annotationsascsv.groovy
examples/groovy/closures.groovy
examples/groovy/iterateOverAlignments.groovy
examples/groovy/parseproperties.groovy
examples/groovy/printtitle.groovy
examples/groovy/removeFeaturesByGroup.groovy
examples/groovy/selectColumnsByFeatureAndGroup.groovy
examples/groovy/sitesForSelectedColumns.groovy
examples/groovy/stripUniprotPrefixes.groovy
examples/includes/footer_jv.html
examples/includes/header_jv.html
examples/includes/nav_jv.html
examples/jalviewLiteJs.html
examples/javascript/jalview.js
examples/javascript/jvcontroller.js
examples/javascriptLaunch.html
examples/linkedapplets_ng.html
help/help.hs
help/help.jhm
help/helpTOC.xml
help/html/calculations/consensus.html
help/html/calculations/conservation.html
help/html/calculations/pairwise.html
help/html/calculations/pca.html
help/html/calculations/quality.html
help/html/calculations/recoverInputdata.html
help/html/calculations/redundancy.html
help/html/calculations/referenceseq.html
help/html/calculations/scorematrices.html
help/html/calculations/sorting.html
help/html/calculations/structureconsensus.html
help/html/calculations/tree.html
help/html/calculations/treeviewer.html
help/html/colourSchemes/abovePID.html
help/html/colourSchemes/annotationColouring.html
help/html/colourSchemes/blosum.html
help/html/colourSchemes/buried.html
help/html/colourSchemes/clustal.html
help/html/colourSchemes/conservation.html
help/html/colourSchemes/helix.html
help/html/colourSchemes/hydrophobic.html
help/html/colourSchemes/index.html
help/html/colourSchemes/nucleotide.html
help/html/colourSchemes/pid.html
help/html/colourSchemes/purinepyrimidine.html
help/html/colourSchemes/rnahelicesColouring.html
help/html/colourSchemes/strand.html
help/html/colourSchemes/taylor.html
help/html/colourSchemes/textcolour.html
help/html/colourSchemes/turn.html
help/html/colourSchemes/user.html
help/html/colourSchemes/zappo.html
help/html/editing/index.html
help/html/features/annotation.html
help/html/features/annotationsFormat.html
help/html/features/bioJsonFormat.html
help/html/features/biojsmsa.html
help/html/features/chimera.html
help/html/features/clarguments.html
help/html/features/codingfeatures.html
help/html/features/columnFilterByAnnotation.html
help/html/features/commandline.html
help/html/features/creatinFeatures.html
help/html/features/cursorMode.html
help/html/features/dasfeatures.html
help/html/features/dassettings.html
help/html/features/editingFeatures.html
help/html/features/featuresFormat.html
help/html/features/featureschemes.html
help/html/features/featuresettings.html
help/html/features/groovy.html
help/html/features/hiddenRegions.html
help/html/features/jalarchive.html
help/html/features/jmol.html
help/html/features/multipleViews.html
help/html/features/newkeystrokes.html
help/html/features/overview.html
help/html/features/pdbsequencefetcher.html
help/html/features/pdbviewer.html
help/html/features/preferences.html
help/html/features/search.html
help/html/features/seqfeatures.html
help/html/features/seqfetch.html
help/html/features/seqmappings.html
help/html/features/splitView.html
help/html/features/structurechooser.html
help/html/features/varna.html
help/html/features/viewingpdbs.html
help/html/features/wrap.html
help/html/features/xsspannotation.html
help/html/index.html
help/html/io/export.html
help/html/io/exportseqreport.html
help/html/io/fileformats.html
help/html/io/index.html
help/html/io/modellerpir.html
help/html/io/tcoffeescores.html
help/html/keys.html
help/html/memory.html
help/html/menus/alignmentMenu.html
help/html/menus/alwannotation.html
help/html/menus/alwannotationpanel.html
help/html/menus/alwcalculate.html
help/html/menus/alwcolour.html
help/html/menus/alwedit.html
help/html/menus/alwfile.html
help/html/menus/alwformat.html
help/html/menus/alwselect.html
help/html/menus/alwview.html
help/html/menus/desktopMenu.html
help/html/menus/index.html
help/html/menus/popupMenu.html
help/html/menus/wsmenu.html
help/html/misc/aaproperties.html
help/html/misc/aminoAcids.html
help/html/misc/geneticCode.html
help/html/na/index.html
help/html/privacy.html
help/html/releases.html
help/html/vamsas/index.html
help/html/webServices/AACon.html
help/html/webServices/JABAWS.html
help/html/webServices/RNAalifold.html
help/html/webServices/dbreffetcher.html
help/html/webServices/index.html
help/html/webServices/jnet.html
help/html/webServices/msaclient.html
help/html/webServices/newsreader.html
help/html/webServices/proteinDisorder.html
help/html/webServices/shmr.html
help/html/webServices/urllinks.html
help/html/webServices/webServicesParams.html
help/html/webServices/webServicesPrefs.html
help/html/whatsNew.html
jalview-jalopy.xml
nbbuild.xml
nbproject/project.xml
resources/embl_mapping.xml
resources/lang/Messages.properties
resources/lang/Messages_es.properties
resources/uniprot_mapping.xml
schemas/JalviewWsParamSet.xsd
schemas/castor-mapping.xsd
schemas/jalview.nodesc.properties
schemas/jalview.properties
schemas/jalview.xsd
schemas/jalviewJvV1.xsd
schemas/vamsas.xsd
schemas/vamsasJvV1.xsd
src/MCview/AppletPDBCanvas.java
src/MCview/AppletPDBViewer.java
src/MCview/Atom.java
src/MCview/Bond.java
src/MCview/MCMatrix.java
src/MCview/PDBCanvas.java
src/MCview/PDBChain.java
src/MCview/PDBViewer.java
src/MCview/PDBfile.java
src/MCview/Residue.java
src/MCview/Zsort.java
src/castor.properties
src/com/stevesoft/pat/RegexWriter.java
src/ext/vamsas/IRegistry.java
src/ext/vamsas/IRegistryService.java
src/ext/vamsas/IRegistryServiceLocator.java
src/ext/vamsas/Jpred.java
src/ext/vamsas/JpredService.java
src/ext/vamsas/JpredServiceLocator.java
src/ext/vamsas/JpredSoapBindingStub.java
src/ext/vamsas/MuscleWS.java
src/ext/vamsas/MuscleWSService.java
src/ext/vamsas/MuscleWSServiceLocator.java
src/ext/vamsas/MuscleWSSoapBindingStub.java
src/ext/vamsas/RegistryServiceSoapBindingStub.java
src/ext/vamsas/SeqSearchI.java
src/ext/vamsas/SeqSearchServiceLocator.java
src/ext/vamsas/SeqSearchServiceService.java
src/ext/vamsas/SeqSearchServiceSoapBindingStub.java
src/ext/vamsas/ServiceHandle.java
src/ext/vamsas/ServiceHandles.java
src/jalview/analysis/AAFrequency.java
src/jalview/analysis/AlignSeq.java
src/jalview/analysis/AlignmentAnnotationUtils.java
src/jalview/analysis/AlignmentSorter.java
src/jalview/analysis/AlignmentUtils.java
src/jalview/analysis/AnnotationSorter.java
src/jalview/analysis/CodingUtils.java
src/jalview/analysis/CodonComparator.java
src/jalview/analysis/Conservation.java
src/jalview/analysis/CrossRef.java
src/jalview/analysis/Dna.java
src/jalview/analysis/Finder.java
src/jalview/analysis/Grouping.java
src/jalview/analysis/NJTree.java
src/jalview/analysis/PCA.java
src/jalview/analysis/ParseProperties.java
src/jalview/analysis/Rna.java
src/jalview/analysis/SecStrConsensus.java
src/jalview/analysis/SeqsetUtils.java
src/jalview/analysis/SequenceIdMatcher.java
src/jalview/analysis/StructureFrequency.java
src/jalview/analysis/WUSSParseException.java
src/jalview/analysis/scoremodels/FeatureScoreModel.java
src/jalview/analysis/scoremodels/PIDScoreModel.java
src/jalview/analysis/scoremodels/PairwiseSeqScoreModel.java
src/jalview/analysis/scoremodels/SWScoreModel.java
src/jalview/api/AlignCalcManagerI.java
src/jalview/api/AlignCalcWorkerI.java
src/jalview/api/AlignExportSettingI.java
src/jalview/api/AlignViewControllerGuiI.java
src/jalview/api/AlignViewControllerI.java
src/jalview/api/AlignViewportI.java
src/jalview/api/AlignmentViewPanel.java
src/jalview/api/BuildDetailsI.java
src/jalview/api/ComplexAlignFile.java
src/jalview/api/FeatureRenderer.java
src/jalview/api/FeatureSettingsControllerI.java
src/jalview/api/FeatureSettingsModelI.java
src/jalview/api/FeaturesDisplayedI.java
src/jalview/api/OOMHandlerI.java
src/jalview/api/RotatableCanvasI.java
src/jalview/api/SequenceRenderer.java
src/jalview/api/SequenceStructureBinding.java
src/jalview/api/SplitContainerI.java
src/jalview/api/StructureSelectionManagerProvider.java
src/jalview/api/ViewStyleI.java
src/jalview/api/analysis/ScoreModelI.java
src/jalview/api/analysis/ViewBasedAnalysisI.java
src/jalview/api/structures/JalviewStructureDisplayI.java
src/jalview/appletgui/APopupMenu.java
src/jalview/appletgui/AlignFrame.java
src/jalview/appletgui/AlignViewport.java
src/jalview/appletgui/AlignmentPanel.java
src/jalview/appletgui/AnnotationColourChooser.java
src/jalview/appletgui/AnnotationColumnChooser.java
src/jalview/appletgui/AnnotationLabels.java
src/jalview/appletgui/AnnotationPanel.java
src/jalview/appletgui/AnnotationRowFilter.java
src/jalview/appletgui/AppletJmol.java
src/jalview/appletgui/AppletJmolBinding.java
src/jalview/appletgui/CutAndPasteTransfer.java
src/jalview/appletgui/EditNameDialog.java
src/jalview/appletgui/EmbmenuFrame.java
src/jalview/appletgui/ExtJmol.java
src/jalview/appletgui/FeatureColourChooser.java
src/jalview/appletgui/FeatureRenderer.java
src/jalview/appletgui/FeatureSettings.java
src/jalview/appletgui/Finder.java
src/jalview/appletgui/FontChooser.java
src/jalview/appletgui/IdCanvas.java
src/jalview/appletgui/IdPanel.java
src/jalview/appletgui/IdwidthAdjuster.java
src/jalview/appletgui/JVDialog.java
src/jalview/appletgui/OverviewPanel.java
src/jalview/appletgui/PCAPanel.java
src/jalview/appletgui/PaintRefresher.java
src/jalview/appletgui/PairwiseAlignPanel.java
src/jalview/appletgui/RedundancyPanel.java
src/jalview/appletgui/RotatableCanvas.java
src/jalview/appletgui/ScalePanel.java
src/jalview/appletgui/SeqCanvas.java
src/jalview/appletgui/SeqPanel.java
src/jalview/appletgui/SequenceRenderer.java
src/jalview/appletgui/SliderPanel.java
src/jalview/appletgui/SplitFrame.java
src/jalview/appletgui/TitledPanel.java
src/jalview/appletgui/Tooltip.java
src/jalview/appletgui/TreeCanvas.java
src/jalview/appletgui/TreePanel.java
src/jalview/appletgui/UserDefinedColours.java
src/jalview/bin/BuildDetails.java
src/jalview/bin/Cache.java
src/jalview/bin/Jalview.java
src/jalview/bin/JalviewLite.java
src/jalview/bin/JalviewLiteURLRetrieve.java
src/jalview/commands/ChangeCaseCommand.java
src/jalview/commands/CommandI.java
src/jalview/commands/EditCommand.java
src/jalview/commands/OrderCommand.java
src/jalview/commands/RemoveGapColCommand.java
src/jalview/commands/RemoveGapsCommand.java
src/jalview/commands/SlideSequencesCommand.java
src/jalview/commands/TrimRegionCommand.java
src/jalview/controller/AlignViewController.java
src/jalview/controller/FeatureSettingsController.java
src/jalview/controller/FeatureSettingsControllerGuiI.java
src/jalview/datamodel/ASequence.java
src/jalview/datamodel/ASequenceI.java
src/jalview/datamodel/AlignedCodon.java
src/jalview/datamodel/AlignedCodonFrame.java
src/jalview/datamodel/Alignment.java
src/jalview/datamodel/AlignmentAnnotation.java
src/jalview/datamodel/AlignmentExportData.java
src/jalview/datamodel/AlignmentI.java
src/jalview/datamodel/AlignmentOrder.java
src/jalview/datamodel/AlignmentView.java
src/jalview/datamodel/AnnotatedCollectionI.java
src/jalview/datamodel/Annotation.java
src/jalview/datamodel/BinaryNode.java
src/jalview/datamodel/BinarySequence.java
src/jalview/datamodel/CigarArray.java
src/jalview/datamodel/CigarBase.java
src/jalview/datamodel/CigarCigar.java
src/jalview/datamodel/CigarSimple.java
src/jalview/datamodel/ColumnSelection.java
src/jalview/datamodel/DBRefEntry.java
src/jalview/datamodel/DBRefSource.java
src/jalview/datamodel/FeatureProperties.java
src/jalview/datamodel/GraphLine.java
src/jalview/datamodel/HiddenSequences.java
src/jalview/datamodel/IncompleteCodonException.java
src/jalview/datamodel/Mapping.java
src/jalview/datamodel/NodeTransformI.java
src/jalview/datamodel/PDBEntry.java
src/jalview/datamodel/Provenance.java
src/jalview/datamodel/ProvenanceEntry.java
src/jalview/datamodel/RnaViewerModel.java
src/jalview/datamodel/SearchResults.java
src/jalview/datamodel/SecondaryStructureAnnotation.java
src/jalview/datamodel/SeqCigar.java
src/jalview/datamodel/Sequence.java
src/jalview/datamodel/SequenceCollectionI.java
src/jalview/datamodel/SequenceDummy.java
src/jalview/datamodel/SequenceFeature.java
src/jalview/datamodel/SequenceGroup.java
src/jalview/datamodel/SequenceI.java
src/jalview/datamodel/SequenceNode.java
src/jalview/datamodel/SequencePoint.java
src/jalview/datamodel/StructureViewerModel.java
src/jalview/datamodel/UniprotEntry.java
src/jalview/datamodel/UniprotFile.java
src/jalview/datamodel/UniprotProteinName.java
src/jalview/datamodel/UniprotSequence.java
src/jalview/datamodel/xdb/embl/BasePosition.java
src/jalview/datamodel/xdb/embl/EmblEntry.java
src/jalview/datamodel/xdb/embl/EmblError.java
src/jalview/datamodel/xdb/embl/EmblFeature.java
src/jalview/datamodel/xdb/embl/EmblFeatureLocElement.java
src/jalview/datamodel/xdb/embl/EmblFeatureLocations.java
src/jalview/datamodel/xdb/embl/EmblFile.java
src/jalview/datamodel/xdb/embl/EmblSequence.java
src/jalview/datamodel/xdb/embl/Qualifier.java
src/jalview/exceptions/JalviewException.java
src/jalview/exceptions/NoFileSelectedException.java
src/jalview/ext/jmol/JalviewJmolBinding.java
src/jalview/ext/jmol/JmolCommands.java
src/jalview/ext/jmol/PDBFileWithJmol.java
src/jalview/ext/paradise/Annotate3D.java
src/jalview/ext/rbvi/chimera/ChimeraCommands.java
src/jalview/ext/rbvi/chimera/ChimeraListener.java
src/jalview/ext/rbvi/chimera/JalviewChimeraBinding.java
src/jalview/ext/varna/JalviewVarnaBinding.java
src/jalview/ext/varna/RnaModel.java
src/jalview/ext/varna/VarnaCommands.java
src/jalview/gui/AlignExportSettings.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/AlignViewport.java
src/jalview/gui/AlignmentPanel.java
src/jalview/gui/AnnotationChooser.java
src/jalview/gui/AnnotationColourChooser.java
src/jalview/gui/AnnotationColumnChooser.java
src/jalview/gui/AnnotationExporter.java
src/jalview/gui/AnnotationLabels.java
src/jalview/gui/AnnotationPanel.java
src/jalview/gui/AnnotationRowFilter.java
src/jalview/gui/AppJmol.java
src/jalview/gui/AppJmolBinding.java
src/jalview/gui/AppVarna.java
src/jalview/gui/AppVarnaBinding.java
src/jalview/gui/AssociatePdbFileWithSeq.java
src/jalview/gui/BlogReader.java
src/jalview/gui/ChimeraViewFrame.java
src/jalview/gui/Console.java
src/jalview/gui/CutAndPasteHtmlTransfer.java
src/jalview/gui/CutAndPasteTransfer.java
src/jalview/gui/DasSourceBrowser.java
src/jalview/gui/Desktop.java
src/jalview/gui/EPSOptions.java
src/jalview/gui/EditNameDialog.java
src/jalview/gui/FeatureColourChooser.java
src/jalview/gui/FeatureRenderer.java
src/jalview/gui/FeatureSettings.java
src/jalview/gui/Finder.java
src/jalview/gui/FontChooser.java
src/jalview/gui/HTMLOptions.java
src/jalview/gui/Help.java
src/jalview/gui/IProgressIndicator.java
src/jalview/gui/IProgressIndicatorHandler.java
src/jalview/gui/IdCanvas.java
src/jalview/gui/IdPanel.java
src/jalview/gui/IdwidthAdjuster.java
src/jalview/gui/JDatabaseTree.java
src/jalview/gui/Jalview2XML.java
src/jalview/gui/Jalview2XML_V1.java
src/jalview/gui/JalviewAppender.java
src/jalview/gui/JalviewChangeSupport.java
src/jalview/gui/JalviewChimeraBindingModel.java
src/jalview/gui/JalviewDialog.java
src/jalview/gui/JvSwingUtils.java
src/jalview/gui/MenuChooser.java
src/jalview/gui/OOMWarning.java
src/jalview/gui/OptsAndParamsPage.java
src/jalview/gui/OptsParametersContainerI.java
src/jalview/gui/OverviewPanel.java
src/jalview/gui/PCAPanel.java
src/jalview/gui/PDBSearchPanel.java
src/jalview/gui/PaintRefresher.java
src/jalview/gui/PairwiseAlignPanel.java
src/jalview/gui/PopupMenu.java
src/jalview/gui/Preferences.java
src/jalview/gui/ProgressBar.java
src/jalview/gui/PromptUserConfig.java
src/jalview/gui/RedundancyPanel.java
src/jalview/gui/RestInputParamEditDialog.java
src/jalview/gui/RestServiceEditorPane.java
src/jalview/gui/RotatableCanvas.java
src/jalview/gui/SVGOptions.java
src/jalview/gui/ScalePanel.java
src/jalview/gui/SeqCanvas.java
src/jalview/gui/SeqPanel.java
src/jalview/gui/SequenceFetcher.java
src/jalview/gui/SequenceRenderer.java
src/jalview/gui/SliderPanel.java
src/jalview/gui/SplashScreen.java
src/jalview/gui/SplitFrame.java
src/jalview/gui/StructureChooser.java
src/jalview/gui/StructureViewer.java
src/jalview/gui/StructureViewerBase.java
src/jalview/gui/TextColourChooser.java
src/jalview/gui/TreeCanvas.java
src/jalview/gui/TreePanel.java
src/jalview/gui/UserDefinedColours.java
src/jalview/gui/UserQuestionnaireCheck.java
src/jalview/gui/VamsasApplication.java
src/jalview/gui/ViewSelectionMenu.java
src/jalview/gui/WebserviceInfo.java
src/jalview/gui/WsJobParameters.java
src/jalview/gui/WsParamSetManager.java
src/jalview/gui/WsPreferences.java
src/jalview/httpserver/AbstractRequestHandler.java
src/jalview/httpserver/HttpServer.java
src/jalview/io/AMSAFile.java
src/jalview/io/AlignFile.java
src/jalview/io/AlignmentProperties.java
src/jalview/io/AnnotationFile.java
src/jalview/io/AppletFormatAdapter.java
src/jalview/io/BLCFile.java
src/jalview/io/BioJsHTMLOutput.java
src/jalview/io/ClansFile.java
src/jalview/io/ClustalFile.java
src/jalview/io/DBRefFile.java
src/jalview/io/FastaFile.java
src/jalview/io/FeaturesFile.java
src/jalview/io/FileLoader.java
src/jalview/io/FileParse.java
src/jalview/io/FormatAdapter.java
src/jalview/io/Gff3File.java
src/jalview/io/HTMLOutput.java
src/jalview/io/HtmlFile.java
src/jalview/io/HtmlSvgOutput.java
src/jalview/io/IdentifyFile.java
src/jalview/io/InputStreamParser.java
src/jalview/io/JPredFile.java
src/jalview/io/JSONFile.java
src/jalview/io/JalviewFileChooser.java
src/jalview/io/JalviewFileFilter.java
src/jalview/io/JalviewFileView.java
src/jalview/io/JnetAnnotationMaker.java
src/jalview/io/MSFfile.java
src/jalview/io/MatrixFile.java
src/jalview/io/ModellerDescription.java
src/jalview/io/NewickFile.java
src/jalview/io/PIRFile.java
src/jalview/io/PfamFile.java
src/jalview/io/PhylipFile.java
src/jalview/io/PileUpfile.java
src/jalview/io/RnamlFile.java
src/jalview/io/SequenceAnnotationReport.java
src/jalview/io/SimpleBlastFile.java
src/jalview/io/StockholmFile.java
src/jalview/io/TCoffeeScoreFile.java
src/jalview/io/VamsasAppDatastore.java
src/jalview/io/WSWUBlastClient.java
src/jalview/io/packed/DataProvider.java
src/jalview/io/packed/JalviewDataset.java
src/jalview/io/packed/ParsePackedSet.java
src/jalview/io/packed/SimpleDataProvider.java
src/jalview/io/vamsas/Datasetsequence.java
src/jalview/io/vamsas/DatastoreItem.java
src/jalview/io/vamsas/DatastoreRegistry.java
src/jalview/io/vamsas/Dbref.java
src/jalview/io/vamsas/LocalDocSyncObject.java
src/jalview/io/vamsas/Rangetype.java
src/jalview/io/vamsas/Sequencefeature.java
src/jalview/io/vamsas/Sequencemapping.java
src/jalview/io/vamsas/Tree.java
src/jalview/javascript/JSFunctionExec.java
src/jalview/javascript/JalviewLiteJsApi.java
src/jalview/javascript/JsCallBack.java
src/jalview/javascript/JsSelectionSender.java
src/jalview/javascript/MouseOverListener.java
src/jalview/javascript/MouseOverStructureListener.java
src/jalview/jbgui/GAlignExportSettings.java
src/jalview/jbgui/GAlignFrame.java
src/jalview/jbgui/GAlignmentPanel.java
src/jalview/jbgui/GCutAndPasteHtmlTransfer.java
src/jalview/jbgui/GCutAndPasteTransfer.java
src/jalview/jbgui/GDasSourceBrowser.java
src/jalview/jbgui/GDesktop.java
src/jalview/jbgui/GFinder.java
src/jalview/jbgui/GFontChooser.java
src/jalview/jbgui/GPCAPanel.java
src/jalview/jbgui/GPDBSearchPanel.java
src/jalview/jbgui/GPairwiseAlignPanel.java
src/jalview/jbgui/GPreferences.java
src/jalview/jbgui/GRestInputParamEditDialog.java
src/jalview/jbgui/GRestServiceEditorPane.java
src/jalview/jbgui/GRnaStructureViewer.java
src/jalview/jbgui/GSequenceLink.java
src/jalview/jbgui/GSliderPanel.java
src/jalview/jbgui/GSplitFrame.java
src/jalview/jbgui/GStructureChooser.java
src/jalview/jbgui/GStructureViewer.java
src/jalview/jbgui/GTreePanel.java
src/jalview/jbgui/GUserDefinedColours.java
src/jalview/jbgui/GWebserviceInfo.java
src/jalview/jbgui/GWsPreferences.java
src/jalview/jbgui/PDBDocFieldPreferences.java
src/jalview/json/binding/biojs/BioJSReleasePojo.java
src/jalview/json/binding/biojs/BioJSRepositoryPojo.java
src/jalview/json/binding/biojson/v1/AlignmentAnnotationPojo.java
src/jalview/json/binding/biojson/v1/AlignmentPojo.java
src/jalview/json/binding/biojson/v1/AnnotationDisplaySettingPojo.java [new file with mode: 0644]
src/jalview/json/binding/biojson/v1/AnnotationPojo.java
src/jalview/json/binding/biojson/v1/ColourSchemeMapper.java [new file with mode: 0644]
src/jalview/json/binding/biojson/v1/JalviewBioJsColorSchemeMapper.java [deleted file]
src/jalview/json/binding/biojson/v1/SequenceFeaturesPojo.java
src/jalview/json/binding/biojson/v1/SequenceGrpPojo.java
src/jalview/json/binding/biojson/v1/SequencePojo.java
src/jalview/math/AlignmentDimension.java
src/jalview/math/Matrix.java
src/jalview/math/RotatableMatrix.java
src/jalview/renderer/AnnotationRenderer.java
src/jalview/renderer/AwtRenderPanelI.java
src/jalview/renderer/seqfeatures/FeatureRenderer.java
src/jalview/rest/RestHandler.java
src/jalview/schemabinding/version2/descriptors/AnnotationColoursDescriptor.java
src/jalview/schemabinding/version2/descriptors/FeaturesDescriptor.java
src/jalview/schemabinding/version2/descriptors/UserColourSchemeDescriptor.java
src/jalview/schemabinding/version2/descriptors/VamsasModelDescriptor.java
src/jalview/schemes/AnnotationColourGradient.java
src/jalview/schemes/Blosum62ColourScheme.java
src/jalview/schemes/BuriedColourScheme.java
src/jalview/schemes/ClustalxColourScheme.java
src/jalview/schemes/ColourSchemeI.java
src/jalview/schemes/ColourSchemeProperty.java
src/jalview/schemes/Consensus.java
src/jalview/schemes/CovariationColourScheme.java
src/jalview/schemes/FollowerColourScheme.java
src/jalview/schemes/GraduatedColor.java
src/jalview/schemes/HelixColourScheme.java
src/jalview/schemes/HydrophobicColourScheme.java
src/jalview/schemes/NucleotideColourScheme.java
src/jalview/schemes/PIDColourScheme.java
src/jalview/schemes/PurinePyrimidineColourScheme.java
src/jalview/schemes/RNAHelicesColour.java
src/jalview/schemes/RNAHelicesColourChooser.java
src/jalview/schemes/RNAInteractionColourScheme.java
src/jalview/schemes/ResidueColourScheme.java
src/jalview/schemes/ResidueProperties.java
src/jalview/schemes/ScoreColourScheme.java
src/jalview/schemes/ScoreMatrix.java
src/jalview/schemes/StrandColourScheme.java
src/jalview/schemes/TCoffeeColourScheme.java
src/jalview/schemes/TaylorColourScheme.java
src/jalview/schemes/TurnColourScheme.java
src/jalview/schemes/UserColourScheme.java
src/jalview/schemes/ZappoColourScheme.java
src/jalview/structure/AlignmentViewPanelListener.java
src/jalview/structure/AtomSpec.java
src/jalview/structure/CommandListener.java
src/jalview/structure/SecondaryStructureListener.java
src/jalview/structure/SelectionListener.java
src/jalview/structure/SelectionSource.java
src/jalview/structure/SequenceListener.java
src/jalview/structure/StructureListener.java
src/jalview/structure/StructureMapping.java
src/jalview/structure/StructureMappingcommandSet.java
src/jalview/structure/StructureSelectionManager.java
src/jalview/structure/VamsasListener.java
src/jalview/structure/VamsasSource.java
src/jalview/structures/models/AAStructureBindingModel.java
src/jalview/structures/models/SequenceStructureBindingModel.java
src/jalview/util/AWTConsole.java
src/jalview/util/BrowserLauncher.java
src/jalview/util/ColorUtils.java
src/jalview/util/Comparison.java
src/jalview/util/DBRefUtils.java
src/jalview/util/Format.java
src/jalview/util/GroupUrlLink.java
src/jalview/util/HttpUtils.java [new file with mode: 0644]
src/jalview/util/ImageMaker.java
src/jalview/util/MapList.java
src/jalview/util/MappingUtils.java
src/jalview/util/MessageManager.java
src/jalview/util/ParseHtmlBodyAndLinks.java
src/jalview/util/Platform.java
src/jalview/util/QuickSort.java
src/jalview/util/ReverseListIterator.java
src/jalview/util/ShiftList.java
src/jalview/util/StringUtils.java
src/jalview/util/TableSorter.java
src/jalview/util/UrlLink.java
src/jalview/util/jarInputStreamProvider.java
src/jalview/viewmodel/AlignmentViewport.java
src/jalview/viewmodel/PCAModel.java
src/jalview/viewmodel/annotationfilter/AnnotationFilterParameter.java
src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java
src/jalview/viewmodel/seqfeatures/FeatureRendererSettings.java
src/jalview/viewmodel/seqfeatures/FeatureSettingsModel.java
src/jalview/viewmodel/seqfeatures/FeaturesDisplayed.java
src/jalview/viewmodel/styles/ViewStyle.java
src/jalview/workers/AlignCalcManager.java
src/jalview/workers/AlignCalcWorker.java
src/jalview/workers/ComplementConsensusThread.java
src/jalview/workers/ConsensusThread.java
src/jalview/workers/ConservationThread.java
src/jalview/workers/StrucConsensusThread.java
src/jalview/ws/AWSThread.java
src/jalview/ws/AWsJob.java
src/jalview/ws/DBRefFetcher.java
src/jalview/ws/DasSequenceFeatureFetcher.java
src/jalview/ws/HttpClientUtils.java
src/jalview/ws/JobStateSummary.java
src/jalview/ws/SequenceFetcher.java
src/jalview/ws/WSClient.java
src/jalview/ws/WSClientI.java
src/jalview/ws/WSMenuEntryProviderI.java
src/jalview/ws/dbsources/EbiFileRetrievedProxy.java
src/jalview/ws/dbsources/EmblCdsSouce.java
src/jalview/ws/dbsources/EmblSource.java
src/jalview/ws/dbsources/EmblXmlSource.java
src/jalview/ws/dbsources/GeneDbSource.java
src/jalview/ws/dbsources/PDBRestClient.java
src/jalview/ws/dbsources/Pdb.java
src/jalview/ws/dbsources/Pfam.java
src/jalview/ws/dbsources/PfamFull.java
src/jalview/ws/dbsources/PfamSeed.java
src/jalview/ws/dbsources/Rfam.java
src/jalview/ws/dbsources/RfamFull.java
src/jalview/ws/dbsources/RfamSeed.java
src/jalview/ws/dbsources/Uniprot.java
src/jalview/ws/dbsources/UnprotName.java
src/jalview/ws/dbsources/Xfam.java
src/jalview/ws/dbsources/das/api/DasSourceRegistryI.java
src/jalview/ws/dbsources/das/api/jalviewSourceI.java
src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java
src/jalview/ws/dbsources/das/datamodel/DasSourceRegistry.java
src/jalview/ws/dbsources/das/datamodel/JalviewSource.java
src/jalview/ws/ebi/EBIFetchClient.java
src/jalview/ws/io/mime/HttpContentHandler.java
src/jalview/ws/io/mime/JalviewMimeContentHandler.java
src/jalview/ws/io/mime/MimeTypes.java
src/jalview/ws/jws1/Annotate3D.java
src/jalview/ws/jws1/Discoverer.java
src/jalview/ws/jws1/JPredClient.java
src/jalview/ws/jws1/JPredThread.java
src/jalview/ws/jws1/JWS1Thread.java
src/jalview/ws/jws1/MsaWSClient.java
src/jalview/ws/jws1/MsaWSThread.java
src/jalview/ws/jws1/SeqSearchWSClient.java
src/jalview/ws/jws1/SeqSearchWSThread.java
src/jalview/ws/jws1/WS1Client.java
src/jalview/ws/jws1/WSJob.java
src/jalview/ws/jws2/AAConClient.java
src/jalview/ws/jws2/AADisorderClient.java
src/jalview/ws/jws2/AWS2Thread.java
src/jalview/ws/jws2/AbstractJabaCalcWorker.java
src/jalview/ws/jws2/JPred301Client.java
src/jalview/ws/jws2/JWs2Job.java
src/jalview/ws/jws2/JabaParamStore.java
src/jalview/ws/jws2/JabaPreset.java
src/jalview/ws/jws2/JabaWsServerQuery.java
src/jalview/ws/jws2/JabawsCalcWorker.java
src/jalview/ws/jws2/JabawsMsaInterfaceAlignCalcWorker.java
src/jalview/ws/jws2/Jws2Client.java
src/jalview/ws/jws2/Jws2Discoverer.java
src/jalview/ws/jws2/MsaWSClient.java
src/jalview/ws/jws2/MsaWSThread.java
src/jalview/ws/jws2/ParameterUtils.java
src/jalview/ws/jws2/RNAalifoldClient.java
src/jalview/ws/jws2/SequenceAnnotationWSClient.java
src/jalview/ws/jws2/dm/AAConSettings.java
src/jalview/ws/jws2/dm/JabaOption.java
src/jalview/ws/jws2/dm/JabaParameter.java
src/jalview/ws/jws2/dm/JabaValueConstrain.java
src/jalview/ws/jws2/dm/JabaWsParamSet.java
src/jalview/ws/jws2/jabaws2/Jws2Instance.java
src/jalview/ws/jws2/jabaws2/Jws2InstanceFactory.java
src/jalview/ws/params/ArgumentI.java
src/jalview/ws/params/AutoCalcSetting.java
src/jalview/ws/params/InvalidArgumentException.java
src/jalview/ws/params/OptionI.java
src/jalview/ws/params/ParamDatastoreI.java
src/jalview/ws/params/ParamManager.java
src/jalview/ws/params/ParameterI.java
src/jalview/ws/params/ValueConstrainI.java
src/jalview/ws/params/WsParamSetI.java
src/jalview/ws/params/simple/BooleanOption.java
src/jalview/ws/params/simple/IntegerParameter.java
src/jalview/ws/params/simple/Option.java
src/jalview/ws/params/simple/Parameter.java
src/jalview/ws/params/simple/StringChoiceParameter.java
src/jalview/ws/rest/AlignmentProcessor.java
src/jalview/ws/rest/HttpResultSet.java
src/jalview/ws/rest/InputType.java
src/jalview/ws/rest/NoValidInputDataException.java
src/jalview/ws/rest/RestClient.java
src/jalview/ws/rest/RestJob.java
src/jalview/ws/rest/RestJobThread.java
src/jalview/ws/rest/RestServiceDescription.java
src/jalview/ws/rest/params/Alignment.java
src/jalview/ws/rest/params/AnnotationFile.java
src/jalview/ws/rest/params/JobConstant.java
src/jalview/ws/rest/params/SeqGroupIndexVector.java
src/jalview/ws/rest/params/SeqIdVector.java
src/jalview/ws/rest/params/SeqVector.java
src/jalview/ws/rest/params/Tree.java
src/jalview/ws/seqfetcher/ASequenceFetcher.java
src/jalview/ws/seqfetcher/DbSourceProxy.java
src/jalview/ws/seqfetcher/DbSourceProxyImpl.java
src/jalview/ws/uimodel/AlignAnalysisUIText.java
src/jalview/ws/uimodel/PDBRestRequest.java
src/org/jibble/epsgraphics/EpsDocument.java
src/org/jibble/epsgraphics/EpsException.java
src/org/jibble/epsgraphics/EpsGraphics2D.java
src/uk/ac/ebi/picr/model/CrossReference.java
src/uk/ac/ebi/picr/model/CrossReference_Helper.java
src/uk/ac/ebi/picr/model/UPEntry.java
src/uk/ac/ebi/picr/model/UPEntry_Helper.java
src/uk/ac/ebi/www/Data.java
src/uk/ac/ebi/www/InputParams.java
src/uk/ac/ebi/www/WSFile.java
src/uk/ac/ebi/www/WSWUBlast.java
src/uk/ac/ebi/www/WSWUBlastService.java
src/uk/ac/ebi/www/WSWUBlastServiceLocator.java
src/uk/ac/ebi/www/WSWUBlastSoapBindingStub.java
src/uk/ac/ebi/www/picr/AccessionMappingService/AccessionMapperBindingStub.java
src/uk/ac/ebi/www/picr/AccessionMappingService/AccessionMapperInterface.java
src/uk/ac/ebi/www/picr/AccessionMappingService/AccessionMapperService.java
src/uk/ac/ebi/www/picr/AccessionMappingService/AccessionMapperServiceLocator.java
src/vamsas/IMsaWS.java
src/vamsas/objects/simple/Alignment.java
src/vamsas/objects/simple/Alignment_Helper.java
src/vamsas/objects/simple/JpredResult.java
src/vamsas/objects/simple/JpredResult_Helper.java
src/vamsas/objects/simple/MsaResult.java
src/vamsas/objects/simple/MsaResult_Helper.java
src/vamsas/objects/simple/Msfalignment.java
src/vamsas/objects/simple/Msfalignment_Helper.java
src/vamsas/objects/simple/Object.java
src/vamsas/objects/simple/Object_Helper.java
src/vamsas/objects/simple/Result.java
src/vamsas/objects/simple/Result_Helper.java
src/vamsas/objects/simple/Secstructpred.java
src/vamsas/objects/simple/Secstructpred_Helper.java
src/vamsas/objects/simple/SeqSearchResult.java
src/vamsas/objects/simple/SeqSearchResult_Helper.java
src/vamsas/objects/simple/Sequence.java
src/vamsas/objects/simple/SequenceSet.java
src/vamsas/objects/simple/SequenceSet_Helper.java
src/vamsas/objects/simple/Sequence_Helper.java
src/vamsas/objects/simple/WsJobId.java
src/vamsas/objects/simple/WsJobId_Helper.java
test/MCview/AtomTest.java
test/MCview/BondTest.java
test/MCview/PDBChainTest.java
test/MCview/PDBfileTest.java
test/MCview/ResidueTest.java
test/com/stevesoft/pat/RegexWriterTest.java [deleted file]
test/jalview/analysis/AAFrequencyTest.java
test/jalview/analysis/AlignSeqTest.java
test/jalview/analysis/AlignmentAnnotationUtilsTest.java
test/jalview/analysis/AlignmentUtilsTests.java
test/jalview/analysis/AnnotationSorterTest.java
test/jalview/analysis/CodingUtilsTest.java
test/jalview/analysis/CrossRefTest.java
test/jalview/analysis/DnaAlignmentGenerator.java
test/jalview/analysis/DnaTest.java
test/jalview/analysis/GroupingTest.java
test/jalview/analysis/ParsePropertiesTest.java
test/jalview/analysis/RnaTest.java
test/jalview/analysis/TestAlignSeq.java
test/jalview/analysis/scoremodels/FeatureScoreModelTest.java
test/jalview/bin/CommandLineOperations.java
test/jalview/bin/JalviewLiteTest.java [new file with mode: 0644]
test/jalview/commands/EditCommandTest.java
test/jalview/datamodel/AlignedCodonFrameTest.java
test/jalview/datamodel/AlignedCodonIteratorTest.java
test/jalview/datamodel/AlignedCodonTest.java
test/jalview/datamodel/AlignmentAnnotationTests.java
test/jalview/datamodel/AlignmentTest.java
test/jalview/datamodel/AlignmentViewTest.java
test/jalview/datamodel/ColumnSelectionTest.java
test/jalview/datamodel/DBRefEntryTest.java
test/jalview/datamodel/MappingTest.java
test/jalview/datamodel/MatchTest.java
test/jalview/datamodel/PDBEntryTest.java
test/jalview/datamodel/SearchResultsTest.java
test/jalview/datamodel/SeqCigarTest.java
test/jalview/datamodel/SequenceDummyTest.java
test/jalview/datamodel/SequenceTest.java
test/jalview/datamodel/xdb/embl/EmblFileTest.java
test/jalview/ext/jmol/JmolViewerTest.java
test/jalview/ext/jmol/PDBFileWithJmolTest.java
test/jalview/ext/paradise/TestAnnotate3D.java
test/jalview/ext/rbvi/chimera/AllTests.java
test/jalview/ext/rbvi/chimera/ChimeraCommandsTest.java
test/jalview/ext/rbvi/chimera/ChimeraConnect.java
test/jalview/ext/rbvi/chimera/JalviewChimeraView.java
test/jalview/gui/AlignViewportTest.java
test/jalview/gui/AnnotationChooserTest.java
test/jalview/gui/AppVarnaTest.java
test/jalview/gui/FontChooserTest.java
test/jalview/gui/HelpTest.java
test/jalview/gui/JAL1353bugdemo.java
test/jalview/gui/JvSwingUtilsTest.java
test/jalview/gui/PDBSearchPanelTest.java
test/jalview/gui/PaintRefresherTest.java
test/jalview/gui/PopupMenuTest.java
test/jalview/gui/ProgressBarTest.java
test/jalview/gui/SequenceRendererTest.java
test/jalview/gui/StructureChooserTest.java
test/jalview/io/AnnotatedPDBFileInputTest.java
test/jalview/io/AnnotationFileIOTest.java
test/jalview/io/BioJsHTMLOutputTest.java
test/jalview/io/FeaturesFileTest.java [new file with mode: 0644]
test/jalview/io/FileIOTester.java
test/jalview/io/Gff3tests.java
test/jalview/io/HtmlFileTest.java
test/jalview/io/IdentifyFileTest.java
test/jalview/io/JSONFileTest.java
test/jalview/io/Jalview2xmlTests.java
test/jalview/io/JalviewExportPropertiesTests.java
test/jalview/io/NewickFileTests.java
test/jalview/io/PhylipFileTests.java
test/jalview/io/RNAMLfileTest.java
test/jalview/io/StockholmFileTest.java
test/jalview/io/TCoffeeScoreFileTest.java
test/jalview/schemes/DnaCodonTests.java
test/jalview/schemes/ResiduePropertiesTest.java
test/jalview/schemes/ScoreMatrixPrinter.java
test/jalview/structure/Mapping.java
test/jalview/structure/StructureSelectionManagerTest.java
test/jalview/structures/models/AAStructureBindingModelTest.java
test/jalview/util/ColorUtilsTest.java
test/jalview/util/ComparisonTest.java
test/jalview/util/DBRefUtilsTest.java
test/jalview/util/MapListTest.java
test/jalview/util/MappingUtilsTest.java
test/jalview/util/ParseHtmlBodyAndLinksTest.java [new file with mode: 0644]
test/jalview/util/QuickSortTest.java
test/jalview/util/ShiftListTest.java
test/jalview/util/StringUtilsTest.java
test/jalview/viewmodel/styles/ViewStyleTest.java
test/jalview/ws/PDBSequenceFetcherTest.java
test/jalview/ws/dbsources/PDBRestClientTest.java
test/jalview/ws/dbsources/UniprotTest.java
test/jalview/ws/gui/Jws2ParamView.java
test/jalview/ws/jabaws/DisorderAnnotExportImport.java
test/jalview/ws/jabaws/JalviewJabawsTestUtils.java
test/jalview/ws/jabaws/JpredJabaStructExportImport.java
test/jalview/ws/jabaws/MinJabawsClientTests.java
test/jalview/ws/jabaws/RNAStructExportImport.java
test/jalview/ws/jws2/ParameterUtilsTest.java
test/jalview/ws/rest/RestClientTest.java
test/jalview/ws/rest/ShmmrRSBSService.java
test/jalview/ws/seqfetcher/DasSequenceFetcher.java
test/jalview/ws/seqfetcher/DbRefFetcherTest.java
utils/InstallAnywhere/Jalview.iap_xml
utils/InstallAnywhere/jalview_buildinstaller.xml
utils/JettyExamplesDir.java
utils/ant-contrib-1.0b3.jar [new file with mode: 0644]
utils/eclipse/JalviewCodeStyle.xml
utils/getJavaVersion.java
utils/gff2annot.pl
utils/help2Website.java
utils/i18nAnt.xml [new file with mode: 0755]
utils/jalview_testng.xml [deleted file]
utils/jarunsigner.pl
utils/patchGt.pl
utils/splitstockholm.pl

index 5b61305..30e76be 100644 (file)
@@ -12,7 +12,7 @@ sp_cleanup.add_missing_annotations=true
 sp_cleanup.add_missing_deprecated_annotations=true
 sp_cleanup.add_missing_methods=false
 sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=false
+sp_cleanup.add_missing_override_annotations=true
 sp_cleanup.add_missing_override_annotations_interface_methods=true
 sp_cleanup.add_serial_version_id=false
 sp_cleanup.always_use_blocks=true
diff --git a/RELEASE b/RELEASE
index 235344f..933f887 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,2 +1,2 @@
-jalview.release=Release_2_9_Branch
-jalview.version=2.9
+jalview.release=Release_2_9_0b1_Branch
+jalview.version=2.9.0b1
index de0d7a8..d429d3c 100755 (executable)
--- a/build.xml
+++ b/build.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -19,7 +19,7 @@
 -->
 <project name="jalviewX" default="usage" basedir=".">
   <target name="help" depends="usage" />
-  <target name="usage">
+  <target name="usage" depends="init">
     <echo message="~~~Jalview Ant build.xml Usage~~~~" />
     <echo message="Targets include:" />
     <echo message="usage - default target, displays this message" />
@@ -30,6 +30,8 @@
     <echo message="              this needs a keystore and key. See docs/building.html for more information." />
     <echo message="compileApplet - compiles all necessary files for Applet" />
     <echo message="makeApplet - compiles, then packages and obfuscates the Applet" />
+    <echo message="testng - run jalview's tests via testNG. Default group is '${testng-groups}'" />
+    <echo message="      you can specify particular test groups as a list via -Dtestng-groups=" />
     <echo message="See docs/building.html and the comments in build file for other targets." />
     <echo message="note: compile and makeApplet require the property java118.home to be set to point to a java 1.1.8 jdk." />
     <echo message="Useful -D flags: -Ddonotobfuscate will prevent applet obfuscation" />
         <include name="*.jar"/>
       </fileset> -->
       </path>
-       
+
     <!-- Jalview Version String displayed by application on startup and used to check for updates -->
     <property name="JALVIEW_VERSION" value="DEVELOPMENT" />
-       
+
     <property name="INSTALLATION" value="Source" />
-       
+
     <!-- 2.4 (VAMSAS)" -->
     <!-- Include debugging information in javac true or false -->
     <property name="javac.debug" value="true" />
     <!-- Key Password -->
     <property name="jalview.key.pass" value="alignmentisfun" />
 
+    <property name="testng-groups" value="Functional" />
+
     <!-- Don't change anything below here unless you know what you are doing! -->
     <!-- Url path for WebStart in JNLP file -->
     <property name="WebStartLocation" value="http://www.jalview.org/webstart" />
     <!-- Webstart Image - looked for in resources/images -->
-    <property name="WebStartImage" value="JalviewLogo_big.png"/>
+    <property name="WebStartImage" value="JalviewLogo_big.png" />
     <!-- J2SE version needed for webstart launch -->
     <!-- Anne's version needs 1.7 - should rebuild VARNA to java 1.6 for release -->
-    <property name="j2sev" value="1.7+"/>
-       <!-- Java Compilation settings - source and target javac version -->
-       <property name="javac.source" value="1.7"/>
-       <property name="javac.target" value="1.7"/>
-               
+    <property name="j2sev" value="1.7+" />
+    <!-- Java Compilation settings - source and target javac version -->
+    <property name="javac.source" value="1.7" />
+    <property name="javac.target" value="1.7" />
+
     <!-- Permissions for running Java applets and applications. -->
     <!-- Defaults are those suitable for deploying jalview webstart www.jalview.org -->
     <property name="application.codebase" value="*.jalview.org" />
     <property name="jsonSimple" value="json_simple-1.1.jar" />
     <property name="javaJson" value="java-json.jar" />
     <property name="jalviewLiteJar" value="jalviewApplet.jar" />
-       <property name="reportDir" value="test-reports" />
-       <property name="testDir" value="test" />
-       <property name="testOutputDir" value="tests" />
+    <property name="reportDir" value="test-reports" />
+    <property name="testDir" value="test" />
+    <property name="testOutputDir" value="tests" />
     <!-- switch to indicate if we should obfuscate jalviewLite -->
     <!-- <property name="donotobfuscate" value="true"/> -->
     <!-- switch to exclude associations from generated jnlp files -->
         <include name="**/*.jar" />
       </fileset>
       <fileset dir="${java.home}/lib">
-        <include name="plugin.jar"/>
+        <include name="plugin.jar" />
       </fileset>
       <fileset dir="appletlib">
         <!-- the JmolApplet includes the JmolApplet console and the application javac seems to always try and build all packages 
         <include name="${jmolJar}" />
         <include name="${varnaJar}" />
       </fileset>
-
+    </path>
+    <path id="test.classpath">
+      <pathelement path="${outputDir}" />
+      <path refid="build.classpath" />
     </path>
     <property name="source.dist.name" value="${basedir}/jalview-src.tar.gz" />
     <!-- The Location of the java 1.1.8 jdk -->
     <!-- <property name="applet.jre.tools" value="${java118.home}/lib/classes.zip" />
                -->
     <!-- jre for 1.4 version -->
-    <property name="applet.jre.tools" value="${java.home}/lib/rt.jar"/>
+    <property name="applet.jre.tools" value="${java.home}/lib/rt.jar" />
 
     <!-- the classpath for building the 1.1 applet -->
     <path id="jalviewlite.deps">
         <include name="lib/classes.zip" />
       </fileset>
       <fileset dir="${java.home}/lib">
-        <include name="plugin.jar"/>
+        <include name="plugin.jar" />
       </fileset>
       <pathelement location="appletlib/${jmolJar}" />
       <pathelement location="lib/${varnaJar}" />
       <pathelement location="lib/${jsoup}" />
       <pathelement location="lib/${jsonSimple}" />
       <pathelement location="lib/${javaJson}" />
-      
+
     </path>
     <!-- default location for outputting javadoc -->
-    <property name="javadocDir" value="${packageDir}/javadoc"/>
+    <property name="javadocDir" value="${packageDir}/javadoc" />
   </target>
 
 
     <tstamp prefix="build">
       <format property="date" pattern="dd MMMM yyyy" />
     </tstamp>
-    <exec executable="/usr/bin/git" outputproperty="git.commit"  failifexecutionfails="false">
-      <arg value="rev-parse"/>
-      <arg value="--short"/>
-      <arg value="HEAD"/>
+    <exec executable="/usr/bin/git" outputproperty="git.commit" failifexecutionfails="false">
+      <arg value="rev-parse" />
+      <arg value="--short" />
+      <arg value="HEAD" />
     </exec>
     <exec executable="/usr/bin/git" outputproperty="git.branch" failifexecutionfails="false">
-      <arg value="rev-parse"/>
-      <arg value="--abbrev-ref"/>
-      <arg value="HEAD"/>
+      <arg value="rev-parse" />
+      <arg value="--abbrev-ref" />
+      <arg value="HEAD" />
     </exec>
     <properties file="${outputDir}/.build_properties">
       <header>
           ---Jalview Build Details---
-        </header>      
+        </header>
       <property name="VERSION" value="${JALVIEW_VERSION}" />
       <property name="INSTALLATION" value="${INSTALLATION} git-commit:${git.commit} [${git.branch}]" />
       <property name="BUILD_DATE" value="${build.date}" />
 
   <target name="clean" depends="init">
     <!-- not efficient yet. -->
-    <delete dir="${outputDir}" includes="*,**/*"/>
+    <delete dir="${outputDir}" includes="*,**/*" />
   </target>
 
   <target name="distclean" depends="init, clean">
       <exclude name="com/stevesoft/**" />
     </javac>
   </target>
-  
-  
+
+
   <target name="testclean" depends="init">
-    <delete dir="${testOutputDir}" includes="*,**/*"/>
+    <delete dir="${testOutputDir}" includes="*,**/*" />
   </target>
-  
-  <target name="prepareTests" depends="init">
-       <mkdir dir="${testOutputDir}" />
-       <copy todir="${testOutputDir}">
-               <fileset dir=".">
-                       <include name="${docDir}/**/*.*" />
-                       <include name="${helpDir}/**/*.*" />
-                       <include name="${libDir}/*.jar" />
-               </fileset>
-               <fileset dir="${resourceDir}">
-                       <include name="**/*.*" />
-               </fileset>
-       </copy>
-  </target>  
-  
-  <target name="buildTests" depends="prepareTests">
-       <javac source="${javac.source}" target="${javac.target}" srcdir="${sourceDir}" destdir="${testOutputDir}"
-               debug="${javac.debug}" classpathref="build.classpath" includeantruntime="false" >               
-       </javac>
-       <javac source="${javac.source}" target="${javac.target}" srcdir="${testDir}" destdir="${testOutputDir}"
-               debug="${javac.debug}" classpathref="build.classpath" includeantruntime="false" >
-       </javac>
+
+  <target name="prepareTests" depends="init,testclean">
+    <mkdir dir="${testOutputDir}" />
   </target>
-  
-  <taskdef name="testng" classname="org.testng.TestNGAntTask" >            
-       <classpath location="utils/testnglibs/testng.jar" />
-  </taskdef>
-  
+
+  <target name="buildTests" depends="build,buildindices,prepareTests">
+    <javac source="${javac.source}" target="${javac.target}" srcdir="${testDir}" destdir="${testOutputDir}" debug="${javac.debug}" classpathref="test.classpath" includeantruntime="false">
+    </javac>
+  </target>
+
+  <taskdef resource="testngtasks" classpath="utils/testnglibs/testng.jar" />
+
   <target name="testng" depends="buildTests">
-       <testng classpathref="build.classpath" outputDir="${reportDir}"
-               haltOnFailure="false">
-               <classpath location="${testOutputDir}" />
-               <xmlfileset dir="utils" includes="jalview_testng.xml" />
-       </testng>
+    <testng outputDir="${reportDir}" haltOnFailure="false" groups="${testng-groups}" mode="testng"
+      verbose="2">
+      <classpath>
+        <pathelement location="${testOutputDir}" />
+        <path refid="test.classpath" />
+      </classpath>
+      <classfileset dir="${testOutputDir}" includes="**/*.class" />
+    </testng>
   </target>
-  
+
   <target name="buildindices" depends="init, prepare" unless="help.uptodate">
     <java classname="com.sun.java.help.search.Indexer" classpathref="build.classpath" fork="true" dir="${outputDir}/${helpDir}">
       <arg line="html" />
   <target name="makefulldist" depends="makedist">
     <copy todir="${packageDir}">
       <fileset dir="${resourceDir}/images">
-        <include name="${WebStartImage}"/>
+        <include name="${WebStartImage}" />
       </fileset>
     </copy>
 
       </fileset>
     </jar>
 
-    <mkdir dir="${packageDir}/JNLP-INF"/>
+    <mkdir dir="${packageDir}/JNLP-INF" />
     <antcall target="writejnlpf">
-      <param name="jnlpFile" value="${packageDir}/JNLP-INF/APPLICATION-TEMPLATE.JNLP"/>
+      <param name="jnlpFile" value="${packageDir}/JNLP-INF/APPLICATION-TEMPLATE.JNLP" />
       <param name="inih" value="*" />
-      <param name="maxh" value="*"/>
+      <param name="maxh" value="*" />
     </antcall>
 
     <jar destfile="${packageDir}/jalview_jnlp_vm.jar" index="true">
       <fileset dir="${packageDir}">
-        <include name="JNLP-INF"/>
+        <include name="JNLP-INF/APPLICATION-TEMPLATE.JNLP" />
       </fileset>
     </jar>
 
     <antcall target="writejnlpf">
-      <param name="jnlpFile" value="${packageDir}/jalview.jnlp"/>
+      <param name="jnlpFile" value="${packageDir}/jalview.jnlp" />
       <param name="inih" value="10M" />
-      <param name="maxh" value="256M"/>
+      <param name="maxh" value="256M" />
     </antcall>
 
     <antcall target="writejnlpf">
-      <param name="jnlpFile" value="${packageDir}/jalview_1G.jnlp"/>
+      <param name="jnlpFile" value="${packageDir}/jalview_1G.jnlp" />
       <param name="inih" value="128M" />
-      <param name="maxh" value="512M"/>
+      <param name="maxh" value="512M" />
     </antcall>
 
     <antcall target="writejnlpf">
-      <param name="jnlpFile" value="${packageDir}/jalview_2G.jnlp"/>
+      <param name="jnlpFile" value="${packageDir}/jalview_2G.jnlp" />
       <param name="inih" value="256M" />
-      <param name="maxh" value="1024M"/>
+      <param name="maxh" value="1024M" />
     </antcall>
 
     <!-- finally, need to postprocess to add in associations at end of 'information' element 
             <include name="*.jar" />
             <include name="*_*.jar" />
             <exclude name="jalview.jar" />
-               <exclude name="*jnilib.jar"/>
+            <exclude name="*jnilib.jar" />
           </fileset>
-       </resources>
+        </resources>
         <resources os="Mac OS X">
           <property name="jalview.version" value="${JALVIEW_VERSION}" />
-               <fileset dir="${packageDir}">
-                       <include name="*quaqua*.jnilib.jar"/>
-               </fileset>
+          <fileset dir="${packageDir}">
+            <include name="*quaqua*.jnilib.jar" />
+          </fileset>
         </resources>
-       
+
         <application_desc main_class="jalview.bin.Jalview">
         </application_desc>
         <security>
       </jnlp>
     </presetdef>
 
-    <jnlpf toFile="${jnlpFile}"/>
+    <jnlpf toFile="${jnlpFile}" />
 
   </target>
 
   <target name="-dofakejnlpfileassoc" depends="-generatejnlpf" if="nojnlpfileassocs">
-    <echo message="Not adding JNLP File Associations"/>
+    <echo message="Not adding JNLP File Associations" />
   </target>
 
   <target name="-dojnlpfileassoc" depends="-generatejnlpf" unless="nojnlpfileassocs">
         <association mime-type="application-x/ext-file" extensions="jvp"/>
       </information>]]></replacevalue>
   </replace>
-  <echo message="Added file associations to JNLP file"/>
+  <echo message="Added file associations to JNLP file" />
 </target>
 <target name="writejnlpf" depends="-dojnlpfileassoc,-dofakejnlpfileassoc">
 </target>
   <!-- clean dir if it already existed -->
   <delete>
     <fileset dir="${packageDir}">
-      <include name="*.jar"/>
+      <include name="*.jar" />
     </fileset>
   </delete>
   <jar destfile="${packageDir}/${outputJar}" index="true">
 
 
 <!-- Compile, package and obfuscate Jalview Applet -->
-<target name="makeApplet" depends="obfuscate" description="assemble the final jalviewLite applet jar with or without obfuscation"/>
+<target name="makeApplet" depends="obfuscate" description="assemble the final jalviewLite applet jar with or without obfuscation" />
 
 <target name="compileApplet" depends="init,clean">
   <mkdir dir="${outputDir}" />
-  <javac source="${javac.source}" target="${javac.target}" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" 
-                       classpathref="jalviewlite.deps" includes="jalview/appletgui/**"
-                       excludes="ext/**,gui/**,jbgui/**,MCview/**,org/**,vamsas/**,jalview/ext/rbvi/**,jalview/ext/paradise/**" />
+  <javac source="${javac.source}" target="${javac.target}" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" classpathref="jalviewlite.deps" includes="jalview/appletgui/**" excludes="ext/**,gui/**,jbgui/**,MCview/**,org/**,vamsas/**,jalview/ext/rbvi/**,jalview/ext/paradise/**" />
 </target>
 
 <target name="packageApplet" depends="compileApplet, buildPropertiesFile">
   <copy file="${resourceDir}/images/link.gif" toFile="${outputDir}/images/link.gif" />
   <copy todir="${outputDir}/lang">
     <fileset dir="${resourceDir}/lang">
-      <include name="**.*"/>
+      <include name="**.*" />
     </fileset>
   </copy>
   <jar destfile="in.jar" index="true">
     <injar file="in.jar" />
     <outjar file="${jalviewLiteJar}" />
     <libraryjar refid="obfuscateDeps.path" />
-    <dontwarn/>
+    <dontwarn />
     <keep access="public" type="class" name="jalview.bin.JalviewLite">
       <field access="public" />
       <method access="public" />
       <include name="jalview-jalopy.xml" />
       <include name="JalviewApplet.jpx" />
       <include name="JalviewX.jpx" />
-      <include name="nbbuild.xml"/>
-      <include name="nbproject/genfiles.properties"/>
-      <include name="nbproject/project.properties"/>
-      <include name="nbproject/project.xml"/>
+      <include name="nbbuild.xml" />
+      <include name="nbproject/genfiles.properties" />
+      <include name="nbproject/project.properties" />
+      <include name="nbproject/project.xml" />
       <include name="${sourceDir}/*.java" />
       <include name="${sourceDir}/**/*.java" />
       <include name="${sourceDir}/**/*.cdr" />
 <target name="pubapplet" description="installs the jalviewLite applet and dependent jars into an applet examples directory built under ${outputDir}" depends="makeApplet">
   <copy todir="${packageDir}/examples">
     <fileset dir="examples">
-      <include name="**/*"/>
-      <include name="javascript/*"/>
-      <include name="jmol/*"/>
+      <include name="**/*" />
+      <include name="javascript/*" />
+      <include name="jmol/*" />
     </fileset>
     <fileset dir=".">
       <include name="${jalviewLiteJar}" />
     </fileset>
     <fileset dir="appletlib">
-      <include name="**/*"/>
+      <include name="**/*" />
     </fileset>
   </copy>
-  <jar update="true" index="true" jarfile="${packageDir}/examples/${jalviewLiteJar}"/>
-  <jar update="true" index="true" jarfile="${packageDir}/examples/${javaJson}"/>
-  <jar update="true" index="true" jarfile="${packageDir}/examples/${jsonSimple}"/>
+  <jar update="true" index="true" jarfile="${packageDir}/examples/${jalviewLiteJar}" />
+  <jar update="true" index="true" jarfile="${packageDir}/examples/${javaJson}" />
+  <jar update="true" index="true" jarfile="${packageDir}/examples/${jsonSimple}" />
   <jar update="true" index="true" jarfile="${packageDir}/examples/${jmolJar}">
     <manifest>
-      <attribute name="Application-Name" value="Jmol (bundled with JalviewLite)"/>
+      <attribute name="Application-Name" value="Jmol (bundled with JalviewLite)" />
       <!--          <attribute name="Permissions" value="sandbox" /> -->
       <!--<attribute name="Trusted-Lib" value="true" /> -->
-      <attribute name="Codebase" value="${applet.codebase}"/>
-      <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}"/>
+      <attribute name="Codebase" value="${applet.codebase}" />
+      <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}" />
     </manifest>
   </jar>
   <signjar sigalg="SHA1WithRSA" storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
   </presetdef>
   <!-- create differently privileged artefacts -->
   <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/u_${jalviewLiteJar}" />
-  <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/u_${jmolJar}" overwrite="true"/>
-  <copy file="${packageDir}/examples/${javaJson}" tofile="${packageDir}/examples/u_${javaJson}" overwrite="true"/>
-  <copy file="${packageDir}/examples/${jsonSimple}" tofile="${packageDir}/examples/u_${jsonSimple}" overwrite="true"/>
+  <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/u_${jmolJar}" overwrite="true" />
+  <copy file="${packageDir}/examples/${javaJson}" tofile="${packageDir}/examples/u_${javaJson}" overwrite="true" />
+  <copy file="${packageDir}/examples/${jsonSimple}" tofile="${packageDir}/examples/u_${jsonSimple}" overwrite="true" />
   <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/ap_${jalviewLiteJar}" />
-  <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/ap_${jmolJar}"/>
-  <copy file="${packageDir}/examples/${javaJson}" tofile="${packageDir}/examples/ap_${javaJson}"/>
-  <copy file="${packageDir}/examples/${jsonSimple}" tofile="${packageDir}/examples/ap_${jsonSimple}"/>
+  <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/ap_${jmolJar}" />
+  <copy file="${packageDir}/examples/${javaJson}" tofile="${packageDir}/examples/ap_${javaJson}" />
+  <copy file="${packageDir}/examples/${jsonSimple}" tofile="${packageDir}/examples/ap_${jsonSimple}" />
   <ap_applet.jar jarfile="${packageDir}/examples/ap_${jalviewLiteJar}" />
   <ap_applet.jar jarfile="${packageDir}/examples/ap_${jmolJar}" />
   <ap_applet.jar jarfile="${packageDir}/examples/ap_${javaJson}" />
   <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
 
     <fileset dir="${packageDir}/examples">
-      <exclude name="u_*.jar"/>
+      <exclude name="u_*.jar" />
       <include name="${jalviewLiteJar}" />
       <include name="${jmolJar}" />
       <include name="${javaJson}" />
   </signjar>
   <!-- bizarre bug causes JmolApplet to always get signed, even if excluded from above. so copy explicitly -->
   <copy file="appletlib/${jmolJar}" tofile="${packageDir}/examples/u_${jmolJar}" overwrite="true" />
-       <!-- finally, replace any launchApp servlet tags with a version specification -->
-       <replace value="http://www.jalview.org/services/launchApp?version=${JALVIEW_VERSION}&quot;">
-               <replacetoken><![CDATA[http://www.jalview.org/services/launchApp"]]></replacetoken>
-               <fileset dir="${packageDir}/examples">
-                       <include name="**/*.html"/>
-               </fileset>
-       </replace>
-       <replace value="http://www.jalview.org/services/launchApp?version=${JALVIEW_VERSION}'">
-               <replacetoken><![CDATA[http://www.jalview.org/services/launchApp']]></replacetoken>
-               <fileset dir="${packageDir}/examples">
-                       <include name="**/*.html"/>
-               </fileset>
-       </replace>
+  <!-- finally, replace any launchApp servlet tags with a version specification -->
+  <replace value="http://www.jalview.org/services/launchApp?version=${JALVIEW_VERSION}&quot;">
+    <replacetoken>
+      <![CDATA[http://www.jalview.org/services/launchApp"]]>
+    </replacetoken>
+    <fileset dir="${packageDir}/examples">
+      <include name="**/*.html" />
+    </fileset>
+  </replace>
+  <replace value="http://www.jalview.org/services/launchApp?version=${JALVIEW_VERSION}'">
+    <replacetoken>
+      <![CDATA[http://www.jalview.org/services/launchApp']]>
+    </replacetoken>
+    <fileset dir="${packageDir}/examples">
+      <include name="**/*.html" />
+    </fileset>
+  </replace>
 
 </target>
 <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
index e71c53b..3639a97 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 014cb73..3ac1b59 100644 (file)
@@ -1,5 +1,5 @@
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index 2e610d9..27fe4f7 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3f1eb5a..6ac21a8 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -24,7 +24,7 @@
 <h1> Unit testing in Jalview </h1>
 
 <p>
-In June 2015, the Jalview team adopted <a href=http://testng.org/doc/index.html>TestNG</a> as the favourite unit testing framework. Consequently all existing JUnit tests were ported to TestNG.
+In June 2015, the Jalview team adopted <a href=http://testng.org/doc/index.html>TestNG</a> for handling unit tests, and all existing JUnit tests were ported to TestNG.
 
 
 <h2>Test Groups</h2>
@@ -83,18 +83,17 @@ The TestNG tests for Jalview can be executed in any of the following ways:
        <ul>
             <li>Ensure that you have TestNG plugin correctly install for eclipse</li>
             <li>Ensure that your test classes are error free and properly annotated</li>
-            <li>Create a lunch configuration "Select the Run / Run... (or Run / Debug...) menu and create a new TestNG configuration"</li>
+            <li>Create a launch configuration "Select the Run / Run... (or Run / Debug...) menu and create a new TestNG configuration"</li>
            <li>Run the tests by executing the configuration target created above</li>
         </ul> 
        A more detailed guide for installing and executing TestNG in eclipse is available at <a href=http://testng.org/doc/eclipse.html>testng.org/doc/eclipse.html</a> <br>&nbsp;
   </li>
   <li><b>From Ant:</b> 
-        </br> To execute Jalview unit test from ant please take the following steps:
+        </br>The ant task 'testng' will run Jalview's tests. You should:
        <ul>
             <li>Ensure that you have ant installed</li>
             <li>Ensure that your test classes are error free and properly annotated</li>
-            <li>Ensure that the test class or group is available in the TestNG config file. For Jalview this is located in jalview/utils/jalview_testng.xml</li>
-           <li>Add a TestNG run target to your main ant build file, and execute the target.</li>
+            <li>Specify the desired group of tests by passing a comma separated list of one or more groups via -Dtestng-groups=""</li>
         </ul> 
         A more detailed guide for executing TestNG from ant is available at <a href=http://testng.org/doc/ant.html>http://testng.org/doc/ant.html</a>
   </li>
index 50da663..22d8c50 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- *Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ *Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  *Copyright (C) 2015 The Jalview Authors
  *
  *This file is part of Jalview.
index 5b9158a..6cd1639 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fd6ba1f..8cbb05f 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a985524..e74cef2 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- *Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ *Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  *Copyright (C) 2015 The Jalview Authors
  *
  *This file is part of Jalview.
index 1f24939..fc2bd8e 100644 (file)
@@ -1,6 +1,6 @@
 <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f10c9d3..b565176 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ed822d3..90280a3 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -118,6 +118,14 @@ the applet can be interacted with <em>via</em> its
             <td>Default is no colour.</td>
           </tr>
           <tr> 
+            <td>defaultColourNuc</td>
+            <td>A colour scheme (from the list above) to apply to Nucleotide alignments</td><td>This overrides defaultColour if it is specified.</td>
+          </tr>
+          <tr> 
+            <td>defaultColourProt</td>
+            <td>A colour scheme (from the list above) to apply to Peptide alignments</td><td>This overrides defaultColour if it is specified.</td>
+          </tr>
+          <tr> 
             <td>userDefinedColour</td>
             <td><p><em>Example:</em><br>
                 D,E=red; K,R,H=0022FF; c=yellow</p></td>
index 98fb44f..4c3e942 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -168,7 +168,7 @@ Try out JalviewLite by pressing one of the buttons below.<br/>
        secondary structure annotation</td>
     </tr>
   </table>
-<!--  <p>
+  <p>
     <h2>Linked Protein and cDNA alignments for a family of Steroid Receptors</h2>
   </p>
   <table width="90%">
@@ -187,7 +187,8 @@ Try out JalviewLite by pressing one of the buttons below.<br/>
 <param name="windowWidth" value="800"/>
 <param name="showAnnotation" value="true"/>
 <param name="showSequenceLogo" value="true"/>
-<param name="defaultColour" value="Purine/Pyrimidine"/>
+<param name="defaultColourNuc" value="Purine/Pyrimidine"/>
+<param name="defaultColourProt" value="Clustal"/>
    <param name="APPLICATION_URL"
      value="http://www.jalview.org/services/launchApp"/>
 </applet>
@@ -195,11 +196,10 @@ Try out JalviewLite by pressing one of the buttons below.<br/>
       <td valign="center">Displays a split window view showing aligned protein
         and a reconstructed cDNA alignment.<br />Proteins were aligned with <a
         href="http://www.drive5.com/muscle">Muscle</a> (version 3.8.31,
-        via the Jalvew Desktop).<br />Data retrieved from Uniprot and
+        via the Jalview Desktop).<br />Data retrieved from Uniprot and
         ENA, after Thornton, Need and Crews, <a
         href="http://dx.doi.org/10.1126/science.1086185">Science 19
           September 2003: 301 (5640), 1714-1717</a>
       </td>
     </tr>
   </table>
--->
index ceefae1..dd3e1a1 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0bf5fce..4199094 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4a6c995..717d481 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e9ea707..a65448b 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 28292be..ce1dc32 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3a2965b..e9bf475 100644 (file)
@@ -274,7 +274,7 @@ jmolInitialize("","JmolApplet-14.2.14_2015.06.11.jar");
 
 <div>
  <script>
-  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; background black; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; background black; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;set hoverDelay 0.001; select 0","jmolView");
  </script>
 </div>
 <div>
diff --git a/examples/estrogenReceptorCdna_aln.fa b/examples/estrogenReceptorCdna_aln.fa
new file mode 100644 (file)
index 0000000..2f121db
--- /dev/null
@@ -0,0 +1,320 @@
+>EMBLCDS|ADZ17331/1-1593 Homo sapiens (human) estrogen nuclear receptor beta variant a
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------atggatataaaaaactcaccatctagccttaattctccttcctcctacaactgcagtcaatccatc
+------------------ttacccctggagcacggctccatatacataccttcctcctatgtagacagccac
+catgaatatccagccatgacattctatagccctgctgtgatgaattacagcattcccagcaatgtcactaac
+ttggaaggtgggcctggtcggcagacc---------------------acaagccca---------------
+---------------aatgtgttgtggccaacacctgggcacctttctcctttagtggtccatcgccagtta
+tcacatctgtat------------------------------------------------------------
+------------------------------------------------------------------------
+gcggaacctcaaaagagtccctggtgtgaagcaagatcgctagaacacaccttacctgtaaacagagagaca
+ctgaaa------------------------------aggaaggttagtgggaac------------------
+---------------------------cgttgcgccagccctgttactggtcca------------------
+------------------------------------------------------------------------
+---------------------------------------------------------ggttcaaagagggat
+gctcacttc---------------------------------------------------------------
+------------------------------------tgcgctgtctgcagcgattacgcatcgggatatcac
+tatggagtctggtcgtgtgaaggatgtaaggccttttttaaaagaagcattcaaggacataatgattatatt
+tgtccagctacaaatcagtgtacaatcgataaaaaccggcgcaagagctgccaggcctgccgacttcggaag
+tgttacgaagtgggaatggtgaagtgtggctcccggagagagagatgt---gggtaccgccttgtgcggaga
+cagagaagtgccgacgagcagctgcactgtgccggcaaggccaagagaagtggcggccac------------
+---------------------------gcgccccgagtgcgggagctgctgctggacgccctgagccccgag
+cagctagtgctcaccctcctggaggct---gagccgccccatgtgctgatcagc------------------
+------------------------------------------------------------------cgc---
+cccagtgcgcccttcaccgaggcctccatgatgatgtccctgaccaagttggccgacaaggagttggtacac
+atgatcagctgggccaagaagattcccggctttgtggagctcagcctgttcgaccaagtgcggctcttggag
+agctgttggatggaggtgttaatgatggggctgatgtggcgctcaattgac------caccccggcaagctc
+atctttgctccagatcttgttctggacagggatgaggggaaatgcgtagaaggaattctggaaatctttgac
+atgctcctggcaact---------acttcaaggtttcgagagttaaaactccaacacaaagaatatctctgt
+gtcaaggccatgatcctgctcaattccagtatgtaccctctggtcacagcgacc---caggatgctgacagc
+agccggaagctggctcacttgctgaacgccgtgaccgatgctttggtttgggtgattgccaagagcggcatc
+tcctcccagcagcaatccatgcgcctggctaacctcctgatgctcctgtcccacgtcaggcatgcgagtaac
+aagggcatggaacatctgctcaac------atgaagtgcaaaaatgtg---------gtcccagtgtatgac
+ctgctgctggagatgctgaatgcccacgtgcttcgcgggtgcaagtcctccatcacggggtccgagtgcagc
+ccggcagaggacagtaaaagcaaagagggctcccagaacccacagtctcagtga
+>EMBLCDS|AAK93056/1-1455 Drosophila melanogaster (fruit fly) GH28308p
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+---------------------------------atgtccgacggcgtcagcatcttgcacatcaaacaggag
+gtggacactccatcggcgtcctgctttagtcccagctccaagtcaacggccacgcagagtggcacaaacggc
+ctgaaa------------------------------------------tcctcgccc---------------
+---------------tcggtttcgccggaaaggcagctctgcagctcgacgacctctctatcctgcgatttg
+cacaatgtatcc------------------------------------------------------------
+---------------------------------------------------------ttaagcaatgatggc
+gatagtctgaaaggaagtggtacaagtggcggcaatggcggaggaggaggtggtggtacgagtggtggaaat
+gcgacc------------------------------------------------------------------
+------------------------------aatgcgagtgccggagctggatcg------------------
+------------------------------------------------------------------------
+---------------------------------------------------------ggatccgtcagggac
+gagctccgccgattg---------------------------------------------------------
+------------------------------------tgtttggtttgtggcgatgtggccagtggattccac
+tatggtgtggcgagttgtgaggcttgcaaagcgttctttaaacgcaccatccaaggcaacatcgagtacacg
+tgtccggcgaacaacgagtgtgagattaacaagcggagacgcaaggcctgccaagcgtgtcgcttccagaaa
+tgtctactaatgggcatgctcaaggagggtgtgcgcttggatcgagttcgtggaggacggcagaagtaccga
+aggaatcctgtatcaaactcttaccagactatgcagctgctataccaatccaacaccacctcgctg------
+---------------------------tgcgatgtcaagatactggaggtgctcaattcatatgagccggat
+gccttgagcgtccaaacg------------ccgccgccgcaagtccacacgactagcataactaatgatgag
+gcctcatcctcctcgggcagcataaaactggagtccagcgttgttacgcccaatgggacttgcattttccaa
+aacaacaacaacaatgatcccaatgagatactaagcgtccttagtgatatttacgacaaggaattggtcagc
+gtcattggctgggccaagcagatacctggctttatagatctgccacttaacgaccagatgaagcttctccag
+gtgtcgtgggcagagatcctgacgctccagctgaccttccggtccctaccg------ttcaatggcaagtta
+tgcttcgccacggatgtctggatggatgaacatttggccaaggagtgc---ggttacacggagttctactac
+cactgcgtccagatc---------gcacagcgcatggaaagaatatcgccacgaagggaggagtactacttg
+ctaaaggcgctcctgctggccaactgcgacattctgctg------------------gatgatcagagttcc
+ctgcgcgcatttcgtgatacgattcttaattctctaaacgatgtggtctacttgctgcgtcattcgtcggcc
+gtgtcgcatcagcaa---------------caattgctgcttttgctgccttcgctgcggcaggcggatgat
+atcctgcgaagattttggcgtgga------attgcacgcgatgaagtc---------attaccatgaagaaa
+ctgttcctcgagatgctcgag---------------------------------------------------
+---------------------------------------ccgctggccaggtga
+>EMBLCDS|BAA89539/1-2133 Anguilla japonica (Japanese eel) progesterone receptor
+------------------------------------------------------------------------
+------------------------------------------------------------atggacaacaat
+caccaagacaagatggaaagtctatacacgccagccagagcatcaccaactcctgatgcagaatcgattaaa
+agagccaggaatttgattaaaacatactcggagtcttttgggagttatgtggaggagatagttcgagacgac
+tcgaataacatacaatctttgagcagcgtccctctcttgatgcgtaattttggaaacatggacaccctaacc
+tgcgcacctggctcgggtagtgacagtgagatttggaaagactttgttgttcccgggaactctgtggtaagc
+aaagacacctgtggtcatgttgaaatatccactaaagccgaaaatttgtcttgggctgccgcgcccttaagt
+agagaagaaaccctcgcgaaaggaactgttacggtcccagcgactgtgcctaaagaaagttttaccgcaaca
+---------------tcaaacacttcttcagccagtggaatctctattaaagatgaacaacaatctttgctc
+aaaatggaaccacagtcttctgacttttgtccttatacagcaaatataccgaaattgaatccatcttatctg
+accaatactgcgagtacgaaacaacttggatatggc------------gaacagccg---------------
+---------------gacacttcagcgcactcctctccacctgctcagaagattgttttagatactgctcga
+tactcggccgat------------------------------------------------------------
+------------------------------------------ttatgttcggataaccctttaccgcaagcg
+acaaatatcaaaacagatccttgtagtagtttctcttctttcgttggagaagggatccttactagggcatct
+atgggctactcacagcaagcgattcagacattgccggtgcacaagagtgaaccg------------------
+---------------------------ttcaggttgtctgcttcgagcgcgcccgcggattctccgttttgg
+tgccaatcc---------------------------------------------------------------
+------------------------------------------------------acgggtccttctgaggat
+catcatctgcagattgactatctatctcccgctggactccacagcacatgcaaatacagttccacgaacgcg
+tacagctcctatttaggtgtgctgccccagagggtgtgcgtcatctgtggggatgaagcatcaggctgtcac
+tatggtgtcctcacctgtggcagctgtaaggtgttctttaagagggcagtggaaggccatcataactacttg
+tgtgctggacggaatgactgcatcgtggacaagatccgtaggaaaaactgtcctgcttgtcgcctcagaaag
+tgctaccaggcgggaatgatactgggaggtcggaagctgaagaagttg---ggggctctgaaggcagcaggg
+ctgacccaggccctggtggcccactcactgactcctcggaggctctctggtgacagccaggccctg------
+---------------------------atgcccctgggctgccttccaggggtccgggagctgcacctttcc
+ccacagatcatcagcgtgctggagagcattgagcctgaggtggtgtactctggt------------------
+------------------------------------------------------------------tatgac
+aactcccagcctgacatgcccaatatgctgctcaacagcctcaaccgcttatgtgagaggcagctgctgagg
+attgtcaagtggtccaagtctttaccaggttttcgcagtttacacatcaatgaccaaatggctctgatccag
+tactcctggatgagcttaatggtattttctttgggttggcggtctttccaaaatgtcaccagtgattacctg
+tactttgcacctgacctcattctcaacgaagagtatatgaggaggtct------------ccaatatttgac
+ctgtgcatggccatgcagttcatccctcaagagtttgccaatctccaggtgaccaaggaggagtttctgtgc
+atgaaggtcttgctgttgctcaac------acagtgcctctg---------------gaggggttgaagagc
+cagccacagtttgatgagatgaggcagaattacatccatgaactcaccaaggccattcacctgcgagagaat
+ggtgtggtcgcctgctcccagcgtttctaccacctgaccaagctgatggaccacatgcatgacattgtgaag
+aagctccacctgtactgcctgagcactttcattcaggcagatgccatgcgg------gtagagttccccgag
+atgatgtcagaagtcatcgcctcccagctg------------------------------------------
+------------cctcgggtgctcgctggaatggtgaaaccccttctttttcacaccaaatga
+>EMBLCDS|AHW56473/1-1590 Homo sapiens (human) partial estrogen receptor 2 isoform A
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------atggatataaaaaactcaccatctagccttaattctccttcctcctacaactgcagtcaatccatc
+------------------ttacccctggagcacggctccatatacataccttcctcctatgtagacagccac
+catgaatatccagccatgacattctatagccctgctgtgatgaattacagcattcccagcaatgtcactaac
+ttggaaggtgggcctggtcggcagacc---------------------acaagccca---------------
+---------------aatgtgttgtggccaacacctgggcacctttctcctttagtggtccatcgccagtta
+tcacatctgtat------------------------------------------------------------
+------------------------------------------------------------------------
+gcggaacctcaaaagagtccctggtgtgaagcaagatcgctagaacacaccttacctgtaaacagagagaca
+ctgaaa------------------------------aggaaggttagtgggaac------------------
+---------------------------cgttgcgccagccctgttactggtcca------------------
+------------------------------------------------------------------------
+---------------------------------------------------------ggttcaaagagggat
+gctcacttc---------------------------------------------------------------
+------------------------------------tgcgctgtctgcagcgattacgcatcgggatatcac
+tatggagtctggtcgtgtgaaggatgtaaggccttttttaaaagaagcattcaaggacataatgattatatt
+tgtccagctacaaatcagtgtacaatcgataaaaaccggcgcaagagctgccaggcctgccgacttcggaag
+tgttacgaagtgggaatggtgaagtgtggctcccggagagagagatgt---gggtaccgccttgtgcggaga
+cagagaagtgccgacgagcagctgcactgtgccggcaaggccaagagaagtggcggccac------------
+---------------------------gcgccccgagtgcgggagctgctgctggacgccctgagccccgag
+cagctagtgctcaccctcctggaggct---gagccgccccatgtgctgatcagc------------------
+------------------------------------------------------------------cgc---
+cccagtgcgcccttcaccgaggcctccatgatgatgtccctgaccaagttggccgacaaggagttggtacac
+atgatcagctgggccaagaagattcccggctttgtggagctcagcctgttcgaccaagtgcggctcttggag
+agctgttggatggaggtgttaatgatggggctgatgtggcgctcaattgac------caccccggcaagctc
+atctttgctccagatcttgttctggacagggatgaggggaaatgcgtagaaggaattctggaaatctttgac
+atgctcctggcaact---------acttcaaggtttcgagagttaaaactccaacacaaagaatatctctgt
+gtcaaggccatgatcctgctcaattccagtatgtaccctctggtcacagcgacc---caggatgctgacagc
+agccggaagctggctcacttgctgaacgccgtgaccgatgctttggtttgggtgattgccaagagcggcatc
+tcctcccagcagcaatccatgcgcctggctaacctcctgatgctcctgtcccacgtcaggcatgcgagtaac
+aagggcatggaacatctgctcaac------atgaagtgcaaaaatgtg---------gtcccagtgtatgac
+ctgctgctggagatgctgaatgcccacgtgcttcgcgggtgcaagtcctccatcacggggtccgagtgcagc
+ccggcagaggacagtaaaagcaaagagggctcccagaacccacagtctcag
+>EMBLCDS|BAA75464/1-2547 Anguilla japonica (Japanese eel) androgen receptor alpha
+atggagattccagttgggttaggaggagtttcagatgccacaaacgccgtttttcgcggaccttaccaaaac
+gttttccacagccttcaagtggcatttcagagtcacggtgccgtctccaggagcttagattttccaaataca
+aagtacggttttttacaaaacagacatttctgtgaaatgcgtcaggagaacaagcagccgccatgcaaagga
+ctcggcctattttacgggaaccatcgtaattcggacactgggacaaacgaagacgacatcgcttgtttttcc
+agacagtccgacgctgaagccagacctggtattttttctgaaagctcattggatactggagacgagattact
+tgcaaactccagtcagacaaccaaggggtaagagcgagcggtcctctcctaccgggctctagcggctgcaat
+tcgggacaaaagtcctcccttgcttgtacgtcccaacaaagggagacaacatctcaaagtgacacctgcgca
+ggagagagctgctcggaacatcaagcaactaccatttcggaaactgcgcgcgaattgtgcaacgccgtttcc
+gtgtcgctgggcttgaatttagatcttaatgatatgaatgacctaagttcaaaccaaatatcgtctaccgaa
+agtgacacaagtcaagccatctacttatttgaatcttcacctgggtatactggggtcggactgaacgccttg
+gtaagagactgtaaatgtcagagtgcacgcgaagggacatcgacacaacagtacgaccgcggggcaatgttt
+aagataaaccgtgtaaatgacttgccgcttcagccagcacccccgcgacacaccagcattagcgatgctaaa
+tgggacatggaagcaggtttgtgtgcgcagatggagcacaaagactctgaaaagtgcgcgaatatggatggt
+gcacactccacttctgtcttctcccagttcgaccaactgttgccagtaaacgcgtcgcactacagtcagaac
+gtttcggtcagagtggaaccacaaagtgatttctctccgattttgtacaaatcacctggtattcagaaaaat
+gccgaaaagtacaatgtccaatatgatgccacaattaaatcagaagatgggaaaacgacatctgaacgggaa
+tggggttttcagtacaggtacaatgaaagctgcagcacaccgtcagcacctcctagacattgtgcacatcag
+aacagggccggaccgtacaaccagttcttttttaatccatttgaatatgcgaaaagaggtgttgtctcaagg
+gaaggatattctctcgaacatgggttcccaaacaatctcgctcggacaccctactctggttccttgaaaaac
+gaactaggagatcgtctgagtgggccataccctgacgtcagttacaggtacgagggcgagcgggagaacgtg
+ttccccgtggagttcttctttccgccgcagaggacctgcctgatctgcggggacgaggcctcgggctgtcac
+tatggagccctcacctgcggcagctgcaaggtgttcttcaagagggccgcggaagggaaacagaagtacctg
+tgcgccagcatcaatgattgcaccattgataaacttcgaaggaagaactgcccctcttgccgtctcaaaagg
+tgctttgctgccggaatgaccctt---------------------------ggagcgcggaagctgaagaag
+atcgggcaaatgagggcccccgaggatggccaggggcagggcccggcggaagcggagctgagcgtc------
+---------------------------tcccccaagtacgacctg------------ggcttccacacccag
+tccatgttcctcaacatcctggaggccatcgagccggaggtggtgaacgccggg------------------
+------------------------------------------------------------------cacgac
+tatggccagccggactctgcggccagcctgctgaccagcctcaacgagctcggagaacggcaactcgtcaag
+gtcgtcaagtgggccaagggcatgccaggttttcggagtctgtacgtggatgaccagatgacagtcatccag
+cactcctggatggcagtgatggtgttcgctctgggctggaggtcatttaagaatgtgaagtccaggatgctt
+tactttgctcctgaccttgttttcaacgagcaccgaatgcaggtgtcc------------accatgtatgaa
+cactgcatccggatgaagaacttctcccaggagtttgctatgctgcaggtctcccaggaagagttcctgtgc
+atgaaagctctgcttctcttcagc------accatccccgtt---------------gaagggctgaagggg
+cagaatttctttgacgagctgcggaggagctacattaacgagctggaccggctggttagcttcaggagcaag
+tccagc------tgttccgagaggttccagcagctcacccgcctcctggactccctccaacctgttctgaag
+aagctccaccagtttacgttcgaccttttcgtccagtcccagaacctctccaaccaagtttgctttcccgag
+atgatctcagagatcatatccgtgcacgtg------------------------------------------
+------------ccaaagattctcgctggcacggtgaagccaatcctcttccacaagtag
+>EMBLCDS|AAA17402/1-1032 Serinus canaria (common canary) partial androgen receptor
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------gaagcctccgggtgccac
+tacggagccctgacgtgtgggagctgcaaagtgttcttcaaacgggcagctgaaggtaaacagaagtacctc
+tgtgccagccgcaacgactgcaccatcgacaagttccggcggaaaaactgcccctcctgccgcctgcgcaag
+tgctacgaggccgggatgacgctt---------------------------ggagcccgcaagctgaagaaa
+ctgggtaacctgaaggcacaggacgacatagagggagccagctcgtccagcccaacggaggagcaa------
+---------------------------gctcccaagctggtgatgacacgcattgatggctacgagtgccag
+cccatcttcctcaacgtcctggaggccatcgagcctggggtggtgtgtgctggc------------------
+------------------------------------------------------------------catgac
+aacagccagcctgactccttctccaacctgctgaccagcctgaatgagcttggggagaggcagctggtctac
+gtggtcaaatgggcaaaggctctgccaggatttcgcaacctgcatgtggatgaccagatgtcaataatccag
+tactcttggatgggcctgatggtgtttgctatggggtggagatccttcaccaacgtcaattccaggatgctt
+tactttgctccagacctggtcttcaatgagtaccgcatgcacaaatcc------------aggatgtacagc
+cagtgcatcaggatgcggcacctctcccaggaattcgggtggcttcagatcacaccccaggggttcctctgt
+atgaaggctctcctcttcttcagt------attattccagtg---------------gatggcctgaagaac
+cagaagctcttcgatgagctccgcatgaattacatcaaggaacttgaccgtatcattgcctgcaagaggaag
+aaccccacctcatgctcccggaggttttaccagctcaccaaggtcctggactccgtgactccgattgccaag
+gacctgcatcagtttacatttgatctcctaatcaaggcacacatggtgagc------gtggactacccagaa
+atgatggctgagatcatctctgtgcaggtt------------------------------------------
+------------cccaagatcctgtct
+>EMBLCDS|AAL37553/1-1455 Drosophila melanogaster (fruit fly) estrogen-related receptor
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+---------------------------------atgtccgacggcgtcagcatcttgcacatcaaacaggag
+gtggacactccatcggcgtcctgctttagtcccagctccaagtcaacggccacgcagagtggcacaaacggc
+ctgaaa------------------------------------------tcctcgccc---------------
+---------------tcggtttcgccggaaaggcagctctgcagctcgacgacctctctatcctgcgatttg
+cacaatgtatcc------------------------------------------------------------
+---------------------------------------------------------ttaagcaatgatggc
+gatagtctgaaaggaagtggtacaagtggcggcaatggcggaggaggaggtggtggtacgagtggtggaaat
+gcgacc------------------------------------------------------------------
+------------------------------aatgcgagtgccggagctggatcg------------------
+------------------------------------------------------------------------
+---------------------------------------------------------ggatccgtcagggac
+gagctccgccgattg---------------------------------------------------------
+------------------------------------tgtttggtttgtggcgatgtggccagtggattccac
+tatggtgtggcgagttgtgaggcttgcaaagcgttctttaaacgcaccatccaaggcaacatcgagtacacg
+tgtccggcgaacaacgagtgtgagattaacaagcggagacgcaaggcctgccaagcgtgtcgcttccagaaa
+tgtctactaatgggcatgctcaaggagggtgtgcgcttggatcgagttcgtggaggacggcagaagtaccga
+aggaatcctgtatcaaactcttaccagactatgcagctgctataccaatccaacaccacctcgctg------
+---------------------------tgcgatgtcaagatactggaggtgctcaattcatatgagccggat
+gccttgagcgtccaaacg------------ccgccgccgcaagtccacacgactagcataactaatgatgag
+gcctcatcctcctcgggcagcataaaactggagtccagcgttgttacgcccaatgggacttgcattttccaa
+aacaacaacaacaatgatcccaatgagatactaagcgtccttagtgatatttacgacaaggaattggtcagc
+gtcattggctgggccaagcagatacctggctttatagatctgccacttaacgaccagatgaagcttctccag
+gtgtcgtgggcagagatcctgacgctccagctgaccttccggtccctaccg------ttcaatggcaagtta
+tgcttcgccacggatgtctggatggatgaacatttggccaaggagtgc---ggttacacggagttctactac
+cactgcgtccagatc---------gcacagcgcatggaaagaatatcgccacgaagggaggagtactacttg
+ctaaaggcgctcctgctggccaactgcgacattctgctg------------------gatgatcagagttcc
+ctgcgcgcatttcgtgatacgattcttaattctctaaacgatgtggtctacttgctgcgtcattcgtcggcc
+gtgtcgcatcagcaa---------------caattgctgcttttgctgccttcgctgcggcaggcggatgat
+atcctgcgaagattttggcgtgga------attgcacgcgatgaagtc---------attaccatgaagaaa
+ctgttcctcgagatgctcgag---------------------------------------------------
+---------------------------------------ccgctggccaggtga
+>EMBLCDS|AAK20929/1-1662 Petromyzon marinus (sea lamprey) partial estrogen receptor
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+---------------------------------------------------------gcacgaggcttcagc
+gaggcacatggctacgagtactccggggcctcgctctaccagccactgcctccctcgtgcacagagttctca
+---------------------------------attggagctcatcaacaacaacaacatcagcaccagcat
+caccagcaccagcatcagcagcaccaccaccagcagcagcagcagcagccacagccgcagcagaatggagtt
+ttgggcgaggggcagagttcccatctctcttatcttccgccctcgaccgagctgccc---------------
+---------------cagtacgtgccctccagccccagcgcgccctacagcatggagctcggggcagggcgt
+cctcacggctacgac---------------------------------------------------------
+------------------------------------------ccagggccacagagcctctacaggggcggt
+gtggagagcagcgcccccccgtacagcgagcagcagcaggtggtgggcggcggcggagccatgtcggccatg
+ggcttg---------------------------------------acagagcca------------------
+---------------------------cgccacgtcagctccggatcgctaccc------------------
+------------------------------------------------------------------------
+---------------------------------------------------------agcagcacgaggccc
+gagcgcagcacccagttc------------------------------------------------------
+------------------------------------tgtgccgtgtgcagcgactatgcctcggggtaccac
+tacggcgtgtggtcctgcgagggctgcaaagccttcttcaagcgcagcacgcaaggccacaatgactacatg
+tgcccggccaccaaccagtgcaccatcgacaggaaccgtcgcaagagctgtcaggcttgccgcctgcgtaag
+tgctacgaagtgggcatggtcaaa---ggcgttcgcaaggaccgcaaa---ggctttcgaggggtcaagcac
+aaacgtaagcgccccatcccccaaaagaatgggggagaaggaggtgccggcggcggccaagacgtgagcgag
+acgaggcctcagggtgagaggccctccgggccgagggaccgggagagcgccgtcagctcactcgaggctgac
+caggtgatctcggctcttctggaggct---gagccacccaccgtactgtcctcg------------------
+------------------------------------------------------------------tatgac
+cccgacaagcctgtgacggaggcctcgctcatggctgctctcaccagcctggctgaccgagagctcgtgcac
+atgatcacctgggctaagaagattccaggattcacggccatcgggctgagtgaccaggtgcagctgctggag
+tgctgctggctggagatcctaatcgtggggctcatctggaggtctatcgat------cgccctggtcagctc
+cactttgctccaaacctcatcctaggaagggaggacgcgcgcaatgtggagggcatgctggacatgttcgac
+atgctgctcgtcacc---------gtgagtcgcttccgtgagctgcatctccgccgggaggaatacgtctgc
+ctcaaggccatgatcctcctcaactcgggggtgtttttctgcctctccaattccgccggggagcagacgaat
+gtgcagctcatccagcagatcctcgagaaggtgatggacgccctgggcagcaccatcggccacattgaggcg
+tccccgccgcaacactcgcgtcgcctctcccagctgctcctgctgctttcacagatccggcacattagcaac
+aagggcatcgagcatctcaacagc------atgaagcgtaagaatgtg---------atcccgctatacgac
+ctgctccttgagctgctggacgctcacagcctgcag---------------------aatactggcttacgg
+acgtcgcccccaccgcaggatttcagggcaaccctcgtgccg
index da5f5c8..c44766d 100644 (file)
@@ -1,12 +1,32 @@
->EMBLCDS|BAA89539/1111-1224 Anguilla japonica (Japanese eel) progesterone receptor
+>EMBLCDS|ADZ17331/532-675 Homo sapiens (human) estrogen nuclear receptor beta variant a
+caaggacataatgattatatttgtccagctacaaatcagtgtacaatcgataaaaaccggcgcaagagctgc
+caggcctgccgacttcggaagtgttacgaagtgggaatggtgaagtgtggctcccggagagagagatgt---
+ggg
+>EMBLCDS|AAK93056/430-576 Drosophila melanogaster (fruit fly) GH28308p
+caaggcaacatcgagtacacgtgtccggcgaacaacgagtgtgagattaacaagcggagacgcaaggcctgc
+caagcgtgtcgcttccagaaatgtctactaatgggcatgctcaaggagggtgtgcgcttggatcgagttcgt
+gga
+>EMBLCDS|BAA89539/1111-1254 Anguilla japonica (Japanese eel) progesterone receptor
 gaaggccatcataactacttgtgtgctggacggaatgactgcatcgtggacaagatccgtaggaaaaactgt
-cctgcttgtcgcctcagaaagtgctaccaggcgggaatgata---
->EMBLCDS|BAA75464/1564-1677 Anguilla japonica (Japanese eel) androgen receptor alpha
+cctgcttgtcgcctcagaaagtgctaccaggcgggaatgatactgggaggtcggaagctgaagaagttg---
+ggg
+>EMBLCDS|AHW56473/532-675 Homo sapiens (human) partial estrogen receptor 2 isoform A
+caaggacataatgattatatttgtccagctacaaatcagtgtacaatcgataaaaaccggcgcaagagctgc
+caggcctgccgacttcggaagtgttacgaagtgggaatggtgaagtgtggctcccggagagagagatgt---
+ggg
+>EMBLCDS|BAA75464/1564-1683 Anguilla japonica (Japanese eel) androgen receptor alpha
 gaagggaaacagaagtacctgtgcgccagcatcaatgattgcaccattgataaacttcgaaggaagaactgc
-ccctcttgccgtctcaaaaggtgctttgctgccggaatgacc---
->EMBLCDS|AAA17402/70-183 Serinus canaria (common canary) partial androgen receptor
+ccctcttgccgtctcaaaaggtgctttgctgccggaatgaccctt---------------------------
+gga
+>EMBLCDS|AAA17402/70-189 Serinus canaria (common canary) partial androgen receptor
 gaaggtaaacagaagtacctctgtgccagccgcaacgactgcaccatcgacaagttccggcggaaaaactgc
-ccctcctgccgcctgcgcaagtgctacgaggccgggatgacg---
->EMBLCDS|AAK20929/592-708 Petromyzon marinus (sea lamprey) partial estrogen receptor
+ccctcctgccgcctgcgcaagtgctacgaggccgggatgacgctt---------------------------
+gga
+>EMBLCDS|AAL37553/430-576 Drosophila melanogaster (fruit fly) estrogen-related receptor
+caaggcaacatcgagtacacgtgtccggcgaacaacgagtgtgagattaacaagcggagacgcaaggcctgc
+caagcgtgtcgcttccagaaatgtctactaatgggcatgctcaaggagggtgtgcgcttggatcgagttcgt
+gga
+>EMBLCDS|AAK20929/592-732 Petromyzon marinus (sea lamprey) partial estrogen receptor
 caaggccacaatgactacatgtgcccggccaccaaccagtgcaccatcgacaggaaccgtcgcaagagctgt
-caggcttgccgcctgcgtaagtgctacgaagtgggcatggtcaaa
+caggcttgccgcctgcgtaagtgctacgaagtgggcatggtcaaa---ggcgttcgcaaggaccgcaaa---
+ggc
diff --git a/examples/estrogenReceptorProtein_aln.fa b/examples/estrogenReceptorProtein_aln.fa
new file mode 100644 (file)
index 0000000..353c68c
--- /dev/null
@@ -0,0 +1,112 @@
+>UNIPROT|Q7LCB3/1-530 estrogen nuclear receptor beta variant a
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+--------------------------MDIKNSPSSLNSPSSYNCSQSI------LPLEHGSIYIPSSYVDSH
+HEYPAMTFYSPAVMNYSIPSNVTNLEGGPGRQT-------TSP----------NVLWPTPGHLSPLVVHRQL
+SHLY--------------------------------------------AEPQKSPWCEARSLEHTLPVNRET
+LK----------RKVSGN---------------RCASPVTGP------------------------------
+-------------------GSKRDAHF---------------------------------CAVCSDYASGYH
+YGVWSCEGCKAFFKRSIQGHNDYICPATNQCTIDKNRRKSCQACRLRKCYEVGMVKCGSRRERC-GYRLVRR
+QRSADEQLHCAGKAKRSGGH-------------APRVRELLLDALSPEQLVLTLLEA-EPPHVLIS------
+----------------------R-PSAPFTEASMMMSLTKLADKELVHMISWAKKIPGFVELSLFDQVRLLE
+SCWMEVLMMGLMWRSID--HPGKLIFAPDLVLDRDEGKCVEGILEIFDMLLAT---TSRFRELKLQHKEYLC
+VKAMILLNSSMYPLVTAT-QDADSSRKLAHLLNAVTDALVWVIAKSGISSQQQSMRLANLLMLLSHVRHASN
+KGMEHLLN--MKCKNV---VPVYDLLLEMLNAHVLRGCKSSITGSECSPAEDSKSKEGSQNPQSQ---
+>UNIPROT|Q9VSE9/1-484 GH28308p
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+-----------------------------------------------------------MSDGVSILHIKQE
+VDTPSASCFSPSSKSTATQSGTNGLK--------------SSP----------SVSPERQLCSSTTSLSCDL
+HNVS---------------------------------------LSNDGDSLKGSGTSGGNGGGGGGGTSGGN
+AT--------------------------------NASAGAGS------------------------------
+-------------------GSVRDELRRL-------------------------------CLVCGDVASGFH
+YGVASCEACKAFFKRTIQGNIEYTCPANNECEINKRRRKACQACRFQKCLLMGMLKEGVRLDRVRGGRQKYR
+RNPVSNSYQTMQLLYQSNTTSL-----------CDVKILEVLNSYEPDALSVQT----PPPQVHTTSITNDE
+ASSSSGSIKLESSVVTPNGTCIFQNNNNNDPNEILSVLSDIYDKELVSVIGWAKQIPGFIDLPLNDQMKLLQ
+VSWAEILTLQLTFRSLP--FNGKLCFATDVWMDEHLAKEC-GYTEFYYHCVQI---AQRMERISPRREEYYL
+LKALLLANCDILL------DDQSSLRAFRDTILNSLNDVVYLLRHSSAVSHQQ-----QLLLLLPSLRQADD
+ILRRFWRG--IARDEV---ITMKKLFLEMLE------------------------------PLAR---
+>UNIPROT|Q9IBD5/1-710 progesterone receptor
+--------------------------------------------MDNNHQDKMESLYTPARASPTPDAESIK
+RARNLIKTYSESFGSYVEEIVRDDSNNIQSLSSVPLLMRNFGNMDTLTCAPGSGSDSEIWKDFVVPGNSVVS
+KDTCGHVEISTKAENLSWAAAPLSREETLAKGTVTVPATVPKESFTAT-----SNTSSASGISIKDEQQSLL
+KMEPQSSDFCPYTANIPKLNPSYLTNTASTKQLGYG----EQP----------DTSAHSSPPAQKIVLDTAR
+YSAD----------------------------------LCSDNPLPQATNIKTDPCSSFSSFVGEGILTRAS
+MGYSQQAIQTLPVHKSEP---------------FRLSASSAPADSPFWCQS---------------------
+------------------TGPSEDHHLQIDYLSPAGLHSTCKYSSTNAYSSYLGVLPQRVCVICGDEASGCH
+YGVLTCGSCKVFFKRAVEGHHNYLCAGRNDCIVDKIRRKNCPACRLRKCYQAGMILGGRKLKKL-GALKAAG
+LTQALVAHSLTPRRLSGDSQAL-----------MPLGCLPGVRELHLSPQIISVLESIEPEVVYSG------
+----------------------YDNSQPDMPNMLLNSLNRLCERQLLRIVKWSKSLPGFRSLHINDQMALIQ
+YSWMSLMVFSLGWRSFQNVTSDYLYFAPDLILNEEYMRRS----PIFDLCMAMQFIPQEFANLQVTKEEFLC
+MKVLLLLN--TVPL-----EGLKSQPQFDEMRQNYIHELTKAIHLRENGVVACSQRFYHLTKLMDHMHDIVK
+KLHLYCLSTFIQADAMR--VEFPEMMSEVIASQL------------------PRVLAGMVKPLLFHTK
+>UNIPROT|Q7LCB3/1-530 estrogen receptor 2 isoform A
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+--------------------------MDIKNSPSSLNSPSSYNCSQSI------LPLEHGSIYIPSSYVDSH
+HEYPAMTFYSPAVMNYSIPSNVTNLEGGPGRQT-------TSP----------NVLWPTPGHLSPLVVHRQL
+SHLY--------------------------------------------AEPQKSPWCEARSLEHTLPVNRET
+LK----------RKVSGN---------------RCASPVTGP------------------------------
+-------------------GSKRDAHF---------------------------------CAVCSDYASGYH
+YGVWSCEGCKAFFKRSIQGHNDYICPATNQCTIDKNRRKSCQACRLRKCYEVGMVKCGSRRERC-GYRLVRR
+QRSADEQLHCAGKAKRSGGH-------------APRVRELLLDALSPEQLVLTLLEA-EPPHVLIS------
+----------------------R-PSAPFTEASMMMSLTKLADKELVHMISWAKKIPGFVELSLFDQVRLLE
+SCWMEVLMMGLMWRSID--HPGKLIFAPDLVLDRDEGKCVEGILEIFDMLLAT---TSRFRELKLQHKEYLC
+VKAMILLNSSMYPLVTAT-QDADSSRKLAHLLNAVTDALVWVIAKSGISSQQQSMRLANLLMLLSHVRHASN
+KGMEHLLN--MKCKNV---VPVYDLLLEMLNAHVLRGCKSSITGSECSPAEDSKSKEGSQNPQSQ---
+>UNIPROT|Q9YGV9/1-848 androgen receptor alpha
+MEIPVGLGGVSDATNAVFRGPYQNVFHSLQVAFQSHGAVSRSLDFPNTKYGFLQNRHFCEMRQENKQPPCKG
+LGLFYGNHRNSDTGTNEDDIACFSRQSDAEARPGIFSESSLDTGDEITCKLQSDNQGVRASGPLLPGSSGCN
+SGQKSSLACTSQQRETTSQSDTCAGESCSEHQATTISETARELCNAVSVSLGLNLDLNDMNDLSSNQISSTE
+SDTSQAIYLFESSPGYTGVGLNALVRDCKCQSAREGTSTQQYDRGAMFKINRVNDLPLQPAPPRHTSISDAK
+WDMEAGLCAQMEHKDSEKCANMDGAHSTSVFSQFDQLLPVNASHYSQNVSVRVEPQSDFSPILYKSPGIQKN
+AEKYNVQYDATIKSEDGKTTSEREWGFQYRYNESCSTPSAPPRHCAHQNRAGPYNQFFFNPFEYAKRGVVSR
+EGYSLEHGFPNNLARTPYSGSLKNELGDRLSGPYPDVSYRYEGERENVFPVEFFFPPQRTCLICGDEASGCH
+YGALTCGSCKVFFKRAAEGKQKYLCASINDCTIDKLRRKNCPSCRLKRCFAAGMTL---------GARKLKK
+IGQMRAPEDGQGQGPAEAELSV-----------SPKYDL----GFHTQSMFLNILEAIEPEVVNAG------
+----------------------HDYGQPDSAASLLTSLNELGERQLVKVVKWAKGMPGFRSLYVDDQMTVIQ
+HSWMAVMVFALGWRSFKNVKSRMLYFAPDLVFNEHRMQVS----TMYEHCIRMKNFSQEFAMLQVSQEEFLC
+MKALLLFS--TIPV-----EGLKGQNFFDELRRSYINELDRLVSFRSKSS--CSERFQQLTRLLDSLQPVLK
+KLHQFTFDLFVQSQNLSNQVCFPEMISEIISVHV------------------PKILAGTVKPILFHK-
+>UNIPROT|Q91445/1-344 androgen receptor
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+------------------------------------------------------------------EASGCH
+YGALTCGSCKVFFKRAAEGKQKYLCASRNDCTIDKFRRKNCPSCRLRKCYEAGMTL---------GARKLKK
+LGNLKAQDDIEGASSSSPTEEQ-----------APKLVMTRIDGYECQPIFLNVLEAIEPGVVCAG------
+----------------------HDNSQPDSFSNLLTSLNELGERQLVYVVKWAKALPGFRNLHVDDQMSIIQ
+YSWMGLMVFAMGWRSFTNVNSRMLYFAPDLVFNEYRMHKS----RMYSQCIRMRHLSQEFGWLQITPQGFLC
+MKALLFFS--IIPV-----DGLKNQKLFDELRMNYIKELDRIIACKRKNPTSCSRRFYQLTKVLDSVTPIAK
+DLHQFTFDLLIKAHMVS--VDYPEMMAEIISVQV------------------PKILS-----------
+>UNIPROT|Q9VSE9/1-484 estrogen-related receptor
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+-----------------------------------------------------------MSDGVSILHIKQE
+VDTPSASCFSPSSKSTATQSGTNGLK--------------SSP----------SVSPERQLCSSTTSLSCDL
+HNVS---------------------------------------LSNDGDSLKGSGTSGGNGGGGGGGTSGGN
+AT--------------------------------NASAGAGS------------------------------
+-------------------GSVRDELRRL-------------------------------CLVCGDVASGFH
+YGVASCEACKAFFKRTIQGNIEYTCPANNECEINKRRRKACQACRFQKCLLMGMLKEGVRLDRVRGGRQKYR
+RNPVSNSYQTMQLLYQSNTTSL-----------CDVKILEVLNSYEPDALSVQT----PPPQVHTTSITNDE
+ASSSSGSIKLESSVVTPNGTCIFQNNNNNDPNEILSVLSDIYDKELVSVIGWAKQIPGFIDLPLNDQMKLLQ
+VSWAEILTLQLTFRSLP--FNGKLCFATDVWMDEHLAKEC-GYTEFYYHCVQI---AQRMERISPRREEYYL
+LKALLLANCDILL------DDQSSLRAFRDTILNSLNDVVYLLRHSSAVSHQQ-----QLLLLLPSLRQADD
+ILRRFWRG--IARDEV---ITMKKLFLEMLE------------------------------PLAR---
+>UNIPROT|Q90ZM8/1-554 estrogen receptor
+------------------------------------------------------------------------
+------------------------------------------------------------------------
+-------------------ARGFSEAHGYEYSGASLYQPLPPSCTEFS-----------IGAHQQQQHQHQH
+HQHQHQQHHHQQQQQQPQPQQNGVLGEGQSSHLSYLPPSTELP----------QYVPSSPSAPYSMELGAGR
+PHGYD---------------------------------PGPQSLYRGGVESSAPPYSEQQQVVGGGGAMSAM
+GL-------------TEP---------------RHVSSGSLP------------------------------
+-------------------SSTRPERSTQF------------------------------CAVCSDYASGYH
+YGVWSCEGCKAFFKRSTQGHNDYMCPATNQCTIDRNRRKSCQACRLRKCYEVGMVK-GVRKDRK-GFRGVKH
+KRKRPIPQKNGGEGGAGGGQDVSETRPQGERPSGPRDRESAVSSLEADQVISALLEA-EPPTVLSS------
+----------------------YDPDKPVTEASLMAALTSLADRELVHMITWAKKIPGFTAIGLSDQVQLLE
+CCWLEILIVGLIWRSID--RPGQLHFAPNLILGREDARNVEGMLDMFDMLLVT---VSRFRELHLRREEYVC
+LKAMILLNSGVFFCLSNSAGEQTNVQLIQQILEKVMDALGSTIGHIEASPPQHSRRLSQLLLLLSQIRHISN
+KGIEHLNS--MKRKNV---IPLYDLLLELLDAHSLQ-------NTGLRTSPPPQDFRATLVP------
index cb3c37e..efd89bf 100644 (file)
@@ -1,14 +1,16 @@
->UNIPROT|Q7LCB3/249-274
----SLEHTLPVNRETLKRKVSGNRCASPV----------
->UNIPROT|Q9VSE9/175-200
----GSGTSGGNGGGGGGGTSGGNATNASA----------
->UNIPROT|Q9IBD5/371-408
-EGHHNYLCAGRNDCIVDKIRRKNCPACRLRKCYQAGMI-
->UNIPROT|Q9YGV9/522-559
-EGKQKYLCASINDCTIDKLRRKNCPSCRLKRCFAAGMT-
->UNIPROT|Q90ZM7/97-134
-EGQHNYLCAGRNDCIIDKIRRKNCPACRLRKCIQAGMT-
->UNIPROT|Q91445/24-61
-EGKQKYLCASRNDCTIDKFRRKNCPSCRLRKCYEAGMT-
->UNIPROT|Q90ZM8/198-236
-QGHNDYMCPATNQCTIDRNRRKSCQACRLRKCYEVGMVK
+>UNIPROT|Q7LCB3/178-225 estrogen nuclear receptor beta variant a
+QGHNDYICPATNQCTIDKNRRKSCQACRLRKCYEVGMVKCGSRRERC-G
+>UNIPROT|Q9VSE9/144-192 GH28308p
+QGNIEYTCPANNECEINKRRRKACQACRFQKCLLMGMLKEGVRLDRVRG
+>UNIPROT|Q9IBD5/371-418 progesterone receptor
+EGHHNYLCAGRNDCIVDKIRRKNCPACRLRKCYQAGMILGGRKLKKL-G
+>UNIPROT|Q7LCB3/178-225 estrogen receptor 2 isoform A
+QGHNDYICPATNQCTIDKNRRKSCQACRLRKCYEVGMVKCGSRRERC-G
+>UNIPROT|Q9YGV9/522-561 androgen receptor alpha
+EGKQKYLCASINDCTIDKLRRKNCPSCRLKRCFAAGMTL---------G
+>UNIPROT|Q91445/24-63 androgen receptor
+EGKQKYLCASRNDCTIDKFRRKNCPSCRLRKCYEAGMTL---------G
+>UNIPROT|Q9VSE9/144-192 estrogen-related receptor
+QGNIEYTCPANNECEINKRRRKACQACRFQKCLLMGMLKEGVRLDRVRG
+>UNIPROT|Q90ZM8/198-244 estrogen receptor
+QGHNDYMCPATNQCTIDRNRRKSCQACRLRKCYEVGMVK-GVRKDRK-G
index ab2dcff..12b3bd8 100755 (executable)
@@ -1,5 +1,5 @@
 #-------------------------------------------------------------------------------
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
@@ -24,7 +24,7 @@ BETA-BULGE    1dc451
 Pfam   dc206a
 PHOSPHORYLATION (S)    b974a5
 PHOSPHORYLATION (Y)    7d3881
-Cath   93b1d2
+Cath   93b1d1
 ASX-TURN-IR    4ccc6e
 BETA-BULGE-LOOP-5      4066da
 CATMAT-4       4dc465
@@ -44,70 +44,70 @@ BETA-TURN-IIL       8b5b50
 ST-MOTIF       ac25a1
 
 STARTGROUP     uniprot
-Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      39      39      METAL
-Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      44      44      METAL
-Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      47      47      METAL
-Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      77      77      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      39      39      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      44      44      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      47      47      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAA       -1      77      77      METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_8</a></html> FER_CAPAA       -1      8       83      Pfam
 Ferredoxin_fold Status: True Positive  FER_CAPAA       -1      3       93      Cath
-Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      86      86      METAL
-Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      91      91      METAL
-Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      94      94      METAL
-Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      124     124     METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      86      86      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      94      94      METAL
+Iron-sulfur (2Fe-2S)   FER_CAPAN       -1      124     124     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_13</a></html>       FER_CAPAN       -1      55      130     Pfam
 Ferredoxin_fold Status: True Positive  FER_CAPAN       -1      45      140     Cath
-Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      86      86      METAL
-Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      91      91      METAL
-Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      94      94      METAL
-Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      124     124     METAL
+Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      86      86      METAL
+Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      94      94      METAL
+Iron-sulfur (2Fe-2S)   FER1_SOLLC      -1      124     124     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_13</a></html>       FER1_SOLLC      -1      55      130     Pfam
 Ferredoxin_fold Status: True Positive  FER1_SOLLC      -1      45      140     Cath
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_13</a></html>       Q93XJ9_SOLTU    -1      55      130     Pfam
 Ferredoxin_fold Status: True Positive  Q93XJ9_SOLTU    -1      45      140     Cath
-Iron-sulfur (2Fe-2S)   FER1_PEA        -1      91      91      METAL
-Iron-sulfur (2Fe-2S)   FER1_PEA        -1      96      96      METAL
-Iron-sulfur (2Fe-2S)   FER1_PEA        -1      99      99      METAL
-Iron-sulfur (2Fe-2S)   FER1_PEA        -1      129     129     METAL
+Iron-sulfur (2Fe-2S)   FER1_PEA        -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER1_PEA        -1      96      96      METAL
+Iron-sulfur (2Fe-2S)   FER1_PEA        -1      99      99      METAL
+Iron-sulfur (2Fe-2S)   FER1_PEA        -1      129     129     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_13</a></html>       FER1_PEA        -1      60      135     Pfam
 Ferredoxin_fold Status: True Positive  FER1_PEA        -1      50      145     Cath
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 63_13</a></html>       Q7XA98_TRIPR    -1      63      138     Pfam
 Ferredoxin_fold Status: True Positive  Q7XA98_TRIPR    -1      53      148     Cath
-Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      90      90      METAL
-Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      95      95      METAL
-Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      98      98      METAL
-Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      128     128     METAL
+Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      90      90      METAL
+Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      95      95      METAL
+Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      98      98      METAL
+Iron-sulfur (2Fe-2S)   FER1_MESCR      -1      128     128     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 59_13</a></html>       FER1_MESCR      -1      59      134     Pfam
 Ferredoxin_fold Status: True Positive  FER1_MESCR      -1      49      144     Cath
-Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      89      89      METAL
-Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      94      94      METAL
-Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      97      97      METAL
-Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      127     127     METAL
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      89      89      METAL
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      94      94      METAL
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      97      97      METAL
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      127     127     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 58_13</a></html>       FER1_SPIOL      -1      58      133     Pfam
 Ferredoxin_fold Status: True Positive  FER1_SPIOL      -1      48      143     Cath
-Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      39      39      METAL
-Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      44      44      METAL
-Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      47      47      METAL
-Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      77      77      METAL
+Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      39      39      METAL
+Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      44      44      METAL
+Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      47      47      METAL
+Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      77      77      METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_8</a></html> FER3_RAPSA      -1      8       83      Pfam
 Ferredoxin_fold Status: True Positive  FER3_RAPSA      -1      3       93      Cath
-Iron-sulfur (2Fe-2S)   FER_BRANA       -1      39      39      METAL
-Iron-sulfur (2Fe-2S)   FER_BRANA       -1      44      44      METAL
-Iron-sulfur (2Fe-2S)   FER_BRANA       -1      47      47      METAL
-Iron-sulfur (2Fe-2S)   FER_BRANA       -1      77      77      METAL
+Iron-sulfur (2Fe-2S)   FER_BRANA       -1      39      39      METAL
+Iron-sulfur (2Fe-2S)   FER_BRANA       -1      44      44      METAL
+Iron-sulfur (2Fe-2S)   FER_BRANA       -1      47      47      METAL
+Iron-sulfur (2Fe-2S)   FER_BRANA       -1      77      77      METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_8</a></html> FER_BRANA       -1      8       83      Pfam
 Ferredoxin_fold Status: True Positive  FER_BRANA       -1      2       96      Cath
-Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      91      91      METAL
-Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      96      96      METAL
-Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      99      99      METAL
-Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      129     129     METAL
+Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      96      96      METAL
+Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      99      99      METAL
+Iron-sulfur (2Fe-2S)   FER2_ARATH      -1      129     129     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_13</a></html>       FER2_ARATH      -1      60      135     Pfam
 Ferredoxin_fold Status: True Positive  FER2_ARATH      -1      50      145     Cath
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_11</a></html>       Q93Z60_ARATH    -1      60      118     Pfam
 Ferredoxin_fold Status: True Positive  Q93Z60_ARATH    -1      52      118     Cath
-Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      91      91      METAL
-Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      96      96      METAL
-Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      99      99      METAL
-Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      129     129     METAL
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      96      96      METAL
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      99      99      METAL
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      129     129     METAL
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_13</a></html>       FER1_MAIZE      -1      60      135     Pfam
 Ferredoxin_fold Status: True Positive  FER1_MAIZE      -1      50      145     Cath
 <html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 52_12</a></html>       O80429_MAIZE    -1      52      127     Pfam
index 52b13ff..1fd4ad9 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5dab623..68a6d82 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d7febba..c72deea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5beb40e..2884679 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5022a37..43ac8a5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b1c95d2..414b0d6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6533b22..5b19939 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8f8a507..22d935d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 72dad07..c7842dc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 348b40f..eb56410 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f9737e7..10466a3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8597cc1..3323d67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c4b3355..3e72761 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b190e4d..e324e18 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6eca90c..584ef35 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6646273..7b8b910 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 46321d4..cc9fecb 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 164cb73..4206ab9 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7995ddb..d21d42d 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -318,10 +318,8 @@ function _jmolhover(jmid, atomlabel, atomidx) {
        }
        // use atomlabel[5] to look up model filename so we can highlight associated positions in any jalviews
        for (ap in _jvapps) {
-               _jvapps[ap].mouseOverStructure(atomlabel[2], atomlabel[3],
-                               getDocumentBase()
-                                               + "/" + 
-                                               modeltofiles[atomlabel[5]]);
+               pdb = getDocumentBase() + modeltofiles[atomlabel[5]];
+               _jvapps[ap].mouseOverStructure(atomlabel[2], atomlabel[3], pdb);
                msg = _jmolhovermsg;
        }
 }
index 9b58306..6cb0f1e 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1def1a8..fb43c01 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index adcea4a..b4db87b 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6115dea..434efb4 100755 (executable)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 357844b..151f5e3 100755 (executable)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 73147d2..6f3b02a 100755 (executable)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"  ?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0476f05..b418153 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index da48455..6bec7a4 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4b9cf68..5ae111e 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d1841a1..e8df667 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ff084cf..91ff5f8 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cd6a808..3ca09c4 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2946ab7..c8d4ef6 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d0fbb20..19d3be2 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8a1181d..231157a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1478d59..b04fa5d 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7b0ce98..e32dd36 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f95476f..2512378 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cbe4f87..2e3f0a3 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 80d45f4..570640c 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 55e3a85..4e0a137 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e327d56..ae59f99 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d6d0eec..62fcc6e 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0c39a15..685ea99 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ccd3615..41484a7 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f570ce2..cd09f21 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index dda803d..4ff8cf3 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 01319b7..07816ec 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 88a894b..bf00142 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 20e8330..f6e5609 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e24b082..ea34e82 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a49a9e5..6446bee 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 93c6fed..6b83a81 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cf19eb8..0b163c9 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 979e950..f908a5a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa83414..469551c 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 100e8ee..8f98165 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index eca1df9..e5d9222 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2dfbde6..58bf4e1 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 078dc8b..4c3e16b 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index afd3586..c95d3e3 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f1a5b4e..a52198f 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 89180d5..ac99a0a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- *Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ *Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  *Copyright (C) 2015 The Jalview Authors
  *
  *This file is part of Jalview.
index e80d0e2..485466a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b514e65..a017414 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e4b8950..f314d2a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 128b478..7e6b17a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -37,8 +37,8 @@
   </p>
   <table>
     <tr>
-      <td><img src="annotationColumnSelectionWithSM.gif"></td>
-      <td><img src="annotationColumnSelectionWithoutSM.gif"></td>
+      <td><img src="AnnotationColumnSelectionWithSM.gif"></td>
+      <td><img src="AnnotationColumnSelectionWithoutSM.gif"></td>
     </tr>
   </table>
 
index 7b58a34..d9a6e10 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 643c8a3..8740a10 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d257f1b..21844cf 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5b88ca9..46707a3 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1a0c863..9e08331 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5fc36c6..8bef6f1 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9d354dc..257d42c 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa91c59..d01ce2a 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 54c6dcb..e776bf8 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bdaeab6..6413c00 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -73,7 +73,7 @@
     There is as yet no properly defined scripting interface to Jalview,
     but all the public methods of the jalview class hierarchy can be
     called from Groovy scripts. The access point for this is the <strong>Jalview</strong>
-    object defined in the groovy environent which corresponds to the
+    object defined in the groovy environment which corresponds to the
   <pre>jalview.gui.Desktop</pre>
   object which manages all the Jalview windows. Here's an example to get
   you started:
index eab0df4..493f656 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8e81024..7415f3f 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b9e7e84..8a5d938 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 65aeb80..d4cad5f 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 78d18a6..96c53e6 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a002c92..cbe9d99 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c26575e..968d40c 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0d7a51b..1737abe 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 235ce3f..95a43f7 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2c1ed0f..174a2be 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 99b008e..b5e644f 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8870550..519430c 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1b078d0..0f723c2 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f91b8e5..be1cea9 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 30825c5..a3fffa8 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0ce3139..ad3ed08 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f993204..45cf447 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8f562eb..5d9a3cc 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fcc2b21..52e78c8 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c1a4b60..2d499e5 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 709d297..11a15c8 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -46,8 +46,7 @@
     <li>BioJS MSA - A JavaScript based multiple sequence alignment
       viewer. <br> <em>For interactive alignment data
         visualisation in a web browser.<br />Get more info about the
-        BioJS MSA viewer at a
-        href="http://msa.biojs.net/">http://msa.biojs.net/</a>
+        BioJS MSA viewer at <a href="http://msa.biojs.net/">http://msa.biojs.net/</a>
     </em>
     </li>
 
   <p>
     In Jalview 2.9, new HTML exporting options were introduced. The
     standard HTML export option displays alignments as SVG documents
-    embedded as scollable panes. Exported pages can optionally also
+    embedded as scrollable panes. Exported pages can optionally also
     include <a href="../features/bioJsonFormat.html">BioJSON</a> data,
     which allows Jalview to extract the original data used to create the
     page. Jalview can also generate HTML pages which embed BioJSON data
     and the BioJS MSA viewer, a pure javascript alignment viewer that
-    provides a range of interactive analysis capabiltiies.
+    provides a range of interactive analysis capabilities.
   </p>
   <p>
   <p>
index 8e99d0e..0a58e84 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8f88c26..bdef417 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 57f0416..a6e52a9 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0290721..afc87da 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5bc6f7d..5250887 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6a88c5c..1ec4dfc 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index edc277c..58c7459 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5f60ba5..406d56e 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 843486d..a736049 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8d49744..ec8e385 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d39afa0..6d854b8 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 72df8f7..afbb0b1 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1ead68a..334706a 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3e4cf68..9d54abb 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2c6b4f7..7159e52 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 013ae4b..82e76ff 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d18b6f0..fc21bbd 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9c41b7e..8a2fce7 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4f40e96..8807036 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 20169c4..799f3f7 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 753f4f6..312fece 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 88b85b9..dd5e232 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c692586..036cf92 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fdcb06e..dc34e00 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 956307b..01159f8 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b6bd728..e2be895 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7fc0939..e248c14 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
       </td>
     </tr>
     <tr>
+      <td width="60" nowrap>
+        <div align="center">
+          <strong><a name="Jalview.2.9.0b1">2.9.0b1</a><br />
+            <em>8/10/2015</em></strong>
+        </div>
+      </td>
+      <td>
+      <em>General</em>
+      <ul>
+            <li>Updated Spanish translations of localized text for 2.9</li>
+      </ul>
+      <em>Application</em><ul>
+      <!-- <li>cDNA/Protein splitframe window geometry preserved in Jalview projects</li>-->
+      <li>Signed OSX InstallAnywhere installer<br></li>
+      <li>Support for per-sequence based annotations in BioJSON</li></ul>
+        <em>Applet</em>
+        <ul><li>Split frame example added to applet examples page</li>
+            </ul>
+      </td>
+      <td>
+        <div align="left">
+        <em>General</em>
+          <ul>
+            <li>Mapping of cDNA to protein in split frames incorrect when sequence start > 1</li>
+            <li>Broken images in filter column by annotation dialog documentation</li>
+            <li>Feature colours not parsed from features file</li>
+            <li>Exceptions and incomplete link URLs recovered when loading a features file containing HTML tags in feature description</li>
+            
+          </ul>
+      <em>Application</em><ul>
+            <li>Annotations corrupted after BioJS export and reimport</li>
+            <li>Incorrect sequence limits after Fetch DB References with 'trim retrieved sequences'</li>
+            <li>Incorrect warning about deleting all data when deleting selected columns</li>
+            <li>Patch to build system for shipping properly signed JNLP templates for webstart launch</li>
+            <li>EMBL-PDBe fetcher/viewer dialogs do not offer unreleased structures for download or viewing</li>
+            <li>Tab/space/return keystroke operation of EMBL-PDBe fetcher/viewer dialogs works correctly</li>
+            <li>Disabled 'minimise' button on Jalview windows running on OSX to workaround redraw hang bug</li>
+            <li>Split cDNA/Protein view position and geometry not recovered from jalview project</li>
+            <li>Initial enabled/disabled state of annotation menu sorter 'show autocalculated first/last' corresponds to alignment view</li>
+            <li>Restoring of Clustal, RNA Helices and T-Coffee color schemes from BioJSON</li>
+            </ul>
+      <em>Applet</em><ul>
+            <li>Reorder sequences mirrored in cDNA/Protein split frame</li>
+            <li>Applet with Jmol examples not loading correctly</li>
+            </ul>
+        </div>
+      </td>
+    </tr>
+    <tr>
       <td><div align="center">
           <strong><a name="Jalview.2.9">2.9</a><br /> <em>10/9/2015</em></strong>
         </div></td>
       </td>
     </tr>
     <tr>
-      <td width="60" nowrap>
-        <div align="center">
-          <strong><a name="Jalview.2.8.2b1">2.8.2b1</a><br />
-            <em>15/12/2014</em></strong>
-        </div>
-      </td>
-      <td>
-        <div align="center"></div>
-      </td>
-      <td>
-        <div align="center">
-          <ul>
-            <li>Reinstated the display of default example file on
-              startup</li>
-            <li>All pairs shown in Jalview window when viewing
-              result of pairwise alignment</li>
-          </ul>
-        </div>
-      </td>
-    </tr>
-    <tr>
       <td><div align="center">
           <strong><a name="Jalview.2.8.2">2.8.2</a><br /> <em>3/12/2014</em></strong>
         </div></td>
index 87b6102..d7755c6 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 07473f2..07bba54 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f12b081..b30346d 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 60e27cf..7678136 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fdf48a1..5b05391 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fd2584a..95a1d47 100755 (executable)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a2fdeb1..6bd3f11 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 24851d9..b62a484 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 44bddea..128ac86 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8841b5e..be1045b 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a19d78e..714f77b 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3dac542..cc35b0b 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 63d5468..1c99a98 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ac25ed6..3a39871 100644 (file)
@@ -1,5 +1,5 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 736e786..17ac275 100755 (executable)
@@ -1,6 +1,6 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
     <strong>What's new ?</strong>
   </p>
   <p>
-    Jalview 2.9 has been in development since December 2014. In addition
+    Jalview 2.9.0b1 is a bug fix release for Jalview 2.9, which has been in development since December 2014. In addition
     to a multitude of bug fixes and minor improvements (both small, and
     rather big!), it also brings major new capabilities for codon-level
     analysis of protein alignments and the retrieval and manipulation of
-    structural data.</p><p>For the full list of changes, see the
-    <a href="releases.html#Jalview.2.9">Jalview 2.9 Release Notes</a>.
+    structural data.</p><p>For the patches since version 2.9 was release, see the
+    <a href="releases.html#Jalview.2.9.0b1">Jalview 2.9.0b1 Release Notes</a>.
   </p>
   <p>
     <strong>Highlights in Jalview 2.9</strong>
index c1329cb..1ace883 100755 (executable)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 79ee7eb..0c63653 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index efa19b2..8cb5a49 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 957d113..a98c6f9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 05d6427..54370d8 100644 (file)
@@ -1216,7 +1216,6 @@ label.no_colour_selection_warn = Error saving colour scheme
 label.open_split_window? = Would you like to open as a split window, with cDNA and protein linked?
 label.open_split_window = Open split window
 label.no_mappings = No mappings found
-label.mapping_failed = No sequence mapping could be made between the alignments.<br>A mapping requires sequence names to match, and equivalent sequence lengths.
 action.no = No
 action.yes = Yes
 label.for = for
index 6db40cf..3535f4b 100644 (file)
@@ -317,6 +317,7 @@ label.session_update = Actualizar sesi
 label.new_vamsas_session = Nueva sesión Vamsas
 label.load_vamsas_session = Cargar sesión Vamsas
 label.save_vamsas_session = Guardar sesión Vamsas
+action.save_vamsas_session = Guardar Sesión Vamsas
 label.select_vamsas_session_opened_as_new_vamsas_session= Selecciones una sesión vamsas para abrirla como una nueva sesión.
 label.open_saved_vamsas_session = Abrir una sesión VAMSAS guardada
 label.groovy_console = Consola Groovy 
@@ -640,7 +641,7 @@ label.view_structure = Visualizar estructura
 label.clustalx_colours = Colores de Clustalx
 label.above_identity_percentage = Sobre % identidad
 label.create_sequence_details_report_annotation_for = Anotación para {0}
-label.sequece_details_for = Detalles de la secuencia para {0}
+label.sequence_details_for = Detalles de la secuencia para {0}
 label.sequence_name = Nombre de la secuencia
 label.sequence_description = Descripción de la secuencia
 label.edit_sequence_name_description = Editar el nombre/descripción de la secuencia
@@ -805,7 +806,7 @@ label.invalid_name = Nombre no v
 label.set_proxy_settings = Por favor, configure su proxy en la pestaña 'Conexiones' de la ventana de Preferencia
 label.proxy_authorization_failed = Autorización del proxy fallida
 label.internal_jalview_error = Error interno de Jalview
-label.secondary_structure_prediction_service_couldnt_be_located = No se ha podido encontrar el Servicio de Predicciónd de la Estructura Secudaria {0} en {1}.
+label.secondary_structure_prediction_service_couldnt_be_located = No se ha podido encontrar el Servicio de Predicción de la Estructura Secundaria {0} en {1}.
 label.service_called_is_not_msa_service = El Servicio llamado \n{0}\nno es un \nServicio de Alineamiento M\u00FAltiple de Secuencias\!
 label.msa_service_is_unknown = El Servicio de Alineamiento Múltiple llamado {0} es desconocido
 label.service_called_is_not_seq_search_service = El Servicio llamando \n{0}\nno es un \nServicio de B\u00FAsqueda de Secuencias\!
@@ -1133,4 +1134,150 @@ label.show_histogram = Mostrar histograma
 label.show_logo = Mostrar logo
 label.normalise_logo = Normalizar logo
 label.no_colour_selection_in_scheme = Por favor, seleccione un color antes de aplicar el esquema cromático
-label.no_colour_selection_warn = Error guardando el esquema cromático
\ No newline at end of file
+label.no_colour_selection_warn = Error guardando el esquema cromático
+label.start_jalview = Arrancar Jalview
+warn.urls_no_jaba=URLs sin servicios JABA
+label.structure_chooser_filter_time=Selector de Estructura - Tiempo de filtro ({0})
+action.back=Atras
+action.choose_annotations=Escoja Anotaciones...
+action.feature_settings=Ajustes de características...
+info.invalid_msa_notenough=No suficientes datos de sequencia para alinear
+label.result=resultado
+label.results=resultados
+label.no_mappings=No hay mapeados encontrados
+label.struct_from_pdb=Procesar la estructura secundaria PDB
+label.hide_selected_annotations=Ocultar anotaciones seleccionados
+info.select_annotation_row=Seleccionar Fila de Anotaciones
+label.delete_all=Borrar todas las secuencias
+label.rnalifold_calculations=Predicción RNAAliFold
+label.rnalifold_settings=Cambiar ajustes RNAAliFold...
+label.sort_ann_by=Ordenar anotaciones por
+info.enter_search_text_here=Introducir texto de búsqueda aquí
+action.load_vamsas_session=Cargar Sesión Vamsas...
+label.show_all_al_annotations=Mostrar anotaciones relacionadas con el alineamiento 
+label.hide_all_al_annotations=Ocultar anotaciones relacionadas con el alineamiento
+label.show_all_seq_annotations=Mostrar anotaciones relacionadas con las secuencias
+label.hide_all_seq_annotations=Ocultar anotaciones relacionadas con las secuencias
+label.close_viewer=Cerrar Visualizador
+label.all_views=Todas las Vistas
+label.search_result=Resultado de búsqueda
+action.fetch_sequences=Recuperar Secuencias...
+label.hide_annotations=Ocultar anotaciones
+action.export_groups=Exportar Grupos
+action.no=No
+action.yes=Sí
+label.export_settings=Exportar Ajustes
+label.linked_view_title=Vista vinculada de cDNA y proteína
+label.view_protein_structure=Ver Estructura Proteica
+label.couldnt_read_data=No se pudo leer los datos
+status.opening_file=abriendo fichero
+label.except_selected_sequences=Todo excepto secuencias seleccionadas
+label.structure_chooser_no_of_structures=Selector de Estructuras - {0} Encontró ({1})
+label.search_filter=filtro de búsqueda
+label.sort_annotations_by_label=Ordenar por etiqueta
+label.sort_annotations_by_sequence=Ordenar por secuencia
+label.biojs_html_export=BioJS
+info.enter_search_text_to_enable=Introducir Texto de Búsqueda para Habilitar
+label.autoadd_secstr=Añadir anotación de estructura secundaria al alineamiento
+action.annotations=Anotaciones
+label.nuc_alignment_colour=Color del Alineamiento Nucleotídico
+label.copy_format_from=Copiar formato de
+label.chimera=Chimera
+label.open_split_window=Abrir ventana dividida
+label.open_split_window?=¿Quieres abrir ventana dividida, con cDNA y proteína vinculadas?
+status.searching_for_pdb_structures=Buscando Estructuras PDB
+label.scale_as_cdna=Adaptar residuos proteicos a los codones
+action.export_hidden_sequences=Exportar Secuencias Ocultas
+action.export_hidden_columns=Exportar Columnas Ocultas
+label.found_structures_summary=Resumen de Estructuras Encontradas
+info.no_pdb_entry_found_for=No se ha encontrada entrada PDB para {0}
+label.turn=Giro
+label.beta_strand=Lámina Beta
+label.show_first=Mostrar arriba
+label.show_last=Mostrar por debajo
+label.split_window=Ventana Dividida
+label.invalid_search=Texto de búsqueda inválido
+action.export_annotations=Exportar Anotaciones
+action.set_as_reference=Marcar como Referencia
+action.unmark_as_reference=Desmarcar como Referencia
+action.set_text_colour=Color de Texto...
+label.chimera_failed=Error al abrir Chimera - está instalado?\nCompruebe ruta en Preferencias, Estructura
+label.find=Buscar
+label.select_pdb_file=Seleccionar Fichero PDB
+label.structures_filter=Filtro de Estructuras
+label.scale_protein_to_cdna=Adaptar proteína a cDNA
+status.loading_cached_pdb_entries=Cargando Entradas PDB en Caché
+label.select=Seleccionar :
+label.select_by_annotation=Seleccionar/Ocultar Columnas por Anotación
+action.select_by_annotation=Seleccionar/Ocultar Columnas por Anotación...
+action.export_features=Exportar Características
+error.invalid_regex=Expresión regular inválida
+label.autoadd_temp=Añadir anotación factor de temperatura al alineamiento
+tooltip.rnalifold_settings=Modificar la configuración de la predicción RNAAlifold. Ãšselo para ocultar o mostrar resultados del cálculo de RNA, o cambiar parámetros de el plegado de RNA.
+label.chimera_path_tip=Jalview intentará primero las rutas introducidas aquí, Y si no las rutas usuales de instalación
+label.structure_chooser=Selector de Estructuras
+label.structure_chooser_manual_association=Selector de Estructuras - asociación manual
+label.threshold_filter=Filtro de Umbral
+label.add_reference_annotations=Añadir anotaciones de referencia
+label.hide_insertions=Ocultar Inserciones
+info.change_threshold_mode_to_enable=Cambiar Modo de Umbral para Habilitar
+label.separate_multiple_query_values=Introducir uno o mas {0}s separados por punto y coma ";"
+label.let_chimera_manage_structure_colours=Deja que Chimera maneje colores de estructuras
+label.view_rna_structure=Estructura 2D VARNA
+label.scale_protein_to_cdna_tip=Hacer a los residuos de proteínas de la misma anchura que los codones en ventanas divididas
+label.colour_with_chimera=Colorear con Chimera
+label.show_pdbstruct_dialog=Datos de Estructura 3D...
+label.hide_all=Ocultar todos
+label.invert=Invertir
+label.pdb_sequence_getcher=Buscador de Secuencias PDB
+tooltip.aacon_settings=Cambiar ajustes para cálculos AACon
+label.align=Alinear
+label.mark_as_representative=Marcar como representativa
+label.include_description=Incluir Descripción
+label.for=para
+label.invalid_chimera_path=Ruta de Chimera no encontrada o no ejecutable
+info.search_in_annotation_label=Buscar en etiqueta de {0}
+info.search_in_annotation_description=Buscar en descripción de {0}
+label.select_many_views=Seleccionar múltiples vistas
+label.add_annotations_for=Añadir anotaciones para
+action.background_colour=Color de Fondo...
+warn.urls_not_contacted=URLs que no pudieron ser contactados
+label.prot_alignment_colour=Color del Alineamiento Proteico
+info.associate_wit_sequence=Asociar con secuencia
+label.protein=Proteína
+warn.oneseq_msainput_selection=La selección actual sólo contiene una Ãºnica secuencia. Â¿Quieres enviar todas las secuencias para la alineación en su lugar?
+label.use_rnaview=Usar RNAView para estructura secondaria
+label.opens_the_jabaws_server_homepage=Abre la página de inicio del servidor JABAWS en navegador
+label.search_all=Introducir uno o más valores de búsqueda separados por punto y coma ";" (Nota: buscará en toda la base de datos PDB)
+label.confirm_close_chimera=Cerrará la conexión de Jalview a {0}.<br>¿Quieres cerrar la ventana Chimera también?
+tooltip.rnalifold_calculations=Se calcularán predicciones de estructura secondaria de RNA para el alineaminento, y se actualizarán si se efectuan cambios
+Calcular predicciónes de estructura secondaria para el alineamiento
+label.show_selected_annotations=Mostrar anotaciones seleccionadas
+status.colouring_chimera=Coloreando Chimera
+label.configure_displayed_columns=Configurar Columnas Mostradas
+exception.pdb_server_error=Error desde el servidor PDB
+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
+label.chimera_path=Ruta de acceso a programa Chimera
+warn.delete_all=<html>Borrar todas las secuencias cerrará la ventana del alineamiento.<br>Confirmar o Cancelar.
+label.select_all=Seleccionar Todos
+label.alpha_helix=Hélice Alfa
+label.sequence_details_for=Detalles de secuencia para {0}
+label.chimera_help=Ayuda para Chimera
+label.find_tip=Buscar alineamiento, selección o IDs de secuencia para una subsecuencia (sin huecos)
+exception.pdb_server_unreachable=Jalview no puede conectar con el servidor PDBE Solr.\nPor favor, asegúrese de que está conectado a Internet y vuelva a intentarlo.
+label.structure_viewer=Visualizador de estructura for defecto
+label.embbed_biojson=Incrustar BioJSON al exportar HTML
+label.transparency_tip=Ajustar la transparencia a "ver a través" los colores de las características.
+label.choose_annotations=Escoja anotaciones
+label.structure_options=Opciones Estructura
+label.view_name_original=Original
+label.aacon_settings=Cambiar Ajustes AACon...
+tooltip.aacon_calculations=Actualizar cálculos AACon automáticamente.
+info.select_filter_option=Escoger Opción de Filtro / Entrada Manual
+info.invalid_msa_input_mininfo=Necesita por lo menos dos secuencias con al menos 3 residuos cada una, sin regiones ocultas entre ellas.
+label.chimera_missing=Visualizador de estructura Chimera no encontrado.<br/>Por favor, introduzca la ruta de Chimera,<br/>o descargar e instalar la UCSF Chimera.
+label.save_as_biojs_html=Guardar como HTML BioJs
+exception.pdb_rest_service_no_longer_available=Servicios Rest PDB ya no están disponibles!
index 96edb05..ebe8e9c 100755 (executable)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index eec9068..95c4ade 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0e83d72..77d6a78 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b5af923..75ee421 100644 (file)
@@ -1,5 +1,5 @@
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index 42b5ef7..26c8910 100644 (file)
@@ -1,5 +1,5 @@
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index b002618..7e995dd 100755 (executable)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) 
+<!-- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) 
        * Copyright (C) 2015 The Jalview Authors * * This file is part of 
        Jalview. * * Jalview is free software: you can redistribute it and/or * modify 
        it under the terms of the GNU General Public License * as published by the 
index 4bce631..e693533 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9c95d5f..1de0918 100755 (executable)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 10587f5..fa9697c 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9cfb4ea..515e5c4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 620d3b8..0cfe3bd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b2fb5f5..7847ccd 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9a8c614..70ebc27 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e3ba289..a9018c7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fdd673b..472d791 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a6cd575..379eb91 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 364a46e..8d454e7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 58f8ed5..61f10eb 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2b0159e..d38faa2 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e7121d3..d57ee55 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 14fba2d..cb955db 100644 (file)
@@ -1,5 +1,5 @@
 ###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index 61bcdf6..57e2170 100755 (executable)
@@ -8,6 +8,7 @@
 package com.stevesoft.pat;
 
 import java.io.IOException;
+import java.io.StringWriter;
 import java.io.Writer;
 
 import com.stevesoft.pat.wrap.WriterWrap;
@@ -231,4 +232,51 @@ public class RegexWriter extends Writer
   {
     bufferSize = i;
   }
+
+  static void test(String re, String inp, int n) throws Exception
+  {
+    StringWriter sw = new StringWriter();
+    Regex rex = Regex.perlCode(re);
+    String res1 = rex.replaceAll(inp);
+    RegexWriter rw = new RegexWriter(rex, sw);
+    for (int i = 0; i < inp.length(); i++)
+    {
+      rw.write(inp.charAt(i));
+    }
+    rw.close();
+    String res2 = sw.toString();
+    if (!res1.equals(res2))
+    {
+      System.out.println("nmax=" + n);
+      System.out.println("re=" + re);
+      System.out.println("inp=" + inp);
+      System.out.println("res1=" + res1);
+      System.out.println("res2=" + res2);
+      System.exit(255);
+    }
+  }
+
+  public static void main(String[] args) throws Exception
+  {
+    for (int n = 1; n <= 1; n++)
+    {
+      test("s/x/y/", "-----x123456789", n);
+      test("s/x/y/", "x123456789", n);
+      test("s/x/y/", "-----x", n);
+      test("s/x.*?x/y/", ".xx..x..x...x...x....x....x", n);
+      test("s/x.*x/[$&]/", "--x........x--xx", n);
+      test("s/x.*x/[$&]/", "--x........x------", n);
+      test("s/.$/a/m", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbbbbbbbbbbbb", n);
+      test("s/.$/a/", "123", n);
+      test("s/.$/a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb", n);
+      test("s/^./a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb", n);
+      test("s/$/a/", "bbb", n);
+      test("s/^/a/", "bbb", n);
+      test("s/^/a/", "", n);
+      test("s{.*}{N}", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", n);
+      test("s/.{0,7}/y/", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", n);
+      test("s/x/$&/", "xxx", n);
+    }
+    System.out.println("Success!!!");
+  }
 }
index cd476f5..d88da24 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d0d9e53..24092a3 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0bd1696..ec6814b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8cd6797..2880fb0 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9d32f29..dd02dff 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 937775a..d14f3d2 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 079ce85..601552d 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5e1aaba..b21757b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 18284c4..677d394 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c4f83c9..11b5fe2 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4ea8a26..0cfb957 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ffaac05..751912c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index acdea32..5232bc2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 86c3043..168342e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f727ea9..3829498 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 57ce618..de7c0da 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 27405f9..ce1d229 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7ad7c39..e667683 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3a79959..d94befb 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 241eeeb..f2f7ea9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ca618e3..3954f8d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ac861d8..103fbf0 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 926317a..707c2f0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -228,8 +228,8 @@ public class AlignmentUtils
    * @param cdnaAlignment
    * @return
    */
-  public static boolean mapProteinToCdna(final AlignmentI proteinAlignment,
-          final AlignmentI cdnaAlignment)
+  public static boolean mapProteinAlignmentToCdna(
+          final AlignmentI proteinAlignment, final AlignmentI cdnaAlignment)
   {
     if (proteinAlignment == null || cdnaAlignment == null)
     {
@@ -275,7 +275,7 @@ public class AlignmentUtils
           final AlignmentI cdnaAlignment, Set<SequenceI> mappedDna,
           Set<SequenceI> mappedProtein, boolean xrefsOnly)
   {
-    boolean mappingPerformed = false;
+    boolean mappingExistsOrAdded = false;
     List<SequenceI> thisSeqs = proteinAlignment.getSequences();
     for (SequenceI aaSeq : thisSeqs)
     {
@@ -308,14 +308,18 @@ public class AlignmentUtils
         {
           continue;
         }
-        if (!mappingExists(proteinAlignment.getCodonFrames(),
+        if (mappingExists(proteinAlignment.getCodonFrames(),
                 aaSeq.getDatasetSequence(), cdnaSeq.getDatasetSequence()))
         {
-          MapList map = mapProteinToCdna(aaSeq, cdnaSeq);
+          mappingExistsOrAdded = true;
+        }
+        else
+        {
+          MapList map = mapProteinSequenceToCdna(aaSeq, cdnaSeq);
           if (map != null)
           {
             acf.addMap(cdnaSeq, aaSeq, map);
-            mappingPerformed = true;
+            mappingExistsOrAdded = true;
             proteinMapped = true;
             mappedDna.add(cdnaSeq);
             mappedProtein.add(aaSeq);
@@ -327,7 +331,7 @@ public class AlignmentUtils
         proteinAlignment.addCodonFrame(acf);
       }
     }
-    return mappingPerformed;
+    return mappingExistsOrAdded;
   }
 
   /**
@@ -360,7 +364,7 @@ public class AlignmentUtils
    * @param cdnaSeq
    * @return
    */
-  public static MapList mapProteinToCdna(SequenceI proteinSeq,
+  public static MapList mapProteinSequenceToCdna(SequenceI proteinSeq,
           SequenceI cdnaSeq)
   {
     /*
@@ -384,10 +388,10 @@ public class AlignmentUtils
      */
     final int mappedLength = 3 * aaSeqChars.length;
     int cdnaLength = cdnaSeqChars.length;
-    int cdnaStart = 1;
-    int cdnaEnd = cdnaLength;
-    final int proteinStart = 1;
-    final int proteinEnd = aaSeqChars.length;
+    int cdnaStart = cdnaSeq.getStart();
+    int cdnaEnd = cdnaSeq.getEnd();
+    final int proteinStart = proteinSeq.getStart();
+    final int proteinEnd = proteinSeq.getEnd();
 
     /*
      * If lengths don't match, try ignoring stop codon.
@@ -410,11 +414,13 @@ public class AlignmentUtils
     /*
      * If lengths still don't match, try ignoring start codon.
      */
+    int startOffset = 0;
     if (cdnaLength != mappedLength
             && cdnaLength > 2
             && String.valueOf(cdnaSeqChars, 0, 3).toUpperCase()
                     .equals(ResidueProperties.START))
     {
+      startOffset += 3;
       cdnaStart += 3;
       cdnaLength -= 3;
     }
@@ -423,7 +429,7 @@ public class AlignmentUtils
     {
       return null;
     }
-    if (!translatesAs(cdnaSeqChars, cdnaStart - 1, aaSeqChars))
+    if (!translatesAs(cdnaSeqChars, startOffset, aaSeqChars))
     {
       return null;
     }
@@ -567,6 +573,8 @@ public class AlignmentUtils
     /*
      * Traverse the aligned protein sequence.
      */
+    int fromOffset = alignFrom.getStart() - 1;
+    int toOffset = alignTo.getStart() - 1;
     int sourceGapMappedLength = 0;
     boolean inExon = false;
     for (char sourceChar : thatAligned)
@@ -583,7 +591,7 @@ public class AlignmentUtils
       sourceDsPos++;
       // Note mapping positions are base 1, our sequence positions base 0
       int[] mappedPos = mapping.getMappedRegion(alignTo, alignFrom,
-              sourceDsPos);
+              sourceDsPos + fromOffset);
       if (mappedPos == null)
       {
         /*
@@ -607,14 +615,15 @@ public class AlignmentUtils
        * But then 'align dna as protein' doesn't make much sense otherwise.
        */
       int intronLength = 0;
-      while (basesWritten < mappedCodonEnd && thisSeqPos < thisSeq.length)
+      while (basesWritten + toOffset < mappedCodonEnd
+              && thisSeqPos < thisSeq.length)
       {
         final char c = thisSeq[thisSeqPos++];
         if (c != myGapChar)
         {
           basesWritten++;
-
-          if (basesWritten < mappedCodonStart)
+          int sourcePosition = basesWritten + toOffset;
+          if (sourcePosition < mappedCodonStart)
           {
             /*
              * Found an unmapped (intron) base. First add in any preceding gaps
@@ -631,7 +640,7 @@ public class AlignmentUtils
           }
           else
           {
-            final boolean startOfCodon = basesWritten == mappedCodonStart;
+            final boolean startOfCodon = sourcePosition == mappedCodonStart;
             int gapsToAdd = calculateGapsToInsert(preserveMappedGaps,
                     preserveUnmappedGaps, sourceGapMappedLength, inExon,
                     trailingCopiedGap.length(), intronLength, startOfCodon);
@@ -1090,7 +1099,7 @@ public class AlignmentUtils
      * Just try to make a mapping (it is not yet stored), test whether
      * successful.
      */
-    return mapProteinToCdna(proteinDs, dnaDs) != null;
+    return mapProteinSequenceToCdna(proteinDs, dnaDs) != null;
   }
 
   /**
index c1dd6a7..9e35330 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 91c14c0..be47b02 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e978193..84b1556 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f12d801..d868959 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 83317c1..946a774 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 515bd91..810290b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fae459f..9b41b97 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 18c1bb9..b01c815 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e3a68ca..ace9540 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ace4ca4..7ad8fbc 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d186fc8..c580c77 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 588ea6e..ca85782 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bf75811..6489bae 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c742892..437ea98 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c029ea9..a51f2f2 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0fe85d9..4bfcd2b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b8b4f09..f5b22fd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2218a0e..947640d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b297213..ff75e2e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 46cbee6..28eaeb6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9ba5273..6d9a059 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3261f5b..0529198 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3145382..6ddd782 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 72a4164..cc09965 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index db429bc..768e78d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d379553..5e3cfca 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e533683..6bad826 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0408fb1..2f2c2f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8b99aa4..1a5ab5b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4349382..a4201e7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -22,7 +22,6 @@ package jalview.api;
 
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.SequenceI;
-import jalview.schemes.ColourSchemeI;
 
 /**
  * This interface should be implemented by complex file parser with the ability
@@ -44,7 +43,7 @@ public interface ComplexAlignFile
    * 
    * @return
    */
-  public ColourSchemeI getColourScheme();
+  public String getGlobalColourScheme();
 
   /**
    * Retrieves the Column selection/hidden column from a complex file parser
index d5adea6..d2175e1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e2701f2..413da9c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7bf680e..f85a709 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a7dc52f..0c5028e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 23d018c..609b081 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d28693a..d96ae93 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 55efb8d..687f2d8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d1e658a..cbdbbe0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 23439c6..e890aea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 89a2df0..40189cb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8b313dc..ef2fc71 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4aab6d3..21193e1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d366bcf..d0cbddc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index da16800..159ceeb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a726e3c..7379e80 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e01c4c9..3f0d736 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -75,6 +75,7 @@ import java.awt.BorderLayout;
 import java.awt.Canvas;
 import java.awt.CheckboxMenuItem;
 import java.awt.Color;
+import java.awt.FlowLayout;
 import java.awt.Font;
 import java.awt.FontMetrics;
 import java.awt.Frame;
@@ -83,6 +84,7 @@ import java.awt.Label;
 import java.awt.Menu;
 import java.awt.MenuBar;
 import java.awt.MenuItem;
+import java.awt.Panel;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.FocusEvent;
@@ -232,8 +234,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     normSequenceLogo.setState(viewport.isNormaliseSequenceLogo());
     applyToAllGroups.setState(viewport.getColourAppliesToAllGroups());
     annotationPanelMenuItem.setState(viewport.isShowAnnotation());
-    showAlignmentAnnotations.setState(viewport.isShowAnnotation());
-    showSequenceAnnotations.setState(viewport.isShowAnnotation());
+    showAlignmentAnnotations.setEnabled(annotationPanelMenuItem.getState());
+    showSequenceAnnotations.setEnabled(annotationPanelMenuItem.getState());
+    showAlignmentAnnotations.setState(true);
+    showSequenceAnnotations.setState(false);
 
     seqLimits.setState(viewport.getShowJVSuffix());
 
@@ -302,6 +306,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     alignPanel.annotationSpaceFillerHolder.addKeyListener(this);
     alignPanel.alabels.addKeyListener(this);
 
+    setAnnotationsVisibility();
+
     if (addToDisplay)
     {
       addToDisplay(embedded);
@@ -812,8 +818,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     }
     else if (source == annotationPanelMenuItem)
     {
-      viewport.setShowAnnotation(annotationPanelMenuItem.getState());
-      alignPanel.setAnnotationVisible(annotationPanelMenuItem.getState());
+      boolean showAnnotations = annotationPanelMenuItem.getState();
+      showAlignmentAnnotations.setEnabled(showAnnotations);
+      showSequenceAnnotations.setEnabled(showAnnotations);
+      viewport.setShowAnnotation(showAnnotations);
+      alignPanel.setAnnotationVisible(showAnnotations);
     }
     else if (source == sequenceFeatures)
     {
@@ -913,7 +922,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
   /**
    * Set the visibility state of sequence-related and/or alignment-related
-   * annotations depending on checkbox selections. Repaint after calling.
+   * annotations depending on checkbox selections, and repaint.
    * 
    * @param visible
    */
@@ -1743,9 +1752,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
               viewport, complement);
       complement.getAlignment().moveSelectedSequencesByOne(mappedSelection,
               up ? null : complement.getHiddenRepSequences(), up);
-      // TODO need to trigger a repaint of the complementary panel - how?
-      // would prefer to handle in SplitFrame but it is not overriding key
-      // listener chiz
+      getSplitFrame().getComplement(this).alignPanel.paintAlignment(true);
     }
   }
 
@@ -2059,9 +2066,32 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
       seqs.addElement(seq);
     }
 
-    // If the cut affects all sequences, remove highlighted columns
+    /*
+     * If the cut affects all sequences, warn, remove highlighted columns
+     */
     if (sg.getSize() == viewport.getAlignment().getHeight())
     {
+      boolean isEntireAlignWidth = (((sg.getEndRes() - sg.getStartRes()) + 1) == viewport
+              .getAlignment().getWidth()) ? true : false;
+      if (isEntireAlignWidth)
+      {
+        String title = MessageManager.getString("label.delete_all");
+        Panel infoPanel = new Panel();
+        infoPanel.setLayout(new FlowLayout());
+        infoPanel
+                .add(new Label(MessageManager.getString("warn.delete_all")));
+
+        final JVDialog dialog = new JVDialog(this, title, true, 400, 200);
+        dialog.setMainPanel(infoPanel);
+        dialog.ok.setLabel(MessageManager.getString("action.ok"));
+        dialog.cancel.setLabel(MessageManager.getString("action.cancel"));
+        dialog.setVisible(true);
+
+        if (!dialog.accept)
+        {
+          return;
+        }
+      }
       viewport.getColumnSelection().removeElements(sg.getStartRes(),
               sg.getEndRes() + 1);
     }
@@ -3357,8 +3387,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
             MessageManager.getString("label.sort_annotations_by_label"));
     showAutoFirst = new CheckboxMenuItem(
             MessageManager.getString("label.show_first"));
+    showAutoFirst.setState(false); // pending applet parameter
+    setShowAutoCalculatedAbove(showAutoFirst.getState());
     showAutoLast = new CheckboxMenuItem(
             MessageManager.getString("label.show_last"));
+    showAutoLast.setState(!showAutoFirst.getState());
     showAlignmentAnnotations.addItemListener(this);
     showSequenceAnnotations.addItemListener(this);
     sortAnnBySequence.addItemListener(this);
index f8355c3..ef09b97 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -187,8 +187,13 @@ public class AlignViewport extends AlignmentViewport implements
 
     if (applet != null)
     {
-      String colour = applet.getParameter("defaultColour");
-
+      String colour = al.isNucleotide() ? applet
+              .getParameter("defaultColourNuc") : applet
+              .getParameter("defaultColourProt");
+      if (colour == null)
+      {
+        colour = applet.getParameter("defaultColour");
+      }
       if (colour == null)
       {
         colour = applet.getParameter("userDefinedColour");
index d0088a1..a677401 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9df3b73..f979e62 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1a68682..9067656 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -49,7 +49,7 @@ import java.awt.event.TextListener;
 import java.util.Iterator;
 import java.util.Vector;
 
-import javax.swing.JPanel;
+//import javax.swing.JPanel;
 
 //import net.miginfocom.swing.MigLayout;
 
@@ -241,7 +241,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
     actionPanel.add(ok);
     actionPanel.add(cancel);
 
-    JPanel staticPanel = new JPanel();
+    Panel staticPanel = new Panel();
     staticPanel.setLayout(new BorderLayout());
     staticPanel.setBackground(Color.white);
 
index 201cfae..e066d0a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2dfa480..4974abe 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 45f7454..97cfa47 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c9f275b..f29ae77 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f7a121c..6c30eed 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c8bb972..4a33e50 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -33,6 +33,7 @@ import jalview.io.FileParse;
 import jalview.io.IdentifyFile;
 import jalview.io.NewickFile;
 import jalview.io.TCoffeeScoreFile;
+import jalview.json.binding.biojson.v1.ColourSchemeMapper;
 import jalview.schemes.ColourSchemeI;
 import jalview.schemes.TCoffeeColourScheme;
 import jalview.util.MessageManager;
@@ -259,12 +260,18 @@ public class CutAndPasteTransfer extends Panel implements ActionListener,
                   .getHiddenSequences();
           boolean showSeqFeatures = ((ComplexAlignFile) source)
                   .isShowSeqFeatures();
-          ColourSchemeI cs = ((ComplexAlignFile) source).getColourScheme();
+          String colourSchemeName = ((ComplexAlignFile) source)
+                  .getGlobalColourScheme();
           af = new AlignFrame(al, hiddenSeqs, colSel,
                   alignFrame.viewport.applet, "Cut & Paste input - "
                           + format, false);
           af.getAlignViewport().setShowSequenceFeatures(showSeqFeatures);
-          af.changeColour(cs);
+          ColourSchemeI cs = ColourSchemeMapper.getJalviewColourScheme(
+                  colourSchemeName, al);
+          if (cs != null)
+          {
+            af.changeColour(cs);
+          }
         }
         else
         {
@@ -304,7 +311,7 @@ public class CutAndPasteTransfer extends Panel implements ActionListener,
     }
     AlignmentI protein = thisAlignment.isNucleotide() ? al : thisAlignment;
     AlignmentI dna = thisAlignment.isNucleotide() ? thisAlignment : al;
-    boolean mapped = AlignmentUtils.mapProteinToCdna(protein, dna);
+    boolean mapped = AlignmentUtils.mapProteinAlignmentToCdna(protein, dna);
     if (!mapped)
     {
       return false;
@@ -332,6 +339,11 @@ public class CutAndPasteTransfer extends Panel implements ActionListener,
     }
 
     /*
+     * 'align' the added alignment to match the current one
+     */
+    al.alignAs(thisAlignment);
+
+    /*
      * Open SplitFrame with DNA above and protein below, including the alignment
      * from textbox and a copy of the original.
      */
index 3ebe791..1bb1535 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 906933a..fdd7d46 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6479296..3e1f1b4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e6e87f2..eb573db 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1dc48d2..690b55e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 01e096e..b4e8dd9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b1dcb88..a163e3e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8ada2e9..f9cdf86 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 58a4f10..94cca88 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index eba52d5..cf260b9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fe52738..589bbae 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 59a5867..261f1c2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -28,6 +28,8 @@ import java.awt.Frame;
 import java.awt.Panel;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 
 public class JVDialog extends Dialog implements ActionListener
 {
@@ -56,6 +58,20 @@ public class JVDialog extends Dialog implements ActionListener
             width, height);
   }
 
+  public JVDialog(Frame owner, Panel mainPanel, String title,
+          boolean modal, int width, int height)
+  {
+    super(owner, title, modal);
+    this.owner = owner;
+
+    height += owner.getInsets().top + getInsets().bottom;
+
+    setBounds(owner.getBounds().x + (owner.getSize().width - width) / 2,
+            owner.getBounds().y + (owner.getSize().height - height) / 2,
+            width, height);
+    setMainPanel(mainPanel);
+  }
+
   void setMainPanel(Panel panel)
   {
     add(panel, BorderLayout.NORTH);
@@ -66,9 +82,17 @@ public class JVDialog extends Dialog implements ActionListener
     buttonPanel.add(cancel);
     ok.addActionListener(this);
     cancel.addActionListener(this);
-
     add(buttonPanel, BorderLayout.SOUTH);
 
+    addWindowListener(new WindowAdapter()
+    {
+      public void windowClosing(WindowEvent ev)
+      {
+        setVisible(false);
+        dispose();
+      }
+    });
+
     pack();
 
   }
@@ -81,6 +105,7 @@ public class JVDialog extends Dialog implements ActionListener
     }
 
     setVisible(false);
+    dispose();
   }
 
 }
index 3a6fe49..b92229f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b0b8c9c..59b37fd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7724880..15af882 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1c95c12..d25cf7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d0fcd58..8e014fa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f38d291..52e7b67 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2445e2c..60fb365 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7689535..aec6e94 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index db6add7..97830a3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -481,7 +481,7 @@ public class SeqPanel extends Panel implements MouseMotionListener,
          * Convert position in sequence (base 1) to sequence character array
          * index (base 0)
          */
-        int start = m.getStart() - 1;
+        int start = m.getStart() - m.getSequence().getStart();
         setStatusMessage(seq, start, sequenceIndex);
         return true;
       }
index b843526..29e51c5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d49cd6c..d506e5f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8255850..9b58659 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -20,7 +20,6 @@
  */
 package jalview.appletgui;
 
-import jalview.analysis.AlignmentUtils;
 import jalview.api.AlignmentViewPanel;
 import jalview.api.ViewStyleI;
 import jalview.bin.JalviewLite;
@@ -44,12 +43,14 @@ public class SplitFrame extends EmbmenuFrame
   private Panel outermost;
 
   /**
-   * Constructor
+   * Constructs the split frame placing cdna in the top half. No 'alignment' is
+   * performed here, this should be done by the calling client if wanted.
    */
   public SplitFrame(AlignFrame af1, AlignFrame af2)
   {
-    topFrame = af1;
-    bottomFrame = af2;
+    boolean af1IsNucleotide = af1.viewport.getAlignment().isNucleotide();
+    topFrame = af1IsNucleotide ? af1 : af2;
+    bottomFrame = topFrame == af1 ? af2 : af1;
     init();
   }
 
@@ -75,20 +76,15 @@ public class SplitFrame extends EmbmenuFrame
     AlignmentViewport protein = !topAlignment.isNucleotide() ? topViewport
             : (!bottomAlignment.isNucleotide() ? bottomViewport : null);
 
-    boolean mapped = AlignmentUtils.mapProteinToCdna(
-            protein.getAlignment(), cdna.getAlignment());
-    if (mapped)
-    {
-      final StructureSelectionManager ssm = StructureSelectionManager
-              .getStructureSelectionManager(topViewport.applet);
-      ssm.registerMappings(protein.getAlignment().getCodonFrames());
-      topViewport.setCodingComplement(bottomViewport);
-      ssm.addCommandListener(cdna);
-      ssm.addCommandListener(protein);
-    }
+    final StructureSelectionManager ssm = StructureSelectionManager
+            .getStructureSelectionManager(topViewport.applet);
+    ssm.registerMappings(protein.getAlignment().getCodonFrames());
+    topViewport.setCodingComplement(bottomViewport);
+    ssm.addCommandListener(cdna);
+    ssm.addCommandListener(protein);
 
     /*
-     * Now mappings exist, can compute cDNA consensus on protein alignment
+     * Compute cDNA consensus on protein alignment
      */
     protein.initComplementConsensus();
     AlignmentViewPanel ap = topAlignment.isNucleotide() ? bottomFrame.alignPanel
index 64a8cbc..8502453 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e16c594..a1a9888 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8d0cc42..4326b6a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 64716b0..2e0edfd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index de3569a..d4ba9e5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f26afba..3445cc9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 21d5205..ca01027 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -417,7 +417,7 @@ public class Cache
             System.out.println("# INFO: Setting default net timeout to "
                     + orgtimeout + " seconds.");
           }
-          String jnlpVersion = null;
+          String remoteVersion = null;
           try
           {
             System.setProperty("sun.net.client.defaultConnectTimeout",
@@ -437,20 +437,20 @@ public class Cache
 
               line = line.substring(line.indexOf("value=") + 7);
               line = line.substring(0, line.lastIndexOf("\""));
-              jnlpVersion = line;
+              remoteVersion = line;
               break;
             }
           } catch (Exception ex)
           {
             System.out
-                    .println("Non-fatal exceptions when checking version at www.jalview.org :");
+                    .println("Non-fatal exception when checking version at www.jalview.org :");
             System.out.println(ex);
-            jnlpVersion = getProperty("VERSION");
+            remoteVersion = getProperty("VERSION");
           }
           System.setProperty("sun.net.client.defaultConnectTimeout",
                   orgtimeout);
 
-          setProperty("LATEST_VERSION", jnlpVersion);
+          setProperty("LATEST_VERSION", remoteVersion);
         }
       }
 
index e29cbe1..fcee9e1 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -387,7 +387,7 @@ public class Jalview
       }
       else
       {
-
+        Desktop.setCurrentAlignFrame(af);
         data = aparser.getValue("colour", true);
         if (data != null)
         {
index 59424df..9526ae9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -45,8 +45,10 @@ import jalview.io.NewickFile;
 import jalview.javascript.JSFunctionExec;
 import jalview.javascript.JalviewLiteJsApi;
 import jalview.javascript.JsCallBack;
+import jalview.javascript.MouseOverStructureListener;
 import jalview.structure.SelectionListener;
 import jalview.structure.StructureSelectionManager;
+import jalview.util.HttpUtils;
 import jalview.util.MessageManager;
 
 import java.applet.Applet;
@@ -61,10 +63,9 @@ import java.awt.event.ActionEvent;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.StringTokenizer;
@@ -92,7 +93,7 @@ public class JalviewLite extends Applet implements
   }
 
   // /////////////////////////////////////////
-  // The following public methods maybe called
+  // The following public methods may be called
   // externally, eg via javascript in HTML page
   /*
    * (non-Javadoc)
@@ -956,11 +957,16 @@ public class JalviewLite extends Applet implements
     }
   }
 
-  /*
-   * (non-Javadoc)
-   * 
+  /**
+   * Callable from javascript to register a javascript function to pass events
+   * to a structure viewer.
+   *
+   * @param listener
+   *          the name of a javascript function
+   * @param modelSet
+   *          a token separated list of PDB file names listened for
    * @see jalview.bin.JalviewLiteJsApi#setStructureListener(java.lang.String,
-   * java.lang.String)
+   *      java.lang.String)
    */
   public void setStructureListener(String listener, String modelSet)
   {
@@ -974,8 +980,8 @@ public class JalviewLite extends Applet implements
         return;
       }
     }
-    jalview.javascript.MouseOverStructureListener mol = new jalview.javascript.MouseOverStructureListener(
-            this, listener, separatorListToArray(modelSet));
+    MouseOverStructureListener mol = new MouseOverStructureListener(this,
+            listener, separatorListToArray(modelSet));
     javascriptListeners.addElement(mol);
     StructureSelectionManager.getStructureSelectionManager(this)
             .addStructureViewerListener(mol);
@@ -1345,9 +1351,10 @@ public class JalviewLite extends Applet implements
   /**
    * init method for Jalview Applet
    */
+  @Override
   public void init()
   {
-    // remove any handlers that might be hanging around from an earlier instance
+    debug = TRUE.equalsIgnoreCase(getParameter("debug"));
     try
     {
       if (debug)
@@ -1370,17 +1377,12 @@ public class JalviewLite extends Applet implements
         ex.printStackTrace();
       }
     }
-    /**
-     * turn on extra applet debugging
-     */
-    debug = TRUE.equalsIgnoreCase(getParameter("debug"));
+
     if (debug)
     {
-
       System.err.println("JalviewLite Version " + getVersion());
       System.err.println("Build Date : " + getBuildDate());
       System.err.println("Installation : " + getInstallation());
-
     }
     String externalsviewer = getParameter("externalstructureviewer");
     if (externalsviewer != null)
@@ -1789,27 +1791,72 @@ public class JalviewLite extends Applet implements
      * update the protocol state variable for accessing the datasource located
      * by file.
      * 
-     * @param file
+     * @param path
      * @return possibly updated datasource string
      */
-    public String setProtocolState(String file)
+    public String resolveFileProtocol(String path)
     {
-      if (file.startsWith("PASTE"))
+      /*
+       * is it paste data?
+       */
+      if (path.startsWith("PASTE"))
       {
-        file = file.substring(5);
         protocol = AppletFormatAdapter.PASTE;
+        return path.substring(5);
       }
-      else if (inArchive(file))
+
+      /*
+       * is it a URL?
+       */
+      if (path.indexOf("://") != -1)
       {
-        protocol = AppletFormatAdapter.CLASSLOADER;
+        protocol = AppletFormatAdapter.URL;
+        return path;
       }
-      else
+
+      /*
+       * try relative to document root
+       */
+      URL documentBase = getDocumentBase();
+      String withDocBase = resolveUrlForLocalOrAbsolute(path, documentBase);
+      if (HttpUtils.isValidUrl(withDocBase))
       {
-        file = addProtocol(file);
+        if (debug)
+        {
+          System.err.println("Prepended document base '" + documentBase
+                  + "' to make: '" + withDocBase + "'");
+        }
         protocol = AppletFormatAdapter.URL;
+        return withDocBase;
       }
-      dbgMsg("Protocol identified as '" + protocol + "'");
-      return file;
+
+      /*
+       * try relative to codebase (if different to document base)
+       */
+      URL codeBase = getCodeBase();
+      String withCodeBase = applet.resolveUrlForLocalOrAbsolute(path,
+              codeBase);
+      if (!withCodeBase.equals(withDocBase)
+              && HttpUtils.isValidUrl(withCodeBase))
+      {
+        protocol = AppletFormatAdapter.URL;
+        if (debug)
+        {
+          System.err.println("Prepended codebase '" + codeBase
+                  + "' to make: '" + withCodeBase + "'");
+        }
+        return withCodeBase;
+      }
+
+      /*
+       * try locating by classloader; try this last so files in the directory
+       * are resolved using document base
+       */
+      if (inArchive(path))
+      {
+        protocol = AppletFormatAdapter.CLASSLOADER;
+      }
+      return path;
     }
 
     public LoadingThread(String file, String file2, JalviewLite _applet)
@@ -1885,8 +1932,11 @@ public class JalviewLite extends Applet implements
       {
         AlignmentI al1 = af.viewport.getAlignment();
         AlignmentI al2 = af2.viewport.getAlignment();
-        if (AlignmentUtils.isMappable(al1, al2))
+        AlignmentI cdna = al1.isNucleotide() ? al1 : al2;
+        AlignmentI prot = al1.isNucleotide() ? al2 : al1;
+        if (AlignmentUtils.mapProteinAlignmentToCdna(prot, cdna))
         {
+          al2.alignAs(al1);
           SplitFrame sf = new SplitFrame(af, af2);
           sf.addToDisplay(embedded, JalviewLite.this);
           return;
@@ -1916,7 +1966,7 @@ public class JalviewLite extends Applet implements
       {
         return null;
       }
-      String resolvedFile = setProtocolState(fileParam);
+      String resolvedFile = resolveFileProtocol(fileParam);
       String format = new IdentifyFile().Identify(resolvedFile, protocol);
       dbgMsg("File identified as '" + format + "'");
       AlignmentI al = null;
@@ -2051,8 +2101,8 @@ public class JalviewLite extends Applet implements
           else
           {
             param = st.nextToken();
-            Vector tmp = new Vector();
-            Vector tmp2 = new Vector();
+            List<SequenceI> tmp = new ArrayList<SequenceI>();
+            List<String> tmp2 = new ArrayList<String>();
 
             while (st.hasMoreTokens())
             {
@@ -2061,39 +2111,22 @@ public class JalviewLite extends Applet implements
               if (st2.countTokens() > 1)
               {
                 // This is the chain
-                tmp2.addElement(st2.nextToken());
+                tmp2.add(st2.nextToken());
                 seqstring = st2.nextToken();
               }
-              tmp.addElement(matcher == null ? (Sequence) alignFrame
+              tmp.add(matcher == null ? (Sequence) alignFrame
                       .getAlignViewport().getAlignment()
                       .findName(seqstring) : matcher.findIdMatch(seqstring));
             }
 
-            seqs = new SequenceI[tmp.size()];
-            tmp.copyInto(seqs);
+            seqs = tmp.toArray(new SequenceI[tmp.size()]);
             if (tmp2.size() == tmp.size())
             {
-              chains = new String[tmp2.size()];
-              tmp2.copyInto(chains);
+              chains = tmp2.toArray(new String[tmp2.size()]);
             }
           }
-          param = setProtocolState(param);
-
-          if (// !jmolAvailable
-          // &&
-          protocol == AppletFormatAdapter.CLASSLOADER && !useXtrnalSviewer)
-          {
-            // Re: JAL-357 : the bug isn't a problem if we are using an
-            // external viewer!
-            // TODO: verify this Re:
-            // https://mantis.lifesci.dundee.ac.uk/view.php?id=36605
-            // This exception preserves the current behaviour where, even if
-            // the local pdb file was identified in the class loader
-            protocol = AppletFormatAdapter.URL; // this is probably NOT
-            // CORRECT!
-            param = addProtocol(param); //
-          }
-
+          param = resolveFileProtocol(param);
+          // TODO check JAL-357 for files in a jar (CLASSLOADER)
           pdb.setFile(param);
 
           if (seqs != null)
@@ -2170,7 +2203,7 @@ public class JalviewLite extends Applet implements
       {
         try
         {
-          param = setProtocolState(param);
+          param = resolveFileProtocol(param);
           JPredFile predictions = new JPredFile(param, protocol);
           JnetAnnotationMaker.add_annotation(predictions,
                   alignFrame.viewport.getAlignment(), 0, false);
@@ -2205,7 +2238,7 @@ public class JalviewLite extends Applet implements
       String param = applet.getParameter("annotations");
       if (param != null)
       {
-        param = setProtocolState(param);
+        param = resolveFileProtocol(param);
 
         if (new AnnotationFile().annotateAlignmentView(alignFrame.viewport,
                 param, protocol))
@@ -2258,7 +2291,7 @@ public class JalviewLite extends Applet implements
       param = applet.getParameter("features");
       if (param != null)
       {
-        param = setProtocolState(param);
+        param = resolveFileProtocol(param);
 
         result = alignFrame.parseFeaturesFile(param, protocol);
       }
@@ -2327,7 +2360,7 @@ public class JalviewLite extends Applet implements
       {
         try
         {
-          treeFile = setProtocolState(treeFile);
+          treeFile = resolveFileProtocol(treeFile);
           NewickFile fin = new NewickFile(treeFile, protocol);
           fin.parse();
 
@@ -2352,114 +2385,29 @@ public class JalviewLite extends Applet implements
     /**
      * Discovers whether the given file is in the Applet Archive
      * 
-     * @param file
+     * @param f
      *          String
      * @return boolean
      */
-    boolean inArchive(String file)
+    boolean inArchive(String f)
     {
       // This might throw a security exception in certain browsers
       // Netscape Communicator for instance.
       try
       {
-        boolean rtn = (getClass().getResourceAsStream("/" + file) != null);
+        boolean rtn = (getClass().getResourceAsStream("/" + f) != null);
         if (debug)
         {
-          System.err.println("Resource '" + file + "' was "
-                  + (rtn ? "" : "not") + " located by classloader.");
+          System.err.println("Resource '" + f + "' was "
+                  + (rtn ? "" : "not ") + "located by classloader.");
         }
         return rtn;
       } catch (Exception ex)
       {
-        System.out.println("Exception checking resources: " + file + " "
-                + ex);
+        System.out.println("Exception checking resources: " + f + " " + ex);
         return false;
       }
     }
-
-    /**
-     * If the file is not already in URL format, tries to locate it by resolving
-     * as a URL.
-     * 
-     * @param f
-     * @return
-     */
-    String addProtocol(final String f)
-    {
-      if (f.indexOf("://") != -1)
-      {
-        // already has URL format
-        return f;
-      }
-
-      /*
-       * Try relative to document base
-       */
-      URL documentBase = getDocumentBase();
-      String url = applet.resolveUrlForLocalOrAbsolute(f, documentBase);
-      if (urlExists(url))
-      {
-        if (debug)
-        {
-          System.err.println("Prepended document base '" + documentBase
-                  + "' to make: '" + url + "'");
-        }
-        return url;
-      }
-
-      /*
-       * Try relative to codebase
-       */
-      URL codeBase = getCodeBase();
-      url = applet.resolveUrlForLocalOrAbsolute(f, codeBase);
-      if (urlExists(url))
-      {
-        if (debug)
-        {
-          System.err.println("Prepended codebase '" + codeBase
-                  + "' to make: '" + url + "'");
-        }
-        return url;
-      }
-
-      return f;
-    }
-
-    /**
-     * Returns true if an input stream can be opened on the specified URL, else
-     * false.
-     * 
-     * @param url
-     * @return
-     */
-    private boolean urlExists(String url)
-    {
-      InputStream is = null;
-      try
-      {
-        is = new URL(url).openStream();
-        if (is != null)
-        {
-          return true;
-        }
-      } catch (Exception x)
-      {
-        // ignore
-      } finally
-      {
-        if (is != null)
-        {
-          try
-          {
-            is.close();
-          } catch (IOException e)
-          {
-            // ignore
-          }
-        }
-      }
-      return false;
-    }
   }
 
   /**
@@ -2512,8 +2460,9 @@ public class JalviewLite extends Applet implements
    * @param separator
    * @return elements separated by separator
    */
-  public String[] separatorListToArray(String list, String separator)
+  public static String[] separatorListToArray(String list, String separator)
   {
+    // TODO use StringUtils version (slightly different...)
     int seplen = separator.length();
     if (list == null || list.equals("") || list.equals(separator))
     {
@@ -2579,8 +2528,9 @@ public class JalviewLite extends Applet implements
    * @param separator
    * @return concatenated string
    */
-  public String arrayToSeparatorList(String[] list, String separator)
+  public static String arrayToSeparatorList(String[] list, String separator)
   {
+    // TODO use StringUtils version
     StringBuffer v = new StringBuffer();
     if (list != null && list.length > 0)
     {
@@ -2898,35 +2848,61 @@ public class JalviewLite extends Applet implements
    * form a complete URL given a path to a resource and a reference location on
    * the same server
    * 
-   * @param url
+   * @param targetPath
    *          - an absolute path on the same server as localref or a document
    *          located relative to localref
    * @param localref
    *          - a URL on the same server as url
    * @return a complete URL for the resource located by url
    */
-  private String resolveUrlForLocalOrAbsolute(String url, URL localref)
+  private String resolveUrlForLocalOrAbsolute(String targetPath,
+          URL localref)
   {
-    String codebase = localref.toString();
-    if (url.indexOf("/") == 0)
+    String resolvedPath = "";
+    if (targetPath.startsWith("/"))
     {
+      String codebase = localref.toString();
       String localfile = localref.getFile();
-      url = codebase.substring(0, codebase.length() - localfile.length())
-              + url;
+      resolvedPath = codebase.substring(0,
+              codebase.length() - localfile.length())
+              + targetPath;
+      return resolvedPath;
+    }
+
+    /*
+     * get URL path and strip off any trailing file e.g.
+     * www.jalview.org/examples/index.html#applets?a=b is trimmed to
+     * www.jalview.org/examples/
+     */
+    String urlPath = localref.toString();
+    String directoryPath = urlPath;
+    int lastSeparator = directoryPath.lastIndexOf("/");
+    if (lastSeparator > 0)
+    {
+      directoryPath = directoryPath.substring(0, lastSeparator + 1);
+    }
+
+    if (targetPath.startsWith("/"))
+    {
+      /*
+       * construct absolute URL to a file on the server - this is not allowed?
+       */
+      // String localfile = localref.getFile();
+      // resolvedPath = urlPath.substring(0,
+      // urlPath.length() - localfile.length())
+      // + targetPath;
+      resolvedPath = directoryPath + targetPath.substring(1);
     }
     else
     {
-      url = localref + url;
+      resolvedPath = directoryPath + targetPath;
     }
     if (debug)
     {
-      System.err.println("URL: " + localref.toString());
-      System.err.println("URL.getFile: " + localref.getFile());
-      System.err.println("URL.getPath: " + localref.getPath());
-      System.err.println("URL.getQuery: " + localref.getQuery());
-      System.err.println("returning " + url);
+      System.err.println("resolveUrlForLocalOrAbsolute returning "
+              + resolvedPath);
     }
-    return url;
+    return resolvedPath;
   }
 
   /**
@@ -2948,8 +2924,8 @@ public class JalviewLite extends Applet implements
         URL prepend;
         url = resolveUrlForLocalOrAbsolute(
                 url,
-                prepend = getDefaultParameter("resolvetocodebase", false) ? getDocumentBase()
-                        : getCodeBase());
+                prepend = getDefaultParameter("resolvetocodebase", false) ? getCodeBase()
+                        : getDocumentBase());
         if (debug)
         {
           System.err
index 4167aa2..8e14d3b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b68b47c..6a1287a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 291dcde..0f19297 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1cd6fcc..7509fde 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -1220,10 +1220,15 @@ public class EditCommand implements CommandI
         for (SequenceI seq : e.getSequences())
         {
           SequenceI ds = seq.getDatasetSequence();
-          SequenceI preEdit = result.get(ds);
-          if (preEdit == null)
+          // SequenceI preEdit = result.get(ds);
+          if (!result.containsKey(ds))
           {
-            preEdit = new Sequence("", seq.getSequenceAsString());
+            /*
+             * copy sequence including start/end (but don't use copy constructor
+             * as we don't need annotations)
+             */
+            SequenceI preEdit = new Sequence("", seq.getSequenceAsString(),
+                    seq.getStart(), seq.getEnd());
             preEdit.setDatasetSequence(ds);
             result.put(ds, preEdit);
           }
@@ -1236,10 +1241,10 @@ public class EditCommand implements CommandI
      * Work backwards through the edit list, deriving the sequences before each
      * was applied. The final result is the sequence set before any edits.
      */
-    Iterator<Edit> edits = new ReverseListIterator<Edit>(getEdits());
-    while (edits.hasNext())
+    Iterator<Edit> editList = new ReverseListIterator<Edit>(getEdits());
+    while (editList.hasNext())
     {
-      Edit oldEdit = edits.next();
+      Edit oldEdit = editList.next();
       Action action = oldEdit.getAction();
       int position = oldEdit.getPosition();
       int number = oldEdit.getNumber();
@@ -1250,7 +1255,8 @@ public class EditCommand implements CommandI
         SequenceI preEdit = result.get(ds);
         if (preEdit == null)
         {
-          preEdit = new Sequence("", seq.getSequenceAsString());
+          preEdit = new Sequence("", seq.getSequenceAsString(),
+                  seq.getStart(), seq.getEnd());
           preEdit.setDatasetSequence(ds);
           result.put(ds, preEdit);
         }
index 393044d..f6d3b46 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c9d8b56..1f068e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c81f04f..8513e0d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 153371a..9299bcf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 32b9847..b745d7a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fd5a873..a069dcc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 99fc355..6e3814f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 80c91fd..11481c8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3913afc..5b2557f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 005f3c7..64cba1e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a9ca1e3..f88d5a6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8a9cd52..05492e8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -399,13 +399,13 @@ public class AlignedCodonFrame
       return null;
     }
     MapList ml = null;
-    char[] dnaSeq = null;
+    SequenceI dnaSeq = null;
     for (int i = 0; i < dnaToProt.length; i++)
     {
       if (dnaToProt[i].to == protein)
       {
         ml = getdnaToProt()[i];
-        dnaSeq = dnaSeqs[i].getSequence();
+        dnaSeq = dnaSeqs[i];
         break;
       }
     }
@@ -423,8 +423,10 @@ public class AlignedCodonFrame
      * Read off the mapped nucleotides (converting to position base 0)
      */
     codonPos = MappingUtils.flattenRanges(codonPos);
-    return new char[] { dnaSeq[codonPos[0] - 1], dnaSeq[codonPos[1] - 1],
-        dnaSeq[codonPos[2] - 1] };
+    char[] dna = dnaSeq.getSequence();
+    int start = dnaSeq.getStart();
+    return new char[] { dna[codonPos[0] - start], dna[codonPos[1] - start],
+        dna[codonPos[2] - start] };
   }
 
   /**
index 75b18d9..ef961d0 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ab11089..c140aa1 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -957,6 +957,12 @@ public class AlignmentAnnotation
 
   }
 
+  /**
+   * When positional annotation and a sequence reference is present, clears and
+   * resizes the annotations array to the current alignment width, and adds
+   * annotation according to aligned positions of the sequenceRef given by
+   * sequenceMapping.
+   */
   public void adjustForAlignment()
   {
     if (sequenceRef == null)
@@ -980,18 +986,20 @@ public class AlignmentAnnotation
     int position;
     Annotation[] temp = new Annotation[aSize];
     Integer index;
-
-    for (a = sequenceRef.getStart(); a <= sequenceRef.getEnd(); a++)
+    if (sequenceMapping != null)
     {
-      index = new Integer(a);
-      if (sequenceMapping.containsKey(index))
+      for (a = sequenceRef.getStart(); a <= sequenceRef.getEnd(); a++)
       {
-        position = sequenceRef.findIndex(a) - 1;
+        index = new Integer(a);
+        Annotation annot = sequenceMapping.get(index);
+        if (annot != null)
+        {
+          position = sequenceRef.findIndex(a) - 1;
 
-        temp[position] = sequenceMapping.get(index);
+          temp[position] = annot;
+        }
       }
     }
-
     annotations = temp;
   }
 
@@ -1028,11 +1036,11 @@ public class AlignmentAnnotation
   }
 
   /**
-   * Associate this annotion with the aligned residues of a particular sequence.
-   * sequenceMapping will be updated in the following way: null sequenceI -
-   * existing mapping will be discarded but annotations left in mapped
-   * positions. valid sequenceI not equal to current sequenceRef: mapping is
-   * discarded and rebuilt assuming 1:1 correspondence TODO: overload with
+   * Associate this annotation with the aligned residues of a particular
+   * sequence. sequenceMapping will be updated in the following way: null
+   * sequenceI - existing mapping will be discarded but annotations left in
+   * mapped positions. valid sequenceI not equal to current sequenceRef: mapping
+   * is discarded and rebuilt assuming 1:1 correspondence TODO: overload with
    * parameter to specify correspondence between current and new sequenceRef
    * 
    * @param sequenceI
index 3aaae1f..4a94997 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6d257a9..fccbea9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9023ade..67fc2c3 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 88e9a9c..e7c9316 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0c159b3..7ebdd7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1900826..63ef590 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ec6e346..6ee6efd 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ff2784d..ceecb74 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 61f3c33..c13b32c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0dfa84d..420a95e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f65a3c1..a94013b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 00e120d..e618679 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 15bbffa..8559df9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bc5588a..c5b29bc 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3982802..499179b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 17a2e64..c6e8ce3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5fdd946..a3d5b77 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 09c1b78..db3e64c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f2b5a50..9fce1e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2e76e41..e585457 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -48,6 +48,11 @@ public class Mapping
     private final char[] alignedSeq;
 
     /*
+     * the sequence start residue
+     */
+    private int start;
+
+    /*
      * Next position (base 0) in the aligned sequence
      */
     private int alignedColumn = 0;
@@ -90,13 +95,14 @@ public class Mapping
     /**
      * Constructor
      * 
-     * @param cs
-     *          the aligned sequence characters
+     * @param seq
+     *          the aligned sequence
      * @param gapChar
      */
-    public AlignedCodonIterator(char[] cs, char gapChar)
+    public AlignedCodonIterator(SequenceI seq, char gapChar)
     {
-      this.alignedSeq = cs;
+      this.alignedSeq = seq.getSequence();
+      this.start = seq.getStart();
       this.gap = gapChar;
       fromRanges = map.getFromRanges().iterator();
       toRanges = map.getToRanges().iterator();
@@ -165,7 +171,8 @@ public class Mapping
       // i.e. code like getNextCodon()
       if (toPosition <= currentToRange[1])
       {
-        char pep = Mapping.this.to.getSequence()[toPosition - 1];
+        SequenceI seq = Mapping.this.to;
+        char pep = seq.getSequence()[toPosition - seq.getStart()];
         toPosition++;
         return String.valueOf(pep);
       }
@@ -242,8 +249,11 @@ public class Mapping
      */
     private int getAlignedColumn(int sequencePos)
     {
-      while (alignedBases < sequencePos
-              && alignedColumn < alignedSeq.length)
+      /*
+       * allow for offset e.g. treat pos 8 as 2 if sequence starts at 7
+       */
+      int truePos = sequencePos - (start - 1);
+      while (alignedBases < truePos && alignedColumn < alignedSeq.length)
       {
         if (alignedSeq[alignedColumn++] != gap)
         {
@@ -692,7 +702,7 @@ public class Mapping
 
   public Iterator<AlignedCodon> getCodonIterator(SequenceI seq, char gapChar)
   {
-    return new AlignedCodonIterator(seq.getSequence(), gapChar);
+    return new AlignedCodonIterator(seq, gapChar);
   }
 
 }
index 4bc3871..c31bd27 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 06790d7..95043cc 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 48752aa..478e6b0 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8f168ab..5ba9ee5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d76c28e..afbea73 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d9d12db..629edb7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e488265..3bf46e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 33cfda4..b4e0d71 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index def9c47..4506742 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 96c7af8..0ed0e3b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e189f31..480cf1b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 674f1e7..cd26506 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c02a5e3..cda2af1 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 30ba758..92a8657 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 84b1069..13f4eb9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 122400a..a21209a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9a23813..5396f1f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e1a09ea..e9bf221 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0f61b89..c922d20 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2e6a0dc..b04c8fa 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c9b84fa..a4551ce 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d3ad382..fa0f36a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f5dfef4..27aee24 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 232d15e..802dd2f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 55d7c94..935cc0b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d146484..639cde6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 94105ae..6859d61 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bea5e07..90e70a0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 914041d..04d4f87 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9020bbe..87a45de 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e7a88f1..8b05e16 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5d38acf..d03e219 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 58325fd..d9b4d70 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9ca2548..333a422 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 69cb8bd..dccc9a4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 885945e..8b74d59 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a529502..0aa48ac 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 979955a..95a5b76 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 415fc1b..7cd657a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3bec35a..3a1602b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2a8de6e..c772ca0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f2a2b63..6a12712 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 04849d8..4ed4518 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b484118..a83438c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -368,6 +368,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       setGUINucleotide(viewport.getAlignment().isNucleotide());
     }
 
+    this.alignPanel.av
+            .setShowAutocalculatedAbove(isShowAutoCalculatedAbove());
+
     setMenusFromViewport(viewport);
     buildSortByAnnotationScoresMenu();
     buildTreeMenu();
@@ -1306,19 +1309,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     int startPos = aligmentStartEnd[0];
     int endPos = aligmentStartEnd[1];
 
-    int[] lowestRange = new int[2];
-    int[] higestRange = new int[2];
+    int[] lowestRange = new int[] { -1, -1 };
+    int[] higestRange = new int[] { -1, -1 };
 
     for (int[] hiddenCol : hiddenCols)
     {
-      // System.out.println("comparing : " + hiddenCol[0] + "-" + hiddenCol[1]);
       lowestRange = (hiddenCol[0] <= startPos) ? hiddenCol : lowestRange;
       higestRange = (hiddenCol[1] >= endPos) ? hiddenCol : higestRange;
     }
-    // System.out.println("min : " + lowestRange[0] + "-" + lowestRange[1]);
-    // System.out.println("max : " + higestRange[0] + "-" + higestRange[1]);
 
-    if (lowestRange[0] == 0 && lowestRange[1] == 0)
+    if (lowestRange[0] == -1 && lowestRange[1] == -1)
     {
       startPos = aligmentStartEnd[0];
     }
@@ -1327,27 +1327,27 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       startPos = lowestRange[1] + 1;
     }
 
-    if (higestRange[0] == 0 && higestRange[1] == 0)
+    if (higestRange[0] == -1 && higestRange[1] == -1)
     {
       endPos = aligmentStartEnd[1];
     }
     else
     {
-      endPos = higestRange[0];
+      endPos = higestRange[0] - 1;
     }
 
-    // System.out.println("Export range : " + minPos + " - " + maxPos);
+    // System.out.println("Export range : " + startPos + " - " + endPos);
     return new int[] { startPos, endPos };
   }
 
   public static void main(String[] args)
   {
     ArrayList<int[]> hiddenCols = new ArrayList<int[]>();
-    hiddenCols.add(new int[] { 0, 4 });
+    hiddenCols.add(new int[] { 0, 0 });
     hiddenCols.add(new int[] { 6, 9 });
     hiddenCols.add(new int[] { 11, 12 });
     hiddenCols.add(new int[] { 33, 33 });
-    hiddenCols.add(new int[] { 45, 50 });
+    hiddenCols.add(new int[] { 50, 50 });
 
     int[] x = getStartEnd(new int[] { 0, 50 }, hiddenCols);
     // System.out.println("Export range : " + x[0] + " - " + x[1]);
@@ -2372,20 +2372,24 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
      */
     if (sg.getSize() == viewport.getAlignment().getHeight())
     {
-      int confirm = JOptionPane.showConfirmDialog(this,
-              MessageManager.getString("warn.delete_all"), // $NON-NLS-1$
-              MessageManager.getString("label.delete_all"), // $NON-NLS-1$
-              JOptionPane.OK_CANCEL_OPTION);
-
-      if (confirm == JOptionPane.CANCEL_OPTION
-              || confirm == JOptionPane.CLOSED_OPTION)
+      boolean isEntireAlignWidth = (((sg.getEndRes() - sg.getStartRes()) + 1) == viewport
+              .getAlignment().getWidth()) ? true : false;
+      if (isEntireAlignWidth)
       {
-        return;
+        int confirm = JOptionPane.showConfirmDialog(this,
+                MessageManager.getString("warn.delete_all"), // $NON-NLS-1$
+                MessageManager.getString("label.delete_all"), // $NON-NLS-1$
+                JOptionPane.OK_CANCEL_OPTION);
+
+        if (confirm == JOptionPane.CANCEL_OPTION
+                || confirm == JOptionPane.CLOSED_OPTION)
+        {
+          return;
+        }
       }
       viewport.getColumnSelection().removeElements(sg.getStartRes(),
               sg.getEndRes() + 1);
     }
-
     SequenceI[] cut = sg.getSequences()
             .toArray(new SequenceI[sg.getSize()]);
 
@@ -3512,6 +3516,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,
                 cs, "Background"));
       }
+      if (cs instanceof TCoffeeColourScheme)
+      {
+        tcoffeeColour.setEnabled(true);
+        tcoffeeColour.setSelected(true);
+      }
     }
 
     viewport.setGlobalColourScheme(cs);
index 8a95015..aca89a3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -926,7 +926,7 @@ public class AlignViewport extends AlignmentViewport implements
      * is a pre-requisite for building mappings.
      */
     al.setDataset(null);
-    AlignmentUtils.mapProteinToCdna(protein, cdna);
+    AlignmentUtils.mapProteinAlignmentToCdna(protein, cdna);
 
     /*
      * Create the AlignFrame for the added alignment. If it is protein, mappings
@@ -1072,7 +1072,7 @@ public class AlignViewport extends AlignmentViewport implements
       // TODO would like next line without cast but needs more refactoring...
       final AlignmentPanel complementPanel = ((AlignViewport) getCodingComplement())
               .getAlignPanel();
-      complementPanel.setFollowingComplementScroll(true);
+      complementPanel.setDontScrollComplement(true);
       complementPanel.scrollToCentre(sr, verticalOffset);
     }
   }
index 1906829..9e9f1c1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -99,7 +99,7 @@ public class AlignmentPanel extends GAlignmentPanel implements
    * Flag set while scrolling to follow complementary cDNA/protein scroll. When
    * true, suppresses invoking the same method recursively.
    */
-  private boolean followingComplementScroll;
+  private boolean dontScrollComplement;
 
   /**
    * Creates a new AlignmentPanel object.
@@ -566,6 +566,9 @@ public class AlignmentPanel extends GAlignmentPanel implements
     annotationScroller.setPreferredSize(new Dimension(annotationScroller
             .getWidth(), annotationHeight));
 
+    Dimension e = idPanel.getSize();
+    alabels.setSize(new Dimension(e.width, annotationHeight));
+
     annotationSpaceFillerHolder.setPreferredSize(new Dimension(
             annotationSpaceFillerHolder.getWidth(), annotationHeight));
     annotationScroller.validate();
@@ -729,7 +732,14 @@ public class AlignmentPanel extends GAlignmentPanel implements
       x = 0;
     }
 
+    /*
+     * each scroll adjustment triggers adjustmentValueChanged, which resets the
+     * 'do not scroll complement' flag; ensure it is the same for both
+     * operations
+     */
+    boolean flag = isDontScrollComplement();
     hscroll.setValues(x, hextent, 0, width);
+    setDontScrollComplement(flag);
     vscroll.setValues(y, vextent, 0, height);
   }
 
@@ -828,9 +838,9 @@ public class AlignmentPanel extends GAlignmentPanel implements
      * If there is one, scroll the (Protein/cDNA) complementary alignment to
      * match, unless we are ourselves doing that.
      */
-    if (isFollowingComplementScroll())
+    if (isDontScrollComplement())
     {
-      setFollowingComplementScroll(false);
+      setDontScrollComplement(false);
     }
     else
     {
@@ -877,6 +887,12 @@ public class AlignmentPanel extends GAlignmentPanel implements
     hscrollFillerPanel.setPreferredSize(new Dimension(d.width, 12));
     validate();
 
+    /*
+     * set scroll bar positions; first suppress this being 'followed' in any
+     * complementary split pane
+     */
+    setDontScrollComplement(true);
+
     if (av.getWrapAlignment())
     {
       int maxwidth = av.getAlignment().getWidth();
@@ -1786,17 +1802,17 @@ public class AlignmentPanel extends GAlignmentPanel implements
   }
 
   /**
-   * Set a flag to say we are scrolling to follow a (cDNA/protein) complement.
+   * Set a flag to say do not scroll any (cDNA/protein) complement.
    * 
    * @param b
    */
-  protected void setFollowingComplementScroll(boolean b)
+  protected void setDontScrollComplement(boolean b)
   {
-    this.followingComplementScroll = b;
+    this.dontScrollComplement = b;
   }
 
-  protected boolean isFollowingComplementScroll()
+  protected boolean isDontScrollComplement()
   {
-    return this.followingComplementScroll;
+    return this.dontScrollComplement;
   }
 }
index 35b6032..dc8ab4e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index adfb520..0c3bbcb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6b66d9c..32f3ccd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f7b7c61..4623892 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 60324e5..d637414 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3f4c92a..671d964 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index de6a9d2..a64b43b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 55d5f8c..a34749d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -383,6 +383,7 @@ public class AppJmol extends StructureViewerBase
       command = "";
     }
     jmb.evalStateCommand(command);
+    jmb.evalStateCommand("set hoverDelay=0.1");
     jmb.setFinishedInit(true);
   }
 
index eb15a65..8d1d9bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3742864..038de29 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 366dc06..0a3685e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f67d6da..bbeabde 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5baed16..2fd6dd5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c902093..2339636 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4118f91..f0ef2f3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7fded36..596f0b6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9c5651a..bfe030d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -35,6 +35,7 @@ import jalview.io.IdentifyFile;
 import jalview.io.JalviewFileChooser;
 import jalview.io.JalviewFileView;
 import jalview.jbgui.GCutAndPasteTransfer;
+import jalview.json.binding.biojson.v1.ColourSchemeMapper;
 import jalview.schemes.ColourSchemeI;
 import jalview.util.MessageManager;
 
@@ -262,14 +263,20 @@ public class CutAndPasteTransfer extends GCutAndPasteTransfer
                   .getHiddenSequences();
           boolean showSeqFeatures = ((ComplexAlignFile) source)
                   .isShowSeqFeatures();
-          ColourSchemeI cs = ((ComplexAlignFile) source).getColourScheme();
+          String colourSchemeName = ((ComplexAlignFile) source)
+                  .getGlobalColourScheme();
           FeaturesDisplayedI fd = ((ComplexAlignFile) source)
                   .getDisplayedFeatures();
           af = new AlignFrame(al, hiddenSeqs, colSel,
                   AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
           af.getViewport().setShowSequenceFeatures(showSeqFeatures);
           af.getViewport().setFeaturesDisplayed(fd);
-          af.changeColour(cs);
+          ColourSchemeI cs = ColourSchemeMapper.getJalviewColourScheme(
+                  colourSchemeName, al);
+          if (cs != null)
+          {
+            af.changeColour(cs);
+          }
         }
         else
         {
index c0fefd1..dea528d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5c45232..e51f9be 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -23,6 +23,7 @@ package jalview.gui;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.bin.Cache;
+import jalview.bin.Jalview;
 import jalview.io.FileLoader;
 import jalview.io.FormatAdapter;
 import jalview.io.IdentifyFile;
@@ -33,6 +34,7 @@ import jalview.jbgui.GStructureViewer;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.ImageMaker;
 import jalview.util.MessageManager;
+import jalview.util.Platform;
 import jalview.viewmodel.AlignmentViewport;
 import jalview.ws.params.ParamManager;
 
@@ -305,6 +307,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     boolean showjconsole = jalview.bin.Cache.getDefault(
             "SHOW_JAVA_CONSOLE", false);
     desktop = new MyDesktopPane(selmemusage);
+    if (Platform.isAMac())
+    {
+      desktop.setDoubleBuffered(false);
+    }
     showMemusage.setSelected(selmemusage);
     desktop.setBackground(Color.white);
     getContentPane().setLayout(new BorderLayout());
@@ -750,8 +756,13 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     frame.setResizable(resizable);
     frame.setMaximizable(resizable);
     frame.setIconifiable(resizable);
-    frame.setFrameIcon(null);
-
+    if (Platform.isAMac())
+    {
+      frame.setIconifiable(false);
+      frame.setFrameIcon(null);
+      // frame.setDesktopIcon(null);
+      frame.setDoubleBuffered(false);
+    }
     if (frame.getX() < 1 && frame.getY() < 1)
     {
       frame.setLocation(xOffset * openFrameCount, yOffset
@@ -2371,6 +2382,12 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    */
   public static AlignFrame[] getAlignFrames()
   {
+    if (Jalview.isHeadlessMode())
+    {
+      // Desktop.desktop is null in headless mode
+      return new AlignFrame[] { currentAlignFrame };
+    }
+
     JInternalFrame[] frames = Desktop.desktop.getAllFrames();
 
     if (frames == null)
@@ -2933,7 +2950,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   }
 
   /**
-   * Explode the views in the given frame into separate AlignFrame windows.
+   * Explode the views in the given SplitFrame into separate SplitFrame windows.
+   * This respects (remembers) any previous 'exploded geometry' i.e. the size
+   * and location last time the view was expanded (if any). However it does not
+   * remember the split pane divider location - this is set to match the
+   * 'exploding' frame.
    * 
    * @param sf
    */
@@ -2962,27 +2983,39 @@ public class Desktop extends jalview.jbgui.GDesktop implements
        * AlignmentPanel objects, including their AlignmentViewports, so the
        * cdna/protein relationships between the viewports is carried over to the
        * new split frames.
+       * 
+       * explodedGeometry holds the (x, y) position of the previously exploded
+       * SplitFrame, and the (width, height) of the AlignFrame component
        */
       AlignmentPanel topPanel = (AlignmentPanel) topPanels.get(i);
       AlignFrame newTopFrame = new AlignFrame(topPanel);
-      newTopFrame.setSize(new Dimension(AlignFrame.DEFAULT_WIDTH,
-              AlignFrame.DEFAULT_HEIGHT));
+      newTopFrame.setSize(oldTopFrame.getSize());
       newTopFrame.setVisible(true);
+      Rectangle geometry = ((AlignViewport) topPanel.getAlignViewport())
+              .getExplodedGeometry();
+      if (geometry != null)
+      {
+        newTopFrame.setSize(geometry.getSize());
+      }
+
       AlignmentPanel bottomPanel = (AlignmentPanel) bottomPanels.get(i);
       AlignFrame newBottomFrame = new AlignFrame(bottomPanel);
-      newBottomFrame.setSize(new Dimension(AlignFrame.DEFAULT_WIDTH,
-              AlignFrame.DEFAULT_HEIGHT));
+      newBottomFrame.setSize(oldBottomFrame.getSize());
       newBottomFrame.setVisible(true);
+      geometry = ((AlignViewport) bottomPanel.getAlignViewport())
+              .getExplodedGeometry();
+      if (geometry != null)
+      {
+        newBottomFrame.setSize(geometry.getSize());
+      }
+
       topPanel.av.setGatherViewsHere(false);
       bottomPanel.av.setGatherViewsHere(false);
       JInternalFrame splitFrame = new SplitFrame(newTopFrame,
               newBottomFrame);
-      // either panel may hold previous exploded frame geometry
-      Rectangle geometry = ((AlignViewport) topPanel.getAlignViewport())
-              .getExplodedGeometry();
       if (geometry != null)
       {
-        splitFrame.setBounds(geometry);
+        splitFrame.setLocation(geometry.getLocation());
       }
       Desktop.addInternalFrame(splitFrame, sf.getTitle(), -1, -1);
     }
@@ -3005,10 +3038,18 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    */
   public void gatherViews(GSplitFrame source)
   {
+    /*
+     * special handling of explodedGeometry for a view within a SplitFrame: - it
+     * holds the (x, y) position of the enclosing SplitFrame, and the (width,
+     * height) of the AlignFrame component
+     */
     AlignFrame myTopFrame = (AlignFrame) source.getTopFrame();
     AlignFrame myBottomFrame = (AlignFrame) source.getBottomFrame();
-    myTopFrame.viewport.setExplodedGeometry(source.getBounds());
-    myBottomFrame.viewport.setExplodedGeometry(source.getBounds());
+    myTopFrame.viewport.setExplodedGeometry(new Rectangle(source.getX(),
+            source.getY(), myTopFrame.getWidth(), myTopFrame.getHeight()));
+    myBottomFrame.viewport.setExplodedGeometry(new Rectangle(source.getX(),
+            source.getY(), myBottomFrame.getWidth(), myBottomFrame
+                    .getHeight()));
     myTopFrame.viewport.setGatherViewsHere(true);
     myBottomFrame.viewport.setGatherViewsHere(true);
     String topViewId = myTopFrame.viewport.getSequenceSetId();
@@ -3033,10 +3074,10 @@ public class Desktop extends jalview.jbgui.GDesktop implements
             gatherThis = true;
             topPanel.av.setGatherViewsHere(false);
             bottomPanel.av.setGatherViewsHere(false);
-            // both panels refer to the same split frame geometry
-            Rectangle position = sf.getBounds();
-            topPanel.av.setExplodedGeometry(position);
-            bottomPanel.av.setExplodedGeometry(position);
+            topPanel.av.setExplodedGeometry(new Rectangle(sf.getLocation(),
+                    topFrame.getSize()));
+            bottomPanel.av.setExplodedGeometry(new Rectangle(sf
+                    .getLocation(), bottomFrame.getSize()));
             myTopFrame.addAlignmentPanel(topPanel, false);
             myBottomFrame.addAlignmentPanel(bottomPanel, false);
           }
index 73abeaf..c920373 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8c67f6e..1e6b38d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 25527dc..8ea2a3b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 89e94c8..e3ea9cf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a2d0559..8d1c812 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1a7da1f..d417136 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index df3bfc2..78b4ff5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2b9f764..e73a01e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ee91713..e201636 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5bbf9f6..6ca5a07 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 64d93b4..78ce757 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d7a8f00..2265235 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b5569c3..d425354 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f26dfa7..27eb7ee 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0ee8008..1826407 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d920c7f..f8dd2fe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -1092,15 +1092,26 @@ public class Jalview2XML
       view.setViewName(av.viewName);
       view.setGatheredViews(av.isGatherViewsHere());
 
-      Rectangle position = ap.av.getExplodedGeometry();
-      if (position == null)
+      Rectangle size = ap.av.getExplodedGeometry();
+      Rectangle position = size;
+      if (size == null)
       {
-        position = ap.alignFrame.getBounds();
+        size = ap.alignFrame.getBounds();
+        if (av.getCodingComplement() != null)
+        {
+          position = ((SplitFrame) ap.alignFrame.getSplitViewContainer())
+                  .getBounds();
+        }
+        else
+        {
+          position = size;
+        }
       }
       view.setXpos(position.x);
       view.setYpos(position.y);
-      view.setWidth(position.width);
-      view.setHeight(position.height);
+
+      view.setWidth(size.width);
+      view.setHeight(size.height);
 
       view.setStartRes(av.startRes);
       view.setStartSeq(av.startSeq);
@@ -2453,6 +2464,11 @@ public class Jalview2XML
     int width = (int) dnaFrame.getBounds().getWidth();
     int height = (int) (dnaFrame.getBounds().getHeight()
             + proteinFrame.getBounds().getHeight() + 50);
+
+    /*
+     * SplitFrame location is saved to both enclosed frames
+     */
+    splitFrame.setLocation(dnaFrame.getX(), dnaFrame.getY());
     Desktop.addInternalFrame(splitFrame, title, width, height);
 
     /*
@@ -3250,8 +3266,8 @@ public class Jalview2XML
      * indicate that annotation colours are applied across all groups (pre
      * Jalview 2.8.1 behaviour)
      */
-    boolean doGroupAnnColour = isVersionStringLaterThan("2.8.1",
-            object.getVersion());
+    boolean doGroupAnnColour = Jalview2XML.isVersionStringLaterThan(
+            "2.8.1", object.getVersion());
 
     AlignmentPanel ap = null;
     boolean isnewview = true;
@@ -4037,7 +4053,7 @@ public class Jalview2XML
    * @return true if version is development/null or evaluates to the same or
    *         later X.Y.Z (where X,Y,Z are like [0-9]+b?[0-9]*)
    */
-  protected boolean isVersionStringLaterThan(String supported,
+  public static boolean isVersionStringLaterThan(String supported,
           String version)
   {
     if (version == null || version.equalsIgnoreCase("DEVELOPMENT BUILD")
@@ -4060,11 +4076,18 @@ public class Jalview2XML
         String fileT = fileV.nextToken().toLowerCase().replace('b', '.');
         try
         {
-          if (Float.valueOf(curT) > Float.valueOf(fileT))
+          float supportedVersionToken = Float.parseFloat(curT);
+          float myVersiontoken = Float.parseFloat(fileT);
+          if (supportedVersionToken > myVersiontoken)
           {
             // current version is newer than the version that wrote the file
             return false;
           }
+          if (supportedVersionToken < myVersiontoken)
+          {
+            // current version is older than the version that wrote the file
+            return true;
+          }
         } catch (NumberFormatException nfe)
         {
           System.err
index b9d4391..903208a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 99aa5b8..8ee2d8b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 63cb46c..3e11e94 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4637f07..cdc0b91 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 895abcb..beee74f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7392488..b5dc5c0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4810279..24c295f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e37dd07..9549233 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d2efc7e..6f9e4b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 16b57e6..6925397 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9397ceb..a0fcf55 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 57a14a0..5ad4901 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4c89f12..11837b6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
index 1b90d82..3b0b95b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 294bb9d..ee89737 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d344c0c..9b206bd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 78a21c8..bcef6cc 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f6710bc..1d499ee 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f802149..0e9f0e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4998bcc..69a7ec1 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 80dc8fb..71b4e3e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4e42bf0..eabcafa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 441fa5f..092080e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 21319eb..0ab6c26 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 21db011..d8793ee 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 76dd53a..7c221b8 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e922a0d..d1fb7dc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -680,7 +680,7 @@ public class SeqPanel extends JPanel implements MouseListener,
        * 
        * @see AlignmentPanel#adjustmentValueChanged
        */
-      ap.setFollowingComplementScroll(true);
+      ap.setDontScrollComplement(true);
       if (ap.scrollToPosition(results, false))
       {
         seqCanvas.revalidate();
@@ -904,7 +904,7 @@ public class SeqPanel extends JPanel implements MouseListener,
          * Convert position in sequence (base 1) to sequence character array
          * index (base 0)
          */
-        int start = m.getStart() - 1;
+        int start = m.getStart() - m.getSequence().getStart();
         setStatusMessage(seq, start, sequenceIndex);
         return;
       }
index 9f92c42..1b1e765 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8c4ead8..0641f7e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 02a8ed7..8e1ae7a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9c810d0..c133971 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4e2187e..2929a00 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -26,6 +26,7 @@ import jalview.datamodel.AlignmentI;
 import jalview.jbgui.GAlignFrame;
 import jalview.jbgui.GSplitFrame;
 import jalview.structure.StructureSelectionManager;
+import jalview.util.Platform;
 import jalview.viewmodel.AlignmentViewport;
 
 import java.awt.Component;
@@ -37,12 +38,15 @@ import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;
 import java.beans.PropertyVetoException;
 import java.util.Map.Entry;
+import java.util.Set;
 
 import javax.swing.AbstractAction;
 import javax.swing.InputMap;
 import javax.swing.JComponent;
 import javax.swing.JMenuItem;
 import javax.swing.KeyStroke;
+import javax.swing.UIDefaults;
+import javax.swing.UIManager;
 import javax.swing.event.InternalFrameAdapter;
 import javax.swing.event.InternalFrameEvent;
 
@@ -81,12 +85,24 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI
     ((AlignFrame) getTopFrame()).getViewport().setCodingComplement(
             ((AlignFrame) getBottomFrame()).getViewport());
 
-    int width = ((AlignFrame) getTopFrame()).getWidth();
-    // about 50 pixels for the SplitFrame's title bar etc
+    /*
+     * estimate width and height of SplitFrame; this.getInsets() doesn't seem to
+     * give the full additional size (a few pixels short)
+     */
+    UIDefaults defaults = UIManager.getDefaults();
+    Set<Object> keySet = defaults.keySet();
+    for (Object key : keySet)
+    {
+      System.out.println(key.toString() + " = "
+              + UIManager.get(key).toString());
+    }
+    int widthFudge = Platform.isAMac() ? 28 : 28; // Windows tbc
+    int heightFudge = Platform.isAMac() ? 50 : 50; // tbc
+    int width = ((AlignFrame) getTopFrame()).getWidth() + widthFudge;
     int height = ((AlignFrame) getTopFrame()).getHeight()
-            + ((AlignFrame) getBottomFrame()).getHeight() + 50;
-    // about 65 pixels for Desktop decorators on Windows
-    height = Math.min(height, Desktop.instance.getHeight() - 65);
+            + ((AlignFrame) getBottomFrame()).getHeight() + DIVIDER_SIZE
+            + heightFudge;
+    height = fitHeightToDesktop(height);
     setSize(width, height);
 
     adjustLayout();
@@ -101,6 +117,27 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI
   }
 
   /**
+   * Reduce the height if too large to fit in the Desktop. Also adjust the
+   * divider location in proportion.
+   * 
+   * @param height
+   *          in pixels
+   * @return original or reduced height
+   */
+  public int fitHeightToDesktop(int height)
+  {
+    // allow about 65 pixels for Desktop decorators on Windows
+
+    int newHeight = Math.min(height, Desktop.instance.getHeight() - 65);
+    if (newHeight != height)
+    {
+      int oldDividerLocation = getDividerLocation();
+      setDividerLocation(oldDividerLocation * newHeight / height);
+    }
+    return newHeight;
+  }
+
+  /**
    * Set the top and bottom frames to listen to each others Commands (e.g. Edit,
    * Order).
    */
index 347c1b2..6e2ceff 100644 (file)
@@ -1,7 +1,6 @@
 /*
-
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
index df5a6c4..9a13b5e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8146237..aeac87b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fc01404..e7a182f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f590c2e..dfc46b5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c0b0c68..44f9fef 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1e85e55..1a824df 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c286935..c6ed5c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4630fd1..20a622d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d906c6d..089d521 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 82257ff..e3e7cd6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b3e40c1..79fa122 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 687c9f3..ae796f3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa29078..2023407 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 64ac2d1..4063206 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1f00df4..83f1519 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d8cb64f..8614a7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e5c8e04..26932ac 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bef3795..2283ad8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2872a77..11fe96a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 00d6d2f..2f436e4 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  *
  * This file is part of Jalview.
index 071e814..ce95236 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0d4dc87..a1679c3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -115,20 +115,15 @@ public class BioJsHTMLOutput
       AlignmentExportData exportData = jalview.gui.AlignFrame
               .getAlignmentForExport(JSONFile.FILE_DESC,
                       ap.getAlignViewport(), exportSettings);
-      if (exportData.getSettings().isCancelled())
-      {
-        return;
-      }
-      String jalviewAlignmentJson = new FormatAdapter(ap,
-              exportData.getSettings()).formatSequences(JSONFile.FILE_DESC,
-              exportData.getAlignment(), exportData.getOmitHidden(),
-              exportData.getStartEndPostions(), ap.getAlignViewport()
-                      .getColumnSelection());
+      String bioJSON = new FormatAdapter(ap, exportData.getSettings())
+              .formatSequences(JSONFile.FILE_DESC, exportData
+                      .getAlignment(), exportData.getOmitHidden(),
+                      exportData.getStartEndPostions(), ap
+                              .getAlignViewport().getColumnSelection());
 
       String bioJSTemplateString = getBioJsTemplateAsString();
       String generatedBioJsWithJalviewAlignmentAsJson = bioJSTemplateString
-              .replaceAll("#sequenceData#", jalviewAlignmentJson)
-              .toString();
+              .replaceAll("#sequenceData#", bioJSON).toString();
 
       PrintWriter out = new java.io.PrintWriter(new java.io.FileWriter(
               outputFile));
index 7e87c1c..bd2f4bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5dd0e40..41fe12b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6aa5994..909e552 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2801ac4..7585758 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f316c5e..2fef2ae 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -123,8 +123,7 @@ public class FeaturesFile extends AlignFile
    *          - process html strings into plain text
    * @return true if features were added
    */
-  public boolean parse(AlignmentI align, Hashtable colours,
-          boolean removeHTML)
+  public boolean parse(AlignmentI align, Map colours, boolean removeHTML)
   {
     return parse(align, colours, null, removeHTML, false);
   }
index 9fbf9ee..ce01843 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -31,6 +31,7 @@ import jalview.gui.AlignFrame;
 import jalview.gui.AlignViewport;
 import jalview.gui.Desktop;
 import jalview.gui.Jalview2XML;
+import jalview.json.binding.biojson.v1.ColourSchemeMapper;
 import jalview.schemes.ColourSchemeI;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.MessageManager;
@@ -375,8 +376,8 @@ public class FileLoader implements Runnable
                       .getHiddenSequences();
               boolean showSeqFeatures = ((ComplexAlignFile) source)
                       .isShowSeqFeatures();
-              ColourSchemeI cs = ((ComplexAlignFile) source)
-                      .getColourScheme();
+              String colourSchemeName = ((ComplexAlignFile) source)
+                      .getGlobalColourScheme();
               FeaturesDisplayedI fd = ((ComplexAlignFile) source)
                       .getDisplayedFeatures();
               alignFrame = new AlignFrame(al, hiddenSeqs, colSel,
@@ -385,7 +386,12 @@ public class FileLoader implements Runnable
               alignFrame.getViewport().setShowSequenceFeatures(
                       showSeqFeatures);
               alignFrame.getViewport().setFeaturesDisplayed(fd);
-              alignFrame.changeColour(cs);
+              ColourSchemeI cs = ColourSchemeMapper.getJalviewColourScheme(
+                      colourSchemeName, al);
+              if (cs != null)
+              {
+                alignFrame.changeColour(cs);
+              }
             }
             else
             {
index 4526eba..a630490 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1b39d0a..8e5e706 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -107,7 +107,6 @@ public class FormatAdapter extends AppletFormatAdapter
       {
         startRes = seqs[i].getStart();
         endRes = seqs[i].getEnd();
-
         if (startEnd != null)
         {
           startIndex = startEnd[0];
@@ -127,9 +126,7 @@ public class FormatAdapter extends AppletFormatAdapter
           }
 
           startRes = seqs[i].findPosition(startIndex);
-          startRes = seqs[i].getStart() > 1 ? startRes - seqs[i].getStart()
-                  : startRes;
-          endRes = seqs[i].findPosition(endIndex) - seqs[i].getStart();
+          endRes = seqs[i].findPosition(endIndex);
         }
 
         tmp[i] = new Sequence(seqs[i].getName(), omitHiddenColumns[i],
index 4d8ea94..8896873 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 95864c3..653adb5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0d0fae9..73d30dc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -25,7 +25,6 @@ import jalview.api.ComplexAlignFile;
 import jalview.api.FeaturesDisplayedI;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.SequenceI;
-import jalview.schemes.ColourSchemeI;
 
 import java.io.IOException;
 import java.io.StringReader;
@@ -40,7 +39,7 @@ public class HtmlFile extends AlignFile implements ComplexAlignFile
 
   public static final String FILE_DESC = "HTML";
 
-  private ColourSchemeI colourScheme;
+  private String globalColourScheme;
 
   private boolean showSeqFeatures;
 
@@ -108,7 +107,7 @@ public class HtmlFile extends AlignFile implements ComplexAlignFile
       this.seqGroups = jsonFile.getSeqGroups();
       this.annotations = jsonFile.getAnnotations();
       this.showSeqFeatures = jsonFile.isShowSeqFeatures();
-      this.colourScheme = jsonFile.getColourScheme();
+      this.globalColourScheme = jsonFile.getGlobalColourScheme();
       this.hiddenSequences = jsonFile.getHiddenSequences();
       this.columnSelection = jsonFile.getColumnSelection();
       this.displayedFeatures = jsonFile.getDisplayedFeatures();
@@ -135,14 +134,14 @@ public class HtmlFile extends AlignFile implements ComplexAlignFile
     this.showSeqFeatures = showSeqFeatures;
   }
 
-  public ColourSchemeI getColourScheme()
+  public String getGlobalColourScheme()
   {
-    return colourScheme;
+    return globalColourScheme;
   }
 
-  public void setColourScheme(ColourSchemeI colourScheme)
+  public void setColourScheme(String globalColourScheme)
   {
-    this.colourScheme = colourScheme;
+    this.globalColourScheme = globalColourScheme;
   }
 
   public ColumnSelection getColumnSelection()
index 7cbde64..9f5f511 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -76,6 +76,10 @@ public class HtmlSvgOutput
                   .getSelectedFile().getParent());
           file = chooser.getSelectedFile();
         }
+        else
+        {
+          return;
+        }
       }
 
       AlignmentDimension aDimension = ap.getAlignmentDimension();
index a241e0e..b062e5d 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  *
  * This file is part of Jalview.
@@ -260,6 +260,10 @@ public class IdentifyFile
           {
             break;
           }
+          if (data == null)
+          {
+            break;
+          }
         }
 
         if (data.indexOf("{\"") > -1)
index c12d2a3..9bd98a7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5bc615e..591c37c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9b15eb5..9402562 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -39,13 +39,14 @@ import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.json.binding.biojson.v1.AlignmentAnnotationPojo;
 import jalview.json.binding.biojson.v1.AlignmentPojo;
+import jalview.json.binding.biojson.v1.AnnotationDisplaySettingPojo;
 import jalview.json.binding.biojson.v1.AnnotationPojo;
-import jalview.json.binding.biojson.v1.JalviewBioJsColorSchemeMapper;
+import jalview.json.binding.biojson.v1.ColourSchemeMapper;
 import jalview.json.binding.biojson.v1.SequenceFeaturesPojo;
 import jalview.json.binding.biojson.v1.SequenceGrpPojo;
 import jalview.json.binding.biojson.v1.SequencePojo;
-import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemeProperty;
+import jalview.schemes.UserColourScheme;
 import jalview.viewmodel.seqfeatures.FeaturesDisplayed;
 
 import java.awt.Color;
@@ -63,8 +64,6 @@ import org.json.simple.parser.JSONParser;
 
 public class JSONFile extends AlignFile implements ComplexAlignFile
 {
-  private ColourSchemeI colourScheme;
-
   private static String version = new BuildDetails().getVersion();
 
   private String webstartUrl = "http://www.jalview.org/services/launchApp";
@@ -75,7 +74,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
 
   public static final String FILE_DESC = "JSON";
 
-  private String globalColorScheme;
+  private String globalColourScheme;
 
   private boolean showSeqFeatures;
 
@@ -93,6 +92,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
 
   private ArrayList<SequenceI> hiddenSequences;
 
+  private final static String TCOFFEE_SCORE = "TCoffeeScore";
+
   public JSONFile()
   {
     super();
@@ -183,7 +184,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
         jsonSeqPojo.setSeq(seq.getSequenceAsString());
         jsonAlignmentPojo.getSeqs().add(jsonSeqPojo);
       }
-      jsonAlignmentPojo.setGlobalColorScheme(globalColorScheme);
+      jsonAlignmentPojo.setGlobalColorScheme(globalColourScheme);
       jsonAlignmentPojo.getAppSettings().put("application", application);
       jsonAlignmentPojo.getAppSettings().put("version", version);
       jsonAlignmentPojo.getAppSettings().put("webStartUrl", webstartUrl);
@@ -212,6 +213,16 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
         jsonAlignmentPojo
                 .setAlignAnnotation(annotationToJsonPojo(annotations));
       }
+      else
+      {
+        // These color schemes require annotation, disable them if annotations
+        // are not exported
+        if (globalColourScheme.equalsIgnoreCase("RNA Helices")
+                || globalColourScheme.equalsIgnoreCase("T-COFFEE SCORES"))
+        {
+          jsonAlignmentPojo.setGlobalColorScheme("None");
+        }
+      }
 
       if (exportSettings.isExportFeatures())
       {
@@ -363,6 +374,26 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
       AlignmentAnnotationPojo alignAnnotPojo = new AlignmentAnnotationPojo();
       alignAnnotPojo.setDescription(annot.description);
       alignAnnotPojo.setLabel(annot.label);
+      if (!Double.isNaN(annot.score))
+      {
+        alignAnnotPojo.setScore(annot.score);
+      }
+      alignAnnotPojo.setCalcId(annot.getCalcId());
+      alignAnnotPojo.setGraphType(annot.graph);
+
+      AnnotationDisplaySettingPojo annotSetting = new AnnotationDisplaySettingPojo();
+      annotSetting.setBelowAlignment(annot.belowAlignment);
+      annotSetting.setCentreColLabels(annot.centreColLabels);
+      annotSetting.setScaleColLabel(annot.scaleColLabel);
+      annotSetting.setShowAllColLabels(annot.showAllColLabels);
+      annotSetting.setVisible(annot.visible);
+      annotSetting.setHasIcon(annot.hasIcons);
+      alignAnnotPojo.setAnnotationSettings(annotSetting);
+      SequenceI refSeq = annot.sequenceRef;
+      if (refSeq != null)
+      {
+        alignAnnotPojo.setSequenceRef(String.valueOf(refSeq.hashCode()));
+      }
       for (Annotation annotation : annot.annotations)
       {
         AnnotationPojo annotationPojo = new AnnotationPojo();
@@ -372,12 +403,28 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
           annotationPojo.setValue(annotation.value);
           annotationPojo
                   .setSecondaryStructure(annotation.secondaryStructure);
-          annotationPojo.setDisplayCharacter(annotation.displayCharacter);
+          String displayChar = annotation.displayCharacter == null ? null
+                  : annotation.displayCharacter;
+          // System.out.println("--------------------->[" + displayChar + "]");
+          annotationPojo.setDisplayCharacter(displayChar);
+          if (annotation.colour != null)
+          {
+            annotationPojo.setColour(jalview.util.Format
+                    .getHexString(annotation.colour));
+          }
           alignAnnotPojo.getAnnotations().add(annotationPojo);
         }
         else
         {
-          alignAnnotPojo.getAnnotations().add(annotationPojo);
+          if (annot.getCalcId() != null
+                  && annot.getCalcId().equalsIgnoreCase(TCOFFEE_SCORE))
+          {
+            // do nothing
+          }
+          else
+          {
+            alignAnnotPojo.getAnnotations().add(annotationPojo);
+          }
         }
       }
       jsonAnnotations.add(alignAnnotPojo);
@@ -405,11 +452,10 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
 
       if (jvSettingsJsonObj != null)
       {
-        String jsColourScheme = (String) jvSettingsJsonObj
+        globalColourScheme = (String) jvSettingsJsonObj
                 .get("globalColorScheme");
         Boolean showFeatures = Boolean.valueOf(jvSettingsJsonObj.get(
                 "showSeqFeatures").toString());
-        setColourScheme(getJalviewColorScheme(jsColourScheme));
         setShowSeqFeatures(showFeatures);
         parseHiddenSeqRefsAsList(jvSettingsJsonObj);
         parseHiddenCols(jvSettingsJsonObj);
@@ -435,6 +481,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
         seqs.add(seq);
         seqMap.put(seqUniqueId, seq);
       }
+
       parseFeatures(jsonSeqArray);
 
       for (Iterator<JSONObject> seqGrpIter = seqGrpJsonArray.iterator(); seqGrpIter
@@ -472,10 +519,10 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
             }
           }
         }
-        ColourSchemeI grpColourScheme = getJalviewColorScheme(colourScheme);
-        SequenceGroup seqGrp = new SequenceGroup(grpSeqs, grpName,
-                grpColourScheme, displayBoxes, displayText, colourText,
-                startRes, endRes);
+        SequenceGroup seqGrp = new SequenceGroup(grpSeqs, grpName, null,
+                displayBoxes, displayText, colourText, startRes, endRes);
+        seqGrp.cs = ColourSchemeMapper.getJalviewColourScheme(colourScheme,
+                seqGrp);
         seqGrp.setShowNonconserved(showNonconserved);
         seqGrp.setDescription(description);
         this.seqGroups.add(seqGrp);
@@ -503,13 +550,20 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
                     .valueOf(annot.get("value").toString());
             String desc = annot.get("description") == null ? null : annot
                     .get("description").toString();
-
-            char ss = annot.get("secondaryStructure") == null ? ' ' : annot
+            char ss = annot.get("secondaryStructure") == null
+                    || annot.get("secondaryStructure").toString()
+                            .equalsIgnoreCase("u0000") ? ' ' : annot
                     .get("secondaryStructure").toString().charAt(0);
             String displayChar = annot.get("displayCharacter") == null ? ""
                     : annot.get("displayCharacter").toString();
 
             annotations[count] = new Annotation(displayChar, desc, ss, val);
+            if (annot.get("colour") != null)
+            {
+              Color color = UserColourScheme.getColourFromString(annot.get(
+                      "colour").toString());
+              annotations[count].colour = color;
+            }
           }
           ++count;
         }
@@ -517,9 +571,65 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
         AlignmentAnnotation alignAnnot = new AlignmentAnnotation(alAnnot
                 .get("label").toString(), alAnnot.get("description")
                 .toString(), annotations);
+        alignAnnot.graph = (alAnnot.get("graphType") == null) ? 0 : Integer
+                .valueOf(alAnnot.get("graphType").toString());
+
+        JSONObject diplaySettings = (JSONObject) alAnnot
+                .get("annotationSettings");
+        if (diplaySettings != null)
+        {
+
+          alignAnnot.scaleColLabel = (diplaySettings.get("scaleColLabel") == null) ? false
+                  : Boolean.valueOf(diplaySettings.get("scaleColLabel")
+                          .toString());
+          alignAnnot.showAllColLabels = (diplaySettings
+                  .get("showAllColLabels") == null) ? true : Boolean
+                  .valueOf(diplaySettings.get("showAllColLabels")
+                          .toString());
+          alignAnnot.centreColLabels = (diplaySettings
+                  .get("centreColLabels") == null) ? true
+                  : Boolean.valueOf(diplaySettings.get("centreColLabels")
+                          .toString());
+          alignAnnot.belowAlignment = (diplaySettings.get("belowAlignment") == null) ? false
+                  : Boolean.valueOf(diplaySettings.get("belowAlignment")
+                          .toString());
+          alignAnnot.visible = (diplaySettings.get("visible") == null) ? true
+                  : Boolean.valueOf(diplaySettings.get("visible")
+                          .toString());
+          alignAnnot.hasIcons = (diplaySettings.get("hasIcon") == null) ? true
+                  : Boolean.valueOf(diplaySettings.get("hasIcon")
+                          .toString());
+
+        }
+        if (alAnnot.get("score") != null)
+        {
+          alignAnnot.score = Double
+                  .valueOf(alAnnot.get("score").toString());
+        }
+
+        String calcId = (alAnnot.get("calcId") == null) ? "" : alAnnot.get(
+                "calcId").toString();
+        alignAnnot.setCalcId(calcId);
+        String seqHash = (alAnnot.get("sequenceRef") != null) ? alAnnot
+                .get("sequenceRef").toString() : null;
+
+        Sequence sequence = (seqHash != null) ? seqMap.get(seqHash) : null;
+        if (sequence != null)
+        {
+          alignAnnot.sequenceRef = sequence;
+          sequence.addAlignmentAnnotation(alignAnnot);
+          if (alignAnnot.label.equalsIgnoreCase("T-COFFEE"))
+          {
+            alignAnnot.createSequenceMapping(sequence, sequence.getStart(),
+                    false);
+            sequence.addAlignmentAnnotation(alignAnnot);
+            alignAnnot.adjustForAlignment();
+          }
+        }
+        alignAnnot.validateRangeAndDisplay();
         this.annotations.add(alignAnnot);
-      }
 
+      }
     } catch (Exception e)
     {
       e.printStackTrace();
@@ -599,40 +709,14 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
     }
   }
 
-  public static ColourSchemeI getJalviewColorScheme(
-          String bioJsColourSchemeName)
-  {
-    ColourSchemeI jalviewColor = null;
-    for (JalviewBioJsColorSchemeMapper cs : JalviewBioJsColorSchemeMapper
-            .values())
-    {
-      if (cs.getBioJsName().equalsIgnoreCase(bioJsColourSchemeName))
-      {
-        jalviewColor = cs.getJvColourScheme();
-        break;
-      }
-    }
-    return jalviewColor;
-  }
-
-  public String getGlobalColorScheme()
+  public String getGlobalColourScheme()
   {
-    return globalColorScheme;
+    return globalColourScheme;
   }
 
-  public void setGlobalColorScheme(String globalColorScheme)
+  public void setGlobalColorScheme(String globalColourScheme)
   {
-    this.globalColorScheme = globalColorScheme;
-  }
-
-  public ColourSchemeI getColourScheme()
-  {
-    return colourScheme;
-  }
-
-  public void setColourScheme(ColourSchemeI colourScheme)
-  {
-    this.colourScheme = colourScheme;
+    this.globalColourScheme = globalColourScheme;
   }
 
   @Override
@@ -661,14 +745,10 @@ public class JSONFile extends AlignFile implements ComplexAlignFile
     {
       if (annot != null && !annot.autoCalculated)
       {
-        if (!annot.visible)
-        {
-          continue;
-        }
         annotations.add(annot);
       }
     }
-    globalColorScheme = ColourSchemeProperty.getColourName(viewport
+    globalColourScheme = ColourSchemeProperty.getColourName(viewport
             .getGlobalColourScheme());
     setDisplayedFeatures(viewport.getFeaturesDisplayed());
     showSeqFeatures = viewport.isShowSequenceFeatures();
index 951b998..0bdd705 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  *
  * This file is part of Jalview.
index 8d6038b..add280e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b7f3201..5d4c224 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5192454..a6779a6 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 67ace7c..47a1151 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b8f46f2..ae922e9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a7a1efa..a24afff 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 800d51a..93bd27d 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4b3d02e..449a3c2 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e696609..f0946df 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 656e103..f48f1c6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e826687..c8ad2fa 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2948c92..0cd51fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8c4a332..ffc0be3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index db5f8a9..4fa0972 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0274abc..2f5263b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 72aa99b..ae023dc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d580129..4e22498 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1e7cc40..d94d021 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 65a796b..3902b0e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1906fff..ad5bb24 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4de8a66..1141b71 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ac036ca..38a5be9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 297b854..0b36610 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 215f2d5..de82beb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9ecd36c..b68a726 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e7f6b3c..1d82760 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 67511dc..0290abf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d94d86c..39359d4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0f9a664..8888c1c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6dbbd6c..92306ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4d232ee..c321ad1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6202cba..26c7d39 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1de9303..6d8ad0a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 505f80d..a723ec2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cc293b1..57da5b4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 26d582e..2b228da 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 78f383a..e25f47c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -32,6 +32,7 @@ import jalview.structure.StructureListener;
 import jalview.structure.StructureMapping;
 import jalview.structure.StructureMappingcommandSet;
 import jalview.structure.StructureSelectionManager;
+import jalview.util.HttpUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -87,47 +88,43 @@ public class MouseOverStructureListener extends JSFunctionExec implements
     {
       for (int i = 0; i < modelSet.length; i++)
       {
-        // resolve a real filename
-        try
-        {
-          if (new java.net.URL(modelSet[i]).openConnection() != null)
-          {
-            continue;
-          }
-        } catch (Exception x)
-        {
-        }
-        ;
-        try
-        {
-          String db = jvlite.getDocumentBase().toString();
-          db = db.substring(0, db.lastIndexOf("/"));
-          if (new java.net.URL(db + "/" + modelSet[i]).openConnection() != null)
-          {
-            modelSet[i] = db + "/" + modelSet[i];
-            continue;
-          }
-        } catch (Exception x)
-        {
-        }
-        ;
-        try
-        {
-          if (new java.net.URL(jvlite.getCodeBase() + modelSet[i])
-                  .openConnection() != null)
-          {
-            modelSet[i] = jvlite.getCodeBase() + modelSet[i];
-            continue;
-          }
-        } catch (Exception x)
-        {
-        }
-        ;
-
+        modelSet[i] = resolveModelFile(modelSet[i]);
       }
     }
   }
 
+  /**
+   * Returns the first out of: file, file prefixed by document base, or file
+   * prefixed by codebase which can be resolved to a valid URL. If none can,
+   * returns the input parameter value.
+   * 
+   * @param file
+   */
+  public String resolveModelFile(String file)
+  {
+    // TODO reuse JalviewLite.LoadingThread.addProtocol instead
+    if (HttpUtils.isValidUrl(file))
+    {
+      return file;
+    }
+
+    String db = jvlite.getDocumentBase().toString();
+    db = db.substring(0, db.lastIndexOf("/"));
+    String docBaseFile = db + "/" + file;
+    if (HttpUtils.isValidUrl(docBaseFile))
+    {
+      return docBaseFile;
+    }
+
+    String cb = jvlite.getCodeBase() + file;
+    if (HttpUtils.isValidUrl(cb))
+    {
+      return cb;
+    }
+
+    return file;
+  }
+
   @Override
   public String[] getPdbFile()
   {
index fcc38fb..282055b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f2d3249..2a77a57 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -1295,8 +1295,10 @@ public class GAlignFrame extends JInternalFrame
             MessageManager.getString("label.show_last"));
     buttonGroup.add(showAutoFirst);
     buttonGroup.add(showAutoLast);
-    showAutoFirst.setSelected(Cache.getDefault(
-            Preferences.SHOW_AUTOCALC_ABOVE, false));
+    final boolean autoFirst = Cache.getDefault(
+            Preferences.SHOW_AUTOCALC_ABOVE, false);
+    showAutoFirst.setSelected(autoFirst);
+    setShowAutoCalculatedAbove(autoFirst);
     showAutoFirst.addActionListener(new ActionListener()
     {
       @Override
index efbc6af..a6217b9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ce704fe..14f5c73 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 10f4166..f1c8e12 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bbff0ab..c2b1421 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8fd5921..9602b64 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index af1760f..8e025ea 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d4b8906..fe55c96 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f57845d..e52635c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 64095d0..a105999 100644 (file)
@@ -170,6 +170,40 @@ public abstract class GPDBSearchPanel extends JPanel
         validateSelection();
       }
     });
+    tbl_summary.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        validateSelection();
+        switch (evt.getKeyCode())
+        {
+        case KeyEvent.VK_ESCAPE: // escape key
+          btn_back_ActionPerformed();
+          break;
+        case KeyEvent.VK_ENTER: // enter key
+          if (btn_ok.isEnabled())
+          {
+            btn_ok_ActionPerformed();
+          }
+          evt.consume();
+          break;
+        case KeyEvent.VK_TAB: // tab key
+          if (evt.isShiftDown())
+          {
+            tabbedPane.requestFocus();
+          }
+          else
+          {
+            btn_back.requestFocus();
+          }
+          evt.consume();
+          break;
+        default:
+          return;
+        }
+      }
+    });
 
     btn_back.setFont(new java.awt.Font("Verdana", 0, 12));
     btn_back.setText(MessageManager.getString("action.back"));
@@ -180,6 +214,17 @@ public abstract class GPDBSearchPanel extends JPanel
         btn_back_ActionPerformed();
       }
     });
+    btn_back.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+        {
+          btn_back_ActionPerformed();
+        }
+      }
+    });
 
     btn_ok.setEnabled(false);
     btn_ok.setFont(new java.awt.Font("Verdana", 0, 12));
@@ -191,6 +236,18 @@ public abstract class GPDBSearchPanel extends JPanel
         btn_ok_ActionPerformed();
       }
     });
+    btn_ok.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+        {
+          btn_ok_ActionPerformed();
+        }
+      }
+    });
+
     btn_cancel.setFont(new java.awt.Font("Verdana", 0, 12));
     btn_cancel.setText(MessageManager.getString("action.cancel"));
     btn_cancel.addActionListener(new java.awt.event.ActionListener()
@@ -200,6 +257,17 @@ public abstract class GPDBSearchPanel extends JPanel
         btn_cancel_ActionPerformed();
       }
     });
+    btn_cancel.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+        {
+          btn_cancel_ActionPerformed();
+        }
+      }
+    });
 
     scrl_searchResult.setPreferredSize(new Dimension(500, 300));
     scrl_searchResult
index e23060f..e658c19 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3458347..b3939f6 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b0f0480..dbf1224 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c233f63..7651b73 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ad84901..f4595a8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bdd9908..86a3a48 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 588f0cf..eedf92b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 39b47ff..26a404b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -33,6 +33,8 @@ import javax.swing.plaf.basic.BasicInternalFrameUI;
 
 public class GSplitFrame extends JInternalFrame
 {
+  protected static final int DIVIDER_SIZE = 5;
+
   private static final long serialVersionUID = 1L;
 
   private GAlignFrame topFrame;
@@ -41,6 +43,12 @@ public class GSplitFrame extends JInternalFrame
 
   private JSplitPane splitPane;
 
+  /*
+   * proportional position of split divider; saving this allows it to be
+   * restored after hiding one half and resizing
+   */
+  private double dividerRatio;
+
   /**
    * Constructor
    * 
@@ -65,12 +73,23 @@ public class GSplitFrame extends JInternalFrame
     splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, topFrame,
             bottomFrame);
     splitPane.setVisible(true);
-    final double ratio = bottomFrame.getHeight() == 0 ? 0.5d : topFrame
-            .getHeight()
-            / (double) (topFrame.getHeight() + bottomFrame.getHeight());
-    splitPane.setDividerLocation(ratio);
-    splitPane.setResizeWeight(ratio);
-    splitPane.setDividerSize(5);
+
+    /*
+     * set divider split at 50:50, or restore saved split if loading from
+     * project
+     */
+    int topFrameHeight = topFrame.getHeight();
+    splitPane.setDividerSize(DIVIDER_SIZE);
+    if (topFrameHeight == 0)
+    {
+      setRelativeDividerLocation(0.5d); // as a proportion
+    }
+    else
+    {
+      int dividerPosition = topFrameHeight + DIVIDER_SIZE / 2;
+      splitPane.setDividerLocation(dividerPosition); // absolute position
+    }
+    splitPane.setResizeWeight(0.5d);
     add(splitPane);
   }
 
@@ -139,11 +158,25 @@ public class GSplitFrame extends JInternalFrame
   }
 
   /**
-   * Make the complement of the specified split component visible or hidden,
-   * adjusting the position of the split divide.
+   * Makes the complement of the specified split component visible or hidden,
+   * restoring or saving the position of the split divide.
    */
   public void setComplementVisible(Object alignFrame, boolean show)
   {
+    /*
+     * save divider ratio on hide, restore on show
+     */
+    if (show)
+    {
+      setRelativeDividerLocation(dividerRatio);
+    }
+    else
+    {
+      this.dividerRatio = splitPane.getDividerLocation()
+              / (double) (splitPane.getHeight() - splitPane
+                      .getDividerSize());
+    }
+
     if (alignFrame == this.topFrame)
     {
       this.bottomFrame.setVisible(show);
@@ -152,12 +185,40 @@ public class GSplitFrame extends JInternalFrame
     {
       this.topFrame.setVisible(show);
     }
-    if (show)
-    {
-      // SplitPane needs nudging to restore 50-50 split
-      // TODO save/restore other ratios
-      splitPane.setDividerLocation(0.5d);
-    }
+
     validate();
   }
+
+  /**
+   * Set the divider location as a proportion (0 <= r <= 1) of the height <br>
+   * Warning: this overloads setDividerLocation(int), and getDividerLocation()
+   * returns the int (pixel count) value
+   * 
+   * @param r
+   */
+  public void setRelativeDividerLocation(double r)
+  {
+    this.dividerRatio = r;
+    splitPane.setDividerLocation(r);
+  }
+
+  /**
+   * Sets the divider location (in pixels from top)
+   * 
+   * @return
+   */
+  protected void setDividerLocation(int p)
+  {
+    splitPane.setDividerLocation(p);
+  }
+
+  /**
+   * Returns the divider location (in pixels from top)
+   * 
+   * @return
+   */
+  protected int getDividerLocation()
+  {
+    return splitPane.getDividerLocation();
+  }
 }
index c4043c4..67b3a20 100644 (file)
@@ -37,6 +37,8 @@ import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.Arrays;
@@ -162,7 +164,7 @@ public abstract class GStructureChooser extends JPanel implements
         toolTipText = getValueAt(rowIndex, colIndex).toString();
       } catch (Exception e)
       {
-        e.printStackTrace();
+        // e.printStackTrace();
       }
       toolTipText = (toolTipText == null ? null
               : (toolTipText.length() > 500 ? JvSwingUtils.wrapTooltip(
@@ -209,21 +211,104 @@ public abstract class GStructureChooser extends JPanel implements
   {
     tbl_summary.setAutoCreateRowSorter(true);
     tbl_summary.getTableHeader().setReorderingAllowed(false);
+    tbl_summary.addMouseListener(new MouseAdapter()
+    {
+      public void mouseClicked(MouseEvent e)
+      {
+        validateSelections();
+      }
+
+      public void mouseReleased(MouseEvent e)
+      {
+        validateSelections();
+      }
+    });
+    tbl_summary.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        validateSelections();
+        switch (evt.getKeyCode())
+        {
+        case KeyEvent.VK_ESCAPE: // escape key
+          mainFrame.dispose();
+          break;
+        case KeyEvent.VK_ENTER: // enter key
+          if (btn_view.isEnabled())
+          {
+            ok_ActionPerformed();
+          }
+          break;
+        case KeyEvent.VK_TAB: // tab key
+          if (evt.isShiftDown())
+          {
+            pnl_filter.requestFocus();
+          }
+          else
+          {
+            btn_view.requestFocus();
+          }
+          evt.consume();
+          break;
+        default:
+          return;
+        }
+      }
+    });
     tbl_local_pdb.setAutoCreateRowSorter(true);
     tbl_local_pdb.getTableHeader().setReorderingAllowed(false);
     tbl_local_pdb.addMouseListener(new MouseAdapter()
     {
       public void mouseClicked(MouseEvent e)
       {
-        updateCurrentView();
+        validateSelections();
       }
 
       public void mouseReleased(MouseEvent e)
       {
-        updateCurrentView();
+        validateSelections();
+      }
+    });
+    tbl_local_pdb.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        validateSelections();
+        switch (evt.getKeyCode())
+        {
+        case KeyEvent.VK_ESCAPE: // escape key
+          mainFrame.dispose();
+          break;
+        case KeyEvent.VK_ENTER: // enter key
+          if (btn_view.isEnabled())
+          {
+            ok_ActionPerformed();
+          }
+          break;
+        case KeyEvent.VK_TAB: // tab key
+          if (evt.isShiftDown())
+          {
+            cmb_filterOption.requestFocus();
+          }
+          else
+          {
+            if (btn_view.isEnabled())
+            {
+              btn_view.requestFocus();
+            }
+            else
+            {
+              btn_cancel.requestFocus();
+            }
+          }
+          evt.consume();
+        default:
+          return;
+        }
       }
     });
-
     btn_view.setFont(new java.awt.Font("Verdana", 0, 12));
     btn_view.setText(MessageManager.getString("action.view"));
     btn_view.addActionListener(new java.awt.event.ActionListener()
@@ -233,6 +318,18 @@ public abstract class GStructureChooser extends JPanel implements
         ok_ActionPerformed();
       }
     });
+    btn_view.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+        {
+          ok_ActionPerformed();
+        }
+      }
+    });
+
     btn_cancel.setFont(new java.awt.Font("Verdana", 0, 12));
     btn_cancel.setText(MessageManager.getString("action.cancel"));
     btn_cancel.addActionListener(new java.awt.event.ActionListener()
@@ -242,6 +339,17 @@ public abstract class GStructureChooser extends JPanel implements
         mainFrame.dispose();
       }
     });
+    btn_cancel.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+        {
+          mainFrame.dispose();
+        }
+      }
+    });
 
     btn_pdbFromFile.setFont(new java.awt.Font("Verdana", 0, 12));
     String btn_title = MessageManager.getString("label.select_pdb_file");
@@ -253,6 +361,17 @@ public abstract class GStructureChooser extends JPanel implements
         pdbFromFile_actionPerformed();
       }
     });
+    btn_pdbFromFile.addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (evt.getKeyCode() == KeyEvent.VK_ENTER)
+        {
+          pdbFromFile_actionPerformed();
+        }
+      }
+    });
 
     scrl_foundStructures.setPreferredSize(new Dimension(500, 300));
     scrl_foundStructures
index ac2202c..8c1bcb0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6130204..9b6e6a5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d54e98a..7947fcc 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f64568a..5f78579 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 98b6c73..de2bb5e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8c3aab6..e65f1ad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c60cea2..56098c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cafe762..3b2fe9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ab350eb..9435265 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -30,17 +30,41 @@ public class AlignmentAnnotationPojo
 
   @Attributes(
     required = false,
-    description = "Label for the Alignment Annotation")
+    description = "Label for the alignment annotation")
   private String label;
 
   @Attributes(
     required = false,
-    description = "Description for the Alignment Annotation")
+    description = "Description for the alignment annotation")
   private String description;
 
   @Attributes(required = false)
   private List<AnnotationPojo> annotations = new ArrayList<AnnotationPojo>();
 
+  @Attributes(
+    required = false,
+    enums = { "0", "1", "2" },
+    description = "Determines the rendering for the annotation<br><ul><li>0 - No graph</li><li>1 - Bar Graph</li><li>2 - Line graph</li></ul>")
+  private int graphType;
+
+  @Attributes(
+    required = false,
+    description = "Reference to the sequence in the alignment<br> if per-sequence annotation")
+  private String sequenceRef;
+
+  @Attributes(
+    required = false,
+    description = "Stores display settings for an annotation")
+  private AnnotationDisplaySettingPojo annotationSettings;
+
+  @Attributes(required = false, description = "Score of the annotation")
+  private double score;
+
+  @Attributes(
+    required = false,
+    description = "The annotation generation source")
+  private String calcId;
+
   public String getLabel()
   {
     return label;
@@ -71,4 +95,55 @@ public class AlignmentAnnotationPojo
     this.annotations = annotations;
   }
 
+  public String getSequenceRef()
+  {
+    return sequenceRef;
+  }
+
+  public void setSequenceRef(String sequenceRef)
+  {
+    this.sequenceRef = sequenceRef;
+  }
+
+  public int getGraphType()
+  {
+    return graphType;
+  }
+
+  public void setGraphType(int graphType)
+  {
+    this.graphType = graphType;
+  }
+
+  public AnnotationDisplaySettingPojo getAnnotationSettings()
+  {
+    return annotationSettings;
+  }
+
+  public void setAnnotationSettings(
+          AnnotationDisplaySettingPojo annotationSettings)
+  {
+    this.annotationSettings = annotationSettings;
+  }
+
+  public double getScore()
+  {
+    return score;
+  }
+
+  public void setScore(double score)
+  {
+    this.score = score;
+  }
+
+  public String getCalcId()
+  {
+    return calcId;
+  }
+
+  public void setCalcId(String calcId)
+  {
+    this.calcId = calcId;
+  }
+
 }
index 7b78313..ccf529e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
diff --git a/src/jalview/json/binding/biojson/v1/AnnotationDisplaySettingPojo.java b/src/jalview/json/binding/biojson/v1/AnnotationDisplaySettingPojo.java
new file mode 100644 (file)
index 0000000..3554b66
--- /dev/null
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ ******************************************************************************/
+package jalview.json.binding.biojson.v1;
+
+import com.github.reinert.jjschema.Attributes;
+
+public class AnnotationDisplaySettingPojo
+{
+
+  @Attributes(
+    required = false,
+    description = "Indicates if column label is scaled to fit within the <br>alignment column")
+  private boolean scaleColLabel;
+
+  @Attributes(
+    required = false,
+    description = "Indicates if every column label is displayed.")
+  private boolean showAllColLabels;
+
+  @Attributes(
+    required = false,
+    description = "Indicates if column labels is centred relative to the <br>alignment column")
+  private boolean centreColLabels;
+
+  @Attributes(
+    required = false,
+    description = "Indicates if the Annotation is shown below the alignment")
+  private boolean belowAlignment;
+
+  @Attributes(
+    required = false,
+    description = "Indicates if the annotation row is visible")
+  private boolean visible;
+
+  @Attributes(
+    required = false,
+    description = "Indicates if annotation has a graphical symbol track")
+  private boolean hasIcon;
+
+  public boolean isScaleColLabel()
+  {
+    return scaleColLabel;
+  }
+
+  public void setScaleColLabel(boolean scaleColLabel)
+  {
+    this.scaleColLabel = scaleColLabel;
+  }
+
+  public boolean isShowAllColLabels()
+  {
+    return showAllColLabels;
+  }
+
+  public void setShowAllColLabels(boolean showAllColLabels)
+  {
+    this.showAllColLabels = showAllColLabels;
+  }
+
+  public boolean isCentreColLabels()
+  {
+    return centreColLabels;
+  }
+
+  public void setCentreColLabels(boolean centreColLabels)
+  {
+    this.centreColLabels = centreColLabels;
+  }
+
+  public boolean isBelowAlignment()
+  {
+    return belowAlignment;
+  }
+
+  public void setBelowAlignment(boolean belowAlignment)
+  {
+    this.belowAlignment = belowAlignment;
+  }
+
+  public boolean isVisible()
+  {
+    return visible;
+  }
+
+  public void setVisible(boolean visible)
+  {
+    this.visible = visible;
+  }
+
+  public boolean isHasIcon()
+  {
+    return hasIcon;
+  }
+
+  public void setHasIcon(boolean hasIcon)
+  {
+    this.hasIcon = hasIcon;
+  }
+
+}
index d1cb71c..77b4b53 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -43,6 +43,11 @@ public class AnnotationPojo
   @Attributes(required = false, description = "Value of the annotation")
   private float value;
 
+  @Attributes(
+    required = false,
+    description = "Colour of the annotation position in hex string.")
+  private String colour;
+
   public String getDisplayCharacter()
   {
     return displayCharacter;
@@ -83,4 +88,14 @@ public class AnnotationPojo
     this.value = value;
   }
 
+  public String getColour()
+  {
+    return colour;
+  }
+
+  public void setColour(String colour)
+  {
+    this.colour = colour;
+  }
+
 }
diff --git a/src/jalview/json/binding/biojson/v1/ColourSchemeMapper.java b/src/jalview/json/binding/biojson/v1/ColourSchemeMapper.java
new file mode 100644 (file)
index 0000000..786d80e
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.json.binding.biojson.v1;
+
+import jalview.datamodel.AnnotatedCollectionI;
+import jalview.schemes.Blosum62ColourScheme;
+import jalview.schemes.BuriedColourScheme;
+import jalview.schemes.ClustalxColourScheme;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.HelixColourScheme;
+import jalview.schemes.HydrophobicColourScheme;
+import jalview.schemes.NucleotideColourScheme;
+import jalview.schemes.PIDColourScheme;
+import jalview.schemes.PurinePyrimidineColourScheme;
+import jalview.schemes.RNAHelicesColour;
+import jalview.schemes.RNAInteractionColourScheme;
+import jalview.schemes.StrandColourScheme;
+import jalview.schemes.TCoffeeColourScheme;
+import jalview.schemes.TaylorColourScheme;
+import jalview.schemes.TurnColourScheme;
+import jalview.schemes.ZappoColourScheme;
+
+public class ColourSchemeMapper
+{
+  private static ColourSchemeI csZappo, csTaylor, csNucleotide, csPurine,
+          csHelix, csTurn, csStrand, csBuried, csHydro,
+          csRNAInteractionType, csPID, csBlosum62 = null;
+  static
+  {
+    csZappo = new ZappoColourScheme();
+    csTaylor = new TaylorColourScheme();
+    csNucleotide = new NucleotideColourScheme();
+    csPurine = new PurinePyrimidineColourScheme();
+    csHelix = new HelixColourScheme();
+    csTurn = new TurnColourScheme();
+    csStrand = new StrandColourScheme();
+    csBuried = new BuriedColourScheme();
+    csHydro = new HydrophobicColourScheme();
+    csRNAInteractionType = new RNAInteractionColourScheme();
+    csPID = new PIDColourScheme();
+    csBlosum62 = new Blosum62ColourScheme();
+  }
+
+  public static ColourSchemeI getJalviewColourScheme(
+          String colourSchemeName, AnnotatedCollectionI annotCol)
+  {
+    switch (colourSchemeName.toUpperCase())
+    {
+    case "ZAPPO":
+      return csZappo;
+    case "TAYLOR":
+      return csTaylor;
+    case "NUCLEOTIDE":
+      return csNucleotide;
+    case "PURINE":
+    case "PURINE/PYRIMIDINE":
+      return csPurine;
+    case "HELIX":
+    case "HELIX PROPENSITY":
+      return csHelix;
+    case "TURN":
+    case "TURN PROPENSITY":
+      return csTurn;
+    case "STRAND":
+    case "STRAND PROPENSITY":
+      return csStrand;
+    case "BURIED":
+    case "BURIED INDEX":
+      return csBuried;
+    case "HYDRO":
+    case "HYDROPHOBIC":
+      return csHydro;
+    case "RNA INTERACTION TYPE":
+      return csRNAInteractionType;
+    case "PID":
+    case "% IDENTITY":
+      return csPID;
+    case "BLOSUM62":
+      return csBlosum62;
+    case "T-COFFEE SCORES":
+      return (annotCol != null) ? new TCoffeeColourScheme(annotCol) : null;
+    case "RNA HELICES":
+      return (annotCol != null) ? new RNAHelicesColour(annotCol) : null;
+    case "CLUSTAL":
+      return (annotCol != null) ? new ClustalxColourScheme(annotCol, null)
+              : null;
+    case "USER DEFINED":
+      return null;
+    default:
+      return null;
+    }
+  }
+}
diff --git a/src/jalview/json/binding/biojson/v1/JalviewBioJsColorSchemeMapper.java b/src/jalview/json/binding/biojson/v1/JalviewBioJsColorSchemeMapper.java
deleted file mode 100644 (file)
index 4d9f8ec..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
- * Copyright (C) 2015 The Jalview Authors
- * 
- * This file is part of Jalview.
- * 
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *  
- * Jalview is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty 
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
- * PURPOSE.  See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.json.binding.biojson.v1;
-
-import jalview.schemes.Blosum62ColourScheme;
-import jalview.schemes.BuriedColourScheme;
-import jalview.schemes.ColourSchemeI;
-import jalview.schemes.HelixColourScheme;
-import jalview.schemes.HydrophobicColourScheme;
-import jalview.schemes.NucleotideColourScheme;
-import jalview.schemes.PIDColourScheme;
-import jalview.schemes.PurinePyrimidineColourScheme;
-import jalview.schemes.RNAInteractionColourScheme;
-import jalview.schemes.StrandColourScheme;
-import jalview.schemes.TaylorColourScheme;
-import jalview.schemes.TurnColourScheme;
-import jalview.schemes.ZappoColourScheme;
-
-public enum JalviewBioJsColorSchemeMapper
-{
-
-  USER_DEFINED("User Defined", "user defined", null), NONE("None", "foo",
-          null), CLUSTAL("Clustal", "clustal", null), ZAPPO("Zappo",
-          "zappo", new ZappoColourScheme()), TAYLOR("Taylor", "taylor",
-          new TaylorColourScheme()), NUCLEOTIDE("Nucleotide", "nucleotide",
-          new NucleotideColourScheme()), PURINE_PYRIMIDINE(
-          "Purine/Pyrimidine", "purine", new PurinePyrimidineColourScheme()), HELIX_PROPENSITY(
-          "Helix Propensity", "helix", new HelixColourScheme()), TURN_PROPENSITY(
-          "Turn Propensity", "turn", new TurnColourScheme()), STRAND_PROPENSITY(
-          "Strand Propensity", "strand", new StrandColourScheme()), BURIED_INDEX(
-          "Buried Index", "buried", new BuriedColourScheme()), HYDROPHOBIC(
-          "Hydrophobic", "hydro", new HydrophobicColourScheme()),
-
-  // The color types below are not yet supported by BioJs MSA viewer
-  T_COFFE_SCORES("T-Coffee Scores", "T-Coffee Scores", null), RNA_INT_TYPE(
-          "RNA Interaction type", "RNA Interaction type",
-          new RNAInteractionColourScheme()), BLOSUM62("Blosum62",
-          "Blosum62", new Blosum62ColourScheme()), RNA_HELICES(
-          "RNA Helices", "RNA Helices", null), PERCENTAGE_IDENTITY(
-          "% Identity", "pid", new PIDColourScheme());
-
-  private String jalviewName;
-
-  private String bioJsName;
-
-  private ColourSchemeI jvColourScheme;
-
-  private JalviewBioJsColorSchemeMapper(String jalviewName,
-          String bioJsName, ColourSchemeI jvColourScheme)
-  {
-    this.jalviewName = jalviewName;
-    this.bioJsName = bioJsName;
-    this.setJvColourScheme(jvColourScheme);
-  }
-
-  public String getJalviewName()
-  {
-    return jalviewName;
-  }
-
-  public String getBioJsName()
-  {
-    return bioJsName;
-  }
-
-  public ColourSchemeI getJvColourScheme()
-  {
-    return jvColourScheme;
-  }
-
-  public void setJvColourScheme(ColourSchemeI jvColourScheme)
-  {
-    this.jvColourScheme = jvColourScheme;
-  }
-
-}
index 318eeac..a87356e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f64ec92..3861adb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 112a54b..bc1d118 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -28,7 +28,7 @@ public class SequencePojo
     required = true,
     minLength = 3,
     maxLength = 2147483647,
-    description = "Sequence residue characters. An aligned sequence may contain <br>one of the following gap characters Ã¢\80\9c.â\80?, Ã¢\80\9c-â\80? or Ã¢\80\9c Ã¢\80?")
+    description = "Sequence residue characters. An aligned sequence may contain <br>one of the following gap characters &#x201c;.&#x201d;, &#x201c;-&#x201d; or &#x201c;&nbsp;&#x201d;")
   private String seq;
 
   @Attributes(required = true, description = "Sequence name")
index f6198b4..894c4bb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 189ec51..4a1571b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 075ac0e..99f0c87 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9610a79..bc47fc6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index dd18bd6..3e83b37 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d05d158..56c5c07 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 76cf184..0e84b9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f269bdf..1d2aad3 100644 (file)
@@ -11,7 +11,6 @@ package jalview.schemabinding.version2.descriptors;
 //- Imported classes and packages -/
 //---------------------------------/
 
-
 /**
  * Class AnnotationColoursDescriptor.
  * 
index 5a5b4a9..a7ffaba 100644 (file)
@@ -11,7 +11,6 @@ package jalview.schemabinding.version2.descriptors;
 //- Imported classes and packages -/
 //---------------------------------/
 
-
 /**
  * Class FeaturesDescriptor.
  * 
index 527b16b..ece728a 100644 (file)
@@ -11,7 +11,6 @@ package jalview.schemabinding.version2.descriptors;
 //- Imported classes and packages -/
 //---------------------------------/
 
-
 /**
  * Class UserColourSchemeDescriptor.
  * 
index fc7f9ba..86e6992 100644 (file)
@@ -11,7 +11,6 @@ package jalview.schemabinding.version2.descriptors;
 //- Imported classes and packages -/
 //---------------------------------/
 
-
 /**
  * Class VamsasModelDescriptor.
  * 
index ed8077f..4f92d18 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9e226de..fda5647 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f2859d3..8e610cc 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2ba06dc..71e30fb 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0c393cd..44a1974 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 500047b..4f7f12d 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 337672c..1dc541e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c88393a..6a81abe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 163bcff..cdcc6e0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3de2ab5..367e989 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a89bc47..323c05b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 56e0106..5e3dd44 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index dd99f8a..1bd3132 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d21c30f..47358da 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 441a117..bda6123 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9c2ec3e..85cbb42 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5a09a34..e5e551b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e23a497..ee8fa54 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3164748..c2cd8d7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 092971d..a6a7e09 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fba1188..a99bc1c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e2aa232..20b4b77 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6fe4013..14320aa 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bc56281..31d2b35 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index da7d265..11742d7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c0a4e3c..0983d52 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 89f3eed..edde29b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -99,7 +99,7 @@ public class UserColourScheme extends ResidueColourScheme
     return schemeName;
   }
 
-  public Color getColourFromString(String colour)
+  public static Color getColourFromString(String colour)
   {
     colour = colour.trim();
 
index a313767..24bebfd 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1c4babd..9b03d15 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6dbc557..bdb83e2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a8df3c8..2a0a6bc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c8be34c..b8edb21 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 582cfd8..b3b656c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b1bf009..88c731f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c44aa0b..d895598 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 755fd0c..6b6a185 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 147cc07..06a67ff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c61d90a..4aeb55e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c30908c..74cab59 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index dbcccd9..eabd2b9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b9841f6..52096b8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 74fee63..aa3d778 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 54c1a53..2e53873 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9d4f72a..7089c0f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 52a3cdd..1da860b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c2f54f7..a39ae7c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c491be4..8c643cd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 32589f7..da836ad 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ffc80d3..f8eb389 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1acf94b..244db75 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
diff --git a/src/jalview/util/HttpUtils.java b/src/jalview/util/HttpUtils.java
new file mode 100644 (file)
index 0000000..68e628a
--- /dev/null
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ ******************************************************************************/
+package jalview.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+public class HttpUtils
+{
+
+  /**
+   * Returns true if it is possible to open an input stream at the given URL,
+   * else false. The input stream is closed.
+   * 
+   * @param url
+   * @return
+   */
+  public static boolean isValidUrl(String url)
+  {
+    InputStream is = null;
+    try
+    {
+      is = new URL(url).openStream();
+      if (is != null)
+      {
+        return true;
+      }
+    } catch (IOException x)
+    {
+      // MalformedURLException, FileNotFoundException
+      return false;
+    } finally
+    {
+      if (is != null)
+      {
+        try
+        {
+          is.close();
+        } catch (IOException e)
+        {
+          // ignore
+        }
+      }
+    }
+    return false;
+  }
+
+}
index 3c7ac8c..3fdc3c1 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a20a340..ebf3fd2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0933b97..aa0afea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 51f23bb..2f993ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fef31b2..6d02d64 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -21,6 +21,7 @@
 package jalview.util;
 
 import java.util.ArrayList;
+import java.util.List;
 import java.util.StringTokenizer;
 import java.util.regex.Pattern;
 
@@ -52,9 +53,9 @@ public class ParseHtmlBodyAndLinks
     return htmlContent;
   }
 
-  ArrayList<String> links = new ArrayList<String>();
+  List<String> links = new ArrayList<String>();
 
-  StringBuffer sb = new StringBuffer();
+  String content;
 
   /**
    * result of parsing description - with or without HTML tags
@@ -64,7 +65,7 @@ public class ParseHtmlBodyAndLinks
   public String getContent()
   {
 
-    return sb.toString();
+    return content;
   }
 
   /**
@@ -72,12 +73,19 @@ public class ParseHtmlBodyAndLinks
    * 
    * @return
    */
-  public ArrayList<String> getLinks()
+  public List<String> getLinks()
   {
     return links;
   }
 
   /**
+   * Parses the given html and
+   * <ul>
+   * <li>extracts any 'href' links to a list of "displayName|url" strings,
+   * retrievable by #getLinks</li>
+   * <li>extracts the remaining text (with %LINK% placeholders replacing hrefs),
+   * retrievable by #getContent</li>
+   * </ul>
    * 
    * @param description
    *          - html or text content to be parsed
@@ -89,6 +97,7 @@ public class ParseHtmlBodyAndLinks
   public ParseHtmlBodyAndLinks(String description, boolean removeHTML,
           String newline)
   {
+    StringBuilder sb = new StringBuilder(description.length());
     if (description == null || description.length() == 0)
     {
       htmlContent = false;
@@ -105,7 +114,7 @@ public class ParseHtmlBodyAndLinks
     String tag = null;
     while (st.hasMoreElements())
     {
-      token = st.nextToken("&>");
+      token = st.nextToken(">");
       if (token.equalsIgnoreCase("html") || token.startsWith("/"))
       {
         continue;
@@ -135,18 +144,6 @@ public class ParseHtmlBodyAndLinks
       {
         sb.append(newline);
       }
-      else if (token.startsWith("lt;"))
-      {
-        sb.append("<" + token.substring(3));
-      }
-      else if (token.startsWith("gt;"))
-      {
-        sb.append(">" + token.substring(3));
-      }
-      else if (token.startsWith("amp;"))
-      {
-        sb.append("&" + token.substring(4));
-      }
       else
       {
         sb.append(token);
@@ -156,11 +153,18 @@ public class ParseHtmlBodyAndLinks
     {
       // instead of parsing the html into plaintext
       // clean the description ready for embedding in html
-      sb = new StringBuffer(LEFT_ANGLE_BRACKET_PATTERN.matcher(description)
-              .replaceAll("&lt;"));
-
+      sb = new StringBuilder(LEFT_ANGLE_BRACKET_PATTERN
+              .matcher(description).replaceAll("&lt;"));
     }
+    content = translateEntities(sb.toString());
+  }
 
+  private String translateEntities(String s)
+  {
+    s = s.replaceAll("&amp;", "&");
+    s = s.replaceAll("&lt;", "<");
+    s = s.replaceAll("&gt;", ">");
+    return s;
   }
 
   /**
@@ -171,7 +175,7 @@ public class ParseHtmlBodyAndLinks
    */
   public String getNonHtmlContent()
   {
-    return isHtmlContent() ? sb.toString() : orig;
+    return isHtmlContent() ? content : orig;
   }
 
 }
index ef860d4..45df4fb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 19ef730..216f864 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1145b66..ed802fa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 860a700..ad1300a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b499e6e..6369dad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 77e0577..164c840 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 85a4bc8..a6ef8d2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 17bb015..a6b5c5e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a15e9a6..c5196b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 54a4925..34941e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 68c5ba8..fa56cb5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fdd40e4..2e79577 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -683,7 +683,7 @@ public abstract class FeatureRendererModel implements
   @Override
   public Map<String, Object> getFeatureColours()
   {
-    return new ConcurrentHashMap<String, Object>(featureColours);
+    return featureColours;
   }
 
   /**
index 93884f5..ed867f3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a311bc5..7d923dd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 81a06a3..3a4d58b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a0ba633..f54d91c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2fa0553..475da30 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6bdf1c2..570af09 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 13e9790..fef76ed 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ff7e7ce..dd0f228 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 990f724..c0b901e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a7f64e7..cc4172f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 156bd84..2074f9f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3bd7e65..e461d16 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7693142..353f40e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -125,9 +125,13 @@ public class DBRefFetcher implements Runnable
     {
       alseqs[i] = seqs[i];
       if (seqs[i].getDatasetSequence() != null)
+      {
         ds[i] = seqs[i].getDatasetSequence();
+      }
       else
+      {
         ds[i] = seqs[i];
+      }
     }
     this.dataset = ds;
     // TODO Jalview 2.5 lots of this code should be in the gui package!
@@ -596,9 +600,9 @@ public class DBRefFetcher implements Runnable
                 sequence.getSequenceAsString()).toUpperCase();
 
         int absStart = entrySeq.indexOf(nonGapped);
-        int mapStart = entry.getStart();
-        jalview.datamodel.Mapping mp;
+        Mapping mp;
 
+        final int sequenceStart = sequence.getStart();
         if (absStart == -1)
         {
           // Is local sequence contained in dataset sequence?
@@ -618,11 +622,10 @@ public class DBRefFetcher implements Runnable
           // absStart = 0;
           // create valid mapping between matching region of local sequence and
           // the mapped sequence
-          mp = new Mapping(null, new int[] {
-              sequence.getStart() + absStart,
-              sequence.getStart() + absStart + entrySeq.length() - 1 },
-                  new int[] { entry.getStart(),
-                      entry.getStart() + entrySeq.length() - 1 }, 1, 1);
+          mp = new Mapping(null, new int[] { sequenceStart + absStart,
+              sequenceStart + absStart + entrySeq.length() - 1 }, new int[]
+          { entry.getStart(), entry.getStart() + entrySeq.length() - 1 },
+                  1, 1);
           updateRefFrame = false; // mapping is based on current start/end so
           // don't modify start and end
         }
@@ -645,7 +648,7 @@ public class DBRefFetcher implements Runnable
             if (sequence.getSequenceFeatures() != null)
             {
               SequenceFeature[] sf = sequence.getSequenceFeatures();
-              int start = sequence.getStart();
+              int start = sequenceStart;
               int end = sequence.getEnd();
               int startShift = 1 - absStart - start; // how much the features
                                                      // are
@@ -667,8 +670,8 @@ public class DBRefFetcher implements Runnable
                 + " from " + dbSource + " sequence : " + entry.getName());
         sequence.transferAnnotation(entry, mp);
         // unknownSequences.remove(sequence);
-        int absEnd = absStart + nonGapped.length();
-        absStart += 1;
+        absStart += entry.getStart();
+        int absEnd = absStart + nonGapped.length() - 1;
         if (!trimDatasetSeqs)
         {
           // insert full length sequence from record
index 345bdd7..c1db0b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a782917..421f000 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f5b678c..11008c2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index aba3c6f..34e1fb4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4ca0b76..bf4b9b9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2b3539e..bc609dd 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 76f5519..09b3ccf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 09ce4bc..4b5a386 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 40a4098..383f2ae 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3d57000..b8ff08f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 697e4ee..997cc20 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3b251ed..22930a6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 44ef3fc..d21aacb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a125ce4..dcea063 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 356eac3..4cc7120 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a979098..a0b480f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 027db80..f1394ad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 842090d..48877cc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 09d5a93..bddcc0c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 22d8c71..ff8d26f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0d38ca6..c2efee7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8e4958e..8863e81 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 40ea0fb..344f548 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3550b42..06e1d78 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 79d003f..378a6ab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8f00f75..168082e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7eb74b3..9e0a2bb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8cb3fba..c30b688 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5c1dd91..3c9e6b4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6d70404..6015362 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1a4ded5..b13ab5b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 366c945..de9b24a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f3516b7..cf228d6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b4c29d1..13d3cd1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 55d0813..9190db3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 79c39b4..30f9272 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 97d041e..6d471fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 03b9b8f..17fccca 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e6afb04..1f3495e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3783f23..0ff2913 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index bf791e2..600eafd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -34,7 +34,9 @@ import jalview.ws.AWsJob;
 import jalview.ws.JobStateSummary;
 import jalview.ws.WSClientI;
 
+import java.util.HashMap;
 import java.util.Hashtable;
+import java.util.Map;
 import java.util.Vector;
 
 import vamsas.objects.simple.MsaResult;
@@ -168,7 +170,7 @@ class SeqSearchWSThread extends JWS1Thread implements WSClientI
      * 
      * @return null or { Alignment(+features and annotation), NewickFile)}
      */
-    public Object[] getAlignment(Alignment dataset, Hashtable featureColours)
+    public Object[] getAlignment(Alignment dataset, Map featureColours)
     {
 
       if (result != null && result.isFinished())
@@ -610,7 +612,7 @@ class SeqSearchWSThread extends JWS1Thread implements WSClientI
     // NewickFile nf[] = new NewickFile[jobs.length];
     for (int j = 0; j < jobs.length; j++)
     {
-      Hashtable featureColours = new Hashtable();
+      Map featureColours = new HashMap();
       Alignment al = null;
       NewickFile nf = null;
       if (jobs[j].hasResults())
index 0589ffb..e729f58 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8654cb2..c3cff59 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0c6c271..ef810de 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d955db5..65620cc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3eaeb3f..b4b103a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa1e3d1..1cc6361 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b98eae4..0189cf9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 602b882..558d891 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 757ee23..e3ac85a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 561e4e8..7dc5c2e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e376a73..b47f9b0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d2e5bcd..1fc85ad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d45a0e1..6d29f40 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d8fb846..724dc26 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 60fa85b..76f9689 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b961cfd..152adad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 40e6de7..d72ea5f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 99a0d2c..b55a28c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 769100e..b613a5b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 75cb678..c51cea9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 285b755..fd89a4c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 66b3112..9d63444 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 214c15d..8bd3805 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7aff089..a752b7a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 07ad45d..3cab582 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a1307f5..b5fdf3b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 105a0c3..1bc1d63 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8d57d0a..9bf60b5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cf892cb..296db95 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 58a20dc..7b3d20c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1fa7944..6492702 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8ed54b2..c481f44 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0d01c28..0000f60 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cd85c1a..044d3ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa7a706..2c855ed 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2223d58..b7b40c0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 484a46d..db43eb8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 88cb488..e014732 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c3c6db2..74c3d04 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 46767db..06cae9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 74023b7..91d24e0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 43193b6..2ff5022 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 836ca09..6e7fe00 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index df340b0..59b4cfc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2038973..ef16bb2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 202ea12..03918a8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0378d62..bb8fb72 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2d5a83a..cbbfd07 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d97ad07..311a922 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d7b1fc7..f8319fc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index dd1f39e..a8bf2d1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index da12bb9..9a7e610 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6bc208b..af96fea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 66703a0..c125b64 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0be6b98..e9842ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 736e155..8f33db8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4dcc657..ba94139 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 57beea2..ee6bb2a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f0407ad..10aa578 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 09224c9..4cc8375 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -20,7 +20,6 @@
  */
 package jalview.ws.uimodel;
 
-
 public class AlignAnalysisUIText
 {
 
index 7826fbd..24f38d1 100644 (file)
@@ -21,6 +21,7 @@
 
 package jalview.ws.uimodel;
 
+import jalview.bin.Cache;
 import jalview.datamodel.SequenceI;
 import jalview.ws.dbsources.PDBRestClient.PDBDocField;
 
@@ -44,12 +45,14 @@ public class PDBRestRequest
 
   private boolean allowEmptySequence;
 
+  private boolean allowUnpublishedEntries = Cache.getDefault(
+          "ALLOW_UNPUBLISHED_PDB_QUERYING", false);
+
   private int responseSize;
 
   private boolean isSortAscending;
 
-  private Collection<PDBDocField> wantedFields;// = new
-                                               // Collection<PDBDocField>();
+  private Collection<PDBDocField> wantedFields;
 
   public String getFieldToSearchBy()
   {
@@ -130,7 +133,8 @@ public class PDBRestRequest
   public String getQuery()
   {
     return fieldToSearchBy + searchTerm
-            + (isAllowEmptySeq() ? "" : " AND molecule_sequence:['' TO *]");
+            + (isAllowEmptySeq() ? "" : " AND molecule_sequence:['' TO *]")
+            + (isAllowUnpublishedEntries() ? "" : " AND status:REL");
   }
 
   public String toString()
@@ -139,4 +143,14 @@ public class PDBRestRequest
             + " isAsc: " + isAscending() + " Associated Seq : "
             + associatedSequence;
   }
+
+  public boolean isAllowUnpublishedEntries()
+  {
+    return allowUnpublishedEntries;
+  }
+
+  public void setAllowUnpublishedEntries(boolean allowUnpublishedEntries)
+  {
+    this.allowUnpublishedEntries = allowUnpublishedEntries;
+  }
 }
index 1e71632..d137bcf 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index faaaa07..a708909 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 34a4ae2..1f297b0 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index edadddc..d041c43 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5b5c3f7..d37aea9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ca9b1f4..679e869 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fba9b44..4aefb6f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9a71fdd..257ca66 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 696214a..c7bcc6b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 04dfe41..a29822a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e540ebc..a724a70 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ee9ee35..56f9826 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ae8b2a8..70a14e6 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ce192ee..3199e97 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0e679dc..aa13d25 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7bff797..21bc5f9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a384dbe..dc6abe7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3936f73..5629529 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1a5d92d..97c88b3 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7070015..1ed69a4 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1e31e0b..caf0d3f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5e28795..dccbc3b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 36c65ee..b47f44e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 06c9853..ebb4449 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4a140b7..128cd25 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 39814f9..1f153d4 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 47dbd9c..8022645 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 713db9b..f7b6234 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0b81b50..065bb04 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2361016..ced280e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6758287..0cd1f19 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ad7d67c..f72dcb7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 646eafa..37c393b 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7813607..3cecb44 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b5a112f..09afa5b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0943dce..abf5af4 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9f024bc..311e7fb 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 59badf3..e0f2698 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2f24b7b..a5bba17 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3efaf36..22fa555 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4fa1555..bed2a48 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 02ea52e..560b1a1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f3444c7..1f5ae81 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 159b206..ce020c9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 59c7475..9427cd2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7994981..a7a7ce1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
diff --git a/test/com/stevesoft/pat/RegexWriterTest.java b/test/com/stevesoft/pat/RegexWriterTest.java
deleted file mode 100644 (file)
index e06703e..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
- * Copyright (C) 2015 The Jalview Authors
- * 
- * This file is part of Jalview.
- * 
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *  
- * Jalview is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty 
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
- * PURPOSE.  See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package com.stevesoft.pat;
-
-import static org.testng.AssertJUnit.assertEquals;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-/**
- * Test class refactored from RegexWriter main method
- */
-public class RegexWriterTest
-{
-
-  /**
-   * Asserts that the result of performing 'replaceAll' on the input using the
-   * regular expression is the same as the output of a RegexWriter, constructed
-   * from the regular expression, writing out each character of the input
-   * string.
-   * 
-   * @param re
-   *          a regular expression
-   * @param inp
-   *          an input string
-   * @throws Exception
-   */
-
-  @Test(groups = { "Functional" }, dataProvider = "testWriteParam")
-  void test(String re, String inp) throws IOException
-  {
-    StringWriter sw = new StringWriter();
-    Regex rex = Regex.perlCode(re);
-    String res1 = rex.replaceAll(inp);
-    RegexWriter rw = new RegexWriter(rex, sw);
-    for (int i = 0; i < inp.length(); i++)
-    {
-      rw.write(inp.charAt(i));
-    }
-    rw.close();
-    String res2 = sw.toString();
-    if (!res1.equals(res2))
-    {
-      System.out.println("re=" + re);
-      System.out.println("inp=" + inp);
-      System.out.println("res1=" + res1);
-      System.out.println("res2=" + res2);
-      assertEquals(res1, res2);
-    }
-  }
-
-  // @Test(groups ={ "Functional" })
-  // public void testWrite() throws IOException
-  // {
-  // for (int n = 1; n <= 1; n++)
-  // {
-  // test("s/x/y/", "-----x123456789");
-  // test("s/x/y/", "x123456789");
-  // test("s/x/y/", "-----x");
-  // test("s/x.*?x/y/", ".xx..x..x...x...x....x....x");
-  // test("s/x.*x/[$&]/", "--x........x--xx");
-  // test("s/x.*x/[$&]/", "--x........x------");
-  // test("s/.$/a/m", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbbbbbbbbbbbb");
-  // test("s/.$/a/", "123");
-  // test("s/.$/a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb");
-  // test("s/^./a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb");
-  // test("s/$/a/", "bbb");
-  // test("s/^/a/", "bbb");
-  // test("s/^/a/", "");
-  // test("s{.*}{N}", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
-  // test("s/.{0,7}/y/", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
-  // test("s/x/$&/", "xxx");
-  // }
-  // }
-
-  @DataProvider(name = "testWriteParam")
-  public Object[][] regexTestParams()
-  {
-    return new Object[][] { { "s/x/y/", "-----x123456789" },
-        { "s/x/y/", "x123456789" }, { "s/x/y/", "-----x" },
-        { "s/x.*?x/y/", ".xx..x..x...x...x....x....x" },
-        { "s/x.*x/[$&]/", "--x........x--xx" },
-        { "s/x.*x/[$&]/", "--x........x------" },
-        { "s/.$/a/m", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbbbbbbbbbbbb" },
-        { "s/.$/a/", "123" },
-        { "s/.$/a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb" },
-        { "s/^./a/", "bb\nbbb\nbbbb\nbbbbb\nbbbbbb\nbb" },
-        { "s/$/a/", "bbb" }, { "s/^/a/", "bbb" }, { "s/^/a/", "" },
-        { "s{.*}{N}", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" },
-        { "s/.{0,7}/y/", "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" },
-        { "s/x/$&/", "xxx" } };
-  }
-}
index 2d64d28..94a04a6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 61c2dc1..5c4cb08 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 7681928..4692fe4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 75cc18b..4b74032 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -281,7 +281,7 @@ public class AlignmentUtilsTests
    * @throws IOException
    */
   @Test(groups = { "Functional" })
-  public void testMapProteinToCdna_noXrefs() throws IOException
+  public void testMapProteinAlignmentToCdna_noXrefs() throws IOException
   {
     List<SequenceI> protseqs = new ArrayList<SequenceI>();
     protseqs.add(new Sequence("UNIPROT|V12345", "EIQ"));
@@ -298,7 +298,7 @@ public class AlignmentUtilsTests
     AlignmentI cdna = new Alignment(dnaseqs.toArray(new SequenceI[4]));
     cdna.setDataset(null);
 
-    assertTrue(AlignmentUtils.mapProteinToCdna(protein, cdna));
+    assertTrue(AlignmentUtils.mapProteinAlignmentToCdna(protein, cdna));
 
     // 3 mappings made, each from 1 to 1 sequence
     assertEquals(3, protein.getCodonFrames().size());
@@ -617,7 +617,7 @@ public class AlignmentUtilsTests
    * @throws IOException
    */
   @Test(groups = { "Functional" })
-  public void testMapProteinToCdna_withStartAndStopCodons()
+  public void testMapProteinAlignmentToCdna_withStartAndStopCodons()
           throws IOException
   {
     List<SequenceI> protseqs = new ArrayList<SequenceI>();
@@ -638,7 +638,7 @@ public class AlignmentUtilsTests
     AlignmentI cdna = new Alignment(dnaseqs.toArray(new SequenceI[4]));
     cdna.setDataset(null);
 
-    assertTrue(AlignmentUtils.mapProteinToCdna(protein, cdna));
+    assertTrue(AlignmentUtils.mapProteinAlignmentToCdna(protein, cdna));
 
     // 3 mappings made, each from 1 to 1 sequence
     assertEquals(3, protein.getCodonFrames().size());
@@ -710,7 +710,7 @@ public class AlignmentUtilsTests
    * @throws IOException
    */
   @Test(groups = { "Functional" })
-  public void testMapProteinToCdna_withXrefs() throws IOException
+  public void testMapProteinAlignmentToCdna_withXrefs() throws IOException
   {
     List<SequenceI> protseqs = new ArrayList<SequenceI>();
     protseqs.add(new Sequence("UNIPROT|V12345", "EIQ"));
@@ -739,7 +739,7 @@ public class AlignmentUtilsTests
     // A11111 should be mapped to V12347
     // A55555 is spare and has no xref so is not mapped
 
-    assertTrue(AlignmentUtils.mapProteinToCdna(protein, cdna));
+    assertTrue(AlignmentUtils.mapProteinAlignmentToCdna(protein, cdna));
 
     // 4 protein mappings made for 3 proteins, 2 to V12345, 1 each to V12346/7
     assertEquals(3, protein.getCodonFrames().size());
@@ -786,7 +786,8 @@ public class AlignmentUtilsTests
    * @throws IOException
    */
   @Test(groups = { "Functional" })
-  public void testMapProteinToCdna_prioritiseXrefs() throws IOException
+  public void testMapProteinAlignmentToCdna_prioritiseXrefs()
+          throws IOException
   {
     List<SequenceI> protseqs = new ArrayList<SequenceI>();
     protseqs.add(new Sequence("UNIPROT|V12345", "EIQ"));
@@ -806,7 +807,7 @@ public class AlignmentUtilsTests
     // A11111 should then be mapped to the unmapped V12346
     dnaseqs.get(1).addDBRef(new DBRefEntry("UNIPROT", "1", "V12345"));
 
-    assertTrue(AlignmentUtils.mapProteinToCdna(protein, cdna));
+    assertTrue(AlignmentUtils.mapProteinAlignmentToCdna(protein, cdna));
 
     // 2 protein mappings made
     assertEquals(2, protein.getCodonFrames().size());
@@ -1279,4 +1280,27 @@ public class AlignmentUtilsTests
     assertTrue(AlignmentUtils.isMappable(al1, al2));
     assertTrue(AlignmentUtils.isMappable(al2, al1));
   }
+
+  /**
+   * Test creating a mapping when the sequences involved do not start at residue
+   * 1
+   * 
+   * @throws IOException
+   */
+  @Test(groups = { "Functional" })
+  public void testMapProteinSequenceToCdna_forSubsequence()
+          throws IOException
+  {
+    SequenceI prot = new Sequence("UNIPROT|V12345", "E-I--Q", 10, 12);
+    prot.createDatasetSequence();
+
+    SequenceI dna = new Sequence("EMBL|A33333", "GAA--AT-C-CAG", 40, 48);
+    dna.createDatasetSequence();
+
+    MapList map = AlignmentUtils.mapProteinSequenceToCdna(prot, dna);
+    assertEquals(10, map.getToLowest());
+    assertEquals(12, map.getToHighest());
+    assertEquals(40, map.getFromLowest());
+    assertEquals(48, map.getFromHighest());
+  }
 }
index d6b31a0..243b0e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index afe154f..a4ac65a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4c4c7df..38fc59f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e0f9af1..7290b43 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index c8f07ec..ae4d461 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1a04517..6e1a620 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5013b35..2d7d54c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -27,6 +27,7 @@ import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceI;
+import jalview.gui.AlignFrame;
 
 import java.util.List;
 
index 17279cd..dc738b3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2dee421..07aff4b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 61c4913..df5502e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index dae07c1..0670327 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
diff --git a/test/jalview/bin/JalviewLiteTest.java b/test/jalview/bin/JalviewLiteTest.java
new file mode 100644 (file)
index 0000000..79310a0
--- /dev/null
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ ******************************************************************************/
+package jalview.bin;
+
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNull;
+
+import java.util.Arrays;
+
+import org.testng.annotations.Test;
+
+public class JalviewLiteTest
+{
+
+  @Test(groups = "Functional")
+  public void testSeparatorListToArray()
+  {
+    assertNull(JalviewLite.separatorListToArray(null, "|"));
+    assertNull(JalviewLite.separatorListToArray("", "|"));
+    assertNull(JalviewLite.separatorListToArray("|", "|"));
+    assertNull(JalviewLite.separatorListToArray("abc", "abc"));
+
+    String[] array = JalviewLite.separatorListToArray("abc|def|ghi|", "|");
+    assertEquals(3, array.length);
+    assertEquals("abc", array[0]);
+    assertEquals("def", array[1]);
+    assertEquals("ghi", array[2]);
+
+    assertEquals("[abc]",
+            Arrays.toString(JalviewLite.separatorListToArray("abc|", "|")));
+    assertEquals("[abc]", Arrays.toString(JalviewLite.separatorListToArray(
+            "abcxy", "xy")));
+
+    // these fail:
+    // assertEquals("[abc]",
+    // Arrays.toString(JalviewLite.separatorListToArray("|abc", "|")));
+    // assertEquals("[abc]", Arrays.toString(JalviewLite.separatorListToArray(
+    // "abc|||", "|")));
+  }
+}
index 7ce0138..fe67e5f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -105,7 +105,7 @@ public class EditCommandTest
   public void testCut()
   {
     Edit ec = testee.new Edit(Action.CUT, seqs, 4, 3, al);
-    testee.cut(ec, new AlignmentI[] { al });
+    EditCommand.cut(ec, new AlignmentI[] { al });
     assertEquals("abcdhjk", seqs[0].getSequenceAsString());
     assertEquals("fghjnopq", seqs[1].getSequenceAsString());
     assertEquals("qrstxyz", seqs[2].getSequenceAsString());
@@ -130,7 +130,7 @@ public class EditCommandTest
     newSeqs[1] = new Sequence("newseq1", "JWMPDH");
 
     Edit ec = testee.new Edit(Action.PASTE, newSeqs, 0, al.getWidth(), al);
-    testee.paste(ec, new AlignmentI[] { al });
+    EditCommand.paste(ec, new AlignmentI[] { al });
     assertEquals(6, al.getSequences().size());
     assertEquals("1234567890", seqs[3].getSequenceAsString());
     assertEquals("ACEFKL", seqs[4].getSequenceAsString());
@@ -423,12 +423,12 @@ public class EditCommandTest
     SequenceI seq = new Sequence("", "--A--B-CDEF");
     SequenceI ds = new Sequence("", "ABCDEF");
     seq.setDatasetSequence(ds);
-    SequenceI[] seqs = new SequenceI[] { seq };
-    Edit e = command.new Edit(Action.INSERT_GAP, seqs, 1, 2, '-');
+    SequenceI[] sqs = new SequenceI[] { seq };
+    Edit e = command.new Edit(Action.INSERT_GAP, sqs, 1, 2, '-');
     command.addEdit(e);
-    e = command.new Edit(Action.INSERT_GAP, seqs, 4, 1, '-');
+    e = command.new Edit(Action.INSERT_GAP, sqs, 4, 1, '-');
     command.addEdit(e);
-    e = command.new Edit(Action.INSERT_GAP, seqs, 0, 2, '-');
+    e = command.new Edit(Action.INSERT_GAP, sqs, 0, 2, '-');
     command.addEdit(e);
 
     Map<SequenceI, SequenceI> unwound = command.priorState(false);
@@ -450,10 +450,10 @@ public class EditCommandTest
     SequenceI seq = new Sequence("", "ABC");
     SequenceI ds = new Sequence("", "ABC");
     seq.setDatasetSequence(ds);
-    SequenceI[] seqs = new SequenceI[] { seq };
-    Edit e = command.new Edit(Action.DELETE_GAP, seqs, 1, 1, '-');
+    SequenceI[] sqs = new SequenceI[] { seq };
+    Edit e = command.new Edit(Action.DELETE_GAP, sqs, 1, 1, '-');
     command.addEdit(e);
-    e = command.new Edit(Action.DELETE_GAP, seqs, 2, 1, '-');
+    e = command.new Edit(Action.DELETE_GAP, sqs, 2, 1, '-');
     command.addEdit(e);
 
     Map<SequenceI, SequenceI> unwound = command.priorState(false);
@@ -470,8 +470,8 @@ public class EditCommandTest
     SequenceI seq = new Sequence("", "ABCDEF");
     SequenceI ds = new Sequence("", "ABCDEF");
     seq.setDatasetSequence(ds);
-    SequenceI[] seqs = new SequenceI[] { seq };
-    Edit e = command.new Edit(Action.DELETE_GAP, seqs, 2, 2, '-');
+    SequenceI[] sqs = new SequenceI[] { seq };
+    Edit e = command.new Edit(Action.DELETE_GAP, sqs, 2, 2, '-');
     command.addEdit(e);
 
     Map<SequenceI, SequenceI> unwound = command.priorState(false);
@@ -488,12 +488,38 @@ public class EditCommandTest
     SequenceI seq = new Sequence("", "AB---CDEF");
     SequenceI ds = new Sequence("", "ABCDEF");
     seq.setDatasetSequence(ds);
-    SequenceI[] seqs = new SequenceI[] { seq };
-    Edit e = command.new Edit(Action.INSERT_GAP, seqs, 2, 3, '-');
+    SequenceI[] sqs = new SequenceI[] { seq };
+    Edit e = command.new Edit(Action.INSERT_GAP, sqs, 2, 3, '-');
     command.addEdit(e);
 
     Map<SequenceI, SequenceI> unwound = command.priorState(false);
-    assertEquals("ABCDEF", unwound.get(ds).getSequenceAsString());
+    SequenceI prior = unwound.get(ds);
+    assertEquals("ABCDEF", prior.getSequenceAsString());
+    assertEquals(1, prior.getStart());
+    assertEquals(6, prior.getEnd());
+  }
+
+  /**
+   * Test 'undoing' a single gap insertion edit command, on a sequence whose
+   * start residue is other than 1
+   */
+  @Test(groups = { "Functional" })
+  public void testPriorState_singleInsertWithOffset()
+  {
+    EditCommand command = new EditCommand();
+    SequenceI seq = new Sequence("", "AB---CDEF", 8, 13);
+    // SequenceI ds = new Sequence("", "ABCDEF", 8, 13);
+    // seq.setDatasetSequence(ds);
+    seq.createDatasetSequence();
+    SequenceI[] sqs = new SequenceI[] { seq };
+    Edit e = command.new Edit(Action.INSERT_GAP, sqs, 2, 3, '-');
+    command.addEdit(e);
+
+    Map<SequenceI, SequenceI> unwound = command.priorState(false);
+    SequenceI prior = unwound.get(seq.getDatasetSequence());
+    assertEquals("ABCDEF", prior.getSequenceAsString());
+    assertEquals(8, prior.getStart());
+    assertEquals(13, prior.getEnd());
   }
 
   /**
@@ -514,13 +540,13 @@ public class EditCommandTest
     SequenceI seq = new Sequence("", "ABC-DEF");
     SequenceI ds1 = new Sequence("", "ABCDEF");
     seq.setDatasetSequence(ds1);
-    SequenceI[] seqs = new SequenceI[] { seq };
-    Edit e = command.new Edit(Action.DELETE_GAP, seqs, 0, 2, '-');
+    SequenceI[] sqs = new SequenceI[] { seq };
+    Edit e = command.new Edit(Action.DELETE_GAP, sqs, 0, 2, '-');
     command.addEdit(e);
     seq = new Sequence("", "ABCDEF");
     seq.setDatasetSequence(ds1);
-    seqs = new SequenceI[] { seq };
-    e = command.new Edit(Action.DELETE_GAP, seqs, 3, 1, '-');
+    sqs = new SequenceI[] { seq };
+    e = command.new Edit(Action.DELETE_GAP, sqs, 3, 1, '-');
     command.addEdit(e);
 
     /*
@@ -529,13 +555,13 @@ public class EditCommandTest
     seq = new Sequence("", "FGHI--J");
     SequenceI ds2 = new Sequence("", "FGHIJ");
     seq.setDatasetSequence(ds2);
-    seqs = new SequenceI[] { seq };
-    e = command.new Edit(Action.DELETE_GAP, seqs, 2, 1, '-');
+    sqs = new SequenceI[] { seq };
+    e = command.new Edit(Action.DELETE_GAP, sqs, 2, 1, '-');
     command.addEdit(e);
     seq = new Sequence("", "FGHIJ");
     seq.setDatasetSequence(ds2);
-    seqs = new SequenceI[] { seq };
-    e = command.new Edit(Action.DELETE_GAP, seqs, 4, 2, '-');
+    sqs = new SequenceI[] { seq };
+    e = command.new Edit(Action.DELETE_GAP, sqs, 4, 2, '-');
     command.addEdit(e);
 
     /*
@@ -544,8 +570,8 @@ public class EditCommandTest
     seq = new Sequence("", "MNOPQ");
     SequenceI ds3 = new Sequence("", "MNOPQ");
     seq.setDatasetSequence(ds3);
-    seqs = new SequenceI[] { seq };
-    e = command.new Edit(Action.DELETE_GAP, seqs, 1, 1, '-');
+    sqs = new SequenceI[] { seq };
+    e = command.new Edit(Action.DELETE_GAP, sqs, 1, 1, '-');
     command.addEdit(e);
 
     Map<SequenceI, SequenceI> unwound = command.priorState(false);
@@ -579,8 +605,8 @@ public class EditCommandTest
     SequenceI seq3 = new Sequence("", "M-NO--PQ");
     SequenceI ds3 = new Sequence("", "MNOPQ");
     seq3.setDatasetSequence(ds3);
-    SequenceI[] seqs = new SequenceI[] { seq1, seq2, seq3 };
-    Edit e = command.new Edit(Action.DELETE_GAP, seqs, 0, 1, '-');
+    SequenceI[] sqs = new SequenceI[] { seq1, seq2, seq3 };
+    Edit e = command.new Edit(Action.DELETE_GAP, sqs, 0, 1, '-');
     command.addEdit(e);
 
     /*
@@ -592,8 +618,8 @@ public class EditCommandTest
     seq2.setDatasetSequence(ds2);
     seq3 = new Sequence("", "M-NOPQ");
     seq3.setDatasetSequence(ds3);
-    seqs = new SequenceI[] { seq1, seq2, seq3 };
-    e = command.new Edit(Action.DELETE_GAP, seqs, 4, 2, '-');
+    sqs = new SequenceI[] { seq1, seq2, seq3 };
+    e = command.new Edit(Action.DELETE_GAP, sqs, 4, 2, '-');
     command.addEdit(e);
 
     Map<SequenceI, SequenceI> unwound = command.priorState(false);
index 16c0367..0b1a7f5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -150,4 +150,30 @@ public class AlignedCodonFrameTest
     assertEquals("[C, T, T]", Arrays.toString(acf.getMappedCodon(
             aseq1.getDatasetSequence(), 2)));
   }
+
+  /**
+   * Test for the case where sequences have start > 1
+   */
+  @Test(groups = { "Functional" })
+  public void testGetMappedCodon_forSubSequences()
+  {
+    final Sequence seq1 = new Sequence("Seq1", "c-G-TA-gC-gT-T", 27, 35);
+    seq1.createDatasetSequence();
+
+    final Sequence aseq1 = new Sequence("Seq1", "-P-R", 12, 13);
+    aseq1.createDatasetSequence();
+
+    /*
+     * Set up the mappings for the exons (upper-case bases)
+     */
+    AlignedCodonFrame acf = new AlignedCodonFrame();
+    MapList map = new MapList(new int[] { 28, 30, 32, 32, 34, 35 },
+            new int[] { 12, 13 }, 3, 1);
+    acf.addMap(seq1.getDatasetSequence(), aseq1.getDatasetSequence(), map);
+
+    assertEquals("[G, T, A]", Arrays.toString(acf.getMappedCodon(
+            aseq1.getDatasetSequence(), 12)));
+    assertEquals("[C, T, T]", Arrays.toString(acf.getMappedCodon(
+            aseq1.getDatasetSequence(), 13)));
+  }
 }
index 60042c4..d2cebaa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -150,4 +150,31 @@ public class AlignedCodonIteratorTest
     assertEquals("Q", codon.product);
     assertFalse(codons.hasNext());
   }
+
+  /**
+   * Test for a case with sequence (and mappings) not starting at 1
+   */
+  @Test(groups = { "Functional" })
+  public void testNext_withOffset()
+  {
+    SequenceI from = new Sequence("Seq1", "-CgC-C-cCtAG-AtG-Gc", 7, 20);
+    from.createDatasetSequence();
+    SequenceI to = new Sequence("Seq1/10-12", "-PQ-R-");
+    to.createDatasetSequence();
+    MapList map = new MapList(new int[] { 7, 7, 9, 10, 12, 12, 14, 16, 18,
+        19 }, new int[] { 10, 12 }, 3, 1);
+    Mapping m = new Mapping(to.getDatasetSequence(), map);
+
+    Iterator<AlignedCodon> codons = m.getCodonIterator(from, '-');
+    AlignedCodon codon = codons.next();
+    assertEquals("[1, 3, 5]", codon.toString());
+    assertEquals("P", codon.product);
+    codon = codons.next();
+    assertEquals("[8, 10, 11]", codon.toString());
+    assertEquals("Q", codon.product);
+    codon = codons.next();
+    assertEquals("[13, 15, 17]", codon.toString());
+    assertEquals("R", codon.product);
+    assertFalse(codons.hasNext());
+  }
 }
index 52e017a..898bab3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fd292d3..d5e9d03 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f5f271d..da73c50 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -57,21 +57,21 @@ public class AlignmentTest
           "//";
 
   private static final String AA_SEQS_1 = 
-          ">Seq1Name\n" +
+          ">Seq1Name/5-8\n" +
           "K-QY--L\n" +
-          ">Seq2Name\n" +
+          ">Seq2Name/12-15\n" +
           "-R-FP-W-\n";
 
   private static final String CDNA_SEQS_1 = 
-          ">Seq1Name\n" +
+          ">Seq1Name/100-111\n" +
           "AC-GG--CUC-CAA-CT\n" +
-          ">Seq2Name\n" +
+          ">Seq2Name/200-211\n" +
           "-CG-TTA--ACG---AAGT\n";
 
   private static final String CDNA_SEQS_2 = 
-          ">Seq1Name\n" +
+          ">Seq1Name/50-61\n" +
           "GCTCGUCGTACT\n" +
-          ">Seq2Name\n" +
+          ">Seq2Name/60-71\n" +
           "GGGTCAGGCAGT\n";
   // @formatter:on
 
@@ -176,11 +176,7 @@ public class AlignmentTest
      * Make mappings between sequences. The 'aligned cDNA' is playing the role
      * of what would normally be protein here.
      */
-    AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList ml = new MapList(new int[] { 1, 12 }, new int[] { 1, 12 }, 1, 1);
-    acf.addMap(al2.getSequenceAt(0), al1.getSequenceAt(0), ml);
-    acf.addMap(al2.getSequenceAt(1), al1.getSequenceAt(1), ml);
-    al1.addCodonFrame(acf);
+    makeMappings(al2, al1);
 
     ((Alignment) al2).alignAs(al1, false, true);
     assertEquals("GC-TC--GUC-GTA-CT", al2.getSequenceAt(0)
@@ -200,11 +196,7 @@ public class AlignmentTest
     // see also AlignmentUtilsTests
     AlignmentI al1 = loadAlignment(CDNA_SEQS_1, "FASTA");
     AlignmentI al2 = loadAlignment(AA_SEQS_1, "FASTA");
-    AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList ml = new MapList(new int[] { 1, 12 }, new int[] { 1, 4 }, 3, 1);
-    acf.addMap(al1.getSequenceAt(0), al2.getSequenceAt(0), ml);
-    acf.addMap(al1.getSequenceAt(1), al2.getSequenceAt(1), ml);
-    al2.addCodonFrame(acf);
+    makeMappings(al1, al2);
 
     ((Alignment) al2).alignAs(al1, false, true);
     assertEquals("K-Q-Y-L-", al2.getSequenceAt(0).getSequenceAsString());
@@ -212,6 +204,27 @@ public class AlignmentTest
   }
 
   /**
+   * Aligning protein from cDNA for a single sequence. This is the 'simple' case
+   * (as there is no need to compute codon 'alignments') but worth testing
+   * before tackling the multiple sequence case.
+   * 
+   * @throws IOException
+   */
+  @Test(groups = { "Functional" })
+  public void testAlignAs_proteinAsCdna_singleSequence() throws IOException
+  {
+    /*
+     * simplest case remove all gaps
+     */
+    verifyAlignAs(">protein\n-Q-K-\n", ">dna\nCAAaaa\n", "QK");
+
+    /*
+     * with sequence offsets
+     */
+    verifyAlignAs(">protein/12-13\n-Q-K-\n", ">dna/20-25\nCAAaaa\n", "QK");
+  }
+
+  /**
    * Test aligning cdna as per protein alignment.
    * 
    * @throws IOException
@@ -224,11 +237,7 @@ public class AlignmentTest
      */
     AlignmentI al1 = loadAlignment(CDNA_SEQS_1, "FASTA");
     AlignmentI al2 = loadAlignment(AA_SEQS_1, "FASTA");
-    AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList ml = new MapList(new int[] { 1, 12 }, new int[] { 1, 4 }, 3, 1);
-    acf.addMap(al1.getSequenceAt(0), al2.getSequenceAt(0), ml);
-    acf.addMap(al1.getSequenceAt(1), al2.getSequenceAt(1), ml);
-    al2.addCodonFrame(acf);
+    makeMappings(al1, al2);
 
     /*
      * Realign DNA; currently keeping existing gaps in introns only
@@ -241,6 +250,88 @@ public class AlignmentTest
   }
 
   /**
+   * Test aligning cdna as per protein - single sequences
+   * 
+   * @throws IOException
+   */
+  @Test(groups = { "Functional" })
+  public void testAlignAs_cdnaAsProtein_singleSequence() throws IOException
+  {
+    /*
+     * simple case insert one gap
+     */
+    verifyAlignAs(">dna\nCAAaaa\n", ">protein\nQ-K\n", "CAA---aaa");
+
+    /*
+     * simple case but with sequence offsets
+     */
+    verifyAlignAs(">dna/5-10\nCAAaaa\n", ">protein/20-21\nQ-K\n",
+            "CAA---aaa");
+
+    /*
+     * insert gaps as per protein, drop gaps within codons
+     */
+    verifyAlignAs(">dna/10-18\nCA-Aa-aa--AGA\n", ">aa/6-8\n-Q-K--R\n",
+            "---CAA---aaa------AGA");
+  }
+
+  /**
+   * Helper method that makes mappings and then aligns the first alignment as
+   * the second
+   * 
+   * @param fromSeqs
+   * @param toSeqs
+   * @param expected
+   * @throws IOException
+   */
+  public void verifyAlignAs(String fromSeqs, String toSeqs, String expected)
+          throws IOException
+  {
+    /*
+     * Load alignments and add mappings from nucleotide to protein (or from
+     * first to second if both the same type)
+     */
+    AlignmentI al1 = loadAlignment(fromSeqs, "FASTA");
+    AlignmentI al2 = loadAlignment(toSeqs, "FASTA");
+    makeMappings(al1, al2);
+
+    /*
+     * Realign DNA; currently keeping existing gaps in introns only
+     */
+    ((Alignment) al1).alignAs(al2, false, true);
+    assertEquals(expected, al1.getSequenceAt(0).getSequenceAsString());
+  }
+
+  /**
+   * Helper method to make mappings from protein to dna sequences, and add the
+   * mappings to the protein alignment
+   * 
+   * @param alFrom
+   * @param alTo
+   */
+  public void makeMappings(AlignmentI alFrom, AlignmentI alTo)
+  {
+    AlignmentI prot = !alFrom.isNucleotide() ? alFrom : alTo;
+    AlignmentI nuc = alFrom == prot ? alTo : alFrom;
+
+    int ratio = (alFrom.isNucleotide() == alTo.isNucleotide() ? 1 : 3);
+
+    AlignedCodonFrame acf = new AlignedCodonFrame();
+
+    for (int i = 0; i < nuc.getHeight(); i++)
+    {
+      SequenceI seqFrom = nuc.getSequenceAt(i);
+      SequenceI seqTo = prot.getSequenceAt(i);
+      MapList ml = new MapList(new int[] { seqFrom.getStart(),
+          seqFrom.getEnd() },
+              new int[] { seqTo.getStart(), seqTo.getEnd() }, ratio, 1);
+      acf.addMap(seqFrom, seqTo, ml);
+    }
+
+    prot.addCodonFrame(acf);
+  }
+
+  /**
    * Test aligning dna as per protein alignment, for the case where there are
    * introns (i.e. some dna sites have no mapping from a peptide).
    * 
@@ -254,18 +345,19 @@ public class AlignmentTest
      */
     String dna1 = "A-Aa-gG-GCC-cT-TT";
     String dna2 = "c--CCGgg-TT--T-AA-A";
-    AlignmentI al1 = loadAlignment(">Seq1\n" + dna1 + "\n>Seq2\n" + dna2
-            + "\n", "FASTA");
-    AlignmentI al2 = loadAlignment(">Seq1\n-P--YK\n>Seq2\nG-T--F\n",
-            "FASTA");
+    AlignmentI al1 = loadAlignment(">Seq1/6-17\n" + dna1
+            + "\n>Seq2/20-31\n" + dna2 + "\n", "FASTA");
+    AlignmentI al2 = loadAlignment(
+            ">Seq1/7-9\n-P--YK\n>Seq2/11-13\nG-T--F\n", "FASTA");
     AlignedCodonFrame acf = new AlignedCodonFrame();
     // Seq1 has intron at dna positions 3,4,9 so splice is AAG GCC TTT
     // Seq2 has intron at dna positions 1,5,6 so splice is CCG TTT AAA
-    MapList ml1 = new MapList(new int[] { 1, 2, 5, 8, 10, 12 }, new int[] {
-        1, 3 }, 3, 1);
+    // TODO sequence offsets
+    MapList ml1 = new MapList(new int[] { 6, 7, 10, 13, 15, 17 }, new int[]
+    { 7, 9 }, 3, 1);
     acf.addMap(al1.getSequenceAt(0), al2.getSequenceAt(0), ml1);
-    MapList ml2 = new MapList(new int[] { 2, 4, 7, 12 },
-            new int[] { 1, 3 }, 3, 1);
+    MapList ml2 = new MapList(new int[] { 21, 23, 26, 31 }, new int[] { 11,
+        13 }, 3, 1);
     acf.addMap(al1.getSequenceAt(1), al2.getSequenceAt(1), ml2);
     al2.addCodonFrame(acf);
 
index bce2289..7cb502c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 368a433..bf2df26 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f6e92f4..cca6bcf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f8d3db1..a295017 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2ba488e..48cbb11 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cc7b1e4..0f32fbb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index aa9d3af..e21fe69 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8ef050c..c51a080 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d65653a..ab0e55a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index ecc633c..e3d3fc0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 81be1be..ca61c9c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 93def6e..22d2e72 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa3922b..76f617f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fc934b2..e2b6e0f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a70e873..8269a47 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 317d15e..c3ac7e4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3acc01a..6040757 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d7da606..2e6b35d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8be9906..2052dfa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6592261..371252f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -78,12 +78,12 @@ public class AnnotationChooserTest
     // pin down annotation sort order for test
     Cache.applicationProperties.setProperty(Preferences.SORT_ANNOTATIONS,
             SequenceAnnotationOrder.NONE.name());
-    final String True = Boolean.TRUE.toString();
+    final String TRUE = Boolean.TRUE.toString();
     Cache.applicationProperties.setProperty(
-            Preferences.SHOW_AUTOCALC_ABOVE, True);
-    Cache.applicationProperties.setProperty("SHOW_QUALITY", True);
-    Cache.applicationProperties.setProperty("SHOW_CONSERVATION", True);
-    Cache.applicationProperties.setProperty("SHOW_IDENTITY", True);
+            Preferences.SHOW_AUTOCALC_ABOVE, TRUE);
+    Cache.applicationProperties.setProperty("SHOW_QUALITY", TRUE);
+    Cache.applicationProperties.setProperty("SHOW_CONSERVATION", TRUE);
+    Cache.applicationProperties.setProperty("SHOW_IDENTITY", TRUE);
 
     AlignmentI al = new jalview.io.FormatAdapter().readFile(TEST_DATA,
             AppletFormatAdapter.PASTE, "FASTA");
@@ -759,6 +759,9 @@ public class AnnotationChooserTest
       assertTrue(i + "'th sequence not visible", anns[i].visible);
     }
 
+    /*
+     * check options to hide JMol and IUPRED annotations for all sequences
+     */
     final Checkbox hideCheckbox = (Checkbox) getComponent(testee, 1, 0, 1);
     setSelected(hideCheckbox, true);
 
@@ -772,8 +775,8 @@ public class AnnotationChooserTest
     assertTrue(anns[0].visible); // Conservation
     assertTrue(anns[1].visible); // Quality
     assertTrue(anns[2].visible); // Consensus
-    assertTrue(anns[3].visible); // Beauty (not seq-related)
-    assertFalse(anns[4].visible); // IUPRED
+    assertFalse(anns[3].visible); // IUPRED
+    assertTrue(anns[4].visible); // Beauty (not seq-related)
     assertFalse(anns[5].visible); // JMol
     assertFalse(anns[6].visible); // IUPRED
     assertFalse(anns[7].visible); // JMol
index 76ccd39..a326b6a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2b3f9de..4bfa7ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -35,7 +35,7 @@ public class FontChooserTest
    * available, plain) fonts and point sizes that would be rejected by Jalview's
    * FontChooser as having an I-width of less than 1.0.
    */
-  @Test(groups = { "Functional" })
+  @Test(groups = { "Functional" }, enabled = false)
   public void dumpInvalidFonts()
   {
     String[] fonts = java.awt.GraphicsEnvironment
index 081fbee..bfc3c5a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index be4df37..f325f81 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f2ba731..fc186e5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 31766bb..8a48dd5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 23e22ad..6c22aa1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0ac7a7e..073d398 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cfbc62b..b9eaf19 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6597a8c..0c2009d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 947cb99..121765e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 56e8d91..899a990 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 3d353ab..d457fdc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e884190..45519bc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
diff --git a/test/jalview/io/FeaturesFileTest.java b/test/jalview/io/FeaturesFileTest.java
new file mode 100644 (file)
index 0000000..d817c54
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.io;
+
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertNotNull;
+import static org.testng.AssertJUnit.assertTrue;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SequenceFeature;
+import jalview.gui.AlignFrame;
+
+import java.awt.Color;
+import java.io.File;
+import java.io.IOException;
+import java.util.Map;
+
+import org.testng.annotations.Test;
+
+public class FeaturesFileTest
+{
+
+  static String TestFiles[][] = { { "Test example features import/export",
+      "examples/uniref50.fa", "examples/exampleFeatures.txt" } };
+
+  @Test(groups = { "Functional" })
+  public void testParse() throws Exception
+  {
+    testFeaturesFileIO("Features file test");
+  }
+
+  public static AlignmentI readAlignmentFile(File f) throws IOException
+  {
+    System.out.println("Reading file: " + f);
+    String ff = f.getPath();
+    FormatAdapter rf = new FormatAdapter();
+
+    AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE,
+            new IdentifyFile().Identify(ff, AppletFormatAdapter.FILE));
+
+    al.setDataset(null); // creates dataset sequences
+    assertNotNull("Couldn't read supplied alignment data.", al);
+    return al;
+  }
+
+  /**
+   * Helper method for testing
+   * 
+   * @param testname
+   * @param f
+   *          alignment file
+   * @param featFile
+   *          features file to load on to the alignment
+   * @throws IOException
+   */
+  public static void testFeaturesFileIO(String testname) throws IOException
+  {
+    File f = new File("examples/uniref50.fa");
+    AlignmentI al = readAlignmentFile(f);
+    AlignFrame af = new AlignFrame(al, 500, 500);
+    Map<String, Object> colours = af.getFeatureRenderer()
+            .getFeatureColours();
+    FeaturesFile featuresFile = new FeaturesFile(
+            "examples/exampleFeatures.txt", FormatAdapter.FILE);
+    assertTrue("Test " + testname + "\nFailed to parse features file.",
+            featuresFile.parse(al.getDataset(), colours, true));
+
+    /*
+     * Refetch the colour map from the FeatureRenderer (to confirm it has been
+     * updated - JAL-1904), and verify (some) feature group colours
+     */
+    colours = af.getFeatureRenderer().getFeatureColours();
+    assertEquals("26 feature group colours not found", 26, colours.size());
+    assertEquals(colours.get("Cath"), new Color(0x93b1d1));
+    assertEquals(colours.get("ASX-MOTIF"), new Color(0x6addbb));
+
+    /*
+     * verify (some) features on sequences
+     */
+    SequenceFeature[] sfs = al.getSequenceAt(0).getDatasetSequence()
+            .getSequenceFeatures(); // FER_CAPAA
+    assertEquals(7, sfs.length);
+    SequenceFeature sf = sfs[0];
+    assertEquals("Iron-sulfur (2Fe-2S)", sf.description);
+    assertEquals(39, sf.begin);
+    assertEquals(39, sf.end);
+    assertEquals("uniprot", sf.featureGroup);
+    assertEquals("METAL", sf.type);
+    sf = sfs[1];
+    assertEquals("Iron-sulfur (2Fe-2S)", sf.description);
+    assertEquals(44, sf.begin);
+    assertEquals(44, sf.end);
+    assertEquals("uniprot", sf.featureGroup);
+    assertEquals("METAL", sf.type);
+    sf = sfs[2];
+    assertEquals("Iron-sulfur (2Fe-2S)", sf.description);
+    assertEquals(47, sf.begin);
+    assertEquals(47, sf.end);
+    assertEquals("uniprot", sf.featureGroup);
+    assertEquals("METAL", sf.type);
+    sf = sfs[3];
+    assertEquals("Iron-sulfur (2Fe-2S)", sf.description);
+    assertEquals(77, sf.begin);
+    assertEquals(77, sf.end);
+    assertEquals("uniprot", sf.featureGroup);
+    assertEquals("METAL", sf.type);
+    sf = sfs[4];
+    assertEquals("Fer2 Status: True Positive Pfam 8_8%LINK%",
+            sf.description);
+    assertEquals("Pfam 8_8|http://pfam.sanger.ac.uk/family/PF00111",
+            sf.links.get(0).toString());
+    assertEquals(8, sf.begin);
+    assertEquals(83, sf.end);
+    assertEquals("uniprot", sf.featureGroup);
+    assertEquals("Pfam", sf.type);
+    sf = sfs[5];
+    assertEquals("Ferredoxin_fold Status: True Positive ", sf.description);
+    assertEquals(3, sf.begin);
+    assertEquals(93, sf.end);
+    assertEquals("uniprot", sf.featureGroup);
+    assertEquals("Cath", sf.type);
+    sf = sfs[6];
+    assertEquals(
+            "High confidence server. Only hits with scores over 0.8 are reported. PHOSPHORYLATION (T) 89_8%LINK%",
+            sf.description);
+    assertEquals(
+            "PHOSPHORYLATION (T) 89_8|http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P83527&amp;service=NetPhos-2.0",
+            sf.links.get(0).toString());
+    assertEquals(89, sf.begin);
+    assertEquals(89, sf.end);
+    assertEquals("netphos", sf.featureGroup);
+    assertEquals("PHOSPHORYLATION (T)", sf.type);
+  }
+}
index f741e74..c1488e8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index faa4d43..0011d34 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2c4e409..2f70410 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fbecc00..801d205 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9bdc2b5..6e4458e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -33,8 +33,8 @@ import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
+import jalview.json.binding.biojson.v1.ColourSchemeMapper;
 import jalview.schemes.ColourSchemeI;
-import jalview.schemes.ZappoColourScheme;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -124,9 +124,11 @@ public class JSONFileTest
     grpSeqs.add(seqs[2]);
     grpSeqs.add(seqs[3]);
     grpSeqs.add(seqs[4]);
-    ColourSchemeI scheme = JSONFile.getJalviewColorScheme("zappo");
     SequenceGroup seqGrp = new SequenceGroup(grpSeqs, "JGroup:1883305585",
-            scheme, true, true, false, 21, 29);
+            null, true, true, false, 21, 29);
+    ColourSchemeI scheme = ColourSchemeMapper.getJalviewColourScheme(
+            "zappo", seqGrp);
+    seqGrp.cs = scheme;
     seqGrp.setShowNonconserved(false);
     seqGrp.setDescription(null);
 
@@ -232,7 +234,10 @@ public class JSONFileTest
               jf.getColumnSelection(), AlignFrame.DEFAULT_WIDTH,
               AlignFrame.DEFAULT_HEIGHT);
       af.getViewport().setShowSequenceFeatures(jf.isShowSeqFeatures());
-      af.changeColour(jf.getColourScheme());
+      String colourSchemeName = jf.getGlobalColourScheme();
+      ColourSchemeI cs = ColourSchemeMapper.getJalviewColourScheme(
+              colourSchemeName, alignment);
+      af.changeColour(cs);
       af.getViewport().setFeaturesDisplayed(jf.getDisplayedFeatures());
 
       formatAdapter = new AppletFormatAdapter(af.alignPanel, exportSettings);
@@ -315,10 +320,9 @@ public class JSONFileTest
   @Test(groups = { "Functional" })
   public void colorSchemeTest()
   {
-    Assert.assertNotNull(testJsonFile.getColourScheme(),
+    Assert.assertNotNull(testJsonFile.getGlobalColourScheme(),
             "Colourscheme is null, parsing failed!");
-    Assert.assertTrue(
-            testJsonFile.getColourScheme() instanceof ZappoColourScheme,
+    Assert.assertEquals(testJsonFile.getGlobalColourScheme(), "Zappo",
             "Zappo colour scheme expected!");
   }
 
@@ -419,13 +423,14 @@ public class JSONFileTest
             + actualGrp.getStartRes());
     System.out.println(expectedGrp.getEndRes() + " | "
             + actualGrp.getEndRes());
+    System.out.println(expectedGrp.cs + " | " + actualGrp.cs);
 
     if (expectedGrp.getName().equals(actualGrp.getName())
             && expectedGrp.getColourText() == actualGrp.getColourText()
             && expectedGrp.getDisplayBoxes() == actualGrp.getDisplayBoxes()
             && expectedGrp.getIgnoreGapsConsensus() == actualGrp
                     .getIgnoreGapsConsensus()
-            && expectedGrp.cs.equals(actualGrp.cs)
+            && (expectedGrp.cs.getClass().equals(actualGrp.cs.getClass()))
             && expectedGrp.getSequences().size() == actualGrp
                     .getSequences().size()
             && expectedGrp.getStartRes() == actualGrp.getStartRes()
index 924dd37..77d497f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -20,6 +20,7 @@
  */
 package jalview.io;
 
+import static org.testng.AssertJUnit.assertFalse;
 import static org.testng.AssertJUnit.assertTrue;
 
 import jalview.api.AlignmentViewPanel;
@@ -412,4 +413,56 @@ public class Jalview2xmlTests
             Desktop.getAlignmentPanels(af.getViewport().getSequenceSetId()).length);
   }
 
+  @Test(groups = { "Functional" })
+  public void testIsVersionStringLaterThan()
+  {
+    /*
+     * No version / development / test / autobuild is leniently assumed to be
+     * compatible
+     */
+    assertTrue(Jalview2XML.isVersionStringLaterThan(null, null));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", null));
+    assertTrue(Jalview2XML.isVersionStringLaterThan(null,
+            "Development Build"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan(null,
+            "DEVELOPMENT BUILD"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3",
+            "Development Build"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan(null, "Test"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan(null, "TEST"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", "Test"));
+    assertTrue(Jalview2XML
+            .isVersionStringLaterThan(null, "Automated Build"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3",
+            "Automated Build"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3",
+            "AUTOMATED BUILD"));
+
+    /*
+     * same version returns true i.e. compatible
+     */
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8", "2.8"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.8.3"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3b1", "2.8.3b1"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3B1", "2.8.3b1"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3b1", "2.8.3B1"));
+
+    /*
+     * later version returns true
+     */
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.8.4"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.9"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.9.2"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8", "2.8.3"));
+    assertTrue(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.8.3b1"));
+
+    /*
+     * earlier version returns false
+     */
+    assertFalse(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.8"));
+    assertFalse(Jalview2XML.isVersionStringLaterThan("2.8.4", "2.8.3"));
+    assertFalse(Jalview2XML.isVersionStringLaterThan("2.8.3b1", "2.8.3"));
+    assertFalse(Jalview2XML.isVersionStringLaterThan("2.8.3", "2.8.2b1"));
+    assertFalse(Jalview2XML.isVersionStringLaterThan("2.8.0b2", "2.8.0b1"));
+  }
 }
index 6936f63..4ea85f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 60c2934..b73897f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 236ed1c..8c58382 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 8384ecc..7663250 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index cbcbdf9..2f62110 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 20c52d7..dfe48ab 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 07ae7bb..0dcebc2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 1e5821b..2b21e92 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 33bbfb0..a1bf977 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index d506a72..5397c48 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index b89dcbd..6d66f7c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9c5657e..63b7e6c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index a00d79f..6474f26 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 05522dd..2426a72 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4ced1a7..c998fa0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 0142977..52a16e2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9483dc5..22fe568 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -25,7 +25,11 @@ import static org.testng.AssertJUnit.assertSame;
 import static org.testng.AssertJUnit.assertTrue;
 
 import jalview.api.AlignViewportI;
+import jalview.commands.EditCommand;
+import jalview.commands.EditCommand.Action;
+import jalview.commands.EditCommand.Edit;
 import jalview.datamodel.AlignedCodonFrame;
+import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.SearchResults;
@@ -42,6 +46,7 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -59,46 +64,47 @@ public class MappingUtilsTest
   @Test(groups = { "Functional" })
   public void testBuildSearchResults()
   {
-    final Sequence seq1 = new Sequence("Seq1", "C-G-TA-GC");
+    final Sequence seq1 = new Sequence("Seq1/5-10", "C-G-TA-GC");
     seq1.createDatasetSequence();
 
-    final Sequence aseq1 = new Sequence("Seq1", "-P-R");
+    final Sequence aseq1 = new Sequence("Seq1/12-13", "-P-R");
     aseq1.createDatasetSequence();
 
     /*
-     * Map dna bases 1-6 to protein residues 1-2
+     * Map dna bases 5-10 to protein residues 12-13
      */
     AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList map = new MapList(new int[] { 1, 6 }, new int[] { 1, 2 }, 3, 1);
+    MapList map = new MapList(new int[] { 5, 10 }, new int[] { 12, 13 }, 3,
+            1);
     acf.addMap(seq1.getDatasetSequence(), aseq1.getDatasetSequence(), map);
     Set<AlignedCodonFrame> acfList = Collections.singleton(acf);
 
     /*
-     * Check protein residue 1 maps to codon 1-3, 2 to codon 4-6
+     * Check protein residue 12 maps to codon 5-7, 13 to codon 8-10
      */
-    SearchResults sr = MappingUtils.buildSearchResults(aseq1, 1, acfList);
+    SearchResults sr = MappingUtils.buildSearchResults(aseq1, 12, acfList);
     assertEquals(1, sr.getResults().size());
     Match m = sr.getResults().get(0);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(1, m.getStart());
-    assertEquals(3, m.getEnd());
-    sr = MappingUtils.buildSearchResults(aseq1, 2, acfList);
+    assertEquals(5, m.getStart());
+    assertEquals(7, m.getEnd());
+    sr = MappingUtils.buildSearchResults(aseq1, 13, acfList);
     assertEquals(1, sr.getResults().size());
     m = sr.getResults().get(0);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(4, m.getStart());
-    assertEquals(6, m.getEnd());
+    assertEquals(8, m.getStart());
+    assertEquals(10, m.getEnd());
 
     /*
-     * Check inverse mappings, from codons 1-3, 4-6 to protein 1, 2
+     * Check inverse mappings, from codons 5-7, 8-10 to protein 12, 13
      */
-    for (int i = 1; i < 7; i++)
+    for (int i = 5; i < 11; i++)
     {
       sr = MappingUtils.buildSearchResults(seq1, i, acfList);
       assertEquals(1, sr.getResults().size());
       m = sr.getResults().get(0);
       assertEquals(aseq1.getDatasetSequence(), m.getSequence());
-      int residue = i > 3 ? 2 : 1;
+      int residue = i > 7 ? 13 : 12;
       assertEquals(residue, m.getStart());
       assertEquals(residue, m.getEnd());
     }
@@ -110,61 +116,61 @@ public class MappingUtilsTest
   @Test(groups = { "Functional" })
   public void testBuildSearchResults_withIntron()
   {
-    final Sequence seq1 = new Sequence("Seq1", "C-G-TAGA-GCAGCTT");
+    final Sequence seq1 = new Sequence("Seq1/5-17", "c-G-tAGa-GcAgCtt");
     seq1.createDatasetSequence();
 
-    final Sequence aseq1 = new Sequence("Seq1", "-P-R");
+    final Sequence aseq1 = new Sequence("Seq1/8-9", "-E-D");
     aseq1.createDatasetSequence();
 
     /*
-     * Map dna bases [2, 4, 5], [7, 9, 11] to protein residues 1 and 2
+     * Map dna bases [6, 8, 9], [11, 13, 115] to protein residues 8 and 9
      */
     AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList map = new MapList(new int[] { 2, 2, 4, 5, 7, 7, 9, 9, 11, 11 },
-            new int[] { 1, 2 }, 3, 1);
+    MapList map = new MapList(new int[] { 6, 6, 8, 9, 11, 11, 13, 13, 15,
+        15 }, new int[] { 8, 9 }, 3, 1);
     acf.addMap(seq1.getDatasetSequence(), aseq1.getDatasetSequence(), map);
     Set<AlignedCodonFrame> acfList = Collections.singleton(acf);
 
     /*
-     * Check protein residue 1 maps to [2, 4, 5]
+     * Check protein residue 8 maps to [6, 8, 9]
      */
-    SearchResults sr = MappingUtils.buildSearchResults(aseq1, 1, acfList);
+    SearchResults sr = MappingUtils.buildSearchResults(aseq1, 8, acfList);
     assertEquals(2, sr.getResults().size());
     Match m = sr.getResults().get(0);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(2, m.getStart());
-    assertEquals(2, m.getEnd());
+    assertEquals(6, m.getStart());
+    assertEquals(6, m.getEnd());
     m = sr.getResults().get(1);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(4, m.getStart());
-    assertEquals(5, m.getEnd());
+    assertEquals(8, m.getStart());
+    assertEquals(9, m.getEnd());
 
     /*
-     * Check protein residue 2 maps to [7, 9, 11]
+     * Check protein residue 9 maps to [11, 13, 15]
      */
-    sr = MappingUtils.buildSearchResults(aseq1, 2, acfList);
+    sr = MappingUtils.buildSearchResults(aseq1, 9, acfList);
     assertEquals(3, sr.getResults().size());
     m = sr.getResults().get(0);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(7, m.getStart());
-    assertEquals(7, m.getEnd());
+    assertEquals(11, m.getStart());
+    assertEquals(11, m.getEnd());
     m = sr.getResults().get(1);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(9, m.getStart());
-    assertEquals(9, m.getEnd());
+    assertEquals(13, m.getStart());
+    assertEquals(13, m.getEnd());
     m = sr.getResults().get(2);
     assertEquals(seq1.getDatasetSequence(), m.getSequence());
-    assertEquals(11, m.getStart());
-    assertEquals(11, m.getEnd());
+    assertEquals(15, m.getStart());
+    assertEquals(15, m.getEnd());
 
     /*
      * Check inverse mappings, from codons to protein
      */
-    for (int i = 1; i < 14; i++)
+    for (int i = 5; i < 18; i++)
     {
       sr = MappingUtils.buildSearchResults(seq1, i, acfList);
-      int residue = (i == 2 || i == 4 || i == 5) ? 1 : (i == 7 || i == 9
-              || i == 11 ? 2 : 0);
+      int residue = (i == 6 || i == 8 || i == 9) ? 8 : (i == 11 || i == 13
+              || i == 15 ? 9 : 0);
       if (residue == 0)
       {
         assertEquals(0, sr.getResults().size());
@@ -329,6 +335,9 @@ public class MappingUtilsTest
   }
 
   /**
+   * Set up mappings for tests from 3 dna to 3 protein sequences. Sequences have
+   * offset start positions for a more general test case.
+   * 
    * @throws IOException
    */
   protected void setupMappedAlignments() throws IOException
@@ -337,23 +346,31 @@ public class MappingUtilsTest
      * Set up dna and protein Seq1/2/3 with mappings (held on the protein
      * viewport). Lower case for introns.
      */
-    AlignmentI cdna = loadAlignment(">Seq1\nAC-GctGtC-T\n"
-            + ">Seq2\nTc-GA-G-T-Tc\n" + ">Seq3\nTtTT-AaCGg-\n", "FASTA");
+    AlignmentI cdna = loadAlignment(">Seq1/10-18\nAC-GctGtC-T\n"
+            + ">Seq2/20-27\nTc-GA-G-T-Tc\n" + ">Seq3/30-38\nTtTT-AaCGg-\n",
+            "FASTA");
     cdna.setDataset(null);
     AlignmentI protein = loadAlignment(
-            ">Seq1\n-K-P\n>Seq2\nL--Q\n>Seq3\nG--S\n", "FASTA");
+            ">Seq1/40-41\n-K-P\n>Seq2/50-51\nL--Q\n>Seq3/60-61\nG--S\n",
+            "FASTA");
     protein.setDataset(null);
+
+    // map first dna to first protein seq
     AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList map = new MapList(new int[] { 1, 3, 6, 6, 8, 9 }, new int[] {
-        1, 2 }, 3, 1);
+    MapList map = new MapList(new int[] { 10, 12, 15, 15, 17, 18 },
+            new int[] { 40, 41 }, 3, 1);
     acf.addMap(cdna.getSequenceAt(0).getDatasetSequence(), protein
             .getSequenceAt(0).getDatasetSequence(), map);
-    map = new MapList(new int[] { 1, 1, 3, 4, 5, 7 }, new int[] { 1, 2 },
-            3, 1);
+
+    // map second dna to second protein seq
+    map = new MapList(new int[] { 20, 20, 22, 23, 24, 26 }, new int[] { 50,
+        51 }, 3, 1);
     acf.addMap(cdna.getSequenceAt(1).getDatasetSequence(), protein
             .getSequenceAt(1).getDatasetSequence(), map);
-    map = new MapList(new int[] { 1, 1, 3, 4, 5, 5, 7, 8 }, new int[] { 1,
-        2 }, 3, 1);
+
+    // map third dna to third protein seq
+    map = new MapList(new int[] { 30, 30, 32, 34, 36, 37 }, new int[] { 60,
+        61 }, 3, 1);
     acf.addMap(cdna.getSequenceAt(2).getDatasetSequence(), protein
             .getSequenceAt(2).getDatasetSequence(), map);
     Set<AlignedCodonFrame> acfList = Collections.singleton(acf);
@@ -679,4 +696,44 @@ public class MappingUtilsTest
     result = MappingUtils.findMappingsForSequence(null, null);
     assertEquals(0, result.size());
   }
+
+  @Test(groups = { "Functional" })
+  public void testMapEditCommand()
+  {
+    SequenceI dna = new Sequence("Seq1", "---ACG---GCATCA", 8, 16);
+    SequenceI protein = new Sequence("Seq2", "-T-AS", 5, 7);
+    dna.createDatasetSequence();
+    protein.createDatasetSequence();
+    AlignedCodonFrame acf = new AlignedCodonFrame();
+    MapList map = new MapList(new int[] { 8, 16 }, new int[] { 5, 7 }, 3, 1);
+    acf.addMap(dna.getDatasetSequence(), protein.getDatasetSequence(), map);
+    Set<AlignedCodonFrame> mappings = new LinkedHashSet<AlignedCodonFrame>();
+    mappings.add(acf);
+
+    AlignmentI prot = new Alignment(new SequenceI[] { protein });
+    prot.setCodonFrames(mappings);
+    AlignmentI nuc = new Alignment(new SequenceI[] { dna });
+
+    /*
+     * construct and perform the edit command to turn "-T-AS" in to "-T-A--S"
+     * i.e. insert two gaps at column 4
+     */
+    EditCommand ec = new EditCommand();
+    final Edit edit = ec.new Edit(Action.INSERT_GAP,
+            new SequenceI[] { protein }, 4, 2, '-');
+    ec.appendEdit(edit, prot, true, null);
+
+    /*
+     * the mapped edit command should be to insert 6 gaps before base 4 in the
+     * nucleotide sequence, which corresponds to aligned column 12 in the dna
+     */
+    EditCommand mappedEdit = MappingUtils.mapEditCommand(ec, false, nuc,
+            '-', mappings);
+    assertEquals(1, mappedEdit.getEdits().size());
+    Edit e = mappedEdit.getEdits().get(0);
+    assertEquals(1, e.getSequences().length);
+    assertEquals(dna, e.getSequences()[0]);
+    assertEquals(12, e.getPosition());
+    assertEquals(6, e.getNumber());
+  }
 }
diff --git a/test/jalview/util/ParseHtmlBodyAndLinksTest.java b/test/jalview/util/ParseHtmlBodyAndLinksTest.java
new file mode 100644 (file)
index 0000000..57cbb71
--- /dev/null
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ ******************************************************************************/
+package jalview.util;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import org.testng.annotations.Test;
+
+public class ParseHtmlBodyAndLinksTest
+{
+  @Test(groups = { "Functional" })
+  public void testParseHtml_noLinks()
+  {
+    ParseHtmlBodyAndLinks testee = new ParseHtmlBodyAndLinks(
+            "<html>something here</html>", false, "\n");
+    assertEquals("something here", testee.getContent());
+    assertEquals("something here", testee.getNonHtmlContent());
+
+    // second argument makes no difference??
+    testee = new ParseHtmlBodyAndLinks("<html>something here</html>", true,
+            "\n");
+    assertEquals("something here", testee.getContent());
+    assertEquals("something here", testee.getNonHtmlContent());
+  }
+
+  @Test(groups = { "Functional" })
+  public void testParseHtml_withLinks()
+  {
+    ParseHtmlBodyAndLinks testee = new ParseHtmlBodyAndLinks(
+            "<html>Please click <a href=\"http://www.nowhere.com\">on this</a> to learn more about <a href=\"http://www.somewhere.com/here\">this</a></html>",
+            false, "\n");
+    assertEquals(
+            "Please click on this%LINK% to learn more about this%LINK%",
+            testee.getContent());
+    assertEquals(
+            "Please click on this%LINK% to learn more about this%LINK%",
+            testee.getNonHtmlContent());
+    assertEquals(2, testee.getLinks().size());
+    assertEquals("on this|http://www.nowhere.com", testee.getLinks().get(0));
+    assertEquals("this|http://www.somewhere.com/here", testee.getLinks()
+            .get(1));
+  }
+
+  @Test(groups = { "Functional" })
+  public void testParseHtml_withLinksWithParameters()
+  {
+    ParseHtmlBodyAndLinks testee = new ParseHtmlBodyAndLinks(
+            "<html>Please click <a href=\"http://www.nowhere.com?id=234&taxon=human\">on this</a> to learn more</html>",
+            false, "\n");
+    assertEquals("Please click on this%LINK% to learn more",
+            testee.getContent());
+    assertEquals("Please click on this%LINK% to learn more",
+            testee.getNonHtmlContent());
+    assertEquals(1, testee.getLinks().size());
+    assertEquals("on this|http://www.nowhere.com?id=234&taxon=human",
+            testee.getLinks().get(0));
+  }
+
+  @Test(groups = { "Functional" })
+  public void testParseHtml_withLinksWithEncoding()
+  {
+    ParseHtmlBodyAndLinks testee = new ParseHtmlBodyAndLinks(
+            "<html>Please click <a href=\"http://www.nowhere.com?id=234&amp;taxon=human&amp;id&gt;3&amp;id&lt;10\">on this</a> to learn &amp;&lt;&gt;more</html>",
+            false, "\n");
+    // html encoding in the text body is translated
+    assertEquals("Please click on this%LINK% to learn &<>more",
+            testee.getContent());
+    assertEquals("Please click on this%LINK% to learn &<>more",
+            testee.getNonHtmlContent());
+    assertEquals(1, testee.getLinks().size());
+    // html encoding in the url links is not translated
+    assertEquals(
+            "on this|http://www.nowhere.com?id=234&amp;taxon=human&amp;id&gt;3&amp;id&lt;10",
+            testee.getLinks().get(0));
+  }
+}
index 4acb490..3bac7e9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e166c42..544d079 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4fcae99..5956324 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fcabb5c..c758082 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 28d461d..a672ee4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6688dba..679cfe4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -264,7 +264,7 @@ public class PDBRestClientTest
           if (pdbJsonDoc.get(field.getCode()) == null)
           {
             // System.out.println(">>>\t" + field.getCode());
-            assertTrue(field.getClass()
+            assertTrue(field.getCode()
                     + " has been removed from PDB doc Entity",
                     !pdbJsonResponseString.contains(field.getCode()));
           }
index ec637fe..a3c6105 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 71a9ca4..5f1132c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 35d5ccd..71fc829 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index e897b1d..6ea3339 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 6f78f04..d5bca58 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5a6289d..e1d1478 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 745e37d..58bcb44 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 99a6d70..efb2d37 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 4c55012..519f55c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 9d18018..f0f44d1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 2696081..b128f53 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index f17ac43..2927207 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 807f69f..48949a0 100755 (executable)
@@ -1,9 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- This script was automatically generated using InstallAnywhere 2014 Professional, Build 4783
      STATUS: Fully Functional LICENSED Edition
-     DATE:   Tue Dec 02 16:16:02 GMT 2014 -->
-<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
@@ -19,8 +17,8 @@
  * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
--->
-<InstallAnywhere_Deployment_Project increments="5299">
+     DATE:   Wed Sep 16 18:09:53 BST 2015 -->
+<InstallAnywhere_Deployment_Project increments="5904">
        <!-- ** DO NOT EDIT ** Essential authorization and configuration data ** DO NOT EDIT ** -->
        <essentialScriptInfo>
                <versionID major="16" minor="0" revision="0"/>
@@ -28,9 +26,9 @@
                <scriptID>12,42,11,85,78,76,73,67,69,78,83,69,68</scriptID>
                <buildID>3,13,71,76,105,110,117,120,44,32,50,46,54,46,51,50,45,51,53,56,46,54,46,50,46,101,108,54,46,120,56,54,95,54,52,44,32,97,109,100,54,52,59,32,74,97,118,97,32,49,46,55,46,48,95,54,48,44,32,79,114,97,99,108,101,32,67,111,114,112,111,114,97,116,105,111,110,44,32,104,116,116,112,58,47,47,106,97,118,97,46,111,114,97,99,108,101,46,99,111,109,47,59,32,101,110,44,32,85,110,107,110,111,119,110,59,32,73,83,79,45,56,56,53,57,45,49</buildID>
                <!-- The authorizationID may change between project saves and builds.  This does not effect the integrity of the project, nor do changes in this value represent changes in the actual InstallAnywhere project. -->
-               <authorizationID>1,0,0,64,13,-64,-128,0,80,127,118,101,93,105,116,96,121,48,48,49,56,52,67,98,113,112,112,37,82,101,96,63,55,-11,2,9,1,105,27,10,1,0,0</authorizationID>
+               <authorizationID>1,0,0,64,-35,32,64,-48,80,127,118,101,93,105,116,96,121,48,48,49,56,52,67,98,113,112,112,37,82,101,96,63,55,-11,2,9,13,114,23,15,1,0,0</authorizationID>
        </essentialScriptInfo>
-       <installationObjects uniqueObjects="225">
+       <installationObjects uniqueObjects="243">
                <object class="com.zerog.ia.installer.Installer" objectID="fe7d63eda660">
                        <property name="belongsToUninstallPhase">
                                <boolean>false</boolean>
@@ -280,6 +278,19 @@ and any path to a file to save to the file]]></string>
                                                                        </property>
                                                                </object>
                                                        </method>
+                                                       <method name="addElement">
+                                                               <object class="com.zerog.ia.installer.util.LAXPropertyData" objectID="e9482ad387eb">
+                                                                       <property name="propertyValue">
+                                                                               <string><![CDATA[$PLATFORM_JVM_OPTS$]]></string>
+                                                                       </property>
+                                                                       <property name="propertyName">
+                                                                               <string><![CDATA[lax.nl.java.option.additional]]></string>
+                                                                       </property>
+                                                                       <property name="propertyComment">
+                                                                               <string><![CDATA[specific launch options for the platform]]></string>
+                                                                       </property>
+                                                               </object>
+                                                       </method>
                                                </object>
                                        </property>
                                        <property name="shouldUninstall">
@@ -371,7 +382,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[jalview.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>4232225</long>
+                                                               <long>5584573</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -475,7 +486,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[xercesImpl.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>1010204</long>
+                                                               <long>1367760</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -631,7 +642,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[xml-apis.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>124344</long>
+                                                               <long>220536</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1047,7 +1058,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[slf4j-api-1.7.7.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>348699</long>
+                                                               <long>29257</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1058,8 +1069,8 @@ and any path to a file to save to the file]]></string>
                                                        <property name="ruleExpression">
                                                                <string><![CDATA[]]></string>
                                                        </property>
-                                               </object>                               
-                                       </method>               
+                                               </object>
+                                       </method>
                                        <method name="addElement">
                                                <object class="com.zerog.ia.installer.actions.InstallZipfile" objectID="244fff00ffff">
                                                        <property name="belongsToUninstallPhase">
@@ -1099,7 +1110,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[jsoup-1.8.1.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>348699</long>
+                                                               <long>300844</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1151,7 +1162,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[log4j-to-slf4j-2.0-rc2.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>348699</long>
+                                                               <long>15996</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1203,7 +1214,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[slf4j-log4j12-1.7.7.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>348699</long>
+                                                               <long>8870</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1255,7 +1266,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[Jmol-14.2.14_2015.06.11.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>4938027</long>
+                                                               <long>5417196</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1463,7 +1474,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[min-jabaws-client-2.1.0.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>133065</long>
+                                                               <long>601804</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1879,7 +1890,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[VARNAv3-93.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>663408</long>
+                                                               <long>695802</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -2347,7 +2358,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[quaqua-filechooser-only-8.0.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>16046</long>
+                                                               <long>660179</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -2515,7 +2526,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[]]></string>
                                                        </property>
                                                </object>
-                                       </method>                                       
+                                       </method>
                                        <method name="addElement">
                                                <object class="com.zerog.ia.installer.actions.InstallZipfile" objectID="13936efeefab93">
                                                        <property name="belongsToUninstallPhase">
@@ -3171,6 +3182,94 @@ You may cancel this installation at any time by clicking the 'Cancel' button.]]>
                                                </object>
                                        </method>
                                        <method name="addElement">
+                                               <object class="com.zerog.ia.installer.actions.EditVariableTable" objectID="ea739b658d07">
+                                                       <property name="belongsToUninstallPhase">
+                                                               <boolean>false</boolean>
+                                                       </property>
+                                                       <property name="rollbackEnabledCancel">
+                                                               <boolean>true</boolean>
+                                                       </property>
+                                                       <property name="rollbackEnabledError">
+                                                               <boolean>true</boolean>
+                                                       </property>
+                                                       <property name="ruleExpression">
+                                                               <string><![CDATA[CP904]]></string>
+                                                       </property>
+                                                       <property name="name">
+                                                               <string><![CDATA[PLATFORM_JVM_OPTS]]></string>
+                                                       </property>
+                                                       <property name="value">
+                                                               <string><![CDATA[-Xdock:name=Jalview -Xdock:icon=$USER_INSTALL_DIR$/Jalview.app/Contents/Resources/LaunchAnywhere.icns]]></string>
+                                                       </property>
+                                                       <property name="passByValue">
+                                                               <boolean>true</boolean>
+                                                       </property>
+                                                       <property name="substituteUnknownVariable">
+                                                               <boolean>false</boolean>
+                                                       </property>
+                                                       <rules logicalOperation="AND">
+                                                               <object class="com.zerog.ia.installer.rules.PlatformChk" objectID="ea74fe6b8d07">
+                                                                       <property name="belongsToUninstallPhase">
+                                                                               <boolean>false</boolean>
+                                                                       </property>
+                                                                       <property name="rollbackEnabledCancel">
+                                                                               <boolean>true</boolean>
+                                                                       </property>
+                                                                       <property name="rollbackEnabledError">
+                                                                               <boolean>true</boolean>
+                                                                       </property>
+                                                                       <property name="ruleExpression">
+                                                                               <string><![CDATA[]]></string>
+                                                                       </property>
+                                                                       <property name="installOnPlatformList">
+                                                                               <object class="java.util.Vector">
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[Mac OS X]]></string>
+                                                                                       </method>
+                                                                               </object>
+                                                                       </property>
+                                                                       <property name="doNotInstallOnPlatformList">
+                                                                               <object class="java.util.Vector">
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[^Windows.*]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[Solaris]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[SunOS]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[HP-UX]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[Linux]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[AIX]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[FreeBSD]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[NetWare]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[OS/400]]></string>
+                                                                                       </method>
+                                                                                       <method name="addElement">
+                                                                                               <string><![CDATA[Unlisted Platforms]]></string>
+                                                                                       </method>
+                                                                               </object>
+                                                                       </property>
+                                                                       <property name="ruleId">
+                                                                               <string><![CDATA[CP904]]></string>
+                                                                       </property>
+                                                               </object>
+                                                       </rules>
+                                               </object>
+                                       </method>
+                                       <method name="addElement">
                                                <object class="com.zerog.ia.installer.actions.InstallSummary" objectID="fe7d64bfa66c">
                                                        <property name="belongsToUninstallPhase">
                                                                <boolean>false</boolean>
@@ -4039,7 +4138,7 @@ Press "Done" to quit the installer.]]></string>
                                                                <boolean>true</boolean>
                                                        </property>
                                                        <property name="buildOutputLocation">
-                                                               <string><![CDATA[/home/cruisecontrol/checkout/release-jalview/utils/InstallAnywhere/Jalview_Build_Output]]></string>
+                                                               <string><![CDATA[/opt/homes/cruisecontrol/live/cruisecontrol/checkout/next-release-jalview/utils/InstallAnywhere/Jalview_Build_Output]]></string>
                                                        </property>
                                                        <property name="relatedProjectSettings">
                                                                <object class="com.zerog.ia.installer.RelatedProjectSettings" objectID="97f2363da6ac">
@@ -4945,7 +5044,7 @@ Press "Done" to quit the installer.]]></string>
                                                                <boolean>true</boolean>
                                                        </property>
                                                        <property name="credentialInformation">
-                                                               <object class="com.flexera.ia.vapp.datastructures.VMWareCredentialInformationImpl" objectID="1f4abcab8706">
+                                                               <object class="com.flexera.ia.vapp.datastructures.VMWareCredentialInformationImpl" objectID="eaa38cb2933b">
                                                                        <property name="hostName">
                                                                                <string><![CDATA[]]></string>
                                                                        </property>
@@ -5071,7 +5170,7 @@ Press "Done" to quit the installer.]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.project.build.last.date]]></string>
-                                               <string><![CDATA[21 October 2013 14:27:40 o'clock BST]]></string>
+                                               <string><![CDATA[16 September 2015 18:09:53 o'clock BST]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.build.platform.windows.vm]]></string>
@@ -5139,7 +5238,7 @@ Press "Done" to quit the installer.]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.project.save.last.date]]></string>
-                                               <string><![CDATA[02 December 2014 16:16:01 o'clock GMT]]></string>
+                                               <string><![CDATA[16 September 2015 18:09:53 o'clock BST]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.build.options.optimization.platform.cdrom]]></string>
@@ -5417,13 +5516,13 @@ Press "Done" to quit the installer.]]></string>
                                                                <int>2</int>
                                                        </property>
                                                        <property name="minor">
-                                                               <int>8</int>
+                                                               <int>9</int>
                                                        </property>
                                                        <property name="revision">
-                                                               <int>2</int>
+                                                               <int>0</int>
                                                        </property>
                                                        <property name="subRevision">
-                                                               <int>0</int>
+                                                               <int>1</int>
                                                        </property>
                                                </object>
                                        </property>
@@ -5454,7 +5553,7 @@ Press "Done" to quit the installer.]]></string>
                                                <string><![CDATA[jalview-discuss@jalview.org]]></string>
                                        </property>
                                        <property name="copyright">
-                                               <string><![CDATA[2014]]></string>
+                                               <string><![CDATA[2015]]></string>
                                        </property>
                                        <property name="license">
                                                <string><![CDATA[Commercial]]></string>
@@ -7018,11 +7117,9 @@ and any path to a file to read from that file]]></string>
                                                                                <object refID="24485f8aa671"/>
                                                                                <object refID="24485f89a672"/>
                                                                                <object refID="24485f8aa672"/>
-
                                                                                <object refID="244fff00ffff"/>
-                                                           <object refID="244ffffaa672"/>
-                                                           <object refID="244f00faa672"/>
-
+                                                                               <object refID="244ffffaa672"/>
+                                                                               <object refID="244f00faa672"/>
                                                                                <object refID="24485f8ba672"/>
                                                                                <object refID="24485f8aa673"/>
                                                                                <object refID="24485f8ba673"/>
@@ -7181,7 +7278,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[building.html]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>4444</long>
+                                                                                               <long>4447</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7209,8 +7306,6 @@ and any path to a file to read from that file]]></string>
                                                                                <object refID="f46c2f42ab93"/>
                                                                                <object refID="1f46cffffab93"/>
                                                                                <object refID="1f46efeefab93"/>
-                                                                               <object refID="841f46efeefab93"/>
-                                                                               <object refID="9a1f46efeefab93"/>
                                                                                <object refID="1936efeefab93"/>
                                                                                <object refID="10936efeefab93"/>
                                                                                <object refID="11936efeefab93"/>
@@ -7423,7 +7518,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[exampleFile_2_7.jar]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>107135</long>
+                                                                                               <long>107635</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7467,7 +7562,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[1gaq.txt]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>56649</long>
+                                                                                               <long>55958</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7508,7 +7603,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[uniref50.fa]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>3039</long>
+                                                                                               <long>2979</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7590,7 +7685,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[exampleFeatures.txt]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>31397</long>
+                                                                                               <long>31399</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7672,7 +7767,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[ferredoxin.nw]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>392</long>
+                                                                                               <long>391</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7772,8 +7867,8 @@ and any path to a file to read from that file]]></string>
                                                                                                <object refID="24485f89a672"/>
                                                                                                <object refID="24485f8aa672"/>
                                                                                                <object refID="244fff00ffff"/>
-                                                                       <object refID="244ffffaa672"/>
-                                                                       <object refID="244f00faa672"/>
+                                                                                               <object refID="244ffffaa672"/>
+                                                                                               <object refID="244f00faa672"/>
                                                                                                <object refID="24485f8ba672"/>
                                                                                                <object refID="24485f8aa673"/>
                                                                                                <object refID="24485f8ba673"/>
@@ -7845,7 +7940,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="totalSize">
-                                                                                               <long>1</long>
+                                                                                               <long>30621</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -7907,6 +8002,88 @@ and any path to a file to read from that file]]></string>
                                                                                                <object refID="f44fc68baba3"/>
                                                                                        </visualChildren>
                                                                                </object>
+                                                                               <object class="com.zerog.ia.installer.actions.InstallFile" objectID="ea43799f8a5c">
+                                                                                       <property name="belongsToUninstallPhase">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="rollbackEnabledCancel">
+                                                                                               <boolean>true</boolean>
+                                                                                       </property>
+                                                                                       <property name="rollbackEnabledError">
+                                                                                               <boolean>true</boolean>
+                                                                                       </property>
+                                                                                       <property name="ruleExpression">
+                                                                                               <string><![CDATA[]]></string>
+                                                                                       </property>
+                                                                                       <property name="unixPermissions">
+                                                                                               <string><![CDATA[664]]></string>
+                                                                                       </property>
+                                                                                       <property name="sourceName">
+                                                                                               <string><![CDATA[THIRDPARTYLIBS]]></string>
+                                                                                       </property>
+                                                                                       <property name="overrideUnixPermissions">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="sourcePath">
+                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/live/cruisecontrol/checkout/next-release-jalview/]]></string>
+                                                                                       </property>
+                                                                                       <property name="shouldUninstall">
+                                                                                               <boolean>true</boolean>
+                                                                                       </property>
+                                                                                       <property name="destinationName">
+                                                                                               <string><![CDATA[THIRDPARTYLIBS]]></string>
+                                                                                       </property>
+                                                                                       <property name="fileSize">
+                                                                                               <long>2612</long>
+                                                                                       </property>
+                                                                                       <property name="macBinary">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="targetCheckKind">
+                                                                                               <int>0</int>
+                                                                                       </property>
+                                                                               </object>
+                                                                               <object class="com.zerog.ia.installer.actions.InstallFile" objectID="ea4379a48a5c">
+                                                                                       <property name="belongsToUninstallPhase">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="rollbackEnabledCancel">
+                                                                                               <boolean>true</boolean>
+                                                                                       </property>
+                                                                                       <property name="rollbackEnabledError">
+                                                                                               <boolean>true</boolean>
+                                                                                       </property>
+                                                                                       <property name="ruleExpression">
+                                                                                               <string><![CDATA[]]></string>
+                                                                                       </property>
+                                                                                       <property name="unixPermissions">
+                                                                                               <string><![CDATA[664]]></string>
+                                                                                       </property>
+                                                                                       <property name="sourceName">
+                                                                                               <string><![CDATA[AUTHORS]]></string>
+                                                                                       </property>
+                                                                                       <property name="overrideUnixPermissions">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="sourcePath">
+                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/live/cruisecontrol/checkout/next-release-jalview/]]></string>
+                                                                                       </property>
+                                                                                       <property name="shouldUninstall">
+                                                                                               <boolean>true</boolean>
+                                                                                       </property>
+                                                                                       <property name="destinationName">
+                                                                                               <string><![CDATA[AUTHORS]]></string>
+                                                                                       </property>
+                                                                                       <property name="fileSize">
+                                                                                               <long>809</long>
+                                                                                       </property>
+                                                                                       <property name="macBinary">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="targetCheckKind">
+                                                                                               <int>0</int>
+                                                                                       </property>
+                                                                               </object>
                                                                        </installChildren>
                                                                </object>
                                                                <object class="com.zerog.ia.installer.InstallComponent" objectID="fe7d6497a66b">
@@ -8322,6 +8499,8 @@ and any path to a file to read from that file]]></string>
                                                                <object refID="24485f85a670"/>
                                                                <object refID="f44fc598aba0"/>
                                                                <object refID="094ab0d49607"/>
+                                                               <object refID="ea43799f8a5c"/>
+                                                               <object refID="ea4379a48a5c"/>
                                                        </visualChildren>
                                                </object>
                                                <object class="com.zerog.ia.installer.GhostDirectory" objectID="3cd94e29a677">
index b14017f..b8b0ba4 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 58f7694..006c9be 100644 (file)
@@ -1,3 +1,23 @@
+/*******************************************************************************
+ * Jalview - A Sequence Alignment Editor and Viewer (2.9.0b1)
+ * Copyright (C) 2015 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ ******************************************************************************/
 //
 //========================================================================
 //Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd.
@@ -70,4 +90,4 @@ public class JettyExamplesDir
     server.start();
     server.join();
 }
-}
\ No newline at end of file
+}
diff --git a/utils/ant-contrib-1.0b3.jar b/utils/ant-contrib-1.0b3.jar
new file mode 100644 (file)
index 0000000..0625376
Binary files /dev/null and b/utils/ant-contrib-1.0b3.jar differ
index df19c4b..9965830 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index 5502baa..d7877c1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
index fa8a0ac..2326573 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index 2161622..a57df1a 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
  * Copyright (C) 2015 The Jalview Authors
  * 
  * This file is part of Jalview.
diff --git a/utils/i18nAnt.xml b/utils/i18nAnt.xml
new file mode 100755 (executable)
index 0000000..47c404e
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<!--
+  Ant utilities to help with internationalisation of Jalview.
+  Require the additional antcontrib targets (jar file).
+-->
+<project name="jalviewLang" default="checkLang" basedir="..">
+
+<taskdef resource="net/sf/antcontrib/antcontrib.properties">
+  <classpath>
+    <pathelement location="${basedir}/utils/ant-contrib-0.3.jar"/>
+  </classpath>
+</taskdef>
+<taskdef resource="net/sf/antcontrib/antlib.xml"/>
+<target name="checkLang" description="Reports missing entries in language bundles compared to Message.properties">
+       <!-- adapted from http://stackoverflow.com/questions/14381660/ant-task-to-compare-two-properties-files -->
+       <!-- reduce logging level so 'reportMissingProperty' does not clutter up the output -->
+       <script language="javascript">
+        var logger = project.getBuildListeners( ).firstElement( );
+        logger.setMessageOutputLevel( 1 );
+    </script>
+       <echo message="Missing message labels compared to Messages.properties"/>
+       <foreach target="compareProperties" param="file2">
+               <path>
+                       <fileset dir="${basedir}/resources/lang">
+                               <exclude name="Messages.properties" />
+                       </fileset>
+               </path>
+       </foreach>
+</target>
+
+<target name="compareProperties" description="reports missing entries in one message bundle">
+    <loadproperties srcFile="resources/lang/Messages.properties" prefix="prefixfile1"/>
+    <loadproperties srcFile="${file2}" prefix="prefixfile2"/>
+
+    <propertyselector property="file1.list" delimiter="," match="prefixfile1\.(.+)" select="\1"/>
+    <propertyselector property="file2.list" delimiter="," match="prefixfile2\.(.+)" select="\1"/>
+       
+       <echo message=" "/>
+       <echo message="*** ${file2}:" />
+    <for list="${file1.list}" param="file1.property">
+        <sequential>
+            <if>
+                <not>
+                    <matches pattern=",@{file1.property}," string=",${file2.list}," />
+                </not>
+                <then>
+                    <property name="some_missing" value="true"/>
+                       <antcall target="reportMissingProperty">
+                               <param name="textLabel" value="@{file1.property}"/>
+                               <param name="prefixedPropertyName" value="prefixfile1.@{file1.property}" />
+                       </antcall>
+                </then>
+            </if>
+        </sequential>
+    </for>
+    <if>
+        <not>
+            <isset property="some_missing"/>
+        </not>
+        <then>
+               <echo>No labels missing :-)</echo>
+        </then>
+    </if>
+</target>
+
+<target name="reportMissingProperty" description="double dereference 'prefixedPropertyName' and report missing language property">
+       <propertycopy name="textValue" from="${prefixedPropertyName}"/>
+       <!-- output the property name (message label) and value (English text) -->
+    <echo message="${textLabel}=${textValue}"/>
+</target>
+
+</project>
diff --git a/utils/jalview_testng.xml b/utils/jalview_testng.xml
deleted file mode 100644 (file)
index fd78487..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
- * Copyright (C) 2015 The Jalview Authors
- * 
- * This file is part of Jalview.
- * 
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *  
- * Jalview is distributed in the hope that it will be useful, but 
- * WITHOUT ANY WARRANTY; without even the implied warranty 
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
- * PURPOSE.  See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
--->
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
-<suite name="Suite" parallel="none">
-  <test verbose="2" name="Test">
-    <classes>
-      <class name="jalview.gui.AlignViewportTest"/>
-      <class name="jalview.util.ShiftListTest"/>
-      <class name="jalview.util.ColorUtilsTest"/>
-      <class name="jalview.gui.PDBSearchPanelTest"/>
-      <class name="MCview.PDBfileTest"/>
-      <class name="jalview.io.BioJsHTMLOutputTest"/>
-      <class name="jalview.io.JSONFileTest"/>
-      <class name="jalview.ext.jmol.PDBFileWithJmolTest"/>
-      <class name="jalview.ws.jabaws.RNAStructExportImport"/>
-      <class name="jalview.ext.paradise.TestAnnotate3D"/>
-      <class name="MCview.PDBChainTest"/>
-      <class name="jalview.io.StockholmFileTest"/>
-      <class name="jalview.schemes.ScoreMatrixPrinter"/>
-      <class name="jalview.datamodel.SearchResultsTest"/>
-      <class name="jalview.ws.seqfetcher.DasSequenceFetcher"/>
-      <class name="jalview.util.DBRefUtilsTest"/>
-      <class name="jalview.analysis.CrossRefTest"/>
-      <class name="jalview.ws.jabaws.MinJabawsClientTests"/>
-      <class name="jalview.datamodel.AlignedCodonTest"/>
-      <class name="MCview.AtomTest"/>
-      <class name="jalview.gui.PopupMenuTest"/>
-      <class name="jalview.viewmodel.styles.ViewStyleTest"/>
-      <class name="jalview.io.AnnotationFileIOTest"/>
-      <class name="jalview.ws.jws2.ParameterUtilsTest"/>
-      <class name="jalview.io.RNAMLfileTest"/>
-      <class name="jalview.analysis.AlignmentUtilsTests"/>
-      <class name="jalview.gui.SequenceRendererTest"/>
-      <class name="jalview.bin.CommandLineOperations"/>
-      <class name="jalview.gui.PaintRefresherTest"/>
-      <class name="jalview.ws.seqfetcher.DbRefFetcherTest"/>
-      <class name="jalview.datamodel.AlignmentAnnotationTests"/>
-      <class name="jalview.schemes.ResiduePropertiesTest"/>
-      <class name="jalview.ext.rbvi.chimera.ChimeraCommandsTest"/>
-      <class name="MCview.ResidueTest"/>
-      <class name="jalview.io.PhylipFileTests"/>
-      <class name="jalview.util.MappingUtilsTest"/>
-      <class name="jalview.ws.jabaws.DisorderAnnotExportImport"/>
-      <class name="jalview.analysis.GroupingTest"/>
-      <class name="jalview.analysis.AnnotationSorterTest"/>
-      <class name="jalview.io.FileIOTester"/>
-      <class name="jalview.util.MapListTest"/>
-      <class name="jalview.datamodel.ColumnSelectionTest"/>
-      <class name="jalview.ext.rbvi.chimera.ChimeraConnect"/>
-      <class name="jalview.gui.ProgressBarTest"/>
-      <class name="jalview.analysis.AlignmentAnnotationUtilsTest"/>
-      <class name="jalview.structure.StructureSelectionManagerTest"/>
-      <class name="jalview.io.TCoffeeScoreFileTest"/>
-      <class name="jalview.analysis.AAFrequencyTest"/>
-      <class name="jalview.ws.dbsources.PDBRestClientTest"/>
-      <class name="jalview.analysis.DnaTest"/>
-      <class name="jalview.util.StringUtilsTest"/>
-      <class name="jalview.structures.models.AAStructureBindingModelTest"/>
-      <class name="jalview.gui.JvSwingUtilsTest"/>
-      <class name="jalview.analysis.CodingUtilsTest"/>
-      <class name="jalview.io.AnnotatedPDBFileInputTest"/>
-      <class name="jalview.ws.rest.ShmmrRSBSService"/>
-      <class name="jalview.io.NewickFileTests"/>
-      <class name="jalview.analysis.ParsePropertiesTest"/>
-      <class name="MCview.BondTest"/>
-      <class name="jalview.commands.EditCommandTest"/>
-      <class name="jalview.ext.rbvi.chimera.JalviewChimeraView"/>
-      <class name="jalview.ws.jabaws.JpredJabaStructExportImport"/>
-      <class name="jalview.gui.HelpTest"/>
-      <class name="jalview.datamodel.AlignedCodonIteratorTest"/>
-      <class name="jalview.datamodel.xdb.embl.EmblFileTest"/>
-      <class name="jalview.util.ComparisonTest"/>
-      <class name="jalview.util.QuickSortTest"/>
-      <class name="jalview.ws.PDBSequenceFetcherTest"/>
-      <class name="jalview.analysis.scoremodels.FeatureScoreModelTest"/>
-      <class name="jalview.io.Jalview2xmlTests"/>
-      <class name="jalview.ws.rest.RestClientTest"/>
-      <class name="jalview.datamodel.AlignedCodonFrameTest"/>
-      <class name="jalview.datamodel.MappingTest"/>
-      <class name="jalview.datamodel.AlignmentTest"/>
-      <class name="jalview.ws.dbsources.UniprotTest"/>
-      <class name="jalview.gui.AnnotationChooserTest"/>
-      <class name="jalview.structure.Mapping"/>
-      <class name="jalview.datamodel.SequenceTest"/>
-      <class name="jalview.datamodel.PDBEntryTest"/>
-      <class name="jalview.gui.StructureChooserTest"/>
-      <class name="jalview.schemes.DnaCodonTests"/>
-      <class name="com.stevesoft.pat.RegexWriterTest"/>
-      <class name="jalview.datamodel.DBRefEntryTest"/>
-      <class name="jalview.gui.FontChooserTest"/>
-      <class name="jalview.analysis.TestAlignSeq"/>
-      <class name="jalview.datamodel.SeqCigarTest"/>
-      <class name="jalview.gui.JAL1353bugdemo"/>
-      <class name="jalview.datamodel.AlignmentViewTest"/>
-    </classes>
-  </test> <!-- Test -->
-</suite> <!-- Suite --> 
index 4f829bb..86b2e29 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index 0ac9f2c..503b909 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/perl
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.
index dd13a52..99a8dc2 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 ##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1)
 # Copyright (C) 2015 The Jalview Authors
 # 
 # This file is part of Jalview.