Merge branch 'Release_2_8_1_Branch_i18n' into try_r20b1_merge
authorJim Procter <jprocter@compbio.dundee.ac.uk>
Mon, 3 Feb 2014 17:46:31 +0000 (17:46 +0000)
committerJim Procter <jprocter@compbio.dundee.ac.uk>
Mon, 3 Feb 2014 17:48:32 +0000 (17:48 +0000)
Conflicts:
src/jalview/gui/AlignFrame.java
src/jalview/gui/AppJmol.java
src/jalview/gui/PopupMenu.java
src/jalview/gui/UserDefinedColours.java
JAL-1354 merge in with some exceptions for non i18n bare strings and fix compilation errors from missing import of MessageManager

921 files changed:
AUTHORS [new file with mode: 0644]
RELEASE
THIRDPARTYLIBS
build.xml
doc/AddingGroovySupport.html
doc/JalviewRNASupport.html
doc/building.html
doc/developing.html
doc/index.html
doc/newdmobj.html
examples-jbake/README [new file with mode: 0644]
examples-jbake/assets/1gaq.txt [new file with mode: 0755]
examples-jbake/assets/PF00111_seed.stk [new file with mode: 0644]
examples-jbake/assets/RF00031_folded.stk [new file with mode: 0644]
examples-jbake/assets/css/ie6.css [new file with mode: 0644]
examples-jbake/assets/css/ie7.css [new file with mode: 0644]
examples-jbake/assets/css/reset.css [new file with mode: 0644]
examples-jbake/assets/css/style.css [new file with mode: 0644]
examples-jbake/assets/exampleFeatures.txt [new file with mode: 0755]
examples-jbake/assets/exampleFile.jar [new file with mode: 0755]
examples-jbake/assets/exampleFile_2_3.jar [new file with mode: 0644]
examples-jbake/assets/exampleFile_2_7.jar [new file with mode: 0644]
examples-jbake/assets/ferredoxin.nw [new file with mode: 0755]
examples-jbake/assets/globins.jar [new file with mode: 0755]
examples-jbake/assets/images/applet.jpg [new file with mode: 0644]
examples-jbake/assets/images/com-arrow-3-small.png [new file with mode: 0644]
examples-jbake/assets/images/desk.jpg [new file with mode: 0644]
examples-jbake/assets/images/dev-arrow-3-normal.png [new file with mode: 0644]
examples-jbake/assets/images/jvlite-arrow-3-small.png [new file with mode: 0644]
examples-jbake/assets/images/logo.jpg [new file with mode: 0644]
examples-jbake/assets/images/normal-arrow-3-normal.png [new file with mode: 0644]
examples-jbake/assets/images/train-arrow-3-normal.png [new file with mode: 0644]
examples-jbake/assets/javascript/deployJava.js [new file with mode: 0644]
examples-jbake/assets/javascript/jalview.js [new file with mode: 0644]
examples-jbake/assets/javascript/jquery-1.4.4.min.js [new file with mode: 0644]
examples-jbake/assets/javascript/jquery.blockUI.js [new file with mode: 0644]
examples-jbake/assets/javascript/jquery.timer.js [new file with mode: 0644]
examples-jbake/assets/javascript/jshashtable-2.1.js [new file with mode: 0644]
examples-jbake/assets/jmol/Jmol.js [new file with mode: 0644]
examples-jbake/assets/jpred_msa.fasta [new file with mode: 0755]
examples-jbake/assets/jpred_msa.seq.concise [new file with mode: 0755]
examples-jbake/assets/plantfdx.fa [new file with mode: 0644]
examples-jbake/assets/plantfdx.features [new file with mode: 0644]
examples-jbake/assets/uniref50.fa [new file with mode: 0755]
examples-jbake/assets/uniref50_mz.fa [new file with mode: 0644]
examples-jbake/content/appletParameters.html [new file with mode: 0644]
examples-jbake/content/applets.html [new file with mode: 0644]
examples-jbake/content/embedded.html [new file with mode: 0644]
examples-jbake/content/embeddedWJmol.html [new file with mode: 0644]
examples-jbake/content/formComplete.html [new file with mode: 0644]
examples-jbake/content/jalviewLiteJs.html [new file with mode: 0644]
examples-jbake/content/javascriptLaunch.html [new file with mode: 0644]
examples-jbake/content/linkedapplets_ng.html [new file with mode: 0644]
examples-jbake/content/u_applets.html [new file with mode: 0644]
examples-jbake/content/u_embedded.html [new file with mode: 0644]
examples-jbake/content/u_embeddedWJmol.html [new file with mode: 0644]
examples-jbake/content/u_formComplete.html [new file with mode: 0644]
examples-jbake/content/u_javascriptLaunch.html [new file with mode: 0644]
examples-jbake/content/u_linkedapplets_ng.html [new file with mode: 0644]
examples-jbake/jbake.properties [new file with mode: 0644]
examples-jbake/templates/archive.ftl [new file with mode: 0644]
examples-jbake/templates/feed.ftl [new file with mode: 0644]
examples-jbake/templates/footer.ftl [new file with mode: 0644]
examples-jbake/templates/header.ftl [new file with mode: 0644]
examples-jbake/templates/index.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_embedded.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_embeddedWJmol.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_embeddedWJmol_hdr.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_examples.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_formComplete.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_javascriptLaunch.ftl [new file with mode: 0644]
examples-jbake/templates/jvl_linkedapplets_ng.ftl [new file with mode: 0644]
examples-jbake/templates/macros.ftl [new file with mode: 0644]
examples-jbake/templates/menu.ftl [new file with mode: 0644]
examples-jbake/templates/page.ftl [new file with mode: 0644]
examples-jbake/templates/post.ftl [new file with mode: 0644]
examples-jbake/templates/sidebar.ftl [new file with mode: 0644]
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/exampleFeatures.txt
examples/formComplete.html
examples/jalviewLiteJs.html
examples/javascript/jalview.js
examples/javascriptLaunch.html
examples/linkedapplets_ng.html
examples/u_applets.html [new file with mode: 0644]
examples/u_embedded.html [new file with mode: 0644]
examples/u_embeddedWJmol.html [new file with mode: 0644]
examples/u_formComplete.html [new file with mode: 0644]
examples/u_javascriptLaunch.html [new file with mode: 0644]
examples/u_linkedapplets_ng.html [new file with mode: 0644]
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/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/clarguments.html
help/html/features/codingfeatures.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/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/varna.html
help/html/features/viewingpdbs.html
help/html/features/wrap.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/jalviewjnlp.html
help/html/keys.html
help/html/memory.html
help/html/menus/alignmentMenu.html
help/html/menus/alwannotations.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/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/authors.props
resources/embl_mapping.xml
resources/lang/Messages.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/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/AlignmentSorter.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/SeqsetUtils.java
src/jalview/analysis/SequenceIdMatcher.java
src/jalview/analysis/StructureFrequency.java
src/jalview/analysis/WUSSParseException.java
src/jalview/api/AlignCalcManagerI.java
src/jalview/api/AlignCalcWorkerI.java
src/jalview/api/AlignViewportI.java
src/jalview/api/AlignmentViewPanel.java
src/jalview/api/FeatureRenderer.java
src/jalview/api/OOMHandlerI.java
src/jalview/api/RotatableCanvasI.java
src/jalview/api/SequenceRenderer.java
src/jalview/api/SequenceStructureBinding.java
src/jalview/api/StructureSelectionManagerProvider.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/AnnotationLabels.java
src/jalview/appletgui/AnnotationPanel.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/Tooltip.java
src/jalview/appletgui/TreeCanvas.java
src/jalview/appletgui/TreePanel.java
src/jalview/appletgui/UserDefinedColours.java
src/jalview/bin/Cache.java
src/jalview/bin/Jalview.java
src/jalview/bin/JalviewLite.java
src/jalview/bin/JalviewLiteURLRetrieve.java
src/jalview/binding/Alignment.java
src/jalview/binding/Annotation.java
src/jalview/binding/AnnotationElement.java
src/jalview/binding/Colour.java
src/jalview/binding/Feature.java
src/jalview/binding/FeatureSettings.java
src/jalview/binding/Features.java
src/jalview/binding/JGroup.java
src/jalview/binding/JSeq.java
src/jalview/binding/JalviewModel.java
src/jalview/binding/JalviewModelSequence.java
src/jalview/binding/JalviewUserColours.java
src/jalview/binding/Pdbentry.java
src/jalview/binding/PdbentryItem.java
src/jalview/binding/Pdbids.java
src/jalview/binding/Property.java
src/jalview/binding/Sequence.java
src/jalview/binding/SequenceSet.java
src/jalview/binding/SequenceType.java
src/jalview/binding/Setting.java
src/jalview/binding/Tree.java
src/jalview/binding/UserColourScheme.java
src/jalview/binding/UserColours.java
src/jalview/binding/VAMSAS.java
src/jalview/binding/VamsasModel.java
src/jalview/binding/Viewport.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/datamodel/AlignedCodonFrame.java
src/jalview/datamodel/Alignment.java
src/jalview/datamodel/AlignmentAnnotation.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/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/SearchResults.java
src/jalview/datamodel/SeqCigar.java
src/jalview/datamodel/Sequence.java
src/jalview/datamodel/SequenceCollectionI.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/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/ext/jmol/JalviewJmolBinding.java
src/jalview/ext/jmol/JmolCommands.java
src/jalview/ext/varna/JalviewVarnaBinding.java
src/jalview/ext/varna/VarnaCommands.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/AlignViewport.java
src/jalview/gui/AlignmentPanel.java
src/jalview/gui/AnnotationColourChooser.java
src/jalview/gui/AnnotationExporter.java
src/jalview/gui/AnnotationLabels.java
src/jalview/gui/AnnotationPanel.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/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/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/JalviewDialog.java
src/jalview/gui/JvSwingUtils.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/PaintRefresher.java
src/jalview/gui/PairwiseAlignPanel.java
src/jalview/gui/PopupMenu.java
src/jalview/gui/Preferences.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/ScalePanel.java
src/jalview/gui/ScriptWindow.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/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/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/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/HTMLOutput.java
src/jalview/io/IdentifyFile.java
src/jalview/io/JPredFile.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/PileUpfile.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/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/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/GStructureViewer.java
src/jalview/jbgui/GTreePanel.java
src/jalview/jbgui/GUserDefinedColours.java
src/jalview/jbgui/GWebserviceInfo.java
src/jalview/jbgui/GWsPreferences.java
src/jalview/math/Matrix.java
src/jalview/math/RotatableMatrix.java
src/jalview/renderer/AnnotationRenderer.java
src/jalview/renderer/AwtRenderPanelI.java
src/jalview/schemabinding/version2/AlcodMap.java
src/jalview/schemabinding/version2/Alcodon.java
src/jalview/schemabinding/version2/AlcodonFrame.java
src/jalview/schemabinding/version2/Annotation.java
src/jalview/schemabinding/version2/AnnotationColours.java
src/jalview/schemabinding/version2/AnnotationElement.java
src/jalview/schemabinding/version2/CalcIdParam.java
src/jalview/schemabinding/version2/Colour.java
src/jalview/schemabinding/version2/DBRef.java
src/jalview/schemabinding/version2/Feature.java
src/jalview/schemabinding/version2/FeatureSettings.java
src/jalview/schemabinding/version2/Features.java
src/jalview/schemabinding/version2/Group.java
src/jalview/schemabinding/version2/HiddenColumns.java
src/jalview/schemabinding/version2/JGroup.java
src/jalview/schemabinding/version2/JSeq.java
src/jalview/schemabinding/version2/JalviewModel.java
src/jalview/schemabinding/version2/JalviewModelSequence.java
src/jalview/schemabinding/version2/JalviewUserColours.java
src/jalview/schemabinding/version2/MapListFrom.java
src/jalview/schemabinding/version2/MapListTo.java
src/jalview/schemabinding/version2/MapListType.java
src/jalview/schemabinding/version2/Mapping.java
src/jalview/schemabinding/version2/MappingChoice.java
src/jalview/schemabinding/version2/OtherData.java
src/jalview/schemabinding/version2/Pdbentry.java
src/jalview/schemabinding/version2/PdbentryItem.java
src/jalview/schemabinding/version2/Pdbids.java
src/jalview/schemabinding/version2/Property.java
src/jalview/schemabinding/version2/Sequence.java
src/jalview/schemabinding/version2/SequenceSet.java
src/jalview/schemabinding/version2/SequenceSetProperties.java
src/jalview/schemabinding/version2/SequenceType.java
src/jalview/schemabinding/version2/Setting.java
src/jalview/schemabinding/version2/StructureState.java
src/jalview/schemabinding/version2/ThresholdLine.java
src/jalview/schemabinding/version2/Tree.java
src/jalview/schemabinding/version2/UserColourScheme.java
src/jalview/schemabinding/version2/UserColours.java
src/jalview/schemabinding/version2/VAMSAS.java
src/jalview/schemabinding/version2/VamsasModel.java
src/jalview/schemabinding/version2/Viewport.java
src/jalview/schemabinding/version2/WebServiceParameterSet.java
src/jalview/schemabinding/version2/descriptors/AlcodMapDescriptor.java
src/jalview/schemabinding/version2/descriptors/AlcodonDescriptor.java
src/jalview/schemabinding/version2/descriptors/AlcodonFrameDescriptor.java
src/jalview/schemabinding/version2/descriptors/AnnotationColoursDescriptor.java
src/jalview/schemabinding/version2/descriptors/AnnotationDescriptor.java
src/jalview/schemabinding/version2/descriptors/AnnotationElementDescriptor.java
src/jalview/schemabinding/version2/descriptors/CalcIdParamDescriptor.java
src/jalview/schemabinding/version2/descriptors/ColourDescriptor.java
src/jalview/schemabinding/version2/descriptors/DBRefDescriptor.java
src/jalview/schemabinding/version2/descriptors/FeatureDescriptor.java
src/jalview/schemabinding/version2/descriptors/FeatureSettingsDescriptor.java
src/jalview/schemabinding/version2/descriptors/FeaturesDescriptor.java
src/jalview/schemabinding/version2/descriptors/GroupDescriptor.java
src/jalview/schemabinding/version2/descriptors/HiddenColumnsDescriptor.java
src/jalview/schemabinding/version2/descriptors/JGroupDescriptor.java
src/jalview/schemabinding/version2/descriptors/JSeqDescriptor.java
src/jalview/schemabinding/version2/descriptors/JalviewModelDescriptor.java
src/jalview/schemabinding/version2/descriptors/JalviewModelSequenceDescriptor.java
src/jalview/schemabinding/version2/descriptors/JalviewUserColoursDescriptor.java
src/jalview/schemabinding/version2/descriptors/MapListFromDescriptor.java
src/jalview/schemabinding/version2/descriptors/MapListToDescriptor.java
src/jalview/schemabinding/version2/descriptors/MapListTypeDescriptor.java
src/jalview/schemabinding/version2/descriptors/MappingChoiceDescriptor.java
src/jalview/schemabinding/version2/descriptors/MappingDescriptor.java
src/jalview/schemabinding/version2/descriptors/OtherDataDescriptor.java
src/jalview/schemabinding/version2/descriptors/PdbentryDescriptor.java
src/jalview/schemabinding/version2/descriptors/PdbentryItemDescriptor.java
src/jalview/schemabinding/version2/descriptors/PdbidsDescriptor.java
src/jalview/schemabinding/version2/descriptors/PropertyDescriptor.java
src/jalview/schemabinding/version2/descriptors/SequenceDescriptor.java
src/jalview/schemabinding/version2/descriptors/SequenceSetDescriptor.java
src/jalview/schemabinding/version2/descriptors/SequenceSetPropertiesDescriptor.java
src/jalview/schemabinding/version2/descriptors/SequenceTypeDescriptor.java
src/jalview/schemabinding/version2/descriptors/SettingDescriptor.java
src/jalview/schemabinding/version2/descriptors/StructureStateDescriptor.java
src/jalview/schemabinding/version2/descriptors/ThresholdLineDescriptor.java
src/jalview/schemabinding/version2/descriptors/TreeDescriptor.java
src/jalview/schemabinding/version2/descriptors/UserColourSchemeDescriptor.java
src/jalview/schemabinding/version2/descriptors/UserColoursDescriptor.java
src/jalview/schemabinding/version2/descriptors/VAMSASDescriptor.java
src/jalview/schemabinding/version2/descriptors/VamsasModelDescriptor.java
src/jalview/schemabinding/version2/descriptors/ViewportDescriptor.java
src/jalview/schemabinding/version2/descriptors/WebServiceParameterSetDescriptor.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/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/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/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/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/ImageMaker.java
src/jalview/util/MapList.java
src/jalview/util/ParseHtmlBodyAndLinks.java
src/jalview/util/Platform.java
src/jalview/util/QuickSort.java
src/jalview/util/ShiftList.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/workers/AlignCalcManager.java
src/jalview/workers/AlignCalcWorker.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/EnfinEnvision2OneWay.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/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/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/JWs2Job.java
src/jalview/ws/jws2/JabaParamStore.java
src/jalview/ws/jws2/JabaPreset.java
src/jalview/ws/jws2/JabaWsServerQuery.java
src/jalview/ws/jws2/JabawsAlignCalcWorker.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/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/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/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/jalview/analysis/DnaTranslation.java
test/jalview/bin/CommandLineOperations.java
test/jalview/io/AnnotationFileIOTest.java
test/jalview/io/FileIOTester.java
test/jalview/io/NewickFileTests.java
test/jalview/io/StockholmFileTest.java
test/jalview/io/TCoffeeScoreFileTest.java
test/jalview/schemes/DnaCodonTests.java
test/jalview/schemes/ScoreMatrixPrinter.java
test/jalview/ws/gui/Jws2ParamView.java
test/jalview/ws/jabaws/DisorderAnnotExportImport.java
test/jalview/ws/jabaws/JalviewJabawsTestUtils.java
test/jalview/ws/rest/ShmmrRSBSService.java
test/jalview/ws/seqfetcher/DbRefFetcherTest.java
utils/InstallAnywhere/jalview_buildinstaller.xml
utils/eclipse/JalviewCodeStyle.xml
utils/getJavaVersion.java
utils/gff2annot.pl
utils/help2Website.java
utils/jalopy/docs/acknowledge.html
utils/jalopy/docs/bi01.html
utils/jalopy/docs/build.html
utils/jalopy/docs/comments.html
utils/jalopy/docs/contact.html
utils/jalopy/docs/contributors.html
utils/jalopy/docs/dedication.html
utils/jalopy/docs/dependencies.html
utils/jalopy/docs/docs.html
utils/jalopy/docs/download.html
utils/jalopy/docs/environment.html
utils/jalopy/docs/faq.html
utils/jalopy/docs/features.html
utils/jalopy/docs/footer.html
utils/jalopy/docs/header.html
utils/jalopy/docs/history.html
utils/jalopy/docs/imports.html
utils/jalopy/docs/indentation.html
utils/jalopy/docs/index.html
utils/jalopy/docs/inspector-naming.html
utils/jalopy/docs/inspector.html
utils/jalopy/docs/installation.html
utils/jalopy/docs/introduction.html
utils/jalopy/docs/ix01.html
utils/jalopy/docs/javadoc.html
utils/jalopy/docs/license-antlr.html
utils/jalopy/docs/license-apache.html
utils/jalopy/docs/license-common-public.html
utils/jalopy/docs/license-gnu-doc.html
utils/jalopy/docs/license-gnu.html
utils/jalopy/docs/license-sun-public.html
utils/jalopy/docs/links.html
utils/jalopy/docs/manual.html
utils/jalopy/docs/messages.html
utils/jalopy/docs/misc.html
utils/jalopy/docs/part-core.html
utils/jalopy/docs/part-plugins.html
utils/jalopy/docs/plugin-ant-config.html
utils/jalopy/docs/plugin-ant-license.html
utils/jalopy/docs/plugin-ant-usage.html
utils/jalopy/docs/plugin-ant.html
utils/jalopy/docs/plugin-console-license.html
utils/jalopy/docs/plugin-console-usage.html
utils/jalopy/docs/plugin-console.html
utils/jalopy/docs/plugin-eclipse-integration.html
utils/jalopy/docs/plugin-eclipse-license.html
utils/jalopy/docs/plugin-eclipse.html
utils/jalopy/docs/plugin-jbuilder-integration.html
utils/jalopy/docs/plugin-jbuilder-license.html
utils/jalopy/docs/plugin-jbuilder.html
utils/jalopy/docs/plugin-jdev-integration.html
utils/jalopy/docs/plugin-jdev-license.html
utils/jalopy/docs/plugin-jdev.html
utils/jalopy/docs/plugin-jedit-integration.html
utils/jalopy/docs/plugin-jedit-license.html
utils/jalopy/docs/plugin-jedit.html
utils/jalopy/docs/plugin-netbeans-integration.html
utils/jalopy/docs/plugin-netbeans-license.html
utils/jalopy/docs/plugin-netbeans.html
utils/jalopy/docs/plugins.html
utils/jalopy/docs/printer.html
utils/jalopy/docs/project.html
utils/jalopy/docs/separation.html
utils/jalopy/docs/settings.html
utils/jalopy/docs/site.css
utils/jalopy/docs/sorting.html
utils/jalopy/docs/usage.html
utils/jalopy/docs/whitespace.html
utils/jalopy/docs/wrapping.html
utils/jalopy/readme.html
utils/jarunsigner.pl
utils/patchGt.pl
utils/splitstockholm.pl

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..2765038
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,25 @@
+// The Jalview Authors //
+// /////////////////// //
+
+This file details everyone who has contributed code to Jalview, 
+or might otherwise be considered author of Jalview. 
+
+The people listed below are 'The Jalview Authors', who collectively
+own the copyright to the Jalview source code and permit it to be released under GPL.
+
+This is the authoritative list. It was correct on 29th January 2014.
+If you are releasing a version of Jalview, please make sure any
+statement of authorship in the GUI reflects the list shown here.
+
+Jim Procter
+Andrew Waterhouse
+Jan Engelhardt
+Lauren Lui
+Natasha Sherstnev
+Daniel Barton
+Michele Clamp
+James Cuff
+Steve Searle
+David Martin
+Geoff Barton
diff --git a/RELEASE b/RELEASE
index 2765e04..7f0d6ec 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,2 +1,2 @@
-jalview.release=Release_2_8_Branch\r
-jalview.version=2.8\r
+jalview.release=Release_2_8_0b1_Branch\r
+jalview.version=2.8.0b1\r
index bedd23a..f7f3529 100644 (file)
@@ -39,3 +39,7 @@ Additional dependencies
 examples/javascript/deployJava.js : http://java.com/js/deployJava.js
 examples/javascript/jquery*.js : BSD license
 examples/javascript/jshashtable-2.1.js : Apache License
+
+Tools not bundled with Jalview source
+jbake (http://jbake.org MIT license) was used to build the JalviewLite examples pages found in the examples directory.
+
index 12e16a8..82cbabb 100755 (executable)
--- a/build.xml
+++ b/build.xml
@@ -1,20 +1,21 @@
 <?xml version="1.0"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <project name="jalviewX" default="usage" basedir=".">
        <!-- we use jalopy to format our sources -->
                <!-- J2SE version needed for webstart launch -->
                <property name="j2sev" value="1.6+"/>
 
-    <!-- Permissions for running Java applets and applications. Defaults are those suitable for deploying jalview webstart/jalviewLite at www.jalview.org -->
-    <property name="application.codebase" value="*.jalview.org"/>
-    <property name="applet.codebase" value="*.jalview.org"/>
-    <property name="applet.caller-codebase" value="${applet.codebase}"/>
+    <!-- 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" />
+    <!-- and allowing the applet to be deployed from any URL -->
+    <property name="applet.codebase" value="*" />
+    <property name="applet.caller-codebase" value="${applet.codebase}" />
 
                <!-- build directory configuration -->
                <property name="libDir" value="lib" />
        </target>
 
        <target name="makefulldist" depends="makedist">
-               <!-- the default keystore details might need to be edited here -->
-               <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" sigalg="SHA1withRSA">
-
-                       <fileset dir="${packageDir}">
-                               <include name="*.jar" />
-                       </fileset>
-               </signjar>
                <copy todir="${packageDir}">
                        <fileset dir="${resourceDir}/images">
                                <include name="${WebStartImage}"/>
                
                <taskdef classpathref="build.classpath" resource="com/roxes/tools/ant/taskdefs.properties" />
 
-               <!--    codebase="http://www.jalview.org/jalview/webstart" -->
-               <!-- href="jalview.jnlp" prevent hard-wired pickup of jnlp in certain javaws versions -->
-               <jnlp toFile="${packageDir}/jalview.jnlp" codebase="${WebStartLocation}">
-                       <information>
-                               <title>Jalview</title>
-                               <vendor>The Barton Group</vendor>
-                               <homepage href="http://www.jalview.org" />
-                               <description>Jalview Multiple Alignment Editor</description>
-                               <description kind="short">Jalview</description>
-                               <icon href="${WebStartImage}" />
-                               <offline_allowed/>
-                       </information>
-                       <resources>
-                               <j2se version="${j2sev}" initial_heap_size="10M"  />
+    <!-- create a dummy jar which will eventually contain the jnlp template -->
+    <jar destfile="${packageDir}/jalview_jnlp_vm.jar" index="true">
                                <fileset dir="${packageDir}">
                                        <include name="jalview.jar" />
                                </fileset>
+    </jar>
+       
+       <mkdir dir="${packageDir}/JNLP-INF"/>
+    <antcall target="writejnlpf">
+       <param name="jnlpFile" value="${packageDir}/JNLP-INF/APPLICATION-TEMPLATE.JNLP"/>
+       <param name="inih" value="*" />
+       <param name="maxh" value="*"/>
+    </antcall>
+               
+       <jar destfile="${packageDir}/jalview_jnlp_vm.jar" index="true">
                                <fileset dir="${packageDir}">
-                                       <include name="*.jar" />
-                                       <include name="*_*.jar" />
-                                       <exclude name="jalview.jar" />
-                               </fileset>
-                               <property name="jalview.version" value="${JALVIEW_VERSION}" />
-                       </resources>
-                       <application_desc main_class="jalview.bin.Jalview">
-                       </application_desc>
-                       <security>
-                               <all_permissions />
-                       </security>
-               </jnlp>         
-               <jnlp toFile="${packageDir}/jalview_1G.jnlp" codebase="${WebStartLocation}">
-                       <information>
-                               <title>Jalview</title>
-                               <vendor>The Barton Group</vendor>
-                               <homepage href="http://www.jalview.org" />
-                               <description>Jalview Multiple Alignment Editor</description>
-                               <description kind="short">Jalview</description>
-                               <icon href="${WebStartImage}" />
-                               <offline_allowed />
-                       </information>
-                       <resources>
-                               <j2se version="${j2sev}" initial_heap_size="128M" max_heap_size="512M" />
-                               <fileset dir="${packageDir}">
-                                       <include name="jalview.jar" />
-                               </fileset>
-                               <fileset dir="${packageDir}">
-                                       <include name="*.jar" />
-                                       <include name="*_*.jar" />
-                                       <exclude name="jalview.jar" />
-                               </fileset>
-                               <property name="jalview.version" value="${JALVIEW_VERSION}" />
-                       </resources>
-                       <application_desc main_class="jalview.bin.Jalview">
-                       </application_desc>
-                       <security>
-                               <all_permissions />
-                       </security>
-               </jnlp>
-               <jnlp toFile="${packageDir}/jalview_2G.jnlp" codebase="${WebStartLocation}">
-                       <information>
-                               <title>Jalview</title>
-                               <vendor>The Barton Group</vendor>
-                               <homepage href="http://www.jalview.org" />
-                               <description>Jalview Multiple Alignment Editor</description>
-                               <description kind="short">Jalview</description>
-                               <icon href="${WebStartImage}" />
-                               <offline_allowed />
-                       </information>
-                       <resources>
-                               <j2se version="${j2sev}" initial_heap_size="256M" max_heap_size="1024M" />
-                               <fileset dir="${packageDir}">
-                                       <include name="jalview.jar" />
+               <include name="JNLP-INF"/>
                                </fileset>
-                               <fileset dir="${packageDir}">
-                                       <include name="*.jar" />
-                                       <include name="*_*.jar" />
-                                       <exclude name="jalview.jar" />
-                               </fileset>
-                               <property name="jalview.version" value="${JALVIEW_VERSION}" />
-                       </resources>
-                       <application_desc main_class="jalview.bin.Jalview">
-                       </application_desc>
-                       <security>
-                               <all_permissions />
-                       </security>
-               </jnlp>
+       </jar>
+    
+       <antcall target="writejnlpf">
+               <param name="jnlpFile" value="${packageDir}/jalview.jnlp"/>
+               <param name="inih" value="10M" />
+         <param name="maxh" value="256M"/>
+       </antcall>
+       
+       <antcall target="writejnlpf">
+         <param name="jnlpFile" value="${packageDir}/jalview_1G.jnlp"/>
+         <param name="inih" value="128M" />
+               <param name="maxh" value="512M"/>
+       </antcall>
+           
+       <antcall target="writejnlpf">
+         <param name="jnlpFile" value="${packageDir}/jalview_2G.jnlp"/>
+         <param name="inih" value="256M" />
+         <param name="maxh" value="1024M"/>
+       </antcall>
+       
                        <!-- finally, need to postprocess to add in associations at end of 'information' element 
                        
                        <xslt in="${packageDir}/jalview_noa_1G.jnlp" out="${packageDir}/jalview_1G.jnlp">
                                        <!--
                                <association mime-type="application-x/ext-file" extensions="fa"/>
         <association mime-type="application-x/ext-file" extensions="fasta"/>
+        <association mime-type="application-x/ext-file" extensions="mfa"/>
         <association mime-type="application-x/ext-file" extensions="fastq"/>
         <association mime-type="application-x/ext-file" extensions="blc"/>
         <association mime-type="application-x/ext-file" extensions="msf"/>
         <association mime-type="application-x/ext-file" extensions="amsa"/>
         <association mime-type="application-x/ext-file" extensions="stk"/>
         <association mime-type="application-x/ext-file" extensions="jar"/>-->
-       
+    <!-- and sign the jars -->
+    <!-- the default keystore details might need to be edited here -->
+    <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" sigalg="SHA1withRSA">
+        <fileset dir="${packageDir}">
+          <include name="*.jar" />
+        </fileset>
+    </signjar>
        </target>
 
        <target name="runenv" depends="init">
                <echo>java -classpath ${run.classpath} jalview.bin.Jalview
       </echo>
        </target>
-
+  <target name="writejnlpf">
+       <presetdef name="jnlpf">
+           <jnlp codebase="${WebStartLocation}">
+             <information>
+               <title>Jalview</title>
+               <vendor>The Barton Group</vendor>
+               <homepage href="http://www.jalview.org" />
+               <description>Jalview Multiple Alignment Editor</description>
+               <description kind="short">Jalview</description>
+               <icon href="${WebStartImage}" />
+               <offline_allowed />
+             </information>
+             <resources>
+               <j2se version="${j2sev}" initial_heap_size="${inih}" max_heap_size="${maxh}" />
+               <fileset dir="${packageDir}">
+                 <include name="jalview.jar" />
+               </fileset>
+               <fileset dir="${packageDir}">
+                 <include name="*.jar" />
+                 <include name="*_*.jar" />
+                 <exclude name="jalview.jar" />
+               </fileset>
+               <property name="jalview.version" value="${JALVIEW_VERSION}" />
+             </resources>
+             <application_desc main_class="jalview.bin.Jalview">
+             </application_desc>
+             <security>
+               <all_permissions />
+             </security>
+           </jnlp>
+           </presetdef>
+
+           <jnlpf toFile="${jnlpFile}"/>
+  </target>
        <target name="buildextclients" depends="init">
                <input message="Building external client source from WSDLs - Do you really want to do this ? (Yy/Nn)" validargs="Y,y,n,N" defaultvalue="N" addproperty="doextbuild.response" />
                <condition property="dontextbuild">
                        <manifest>
                                <attribute name="Main-Class" value="jalview.bin.Jalview" />
         <attribute name="Permissions" value="all-permissions" />
-        <!--<attribute name="Trusted-Lib" value="true" /> -->
-        <attribute name="Application-Name" value="Jalview Desktop"/>
-        <attribute name="Codebase" value="${application.codebase}"/>
+        <attribute name="Application-Name" value="Jalview Desktop" />
+        <attribute name="Codebase" value="${application.codebase}" />
                        </manifest>
                        <fileset dir="${outputDir}/">
                                <exclude name="cache*/**" />
                <jar destfile="in.jar" index="true">
                        <manifest>
                                <attribute name="Main-Class" value="jalview.bin.JalviewLite" />
-                               <attribute name="Application-Name" value="JalviewLite Applet"/>
-                               <!--            <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="Application-Name" value="JalviewLite" />
+           <attribute name="Codebase" value="${applet.codebase}" />
                        </manifest>
                        <fileset dir="${outputDir}">
                                <include name="com/**" />
       <include name="jmol/*"/>
          </fileset>
                <fileset dir=".">
-               <include name="jalviewApplet.jar"/>
+        <include name="${jalviewLiteJar}" />
                        </fileset>
                <fileset dir="appletlib">
                      <include name="**/*"/>
         <include name="*.jar" />
       </fileset>
     </signjar>
-       </target>
-       <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
-        <javadoc destdir="${javadocDir}">
-               <packageset dir="${sourceDir}" includes="jalview/*,MCView/*">
-               </packageset>
-               </javadoc>
-       </target>
-       
+    <presetdef name="ap_applet.jar">
+      <!-- build a signed applet with 'all-permissions' - 
+                         Needs 'param name="permissions' value="all-permissions"' in applet tag
+                         JalviewLite+JmolApplet linked sequence/structure fails
+                         Mixed code warnings are raised
+                         -->
+      <jar update="true" index="true">
+        <manifest>
+          <attribute name="Application-Name" value="JalviewLite" />
+          <attribute name="Permissions" value="all-permissions" />
+          <attribute name="Codebase" value="${applet.codebase}" />
+          <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}" />
+          <attribute name="Application-Library-Allowable-Codebase" value="${applet.codebase}" />
+        </manifest>
+      </jar>
+    </presetdef>
+    <presetdef name="applet.jar">
+      <!-- build signed applet with sandbox permissions -
+                         Needs 'param name="permissions' value="sandbox"' in applet tag
+                        Preserves Pre-Java 1.7_u45 behavior once 'permissions' parameter added to applet tag 
+                       -->
+
+      <jar update="true" index="true">
+        <manifest>
+          <attribute name="Application-Name" value="JalviewLite" />
+          <attribute name="Permissions" value="sandbox" />
+          <attribute name="Codebase" value="${applet.codebase}" />
+          <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}" />
+          <attribute name="Application-Library-Allowable-Codebase" value="${applet.codebase}" />
+        </manifest>
+      </jar>
+    </presetdef>
+    <presetdef name="tl_applet.jar">
+      <!-- build signed applet with trusted library/trusted permissions -
+                               Needs 'param name="permissions' value="all-permissions"' in applet tag
+                              j1.7_45:
+                              No mixed code warnings raised 
+                              Jmol/JalviewLite sequence/structure example doesn't link structures
+                              Raises dialog asking user to allow page to control applet via LiveConnect javascript
+                              
+                             -->
+
+      <jar update="true" index="true">
+        <manifest>
+          <attribute name="Application-Name" value="JalviewLite" />
+          <attribute name="Permissions" value="all-permissions" />
+          <attribute name="Codebase" value="${applet.codebase}" />
+          <attribute name="Trusted-Only" value="true" />
+          <attribute name="Trusted-Library" value="true" />
+        </manifest>
+      </jar>
+    </presetdef>
+    <presetdef name="to_applet.jar">
+      <!-- not fully test variant (yet) -->
+      <jar update="true" index="true">
+        <manifest>
+          <attribute name="Application-Name" value="JalviewLite" />
+          <attribute name="Permissions" value="all-permissions" />
+          <attribute name="Codebase" value="${applet.codebase}" />
+          <attribute name="Trusted-Only" value="true" />
+        </manifest>
+      </jar>
+    </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/${jalviewLiteJar}" tofile="${packageDir}/examples/ap_${jalviewLiteJar}" />
+    <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/ap_${jmolJar}"/>
+    <ap_applet.jar jarfile="${packageDir}/examples/ap_${jalviewLiteJar}" />
+    <ap_applet.jar jarfile="${packageDir}/examples/ap_${jmolJar}" />
+    <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/tl_${jalviewLiteJar}" />
+    <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/tl_${jmolJar}" />
+    <tl_applet.jar jarfile="${packageDir}/examples/tl_${jalviewLiteJar}" />
+    <tl_applet.jar jarfile="${packageDir}/examples/tl_${jmolJar}" />
+    <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/to_${jalviewLiteJar}" />
+    <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/to_${jmolJar}" />
+    <to_applet.jar jarfile="${packageDir}/examples/to_${jalviewLiteJar}" />
+    <to_applet.jar jarfile="${packageDir}/examples/to_${jmolJar}" />
+    <!-- finally, create manifest for original jars -->
+    <applet.jar jarfile="${packageDir}/examples/${jalviewLiteJar}" />
+    <applet.jar jarfile="${packageDir}/examples/${jmolJar}" />
+
+    <!-- todo - write examples/downloads for alternate versions of the applet -->
+    <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"/>
+        <include name="${jalviewLiteJar}" />
+        <include name="${jmolJar}" />
+        <include name="to_${jalviewLiteJar}" />
+        <include name="to_${jmolJar}" />
+        <include name="tl_${jalviewLiteJar}" />
+        <include name="tl_${jmolJar}" />
+        <include name="ap_${jalviewLiteJar}" />
+        <include name="ap_${jmolJar}" />
+      </fileset>
+    </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" />
+  </target>
+  <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
+    <javadoc destdir="${javadocDir}">
+      <packageset dir="${sourceDir}" includes="jalview/*,MCView/*">
+      </packageset>
+    </javadoc>
+  </target>
 </project>
index fe7cf6b..97083e8 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <title>Adding Groovy Support to Jalview
 </title>
index 161791c..62764df 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <title>Jalview RNA Support</title>
 <body>
index d3b5f0a..f07e2d8 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Building Jalview from Source</title>
index 4d26034..3715094 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
   <head>Developing Jalview</head>
index e22099c..5e43906 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
index 91ab3e1..056665c 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Adding New Datamodel Objects To Jalview</title>
diff --git a/examples-jbake/README b/examples-jbake/README
new file mode 100644 (file)
index 0000000..f9fcde1
--- /dev/null
@@ -0,0 +1,25 @@
+#examples-jbake
+#==============
+
+#This directory contains a jbake project that regenerates the JalviewLite example pages
+#shown at http://www.jalview.org/examples/applets.html
+
+#Instructions for building the examples directory from the jbake project:
+
+#Download jbake and add it to your path:
+#http://hash.to/2R
+#(unzip the download and add the extracted directory to your path)
+
+cd examples-jbake
+
+# this generates the example pages in the 'output' directory
+jbake
+
+# jbake -s will test the output. Copy build artefacts (jalviewLite/JmolApplet jars) into the assets directory to create a real test
+
+# remove the pages jbake autogenerates
+rm output/archive.html output/index.html output/feed.xml
+
+# and copy all the rest to examples
+cp output/*.html ../examples/
+cp -R output/css output/images ../examples/
diff --git a/examples-jbake/assets/1gaq.txt b/examples-jbake/assets/1gaq.txt
new file mode 100755 (executable)
index 0000000..69d17a5
--- /dev/null
@@ -0,0 +1,691 @@
+HEADER    OXIDOREDUCTASE/ELECTRON TRANSPORT       08-MAY-00   1GAQ \r
+ATOM      2  CA  GLU A  19      20.491  30.713  36.290  1.00 74.29           C  \r
+ATOM     11  CA  SER A  20      24.056  29.774  37.264  1.00 72.09           C  \r
+ATOM     17  CA  LYS A  21      27.517  31.289  37.563  1.00 70.09           C  \r
+ATOM     26  CA  LYS A  22      28.794  27.865  36.481  1.00 68.64           C  \r
+ATOM     35  CA  GLN A  23      29.484  26.806  32.884  1.00 70.46           C  \r
+ATOM     44  CA  GLU A  24      26.420  25.175  31.360  1.00 72.08           C  \r
+ATOM     53  CA  GLU A  25      26.736  26.049  27.683  1.00 70.43           C  \r
+ATOM     62  CA  GLY A  26      28.299  22.912  26.233  1.00 63.14           C  \r
+ATOM     66  CA  VAL A  27      26.863  20.704  28.982  1.00 54.50           C  \r
+ATOM     73  CA  VAL A  28      25.030  17.390  28.655  1.00 48.32           C  \r
+ATOM     80  CA  THR A  29      23.728  14.677  30.991  1.00 44.86           C  \r
+ATOM     87  CA  ASN A  30      22.327  11.164  30.703  1.00 45.42           C  \r
+ATOM     95  CA  LEU A  31      23.332  10.459  27.102  1.00 45.42           C  \r
+ATOM    103  CA  TYR A  32      23.549   6.898  28.380  1.00 45.88           C  \r
+ATOM    115  CA  LYS A  33      21.656   5.321  31.262  1.00 47.27           C  \r
+ATOM    124  CA  PRO A  34      21.991   2.046  33.248  1.00 48.99           C  \r
+ATOM    131  CA  LYS A  35      19.339   0.560  30.970  1.00 52.75           C  \r
+ATOM    140  CA  GLU A  36      21.580   0.855  27.886  1.00 53.33           C  \r
+ATOM    149  CA  PRO A  37      25.154   2.015  28.678  1.00 47.54           C  \r
+ATOM    156  CA  TYR A  38      27.929   2.872  26.249  1.00 41.98           C  \r
+ATOM    168  CA  VAL A  39      30.355  -0.017  25.909  1.00 41.48           C  \r
+ATOM    175  CA  GLY A  40      33.823   1.485  25.966  1.00 37.59           C  \r
+ATOM    179  CA  ARG A  41      37.165  -0.277  26.122  1.00 39.77           C  \r
+ATOM    190  CA  CYS A  42      40.148  -0.029  28.442  1.00 36.51           C  \r
+ATOM    196  CA  LEU A  43      43.095   1.441  26.554  1.00 36.13           C  \r
+ATOM    204  CA  LEU A  44      45.231   2.023  29.649  1.00 33.55           C  \r
+ATOM    212  CA  ASN A  45      45.140   1.026  33.307  1.00 27.79           C  \r
+ATOM    220  CA  THR A  46      48.056   1.800  35.617  1.00 28.75           C  \r
+ATOM    227  CA  LYS A  47      48.542   1.776  39.388  1.00 30.31           C  \r
+ATOM    236  CA  ILE A  48      49.564   5.317  40.376  1.00 31.32           C  \r
+ATOM    244  CA  THR A  49      50.339   4.682  44.059  1.00 37.62           C  \r
+ATOM    251  CA  GLY A  50      53.585   3.317  45.460  1.00 44.49           C  \r
+ATOM    255  CA  ASP A  51      53.706  -0.448  46.087  1.00 52.89           C  \r
+ATOM    263  CA  ASP A  52      53.910   0.545  49.751  1.00 55.23           C  \r
+ATOM    271  CA  ALA A  53      50.816   2.767  50.056  1.00 53.34           C  \r
+ATOM    276  CA  PRO A  54      47.904   1.940  52.405  1.00 50.60           C  \r
+ATOM    283  CA  GLY A  55      45.420   1.579  49.561  1.00 50.35           C  \r
+ATOM    287  CA  GLU A  56      46.098   1.286  45.836  1.00 42.53           C  \r
+ATOM    296  CA  THR A  57      44.534   3.816  43.480  1.00 41.14           C  \r
+ATOM    303  CA  TRP A  58      44.540   3.423  39.708  1.00 35.60           C  \r
+ATOM    317  CA  HIS A  59      44.468   5.853  36.796  1.00 31.89           C  \r
+ATOM    327  CA  MET A  60      42.658   4.227  33.866  1.00 31.65           C  \r
+ATOM    335  CA  VAL A  61      41.716   5.345  30.350  1.00 30.43           C  \r
+ATOM    342  CA  PHE A  62      38.669   4.172  28.360  1.00 34.36           C  \r
+ATOM    353  CA  SER A  63      37.657   4.908  24.772  1.00 34.69           C  \r
+ATOM    359  CA  THR A  64      34.448   6.828  23.951  1.00 36.96           C  \r
+ATOM    366  CA  GLU A  65      34.691   7.644  20.254  1.00 40.08           C  \r
+ATOM    375  CA  GLY A  66      33.742  11.183  21.285  1.00 40.22           C  \r
+ATOM    379  CA  LYS A  67      30.272   9.763  22.003  1.00 41.93           C  \r
+ATOM    388  CA  ILE A  68      30.279  11.116  25.577  1.00 41.52           C  \r
+ATOM    396  CA  PRO A  69      30.791  14.926  25.537  1.00 42.35           C  \r
+ATOM    403  CA  TYR A  70      31.228  15.232  29.299  1.00 39.84           C  \r
+ATOM    415  CA  ARG A  71      32.639  18.451  30.768  1.00 44.14           C  \r
+ATOM    426  CA  GLU A  72      35.122  19.278  33.515  1.00 43.82           C  \r
+ATOM    435  CA  GLY A  73      33.472  18.458  36.835  1.00 41.97           C  \r
+ATOM    439  CA  GLN A  74      30.929  15.874  35.657  1.00 37.19           C  \r
+ATOM    448  CA  SER A  75      31.285  12.124  36.138  1.00 38.28           C  \r
+ATOM    454  CA  ILE A  76      30.458   8.792  34.539  1.00 36.84           C  \r
+ATOM    462  CA  GLY A  77      28.983   5.620  35.918  1.00 35.39           C  \r
+ATOM    466  CA  VAL A  78      30.311   2.108  35.530  1.00 32.05           C  \r
+ATOM    473  CA  ILE A  79      28.458  -1.201  35.591  1.00 32.67           C  \r
+ATOM    481  CA  ALA A  80      30.745  -4.018  36.644  1.00 35.36           C  \r
+ATOM    486  CA  ASP A  81      30.359  -7.373  34.872  1.00 38.72           C  \r
+ATOM    494  CA  GLY A  82      28.308 -10.332  36.110  1.00 45.79           C  \r
+ATOM    498  CA  VAL A  83      25.820 -10.242  39.001  1.00 52.24           C  \r
+ATOM    505  CA  ASP A  84      25.838 -10.250  42.834  1.00 60.54           C  \r
+ATOM    513  CA  LYS A  85      25.014 -13.158  45.196  1.00 66.72           C  \r
+ATOM    522  CA  ASN A  86      21.414 -13.062  43.904  1.00 67.37           C  \r
+ATOM    530  CA  GLY A  87      21.724 -13.423  40.136  1.00 64.74           C  \r
+ATOM    534  CA  LYS A  88      20.971  -9.733  39.570  1.00 61.12           C  \r
+ATOM    543  CA  PRO A  89      23.054  -7.201  37.561  1.00 54.68           C  \r
+ATOM    550  CA  HIS A  90      25.224  -4.957  39.755  1.00 44.44           C  \r
+ATOM    560  CA  LYS A  91      23.940  -1.433  40.260  1.00 40.48           C  \r
+ATOM    569  CA  VAL A  92      25.803   1.546  38.843  1.00 38.45           C  \r
+ATOM    576  CA  ARG A  93      28.709   2.986  40.828  1.00 38.93           C  \r
+ATOM    587  CA  LEU A  94      29.778   6.584  40.096  1.00 34.37           C  \r
+ATOM    595  CA  TYR A  95      33.309   7.878  39.513  1.00 30.27           C  \r
+ATOM    607  CA  SER A  96      34.425  11.475  39.057  1.00 29.44           C  \r
+ATOM    613  CA  ILE A  97      36.029  12.090  35.662  1.00 27.61           C  \r
+ATOM    621  CA  ALA A  98      39.769  12.693  36.069  1.00 31.12           C  \r
+ATOM    626  CA  SER A  99      40.393  13.712  32.475  1.00 32.42           C  \r
+ATOM    632  CA  SER A 100      39.566  17.142  31.059  1.00 36.14           C  \r
+ATOM    638  CA  ALA A 101      37.097  17.367  28.154  1.00 41.07           C  \r
+ATOM    643  CA  ILE A 102      39.764  16.549  25.527  1.00 47.65           C  \r
+ATOM    651  CA  GLY A 103      41.172  13.692  27.599  1.00 46.77           C  \r
+ATOM    655  CA  ASP A 104      44.730  12.612  28.289  1.00 43.82           C  \r
+ATOM    663  CA  PHE A 105      45.115  12.065  24.522  1.00 41.52           C  \r
+ATOM    674  CA  GLY A 106      43.862  15.455  23.328  1.00 41.66           C  \r
+ATOM    678  CA  ASP A 107      41.355  13.883  20.926  1.00 40.90           C  \r
+ATOM    686  CA  SER A 108      38.132  14.250  22.954  1.00 42.95           C  \r
+ATOM    692  CA  LYS A 109      37.967  10.535  22.224  1.00 44.74           C  \r
+ATOM    701  CA  THR A 110      38.731   9.184  25.704  1.00 41.09           C  \r
+ATOM    708  CA  VAL A 111      37.728   9.519  29.374  1.00 39.03           C  \r
+ATOM    715  CA  SER A 112      39.912   8.705  32.399  1.00 37.17           C  \r
+ATOM    721  CA  LEU A 113      39.098   7.476  35.935  1.00 32.10           C  \r
+ATOM    729  CA  CYS A 114      40.964   7.578  39.261  1.00 30.65           C  \r
+ATOM    735  CA  VAL A 115      39.724   4.459  41.060  1.00 33.45           C  \r
+ATOM    742  CA  LYS A 116      40.668   3.524  44.628  1.00 34.75           C  \r
+ATOM    751  CA  ARG A 117      40.376  -0.250  45.123  1.00 32.85           C  \r
+ATOM    762  CA  LEU A 118      38.137  -1.094  48.077  1.00 30.50           C  \r
+ATOM    770  CA  ILE A 119      39.376  -3.752  50.459  1.00 34.34           C  \r
+ATOM    778  CA  TYR A 120      38.699  -4.266  54.125  1.00 31.39           C  \r
+ATOM    790  CA  THR A 121      38.264  -7.086  56.567  1.00 28.83           C  \r
+ATOM    797  CA  ASN A 122      34.792  -7.477  58.109  1.00 26.51           C  \r
+ATOM    805  CA  ASP A 123      33.626  -8.382  61.634  1.00 31.58           C  \r
+ATOM    813  CA  ALA A 124      34.191 -12.077  60.901  1.00 27.84           C  \r
+ATOM    818  CA  GLY A 125      37.759 -11.844  59.728  1.00 32.39           C  \r
+ATOM    822  CA  GLU A 126      36.809 -12.146  56.073  1.00 35.82           C  \r
+ATOM    831  CA  ILE A 127      38.655  -9.932  53.598  1.00 38.42           C  \r
+ATOM    839  CA  VAL A 128      36.025  -8.261  51.421  1.00 33.73           C  \r
+ATOM    846  CA  LYS A 129      36.482  -6.484  48.090  1.00 31.87           C  \r
+ATOM    855  CA  GLY A 130      34.363  -3.680  46.686  1.00 26.91           C  \r
+ATOM    859  CA  VAL A 131      32.680  -5.051  43.569  1.00 27.89           C  \r
+ATOM    866  CA  CYS A 132      33.074  -2.246  41.018  1.00 28.46           C  \r
+ATOM    872  CA  SER A 133      36.266  -0.553  42.213  1.00 31.33           C  \r
+ATOM    878  CA  ASN A 134      37.861  -3.983  41.984  1.00 30.29           C  \r
+ATOM    886  CA  PHE A 135      36.318  -4.795  38.623  1.00 31.48           C  \r
+ATOM    897  CA  LEU A 136      37.926  -1.553  37.520  1.00 27.81           C  \r
+ATOM    905  CA  CYS A 137      41.417  -1.976  38.955  1.00 25.91           C  \r
+ATOM    911  CA  ASP A 138      41.605  -5.419  37.338  1.00 30.22           C  \r
+ATOM    919  CA  LEU A 139      40.462  -4.306  33.874  1.00 32.69           C  \r
+ATOM    927  CA  GLN A 140      42.851  -5.511  31.186  1.00 36.80           C  \r
+ATOM    936  CA  PRO A 141      43.380  -3.220  28.170  1.00 36.16           C  \r
+ATOM    943  CA  GLY A 142      40.864  -4.420  25.586  1.00 31.10           C  \r
+ATOM    947  CA  ASP A 143      38.129  -5.298  28.055  1.00 30.62           C  \r
+ATOM    955  CA  ASN A 144      34.690  -3.847  27.645  1.00 33.52           C  \r
+ATOM    963  CA  VAL A 145      33.430  -1.522  30.361  1.00 37.08           C  \r
+ATOM    970  CA  GLN A 146      29.817  -0.374  30.523  1.00 37.65           C  \r
+ATOM    979  CA  ILE A 147      29.547   3.413  31.045  1.00 30.95           C  \r
+ATOM    987  CA  THR A 148      26.637   5.791  31.832  1.00 29.95           C  \r
+ATOM    994  CA  GLY A 149      26.297   9.581  31.843  1.00 32.81           C  \r
+ATOM    998  CA  PRO A 150      27.785  12.148  31.800  1.00 34.98           C  \r
+ATOM   1005  CA  VAL A 151      26.376  12.668  35.275  1.00 36.53           C  \r
+ATOM   1012  CA  GLY A 152      26.196  15.756  37.474  1.00 43.09           C  \r
+ATOM   1016  CA  LYS A 153      26.048  19.528  37.068  1.00 48.37           C  \r
+ATOM   1025  CA  GLU A 154      26.921  20.540  40.633  1.00 49.70           C  \r
+ATOM   1034  CA  MET A 155      30.710  20.266  40.235  1.00 47.30           C  \r
+ATOM   1042  CA  LEU A 156      30.882  22.020  36.869  1.00 50.36           C  \r
+ATOM   1050  CA  MET A 157      33.362  24.883  36.404  1.00 55.29           C  \r
+ATOM   1058  CA  PRO A 158      32.521  28.612  36.605  1.00 54.88           C  \r
+ATOM   1065  CA  LYS A 159      32.291  30.776  33.464  1.00 54.92           C  \r
+ATOM   1074  CA  ASP A 160      34.497  33.503  34.939  1.00 57.22           C  \r
+ATOM   1082  CA  PRO A 161      38.055  32.687  33.759  1.00 58.62           C  \r
+ATOM   1089  CA  ASN A 162      39.524  35.240  36.163  1.00 60.44           C  \r
+ATOM   1097  CA  ALA A 163      37.814  33.910  39.279  1.00 55.80           C  \r
+ATOM   1102  CA  THR A 164      39.596  32.487  42.316  1.00 51.04           C  \r
+ATOM   1109  CA  ILE A 165      38.966  28.771  42.756  1.00 50.26           C  \r
+ATOM   1117  CA  ILE A 166      39.774  26.773  45.885  1.00 47.54           C  \r
+ATOM   1125  CA  MET A 167      39.883  23.014  45.324  1.00 46.38           C  \r
+ATOM   1133  CA  LEU A 168      39.700  20.963  48.522  1.00 42.18           C  \r
+ATOM   1141  CA  ALA A 169      40.377  17.316  47.770  1.00 36.41           C  \r
+ATOM   1146  CA  THR A 170      41.005  14.086  49.622  1.00 32.98           C  \r
+ATOM   1153  CA  GLY A 171      42.027  10.802  48.014  1.00 31.36           C  \r
+ATOM   1157  CA  THR A 172      40.386  10.037  44.680  1.00 30.48           C  \r
+ATOM   1164  CA  GLY A 173      38.640  13.335  45.359  1.00 33.99           C  \r
+ATOM   1168  CA  ILE A 174      41.418  15.036  43.394  1.00 35.66           C  \r
+ATOM   1176  CA  ALA A 175      39.758  13.585  40.300  1.00 36.00           C  \r
+ATOM   1181  CA  PRO A 176      37.445  16.385  39.155  1.00 39.41           C  \r
+ATOM   1188  CA  PHE A 177      40.109  18.971  39.976  1.00 43.21           C  \r
+ATOM   1199  CA  ARG A 178      42.726  17.119  37.955  1.00 41.09           C  \r
+ATOM   1210  CA  SER A 179      40.235  17.536  35.124  1.00 39.92           C  \r
+ATOM   1216  CA  PHE A 180      39.808  21.204  36.009  1.00 39.23           C  \r
+ATOM   1227  CA  LEU A 181      43.528  21.949  35.995  1.00 39.50           C  \r
+ATOM   1235  CA  TRP A 182      44.305  20.081  32.770  1.00 41.47           C  \r
+ATOM   1249  CA  LYS A 183      42.141  22.654  30.972  1.00 48.08           C  \r
+ATOM   1258  CA  MET A 184      43.477  25.547  33.062  1.00 52.79           C  \r
+ATOM   1266  CA  PHE A 185      47.102  25.043  32.014  1.00 57.35           C  \r
+ATOM   1277  CA  PHE A 186      48.075  21.921  30.051  1.00 55.98           C  \r
+ATOM   1288  CA  GLU A 187      45.758  23.173  27.297  1.00 54.44           C  \r
+ATOM   1297  CA  LYS A 188      44.908  26.236  25.196  1.00 51.29           C  \r
+ATOM   1306  CA  HIS A 189      41.395  27.080  24.003  1.00 51.35           C  \r
+ATOM   1316  CA  ASP A 190      40.108  29.972  21.873  1.00 54.30           C  \r
+ATOM   1324  CA  ASP A 191      37.199  30.481  24.249  1.00 53.95           C  \r
+ATOM   1332  CA  TYR A 192      38.816  29.937  27.634  1.00 50.68           C  \r
+ATOM   1344  CA  LYS A 193      41.916  31.388  29.230  1.00 51.00           C  \r
+ATOM   1353  CA  PHE A 194      42.322  30.967  32.956  1.00 52.09           C  \r
+ATOM   1364  CA  ASN A 195      43.672  34.234  34.312  1.00 56.46           C  \r
+ATOM   1372  CA  GLY A 196      42.616  34.078  37.969  1.00 57.17           C  \r
+ATOM   1376  CA  LEU A 197      43.874  31.920  40.843  1.00 57.92           C  \r
+ATOM   1384  CA  GLY A 198      43.549  28.151  41.086  1.00 56.67           C  \r
+ATOM   1388  CA  TRP A 199      44.258  26.886  44.592  1.00 51.55           C  \r
+ATOM   1402  CA  LEU A 200      44.411  23.170  45.379  1.00 49.17           C  \r
+ATOM   1410  CA  PHE A 201      44.558  21.335  48.709  1.00 48.60           C  \r
+ATOM   1421  CA  LEU A 202      45.122  17.570  48.598  1.00 45.34           C  \r
+ATOM   1429  CA  GLY A 203      44.885  15.480  51.742  1.00 48.55           C  \r
+ATOM   1433  CA  VAL A 204      46.225  11.936  51.755  1.00 50.23           C  \r
+ATOM   1440  CA  PRO A 205      47.942   9.740  54.365  1.00 51.51           C  \r
+ATOM   1447  CA  THR A 206      51.284   9.148  52.648  1.00 50.21           C  \r
+ATOM   1454  CA  SER A 207      53.551  10.483  49.894  1.00 49.38           C  \r
+ATOM   1460  CA  SER A 208      53.267   7.061  48.259  1.00 43.49           C  \r
+ATOM   1466  CA  SER A 209      49.588   8.049  48.093  1.00 42.57           C  \r
+ATOM   1472  CA  LEU A 210      49.990  11.424  46.364  1.00 42.65           C  \r
+ATOM   1480  CA  LEU A 211      48.121  11.446  43.035  1.00 39.33           C  \r
+ATOM   1488  CA  TYR A 212      49.516  13.214  39.935  1.00 40.89           C  \r
+ATOM   1500  CA  LYS A 213      52.128  15.234  41.873  1.00 45.88           C  \r
+ATOM   1509  CA  GLU A 214      54.518  15.406  38.899  1.00 53.22           C  \r
+ATOM   1518  CA  GLU A 215      51.680  16.911  36.889  1.00 55.16           C  \r
+ATOM   1527  CA  PHE A 216      50.757  19.475  39.514  1.00 60.55           C  \r
+ATOM   1538  CA  GLY A 217      54.488  20.153  39.524  1.00 66.64           C  \r
+ATOM   1542  CA  LYS A 218      54.575  21.110  35.850  1.00 68.86           C  \r
+ATOM   1551  CA  MET A 219      51.398  23.159  36.265  1.00 66.97           C  \r
+ATOM   1559  CA  LYS A 220      53.138  25.090  39.061  1.00 65.97           C  \r
+ATOM   1568  CA  GLU A 221      55.654  26.250  36.459  1.00 70.02           C  \r
+ATOM   1577  CA  ARG A 222      53.584  26.507  33.294  1.00 73.48           C  \r
+ATOM   1588  CA  ALA A 223      52.005  29.449  35.175  1.00 76.21           C  \r
+ATOM   1593  CA  PRO A 224      53.272  29.877  38.804  1.00 79.25           C  \r
+ATOM   1600  CA  GLU A 225      51.296  33.124  39.020  1.00 81.84           C  \r
+ATOM   1609  CA  ASN A 226      47.873  31.528  38.622  1.00 78.84           C  \r
+ATOM   1617  CA  PHE A 227      48.418  28.176  40.350  1.00 75.28           C  \r
+ATOM   1628  CA  ARG A 228      49.090  27.305  43.996  1.00 72.05           C  \r
+ATOM   1639  CA  VAL A 229      49.165  23.724  45.323  1.00 68.82           C  \r
+ATOM   1646  CA  ASP A 230      49.258  22.581  48.958  1.00 66.54           C  \r
+ATOM   1654  CA  TYR A 231      49.605  18.943  49.968  1.00 60.31           C  \r
+ATOM   1666  CA  ALA A 232      48.551  17.560  53.332  1.00 57.39           C  \r
+ATOM   1671  CA  VAL A 233      50.260  14.228  53.945  1.00 57.14           C  \r
+ATOM   1678  CA  SER A 234      48.465  13.579  57.244  1.00 60.81           C  \r
+ATOM   1684  CA  ARG A 235      50.959  11.010  58.514  1.00 60.74           C  \r
+ATOM   1695  CA  GLU A 236      54.268  12.594  57.481  1.00 59.17           C  \r
+ATOM   1704  CA  GLN A 237      53.494  16.197  58.450  1.00 59.62           C  \r
+ATOM   1713  CA  THR A 238      52.590  18.236  61.521  1.00 63.18           C  \r
+ATOM   1720  CA  ASN A 239      52.019  21.937  62.188  1.00 66.71           C  \r
+ATOM   1728  CA  ALA A 240      52.096  23.767  65.537  1.00 70.06           C  \r
+ATOM   1733  CA  ALA A 241      51.302  21.400  68.410  1.00 72.44           C  \r
+ATOM   1738  CA  GLY A 242      52.383  18.324  66.438  1.00 72.38           C  \r
+ATOM   1742  CA  GLU A 243      48.826  18.169  65.110  1.00 69.71           C  \r
+ATOM   1751  CA  ARG A 244      48.674  15.776  62.148  1.00 67.21           C  \r
+ATOM   1762  CA  MET A 245      48.712  17.796  58.933  1.00 64.20           C  \r
+ATOM   1770  CA  TYR A 246      45.246  17.082  57.556  1.00 60.65           C  \r
+ATOM   1782  CA  ILE A 247      43.617  18.437  54.409  1.00 62.98           C  \r
+ATOM   1790  CA  GLN A 248      42.035  21.001  56.761  1.00 64.64           C  \r
+ATOM   1799  CA  THR A 249      45.057  21.461  59.009  1.00 63.37           C  \r
+ATOM   1806  CA  ARG A 250      46.891  22.664  55.903  1.00 62.47           C  \r
+ATOM   1817  CA  MET A 251      44.123  25.201  55.251  1.00 63.35           C  \r
+ATOM   1825  CA  ALA A 252      44.571  26.305  58.854  1.00 65.73           C  \r
+ATOM   1830  CA  GLU A 253      47.973  27.809  58.076  1.00 65.97           C  \r
+ATOM   1839  CA  TYR A 254      46.267  30.063  55.517  1.00 65.83           C  \r
+ATOM   1851  CA  LYS A 255      42.991  30.559  57.379  1.00 70.30           C  \r
+ATOM   1860  CA  GLU A 256      43.578  34.326  57.320  1.00 73.73           C  \r
+ATOM   1869  CA  GLU A 257      44.189  34.738  53.593  1.00 71.52           C  \r
+ATOM   1878  CA  LEU A 258      41.459  32.202  52.893  1.00 73.38           C  \r
+ATOM   1886  CA  TRP A 259      38.790  34.074  54.853  1.00 76.72           C  \r
+ATOM   1900  CA  GLU A 260      39.721  37.275  53.006  1.00 78.61           C  \r
+ATOM   1909  CA  LEU A 261      38.580  35.553  49.815  1.00 75.71           C  \r
+ATOM   1917  CA  LEU A 262      35.391  33.881  51.047  1.00 73.74           C  \r
+ATOM   1925  CA  LYS A 263      33.562  37.165  50.535  1.00 73.64           C  \r
+ATOM   1934  CA  LYS A 264      34.299  38.143  46.954  1.00 72.48           C  \r
+ATOM   1943  CA  ASP A 265      31.954  37.554  43.993  1.00 69.65           C  \r
+ATOM   1951  CA  ASN A 266      34.660  35.649  42.106  1.00 65.06           C  \r
+ATOM   1959  CA  THR A 267      35.835  33.117  44.683  1.00 58.24           C  \r
+ATOM   1966  CA  TYR A 268      34.459  29.646  43.909  1.00 51.04           C  \r
+ATOM   1978  CA  VAL A 269      35.192  26.827  46.382  1.00 44.95           C  \r
+ATOM   1985  CA  TYR A 270      35.012  23.150  45.368  1.00 44.96           C  \r
+ATOM   1997  CA  MET A 271      35.162  20.122  47.656  1.00 41.72           C  \r
+ATOM   2005  CA  CYS A 272      35.314  16.468  46.632  1.00 37.19           C  \r
+ATOM   2011  CA  GLY A 273      36.343  13.080  47.951  1.00 37.65           C  \r
+ATOM   2015  CA  LEU A 274      36.040  10.886  51.020  1.00 39.39           C  \r
+ATOM   2023  CA  LYS A 275      33.076  12.283  52.955  1.00 44.86           C  \r
+ATOM   2032  CA  GLY A 276      34.322  13.183  56.400  1.00 49.16           C  \r
+ATOM   2036  CA  MET A 277      36.932  15.608  55.168  1.00 53.30           C  \r
+ATOM   2044  CA  GLU A 278      33.917  17.921  55.165  1.00 56.74           C  \r
+ATOM   2053  CA  LYS A 279      33.531  18.089  58.947  1.00 59.30           C  \r
+ATOM   2062  CA  GLY A 280      36.982  19.413  59.776  1.00 58.94           C  \r
+ATOM   2066  CA  ILE A 281      36.705  22.048  57.063  1.00 61.43           C  \r
+ATOM   2074  CA  ASP A 282      33.453  23.402  58.515  1.00 67.06           C  \r
+ATOM   2082  CA  ASP A 283      35.050  23.189  61.972  1.00 74.12           C  \r
+ATOM   2090  CA  ILE A 284      37.991  25.422  61.040  1.00 78.49           C  \r
+ATOM   2098  CA  MET A 285      35.456  27.566  59.201  1.00 82.25           C  \r
+ATOM   2106  CA  VAL A 286      32.941  27.959  62.027  1.00 83.44           C  \r
+ATOM   2113  CA  SER A 287      35.610  29.113  64.469  1.00 83.43           C  \r
+ATOM   2119  CA  LEU A 288      36.927  31.601  61.887  1.00 85.53           C  \r
+ATOM   2127  CA  ALA A 289      33.506  33.025  60.970  1.00 86.85           C  \r
+ATOM   2132  CA  GLU A 290      31.841  32.696  64.387  1.00 89.26           C  \r
+ATOM   2141  CA  LYS A 291      34.438  35.312  65.347  1.00 88.73           C  \r
+ATOM   2150  CA  ASP A 292      33.635  37.891  62.652  1.00 88.03           C  \r
+ATOM   2158  CA  GLY A 293      30.219  37.450  61.081  1.00 87.88           C  \r
+ATOM   2162  CA  ILE A 294      27.319  35.051  61.511  1.00 84.61           C  \r
+ATOM   2170  CA  ASP A 295      27.665  31.329  62.188  1.00 82.45           C  \r
+ATOM   2178  CA  TRP A 296      29.539  29.627  59.355  1.00 80.12           C  \r
+ATOM   2192  CA  PHE A 297      26.527  27.452  58.512  1.00 78.99           C  \r
+ATOM   2203  CA  ASP A 298      24.167  30.241  57.486  1.00 76.37           C  \r
+ATOM   2211  CA  TYR A 299      27.074  31.748  55.561  1.00 74.07           C  \r
+ATOM   2223  CA  LYS A 300      27.679  28.620  53.473  1.00 74.31           C  \r
+ATOM   2232  CA  LYS A 301      24.059  29.146  52.464  1.00 75.97           C  \r
+ATOM   2241  CA  GLN A 302      24.921  32.563  51.018  1.00 75.38           C  \r
+ATOM   2250  CA  LEU A 303      27.896  31.099  49.155  1.00 72.10           C  \r
+ATOM   2258  CA  LYS A 304      25.917  28.207  47.690  1.00 72.08           C  \r
+ATOM   2267  CA  ARG A 305      23.595  31.021  46.594  1.00 74.82           C  \r
+ATOM   2278  CA  GLY A 306      26.071  32.136  43.958  1.00 71.84           C  \r
+ATOM   2282  CA  ASP A 307      27.505  28.682  43.220  1.00 67.23           C  \r
+ATOM   2290  CA  GLN A 308      30.620  29.291  45.346  1.00 60.18           C  \r
+ATOM   2299  CA  TRP A 309      30.585  26.177  47.537  1.00 52.25           C  \r
+ATOM   2313  CA  ASN A 310      29.894  22.997  45.597  1.00 45.03           C  \r
+ATOM   2321  CA  VAL A 311      30.327  19.716  47.403  1.00 39.13           C  \r
+ATOM   2328  CA  GLU A 312      30.507  16.190  46.110  1.00 35.17           C  \r
+ATOM   2337  CA  VAL A 313      31.761  13.957  48.861  1.00 30.12           C  \r
+ATOM   2344  CA  TYR A 314      31.112  10.230  49.021  1.00 28.23           C  \r
+ATOM   2358  CA  ALA B   1       2.311  24.702  44.475  1.00 74.17           C  \r
+ATOM   2363  CA  THR B   2       3.590  24.207  48.055  1.00 74.76           C  \r
+ATOM   2370  CA  TYR B   3       3.069  20.876  49.837  1.00 73.52           C  \r
+ATOM   2382  CA  ASN B   4       3.748  19.874  53.435  1.00 75.75           C  \r
+ATOM   2390  CA  VAL B   5       6.618  17.399  53.868  1.00 75.95           C  \r
+ATOM   2397  CA  LYS B   6       7.769  15.523  56.983  1.00 77.70           C  \r
+ATOM   2406  CA  LEU B   7      11.351  14.325  57.458  1.00 78.91           C  \r
+ATOM   2414  CA  ILE B   8      11.807  11.511  59.985  1.00 81.00           C  \r
+ATOM   2422  CA  THR B   9      15.560  12.046  60.247  1.00 87.49           C  \r
+ATOM   2429  CA  PRO B  10      17.662   9.793  62.539  1.00 92.94           C  \r
+ATOM   2436  CA  GLU B  11      18.161  13.147  64.282  1.00 96.61           C  \r
+ATOM   2445  CA  GLY B  12      14.579  14.154  65.041  1.00 97.52           C  \r
+ATOM   2449  CA  GLU B  13      11.602  14.823  62.748  1.00 96.90           C  \r
+ATOM   2458  CA  VAL B  14      11.547  17.892  60.480  1.00 96.63           C  \r
+ATOM   2465  CA  GLU B  15       8.340  19.701  59.440  1.00 94.86           C  \r
+ATOM   2474  CA  LEU B  16       9.471  21.479  56.254  1.00 91.55           C  \r
+ATOM   2482  CA  GLN B  17       7.281  23.141  53.598  1.00 89.75           C  \r
+ATOM   2491  CA  VAL B  18       8.485  22.069  50.145  1.00 87.92           C  \r
+ATOM   2498  CA  PRO B  19       6.906  23.558  46.964  1.00 86.35           C  \r
+ATOM   2505  CA  ASP B  20       5.990  21.744  43.717  1.00 86.29           C  \r
+ATOM   2513  CA  ASP B  21       8.578  22.751  41.083  1.00 83.78           C  \r
+ATOM   2521  CA  VAL B  22      11.385  22.401  43.639  1.00 80.98           C  \r
+ATOM   2528  CA  TYR B  23      13.439  19.280  44.481  1.00 77.04           C  \r
+ATOM   2540  CA  ILE B  24      13.212  18.196  48.120  1.00 76.45           C  \r
+ATOM   2548  CA  LEU B  25      16.959  18.133  48.851  1.00 75.15           C  \r
+ATOM   2556  CA  ASP B  26      17.154  21.745  47.689  1.00 75.80           C  \r
+ATOM   2564  CA  GLN B  27      14.616  22.906  50.280  1.00 76.31           C  \r
+ATOM   2573  CA  ALA B  28      16.562  20.957  52.914  1.00 78.86           C  \r
+ATOM   2578  CA  GLU B  29      19.698  23.011  52.198  1.00 81.51           C  \r
+ATOM   2587  CA  GLU B  30      17.491  26.106  52.510  1.00 83.25           C  \r
+ATOM   2596  CA  ASP B  31      15.857  25.933  55.935  1.00 81.92           C  \r
+ATOM   2604  CA  GLY B  32      19.280  24.859  57.151  1.00 79.08           C  \r
+ATOM   2608  CA  ILE B  33      18.621  21.130  57.157  1.00 76.93           C  \r
+ATOM   2616  CA  ASP B  34      21.528  18.731  56.618  1.00 73.53           C  \r
+ATOM   2624  CA  LEU B  35      20.738  15.738  54.421  1.00 67.74           C  \r
+ATOM   2632  CA  PRO B  36      23.138  13.391  52.547  1.00 65.90           C  \r
+ATOM   2639  CA  TYR B  37      23.916  14.226  48.912  1.00 64.85           C  \r
+ATOM   2651  CA  SER B  38      26.659  13.373  46.412  1.00 62.58           C  \r
+ATOM   2657  CA  CYS B  39      26.193  13.603  42.652  1.00 60.99           C  \r
+ATOM   2663  CA  ARG B  40      22.908  15.441  43.251  1.00 58.35           C  \r
+ATOM   2674  CA  ALA B  41      21.699  14.108  39.886  1.00 56.38           C  \r
+ATOM   2679  CA  GLY B  42      19.886  10.955  40.991  1.00 56.66           C  \r
+ATOM   2683  CA  SER B  43      22.465   8.336  40.010  1.00 58.55           C  \r
+ATOM   2689  CA  CYS B  44      23.548   7.052  43.447  1.00 56.27           C  \r
+ATOM   2695  CA  SER B  45      22.057   5.987  46.791  1.00 58.20           C  \r
+ATOM   2701  CA  SER B  46      23.574   8.773  48.890  1.00 59.13           C  \r
+ATOM   2707  CA  CYS B  47      20.220  10.475  49.517  1.00 65.64           C  \r
+ATOM   2713  CA  ALA B  48      17.911   7.436  49.610  1.00 69.71           C  \r
+ATOM   2718  CA  GLY B  49      14.733   7.635  51.681  1.00 73.09           C  \r
+ATOM   2722  CA  LYS B  50      11.712   5.340  52.183  1.00 73.77           C  \r
+ATOM   2731  CA  VAL B  51       8.551   7.412  51.568  1.00 76.51           C  \r
+ATOM   2738  CA  VAL B  52       5.237   7.081  53.429  1.00 78.85           C  \r
+ATOM   2745  CA  SER B  53       2.180   9.376  53.647  1.00 79.57           C  \r
+ATOM   2751  CA  GLY B  54       2.118  10.991  50.218  1.00 76.32           C  \r
+ATOM   2755  CA  SER B  55       3.577  10.944  46.726  1.00 76.31           C  \r
+ATOM   2761  CA  VAL B  56       6.436  12.592  44.828  1.00 77.50           C  \r
+ATOM   2768  CA  ASP B  57       7.691  12.960  41.243  1.00 76.83           C  \r
+ATOM   2776  CA  GLN B  58      11.150  11.483  40.555  1.00 76.66           C  \r
+ATOM   2785  CA  SER B  59      10.976  10.827  36.792  1.00 80.19           C  \r
+ATOM   2791  CA  ASP B  60      14.688  11.644  36.510  1.00 83.51           C  \r
+ATOM   2799  CA  GLN B  61      15.175   8.137  37.916  1.00 85.74           C  \r
+ATOM   2808  CA  SER B  62      18.644   7.080  36.699  1.00 85.85           C  \r
+ATOM   2814  CA  TYR B  63      19.324   5.049  39.852  1.00 84.49           C  \r
+ATOM   2826  CA  LEU B  64      15.683   4.296  40.629  1.00 89.06           C  \r
+ATOM   2834  CA  ASP B  65      15.356   0.604  39.742  1.00 92.21           C  \r
+ATOM   2842  CA  ASP B  66      12.421  -1.791  39.331  1.00 92.35           C  \r
+ATOM   2850  CA  GLY B  67      10.747  -2.542  42.659  1.00 89.07           C  \r
+ATOM   2854  CA  GLN B  68      12.336   0.632  44.010  1.00 88.41           C  \r
+ATOM   2863  CA  ILE B  69       9.483   2.828  42.742  1.00 86.11           C  \r
+ATOM   2871  CA  ALA B  70       7.060   0.441  44.446  1.00 81.10           C  \r
+ATOM   2876  CA  ASP B  71       8.985  -0.310  47.648  1.00 76.82           C  \r
+ATOM   2884  CA  GLY B  72       8.653   3.423  48.186  1.00 73.00           C  \r
+ATOM   2888  CA  TRP B  73      12.342   4.386  48.095  1.00 67.93           C  \r
+ATOM   2902  CA  VAL B  74      13.052   8.007  47.136  1.00 63.84           C  \r
+ATOM   2909  CA  LEU B  75      16.093   9.940  45.892  1.00 58.37           C  \r
+ATOM   2917  CA  THR B  76      15.524  13.198  47.826  1.00 55.82           C  \r
+ATOM   2924  CA  CYS B  77      17.941  15.109  45.556  1.00 58.23           C  \r
+ATOM   2930  CA  HIS B  78      15.777  14.389  42.513  1.00 64.55           C  \r
+ATOM   2940  CA  ALA B  79      12.108  14.429  43.512  1.00 68.40           C  \r
+ATOM   2945  CA  TYR B  80       9.442  17.152  43.581  1.00 69.69           C  \r
+ATOM   2957  CA  PRO B  81       6.414  16.584  45.842  1.00 71.39           C  \r
+ATOM   2964  CA  THR B  82       3.015  16.014  44.179  1.00 73.67           C  \r
+ATOM   2971  CA  SER B  83       1.278  15.771  47.557  1.00 76.90           C  \r
+ATOM   2977  CA  ASP B  84       1.940  16.119  51.289  1.00 75.20           C  \r
+ATOM   2985  CA  VAL B  85       4.840  13.765  52.050  1.00 71.37           C  \r
+ATOM   2992  CA  VAL B  86       6.363  11.824  54.956  1.00 70.12           C  \r
+ATOM   2999  CA  ILE B  87       9.770  10.300  54.188  1.00 74.18           C  \r
+ATOM   3007  CA  GLU B  88      12.211   8.403  56.410  1.00 78.53           C  \r
+ATOM   3012  CA  THR B  89      15.541   9.964  55.407  1.00 79.79           C  \r
+ATOM   3019  CA  HIS B  90      19.062   8.538  55.881  1.00 79.40           C  \r
+ATOM   3029  CA  LYS B  91      17.584   5.099  55.099  1.00 84.52           C  \r
+ATOM   3038  CA  GLU B  92      20.016   2.596  53.549  1.00 91.64           C  \r
+ATOM   3047  CA  GLU B  93      20.192  -0.858  51.981  1.00 98.97           C  \r
+ATOM   3056  CA  GLU B  94      23.321  -2.924  51.298  1.00106.32           C  \r
+ATOM   3065  CA  LEU B  95      22.104  -6.552  51.453  1.00111.32           C  \r
+ATOM   3073  CA  THR B  96      18.778  -8.417  51.866  1.00116.01           C  \r
+ATOM   3080  CA  GLY B  97      18.877 -11.302  49.394  1.00116.63           C  \r
+ATOM   3084  CA  ALA B  98      22.056  -9.833  47.910  1.00116.02           C  \r
+ATOM   3091  CA  GLU C  19      26.080  -2.480  15.294  1.00 73.96           C  \r
+ATOM   3100  CA  SER C  20      23.405   0.198  14.956  1.00 67.27           C  \r
+ATOM   3106  CA  LYS C  21      22.937   3.927  15.380  1.00 59.27           C  \r
+ATOM   3115  CA  LYS C  22      19.198   3.481  15.874  1.00 58.42           C  \r
+ATOM   3124  CA  GLN C  23      17.251   3.141  19.137  1.00 59.89           C  \r
+ATOM   3133  CA  GLU C  24      17.931  -0.276  20.610  1.00 62.66           C  \r
+ATOM   3142  CA  GLU C  25      16.850  -0.453  24.226  1.00 64.27           C  \r
+ATOM   3151  CA  GLY C  26      13.211  -0.817  25.116  1.00 61.78           C  \r
+ATOM   3155  CA  VAL C  27      12.703  -2.073  21.582  1.00 58.37           C  \r
+ATOM   3162  CA  VAL C  28      10.779  -5.347  21.485  1.00 54.17           C  \r
+ATOM   3169  CA  THR C  29       9.481  -7.339  18.549  1.00 52.79           C  \r
+ATOM   3176  CA  ASN C  30       6.670  -9.775  17.786  1.00 51.30           C  \r
+ATOM   3184  CA  LEU C  31       4.863  -9.997  21.112  1.00 51.05           C  \r
+ATOM   3192  CA  TYR C  32       1.766 -11.297  19.327  1.00 50.51           C  \r
+ATOM   3204  CA  LYS C  33       1.373 -13.532  16.266  1.00 49.49           C  \r
+ATOM   3213  CA  PRO C  34      -1.609 -14.150  13.925  1.00 50.98           C  \r
+ATOM   3220  CA  LYS C  35      -2.450 -17.248  16.011  1.00 55.46           C  \r
+ATOM   3229  CA  GLU C  36      -2.977 -15.400  19.288  1.00 53.79           C  \r
+ATOM   3238  CA  PRO C  37      -3.251 -11.638  18.607  1.00 49.32           C  \r
+ATOM   3245  CA  TYR C  38      -3.674  -9.050  21.318  1.00 46.76           C  \r
+ATOM   3257  CA  VAL C  39      -7.276  -7.947  21.418  1.00 43.68           C  \r
+ATOM   3264  CA  GLY C  40      -7.415  -4.194  21.922  1.00 41.62           C  \r
+ATOM   3268  CA  ARG C  41     -10.273  -1.719  21.954  1.00 40.07           C  \r
+ATOM   3279  CA  CYS C  42     -11.026   1.064  19.477  1.00 36.37           C  \r
+ATOM   3285  CA  LEU C  43     -11.330   4.206  21.583  1.00 31.09           C  \r
+ATOM   3293  CA  LEU C  44     -11.337   6.671  18.673  1.00 28.46           C  \r
+ATOM   3301  CA  ASN C  45     -11.792   6.653  14.923  1.00 26.74           C  \r
+ATOM   3309  CA  THR C  46     -11.954   9.920  13.013  1.00 25.29           C  \r
+ATOM   3316  CA  LYS C  47     -11.667  10.775   9.352  1.00 21.50           C  \r
+ATOM   3325  CA  ILE C  48      -8.895  13.355   9.121  1.00 19.33           C  \r
+ATOM   3333  CA  THR C  49      -9.125  14.281   5.442  1.00 20.38           C  \r
+ATOM   3340  CA  GLY C  50     -11.630  16.676   3.855  1.00 20.12           C  \r
+ATOM   3344  CA  ASP C  51     -14.895  15.345   2.412  1.00 21.75           C  \r
+ATOM   3352  CA  ASP C  52     -13.889  16.693  -0.999  1.00 21.19           C  \r
+ATOM   3360  CA  ALA C  53     -10.651  14.683  -0.749  1.00 21.06           C  \r
+ATOM   3365  CA  PRO C  54     -10.036  11.974  -3.413  1.00 21.39           C  \r
+ATOM   3372  CA  GLY C  55      -9.982   9.067  -0.977  1.00 24.42           C  \r
+ATOM   3376  CA  GLU C  56     -10.374   9.298   2.857  1.00 22.08           C  \r
+ATOM   3385  CA  THR C  57      -7.723   8.611   5.517  1.00 20.31           C  \r
+ATOM   3392  CA  TRP C  58      -8.541   7.849   9.162  1.00 19.33           C  \r
+ATOM   3406  CA  HIS C  59      -6.758   8.520  12.438  1.00 22.68           C  \r
+ATOM   3416  CA  MET C  60      -7.645   5.951  15.108  1.00 27.16           C  \r
+ATOM   3424  CA  VAL C  61      -6.672   5.224  18.723  1.00 29.32           C  \r
+ATOM   3431  CA  PHE C  62      -6.669   1.704  20.220  1.00 34.23           C  \r
+ATOM   3442  CA  SER C  63      -6.102   0.643  23.847  1.00 37.05           C  \r
+ATOM   3448  CA  THR C  64      -3.096  -1.517  24.798  1.00 41.86           C  \r
+ATOM   3455  CA  GLU C  65      -3.169  -1.652  28.621  1.00 48.33           C  \r
+ATOM   3464  CA  GLY C  66       0.537  -0.885  28.318  1.00 52.45           C  \r
+ATOM   3468  CA  LYS C  67       0.955  -4.385  26.891  1.00 54.14           C  \r
+ATOM   3477  CA  ILE C  68       2.429  -3.211  23.570  1.00 51.52           C  \r
+ATOM   3485  CA  PRO C  69       5.602  -1.279  24.487  1.00 49.85           C  \r
+ATOM   3492  CA  TYR C  70       6.523  -0.180  20.967  1.00 44.48           C  \r
+ATOM   3504  CA  ARG C  71       9.185   2.353  19.993  1.00 40.96           C  \r
+ATOM   3515  CA  GLU C  72       8.727   5.317  17.688  1.00 33.49           C  \r
+ATOM   3524  CA  GLY C  73       8.913   3.876  14.164  1.00 30.16           C  \r
+ATOM   3528  CA  GLN C  74       7.423   0.399  14.427  1.00 31.26           C  \r
+ATOM   3537  CA  SER C  75       4.187  -0.913  12.966  1.00 33.65           C  \r
+ATOM   3543  CA  ILE C  76       1.454  -3.212  14.278  1.00 33.75           C  \r
+ATOM   3551  CA  GLY C  77      -0.295  -5.923  12.356  1.00 34.32           C  \r
+ATOM   3555  CA  VAL C  78      -4.060  -6.111  12.164  1.00 36.67           C  \r
+ATOM   3562  CA  ILE C  79      -6.137  -9.230  11.507  1.00 41.91           C  \r
+ATOM   3570  CA  ALA C  80      -9.427  -8.086  10.024  1.00 44.06           C  \r
+ATOM   3575  CA  ASP C  81     -12.530  -9.927  11.224  1.00 47.03           C  \r
+ATOM   3583  CA  GLY C  82     -13.972 -12.487   8.829  1.00 53.52           C  \r
+ATOM   3587  CA  VAL C  83     -12.521 -14.951   6.324  1.00 62.57           C  \r
+ATOM   3594  CA  ASP C  84     -11.856 -14.200   2.630  1.00 71.97           C  \r
+ATOM   3602  CA  LYS C  85     -12.935 -17.403   0.861  1.00 76.86           C  \r
+ATOM   3611  CA  ASN C  86     -13.690 -18.960   4.253  1.00 76.52           C  \r
+ATOM   3619  CA  GLY C  87     -10.006 -19.837   4.066  1.00 76.22           C  \r
+ATOM   3623  CA  LYS C  88      -8.802 -19.138   7.616  1.00 71.60           C  \r
+ATOM   3632  CA  PRO C  89      -8.651 -15.577   8.944  1.00 64.14           C  \r
+ATOM   3639  CA  HIS C  90      -7.547 -12.649   6.805  1.00 52.35           C  \r
+ATOM   3649  CA  LYS C  91      -3.753 -12.529   6.474  1.00 46.81           C  \r
+ATOM   3658  CA  VAL C  92      -2.180  -9.868   8.686  1.00 43.48           C  \r
+ATOM   3665  CA  ARG C  93      -1.491  -6.414   7.232  1.00 36.99           C  \r
+ATOM   3676  CA  LEU C  94       0.983  -3.882   8.601  1.00 32.95           C  \r
+ATOM   3684  CA  TYR C  95       0.340  -0.239   9.510  1.00 24.84           C  \r
+ATOM   3696  CA  SER C  96       3.003   2.101  10.803  1.00 23.32           C  \r
+ATOM   3702  CA  ILE C  97       2.244   3.502  14.236  1.00 24.12           C  \r
+ATOM   3710  CA  ALA C  98       1.243   7.179  13.932  1.00 22.32           C  \r
+ATOM   3715  CA  SER C  99       1.572   7.636  17.676  1.00 25.69           C  \r
+ATOM   3721  CA  SER C 100       4.752   7.924  19.726  1.00 28.83           C  \r
+ATOM   3727  CA  ALA C 101       5.741   5.521  22.508  1.00 35.61           C  \r
+ATOM   3732  CA  ILE C 102       3.906   7.635  25.079  1.00 38.39           C  \r
+ATOM   3740  CA  GLY C 103       0.899   7.826  22.742  1.00 31.93           C  \r
+ATOM   3744  CA  ASP C 104      -1.803  10.384  21.986  1.00 28.77           C  \r
+ATOM   3752  CA  PHE C 105      -3.050  10.293  25.607  1.00 37.05           C  \r
+ATOM   3763  CA  GLY C 106       0.503  10.389  26.967  1.00 39.36           C  \r
+ATOM   3767  CA  ASP C 107      -0.221   7.437  29.266  1.00 41.44           C  \r
+ATOM   3775  CA  SER C 108       1.566   4.766  27.217  1.00 42.18           C  \r
+ATOM   3781  CA  LYS C 109      -1.747   2.877  27.156  1.00 42.45           C  \r
+ATOM   3790  CA  THR C 110      -2.698   3.586  23.515  1.00 38.10           C  \r
+ATOM   3797  CA  VAL C 111      -1.603   2.971  19.906  1.00 32.79           C  \r
+ATOM   3804  CA  SER C 112      -2.671   5.020  16.872  1.00 29.60           C  \r
+ATOM   3810  CA  LEU C 113      -2.713   4.324  13.126  1.00 25.68           C  \r
+ATOM   3818  CA  CYS C 114      -3.142   6.498   9.999  1.00 24.23           C  \r
+ATOM   3824  CA  VAL C 115      -5.345   4.496   7.641  1.00 22.80           C  \r
+ATOM   3831  CA  LYS C 116      -6.221   5.196   4.015  1.00 22.11           C  \r
+ATOM   3840  CA  ARG C 117      -9.458   3.521   2.955  1.00 25.68           C  \r
+ATOM   3851  CA  LEU C 118      -8.447   1.440  -0.100  1.00 28.80           C  \r
+ATOM   3859  CA  ILE C 119     -11.140   1.661  -2.792  1.00 31.75           C  \r
+ATOM   3867  CA  TYR C 120     -10.086   0.716  -6.312  1.00 32.93           C  \r
+ATOM   3879  CA  THR C 121     -11.388  -0.733  -9.598  1.00 36.84           C  \r
+ATOM   3886  CA  ASN C 122     -10.258  -4.257 -10.546  1.00 36.90           C  \r
+ATOM   3894  CA  ASP C 123      -9.574  -5.562 -14.056  1.00 45.45           C  \r
+ATOM   3902  CA  ALA C 124     -13.196  -6.758 -14.269  1.00 44.66           C  \r
+ATOM   3907  CA  GLY C 125     -14.207  -3.102 -14.023  1.00 45.49           C  \r
+ATOM   3911  CA  GLU C 126     -16.059  -3.511 -10.722  1.00 45.54           C  \r
+ATOM   3920  CA  ILE C 127     -15.507  -1.321  -7.638  1.00 39.70           C  \r
+ATOM   3928  CA  VAL C 128     -13.846  -3.171  -4.762  1.00 38.09           C  \r
+ATOM   3935  CA  LYS C 129     -12.759  -2.512  -1.198  1.00 33.77           C  \r
+ATOM   3944  CA  GLY C 130      -9.566  -3.363   0.599  1.00 31.98           C  \r
+ATOM   3948  CA  VAL C 131     -10.443  -5.797   3.385  1.00 33.16           C  \r
+ATOM   3955  CA  CYS C 132      -8.241  -4.645   6.257  1.00 29.97           C  \r
+ATOM   3961  CA  SER C 133      -8.238  -0.898   5.607  1.00 30.67           C  \r
+ATOM   3967  CA  ASN C 134     -12.022  -0.902   5.268  1.00 30.35           C  \r
+ATOM   3975  CA  PHE C 135     -12.375  -2.946   8.424  1.00 29.86           C  \r
+ATOM   3986  CA  LEU C 136     -10.223  -0.334  10.195  1.00 29.42           C  \r
+ATOM   3994  CA  CYS C 137     -11.779   2.834   8.813  1.00 32.27           C  \r
+ATOM   4000  CA  ASP C 138     -15.116   1.280   9.724  1.00 34.29           C  \r
+ATOM   4008  CA  LEU C 139     -14.287   0.699  13.399  1.00 37.51           C  \r
+ATOM   4016  CA  GLN C 140     -16.635   2.170  16.028  1.00 43.76           C  \r
+ATOM   4025  CA  PRO C 141     -15.630   3.032  19.581  1.00 42.77           C  \r
+ATOM   4032  CA  GLY C 142     -16.082  -0.210  21.478  1.00 42.83           C  \r
+ATOM   4036  CA  ASP C 143     -15.117  -2.625  18.696  1.00 40.91           C  \r
+ATOM   4044  CA  ASN C 144     -12.182  -4.947  19.288  1.00 45.66           C  \r
+ATOM   4052  CA  VAL C 145      -9.056  -5.146  17.145  1.00 46.95           C  \r
+ATOM   4059  CA  GLN C 146      -6.707  -8.107  16.606  1.00 48.69           C  \r
+ATOM   4068  CA  ILE C 147      -3.249  -6.538  17.123  1.00 46.84           C  \r
+ATOM   4076  CA  THR C 148      -0.010  -8.392  16.264  1.00 46.26           C  \r
+ATOM   4083  CA  GLY C 149       3.543  -7.117  16.634  1.00 45.60           C  \r
+ATOM   4087  CA  PRO C 150       5.248  -4.818  17.394  1.00 44.97           C  \r
+ATOM   4094  CA  VAL C 151       7.423  -5.293  14.321  1.00 44.50           C  \r
+ATOM   4101  CA  GLY C 152      10.289  -3.716  12.438  1.00 45.33           C  \r
+ATOM   4105  CA  LYS C 153      13.599  -2.161  13.435  1.00 48.64           C  \r
+ATOM   4114  CA  GLU C 154      14.166  -0.437  10.074  1.00 48.20           C  \r
+ATOM   4123  CA  MET C 155      12.437   2.888  10.737  1.00 41.77           C  \r
+ATOM   4131  CA  LEU C 156      13.839   3.081  14.267  1.00 38.27           C  \r
+ATOM   4139  CA  MET C 157      15.076   6.540  15.308  1.00 34.29           C  \r
+ATOM   4147  CA  PRO C 158      18.782   7.419  15.339  1.00 34.05           C  \r
+ATOM   4154  CA  LYS C 159      20.262   7.521  18.845  1.00 35.82           C  \r
+ATOM   4163  CA  ASP C 160      22.076  10.792  18.273  1.00 35.95           C  \r
+ATOM   4171  CA  PRO C 161      19.683  13.401  19.809  1.00 35.63           C  \r
+ATOM   4178  CA  ASN C 162      21.563  15.948  17.758  1.00 33.92           C  \r
+ATOM   4186  CA  ALA C 163      21.028  14.172  14.487  1.00 30.82           C  \r
+ATOM   4191  CA  THR C 164      19.693  15.722  11.305  1.00 25.18           C  \r
+ATOM   4198  CA  ILE C 165      16.617  13.601  10.636  1.00 19.91           C  \r
+ATOM   4206  CA  ILE C 166      15.351  13.978   7.060  1.00 13.76           C  \r
+ATOM   4214  CA  MET C 167      11.843  12.550   6.703  1.00 14.98           C  \r
+ATOM   4222  CA  LEU C 168      10.385  11.831   3.251  1.00 16.64           C  \r
+ATOM   4230  CA  ALA C 169       6.747  10.808   3.007  1.00 15.85           C  \r
+ATOM   4235  CA  THR C 170       3.765  10.346   0.737  1.00 14.23           C  \r
+ATOM   4242  CA  GLY C 171       0.255   9.724   2.035  1.00 13.78           C  \r
+ATOM   4246  CA  THR C 172      -0.103   7.560   5.139  1.00 17.62           C  \r
+ATOM   4253  CA  GLY C 173       3.646   7.343   4.821  1.00 17.20           C  \r
+ATOM   4257  CA  ILE C 174       3.469  10.213   7.270  1.00 15.91           C  \r
+ATOM   4265  CA  ALA C 175       2.586   7.783  10.110  1.00 15.63           C  \r
+ATOM   4270  CA  PRO C 176       6.023   6.933  11.582  1.00 17.04           C  \r
+ATOM   4277  CA  PHE C 177       7.215  10.514  11.327  1.00 18.21           C  \r
+ATOM   4288  CA  ARG C 178       4.268  11.745  13.359  1.00 22.35           C  \r
+ATOM   4299  CA  SER C 179       5.563   9.289  15.983  1.00 25.22           C  \r
+ATOM   4305  CA  PHE C 180       9.139  10.593  15.614  1.00 25.98           C  \r
+ATOM   4316  CA  LEU C 181       7.925  14.180  15.767  1.00 29.12           C  \r
+ATOM   4324  CA  TRP C 182       5.625  13.641  18.714  1.00 31.35           C  \r
+ATOM   4338  CA  LYS C 183       8.488  12.385  20.871  1.00 30.92           C  \r
+ATOM   4347  CA  MET C 184      10.841  15.050  19.503  1.00 24.85           C  \r
+ATOM   4355  CA  PHE C 185       8.741  18.202  20.114  1.00 22.97           C  \r
+ATOM   4366  CA  PHE C 186       5.604  17.337  22.076  1.00 27.77           C  \r
+ATOM   4377  CA  GLU C 187       7.117  15.432  25.009  1.00 37.71           C  \r
+ATOM   4386  CA  LYS C 188       9.542  15.977  27.878  1.00 53.59           C  \r
+ATOM   4395  CA  HIS C 189      12.355  13.416  28.180  1.00 63.67           C  \r
+ATOM   4405  CA  ASP C 190      15.318  13.181  30.569  1.00 66.93           C  \r
+ATOM   4413  CA  ASP C 191      17.480  11.106  28.238  1.00 59.79           C  \r
+ATOM   4421  CA  TYR C 192      16.190  12.725  25.047  1.00 51.96           C  \r
+ATOM   4433  CA  LYS C 193      16.700  16.406  24.324  1.00 47.01           C  \r
+ATOM   4442  CA  PHE C 194      16.580  16.471  20.530  1.00 39.85           C  \r
+ATOM   4453  CA  ASN C 195      18.572  19.494  19.409  1.00 37.52           C  \r
+ATOM   4461  CA  GLY C 196      19.361  18.548  15.845  1.00 32.08           C  \r
+ATOM   4465  CA  LEU C 197      17.310  19.266  12.766  1.00 28.26           C  \r
+ATOM   4473  CA  GLY C 198      14.051  17.526  11.928  1.00 25.05           C  \r
+ATOM   4477  CA  TRP C 199      13.211  18.137   8.269  1.00 19.81           C  \r
+ATOM   4491  CA  LEU C 200       9.908  16.742   7.059  1.00 13.86           C  \r
+ATOM   4499  CA  PHE C 201       8.855  16.521   3.429  1.00 14.83           C  \r
+ATOM   4510  CA  LEU C 202       5.288  15.361   2.717  1.00 16.12           C  \r
+ATOM   4518  CA  GLY C 203       3.701  14.731  -0.681  1.00 13.79           C  \r
+ATOM   4522  CA  VAL C 204      -0.051  14.414  -1.182  1.00 11.75           C  \r
+ATOM   4529  CA  PRO C 205      -2.113  15.264  -4.308  1.00 14.66           C  \r
+ATOM   4536  CA  THR C 206      -4.553  17.737  -2.778  1.00 16.37           C  \r
+ATOM   4543  CA  SER C 207      -4.756  20.169   0.120  1.00 18.01           C  \r
+ATOM   4549  CA  SER C 208      -7.780  18.225   1.280  1.00 17.59           C  \r
+ATOM   4555  CA  SER C 209      -5.452  15.198   1.550  1.00 16.19           C  \r
+ATOM   4561  CA  LEU C 210      -2.972  16.940   3.860  1.00 14.22           C  \r
+ATOM   4569  CA  LEU C 211      -2.255  14.980   7.059  1.00 14.43           C  \r
+ATOM   4577  CA  TYR C 212      -1.624  16.449  10.549  1.00 18.94           C  \r
+ATOM   4589  CA  LYS C 213      -0.818  19.896   9.150  1.00 22.61           C  \r
+ATOM   4598  CA  GLU C 214      -2.039  21.572  12.352  1.00 25.73           C  \r
+ATOM   4607  CA  GLU C 215       0.152  19.413  14.514  1.00 19.23           C  \r
+ATOM   4616  CA  PHE C 216       3.216  20.178  12.439  1.00 17.80           C  \r
+ATOM   4627  CA  GLY C 217       2.478  23.890  12.512  1.00 19.90           C  \r
+ATOM   4631  CA  LYS C 218       2.578  24.001  16.294  1.00 25.54           C  \r
+ATOM   4640  CA  MET C 219       5.810  22.021  16.188  1.00 26.79           C  \r
+ATOM   4648  CA  LYS C 220       7.224  24.606  13.819  1.00 31.85           C  \r
+ATOM   4657  CA  GLU C 221       6.071  27.341  16.219  1.00 38.62           C  \r
+ATOM   4666  CA  ARG C 222       7.760  25.760  19.233  1.00 39.10           C  \r
+ATOM   4677  CA  ALA C 223      11.124  24.971  17.668  1.00 35.43           C  \r
+ATOM   4682  CA  PRO C 224      11.696  27.100  14.528  1.00 32.99           C  \r
+ATOM   4689  CA  GLU C 225      15.425  26.331  14.360  1.00 33.87           C  \r
+ATOM   4698  CA  ASN C 226      15.038  22.591  14.986  1.00 30.46           C  \r
+ATOM   4706  CA  PHE C 227      12.088  21.755  12.732  1.00 24.98           C  \r
+ATOM   4717  CA  ARG C 228      11.351  22.384   9.075  1.00 19.87           C  \r
+ATOM   4728  CA  VAL C 229       8.435  21.010   7.118  1.00 14.21           C  \r
+ATOM   4735  CA  ASP C 230       7.739  21.452   3.398  1.00 12.26           C  \r
+ATOM   4743  CA  TYR C 231       4.627  20.147   1.722  1.00 14.42           C  \r
+ATOM   4755  CA  ALA C 232       4.334  19.003  -1.872  1.00  9.99           C  \r
+ATOM   4760  CA  VAL C 233       0.778  19.232  -3.168  1.00 10.49           C  \r
+ATOM   4767  CA  SER C 234       1.043  17.769  -6.694  1.00 19.00           C  \r
+ATOM   4773  CA  ARG C 235      -2.240  19.042  -8.206  1.00 23.13           C  \r
+ATOM   4784  CA  GLU C 236      -2.069  22.459  -6.578  1.00 17.58           C  \r
+ATOM   4793  CA  GLN C 237       1.546  23.511  -6.623  1.00 15.89           C  \r
+ATOM   4802  CA  THR C 238       4.202  24.018  -9.275  1.00 17.86           C  \r
+ATOM   4809  CA  ASN C 239       7.922  24.800  -9.182  1.00 15.15           C  \r
+ATOM   4817  CA  ALA C 240       9.558  27.791 -10.892  1.00 21.51           C  \r
+ATOM   4822  CA  ALA C 241       9.475  25.887 -14.174  1.00 24.05           C  \r
+ATOM   4827  CA  GLY C 242       5.741  25.110 -13.938  1.00 26.25           C  \r
+ATOM   4831  CA  GLU C 243       5.999  21.359 -13.153  1.00 25.92           C  \r
+ATOM   4840  CA  ARG C 244       3.679  19.536 -10.704  1.00 24.04           C  \r
+ATOM   4851  CA  MET C 245       5.076  19.643  -7.174  1.00 18.58           C  \r
+ATOM   4859  CA  TYR C 246       5.784  16.047  -6.100  1.00 14.16           C  \r
+ATOM   4871  CA  ILE C 247       7.910  15.343  -3.034  1.00 16.78           C  \r
+ATOM   4879  CA  GLN C 248      11.089  15.070  -5.120  1.00 18.72           C  \r
+ATOM   4888  CA  THR C 249      10.168  18.255  -6.921  1.00 20.93           C  \r
+ATOM   4895  CA  ARG C 250       9.962  20.031  -3.567  1.00 19.25           C  \r
+ATOM   4906  CA  MET C 251      13.275  18.471  -2.561  1.00 19.40           C  \r
+ATOM   4914  CA  ALA C 252      14.910  19.812  -5.760  1.00 20.48           C  \r
+ATOM   4919  CA  GLU C 253      14.456  23.418  -4.569  1.00 18.19           C  \r
+ATOM   4928  CA  TYR C 254      16.804  22.515  -1.673  1.00 17.80           C  \r
+ATOM   4940  CA  LYS C 255      19.038  20.415  -3.902  1.00 20.66           C  \r
+ATOM   4949  CA  GLU C 256      22.452  21.603  -2.682  1.00 16.05           C  \r
+ATOM   4958  CA  GLU C 257      21.544  21.914   0.993  1.00 15.89           C  \r
+ATOM   4967  CA  LEU C 258      20.377  18.297   0.919  1.00 20.74           C  \r
+ATOM   4975  CA  TRP C 259      23.388  16.939  -0.965  1.00 23.45           C  \r
+ATOM   4989  CA  GLU C 260      25.645  18.669   1.563  1.00 24.08           C  \r
+ATOM   4998  CA  LEU C 261      23.573  17.378   4.477  1.00 24.74           C  \r
+ATOM   5006  CA  LEU C 262      24.020  13.928   2.938  1.00 26.14           C  \r
+ATOM   5014  CA  LYS C 263      27.792  14.091   3.402  1.00 25.40           C  \r
+ATOM   5023  CA  LYS C 264      27.457  14.521   7.176  1.00 31.47           C  \r
+ATOM   5032  CA  ASP C 265      27.877  11.474   9.425  1.00 35.31           C  \r
+ATOM   5040  CA  ASN C 266      24.934  12.482  11.620  1.00 29.63           C  \r
+ATOM   5048  CA  THR C 267      22.321  12.795   8.832  1.00 28.00           C  \r
+ATOM   5055  CA  TYR C 268      19.556  10.160   8.808  1.00 27.00           C  \r
+ATOM   5067  CA  VAL C 269      17.143   9.903   5.884  1.00 24.65           C  \r
+ATOM   5074  CA  TYR C 270      13.890   8.016   6.276  1.00 23.37           C  \r
+ATOM   5086  CA  MET C 271      11.373   7.327   3.518  1.00 18.93           C  \r
+ATOM   5094  CA  CYS C 272       7.834   6.074   4.043  1.00 18.24           C  \r
+ATOM   5100  CA  GLY C 273       4.784   5.874   1.826  1.00 22.39           C  \r
+ATOM   5104  CA  LEU C 274       3.837   4.483  -1.568  1.00 26.95           C  \r
+ATOM   5112  CA  LYS C 275       6.305   2.384  -3.532  1.00 32.36           C  \r
+ATOM   5121  CA  GLY C 276       7.741   4.199  -6.514  1.00 37.46           C  \r
+ATOM   5125  CA  MET C 277       7.714   7.455  -4.608  1.00 28.76           C  \r
+ATOM   5133  CA  GLU C 278      11.430   6.639  -4.425  1.00 32.22           C  \r
+ATOM   5142  CA  LYS C 279      12.017   6.321  -8.153  1.00 29.94           C  \r
+ATOM   5151  CA  GLY C 280      11.317  10.057  -8.293  1.00 24.18           C  \r
+ATOM   5155  CA  ILE C 281      13.766  10.673  -5.460  1.00 23.68           C  \r
+ATOM   5163  CA  ASP C 282      16.431   8.365  -6.934  1.00 26.58           C  \r
+ATOM   5171  CA  ASP C 283      16.211  10.530 -10.054  1.00 28.70           C  \r
+ATOM   5179  CA  ILE C 284      17.089  13.937  -8.538  1.00 27.28           C  \r
+ATOM   5187  CA  MET C 285      19.706  12.222  -6.388  1.00 27.45           C  \r
+ATOM   5195  CA  VAL C 286      21.377  10.712  -9.470  1.00 30.74           C  \r
+ATOM   5202  CA  SER C 287      21.619  14.159 -11.061  1.00 32.14           C  \r
+ATOM   5208  CA  LEU C 288      23.240  15.463  -7.873  1.00 34.20           C  \r
+ATOM   5216  CA  ALA C 289      25.801  12.653  -7.874  1.00 40.16           C  \r
+ATOM   5221  CA  GLU C 290      26.837  12.825 -11.536  1.00 41.84           C  \r
+ATOM   5230  CA  LYS C 291      27.855  16.387 -10.793  1.00 43.17           C  \r
+ATOM   5239  CA  ASP C 292      30.299  15.115  -8.139  1.00 41.84           C  \r
+ATOM   5247  CA  GLY C 293      31.237  12.232 -10.420  1.00 46.12           C  \r
+ATOM   5251  CA  ILE C 294      30.053   9.669  -7.864  1.00 45.54           C  \r
+ATOM   5259  CA  ASP C 295      27.399   6.998  -8.480  1.00 41.14           C  \r
+ATOM   5267  CA  TRP C 296      24.222   7.605  -6.479  1.00 30.67           C  \r
+ATOM   5281  CA  PHE C 297      23.381   3.910  -6.151  1.00 31.97           C  \r
+ATOM   5292  CA  ASP C 298      26.856   2.916  -4.907  1.00 38.12           C  \r
+ATOM   5300  CA  TYR C 299      26.671   5.875  -2.540  1.00 39.05           C  \r
+ATOM   5312  CA  LYS C 300      23.196   4.971  -1.294  1.00 41.63           C  \r
+ATOM   5321  CA  LYS C 301      24.542   1.489  -0.577  1.00 43.40           C  \r
+ATOM   5330  CA  GLN C 302      27.207   3.064   1.608  1.00 43.79           C  \r
+ATOM   5339  CA  LEU C 303      24.476   5.181   3.238  1.00 41.51           C  \r
+ATOM   5347  CA  LYS C 304      22.138   2.343   4.264  1.00 45.18           C  \r
+ATOM   5356  CA  ARG C 305      25.322   0.535   5.256  1.00 46.65           C  \r
+ATOM   5367  CA  GLY C 306      25.613   3.181   7.945  1.00 40.29           C  \r
+ATOM   5371  CA  ASP C 307      21.954   3.487   8.940  1.00 41.21           C  \r
+ATOM   5379  CA  GLN C 308      21.463   6.730   7.023  1.00 35.55           C  \r
+ATOM   5388  CA  TRP C 309      18.961   5.674   4.361  1.00 31.22           C  \r
+ATOM   5402  CA  ASN C 310      16.018   3.728   5.752  1.00 31.61           C  \r
+ATOM   5410  CA  VAL C 311      13.120   2.841   3.452  1.00 32.13           C  \r
+ATOM   5417  CA  GLU C 312       9.705   1.332   4.261  1.00 31.51           C  \r
+ATOM   5426  CA  VAL C 313       7.466   1.606   1.209  1.00 26.39           C  \r
+ATOM   5433  CA  TYR C 314       4.403  -0.343   0.111  1.00 25.42           C  \r
diff --git a/examples-jbake/assets/PF00111_seed.stk b/examples-jbake/assets/PF00111_seed.stk
new file mode 100644 (file)
index 0000000..d98c09f
--- /dev/null
@@ -0,0 +1,523 @@
+# STOCKHOLM 1.0
+#=GF ID   Fer2
+#=GF AC   PF00111.22
+#=GF DE   2Fe-2S iron-sulfur cluster binding domain
+#=GF PI   fer2; 
+#=GF AU   Sonnhammer ELL
+#=GF SE   Prosite
+#=GF GA   20.70 15.00;
+#=GF TC   20.70 15.70;
+#=GF NC   20.60 14.90;
+#=GF BM   hmmbuild HMM.ann SEED.ann
+#=GF SM   hmmsearch -Z 15929002 -E 1000 --cpu 4 HMM pfamseq
+#=GF TP   Domain
+#=GF WK   Ferredoxin
+#=GF DR   INTERPRO; IPR001041;
+#=GF DR   PROSITE; PDOC00175;
+#=GF DR   PROSITE; PDOC00642;
+#=GF DR   SCOP; 3fxc; fa;
+#=GF DR   HOMSTRAD; fer2;
+#=GF DR   HOMSTRAD; Ald_Xan_dh_1;
+#=GF SQ   206
+#=GS FER_GLEJA/8-82        AC P00233.1
+#=GS FER2_RAPSA/9-84       AC P14937.1
+#=GS Q39648_CITSI/61-136   AC Q39648.1
+#=GS FER3_MAIZE/63-138     AC P27788.1
+#=GS FER6_MAIZE/66-141     AC P94044.1
+#=GS FER1_SYNP2/9-83       AC P31965.2
+#=GS FER1_EQUAR/7-81       AC P00235.1
+#=GS FER2_EQUAR/7-80       AC P00237.1
+#=GS FER2_EQUAR/7-80       DR PDB; 1WRI A; 7-80;
+#=GS FER2_PLEBO/10-85      AC P46035.2
+#=GS P95533_PSEPU/253-328  AC P95533.1
+#=GS KSHB_MYCTU/273-348    AC P96853.1
+#=GS Q44253_ACISP/251-326  AC Q44253.1
+#=GS Q59656_PLEBO/573-647  AC Q59656.1
+#=GS P71846_MYCTU/600-675  AC P71846.3
+#=GS O84985_PSEPU/271-347  AC O84985.2
+#=GS PAAE_ECOLI/266-342    AC P76081.1
+#=GS HCR_ECOLI/241-316     AC P75824.3
+#=GS O87803_PSEST/5-82     AC O87803.2
+#=GS TMOF_PSEME/4-81       AC Q03304.1
+#=GS O32476_PSESP/4-81     AC O32476.1
+#=GS Q51944_BURPI/5-82     AC Q51944.1
+#=GS Q53028_RHOCO/4-80     AC Q53028.1
+#=GS Q45344_BURPI/10-88    AC Q45344.1
+#=GS Q9ZNP1_COMTE/9-88     AC Q9ZNP1.1
+#=GS Q9Z418_PSEPU/11-90    AC Q9Z418.1
+#=GS Q9ZAN6_9BURK/12-91    AC Q9ZAN6.1
+#=GS FERN_PSEPU/7-85       AC P23263.1
+#=GS O24827_ACISP/7-85     AC O24827.1
+#=GS FERX_PSEPU/8-86       AC P23103.1
+#=GS Q52061_PSEPU/8-86     AC Q52061.1
+#=GS Q52167_PSEPU/8-86     AC Q52167.1
+#=GS O84964_9RALS/4-82     AC O84964.1
+#=GS Q9Z3W9_9SPHN/8-85     AC Q9Z3W9.1
+#=GS DMPP_PSEUF/5-82       AC P19734.3
+#=GS O84963_9RALS/4-81     AC O84963.1
+#=GS Q52574_PSESP/5-83     AC Q52574.1
+#=GS Q9ZNP2_COMTE/5-82     AC Q9ZNP2.1
+#=GS Q43983_ACICA/5-82     AC Q43983.1
+#=GS O87617_PSEAE/3-78     AC O87617.1
+#=GS O52378_9RALS/3-78     AC O52378.1
+#=GS Q51492_PSEAE/3-78     AC Q51492.1
+#=GS NDOR_PSEPU/3-78       AC Q52126.1
+#=GS Q52140_PSEPU/3-78     AC Q52140.1
+#=GS Q9Z9X8_9GAMM/242-317  AC Q9Z9X8.1
+#=GS VANB_PSEUH/234-309    AC O05617.1
+#=GS VANB_PSES9/231-306    AC P12580.1
+#=GS VANB_PSEPU/231-307    AC O54037.1
+#=GS VANB_ACIAD/234-309    AC O24840.1
+#=GS O88034_STRCO/230-305  AC O88034.1
+#=GS P94680_COMTE/234-309  AC P94680.1
+#=GS CBAB_COMTE/232-307    AC Q44257.2
+#=GS POBB_PSEPS/236-311    AC Q52186.1
+#=GS YEAX_ECOLI/237-313    AC P76254.1
+#=GS Q47914_SPHCR/241-316  AC Q47914.2
+#=GS PDR_BURCE/241-314     AC P33164.3
+#=GS PDR_BURCE/241-314     DR PDB; 2PIA A; 240-313;
+#=GS PHT2_PSEPU/243-316    AC Q05182.1
+#=GS O86347_MYCTU/231-301  AC O86347.3
+#=GS YFAE_ECOLI/4-77       AC P0ABW3.1
+#=GS Y1309_HAEIN/3-75      AC P45154.1
+#=GS O31003_VIBAN/5-73     AC O31003.1
+#=GS RFBI_SALTY/5-76       AC P26395.1
+#=GS P95461_9PSED/17-94    AC P95461.1
+#=GS O85971_SPHAR/13-90    AC O85971.1
+#=GS XYLA_PSEPU/20-97      AC P21394.1
+#=GS YCBX_ECOLI/293-362    AC P75863.1
+#=GS P96096_THIFE/9-86     AC P96096.1
+#=GS MMOC_METTR/7-81       AC Q53563.1
+#=GS O85675_ACIAD/8-85     AC O85675.1
+#=GS BENC_ACIAD/19-98      AC P07771.2
+#=GS BENC_ACIAD/19-98      DR PDB; 1KRH B; 9-88;
+#=GS BENC_ACIAD/19-98      DR PDB; 1KRH A; 9-88;
+#=GS XYLZ_PSEPU/8-86       AC P23101.1
+#=GS CBDC_BURCE/8-85       AC Q51603.1
+#=GS O66892_AQUAE/7-72     AC O66892.1
+#=GS O85226_PSEFL/27-86    AC O85226.1
+#=GS O29575_ARCFU/14-75    AC O29575.1
+#=GS O27878_METTH/21-82    AC O27878.1
+#=GS Y092_METJA/14-73      AC Q57557.1
+#=GS FER5_RHOCA/10-107     AC P37097.2
+#=GS Q44501_AZOVI/10-107   AC Q44501.1
+#=GS Q46508_DESFR/6-74     AC Q46508.1
+#=GS Q9ZBV9_STRCO/15-78    AC Q9ZBV9.1
+#=GS NUOG_MYCTU/19-82      AC P95175.2
+#=GS O87815_CUPNE/22-85    AC O87815.1
+#=GS NQO3_THET8/4-88       AC Q56223.2
+#=GS NQO3_THET8/4-88       DR PDB; 3M9S C; 4-88;
+#=GS NQO3_THET8/4-88       DR PDB; 3M9S 3; 4-88;
+#=GS P74022_SYNY3/6-69     AC P74022.1
+#=GS P94157_SYNP6/6-69     AC P94157.1
+#=GS Q44513_ANAVA/6-69     AC Q44513.1
+#=GS P77908_MOOTH/4-67     AC P77908.3
+#=GS Q9ZJW1_HELPJ/4-65     AC Q9ZJW1.1
+#=GS O05397_BACSU/11-72    AC O05397.1
+#=GS YJGC_BACSU/7-68       AC O34720.1
+#=GS NUOG_SALTI/4-72       AC P0A1Y5.2
+#=GS O66748_AQUAE/6-70     AC O66748.1
+#=GS NDUS1_DICDI/5-71      AC Q34312.1
+#=GS NQO3_PARDE/7-71       AC P29915.4
+#=GS NDUS1_NEUCR/38-101    AC P24918.2
+#=GS NUOG_RICPR/4-67       AC Q9ZCF6.1
+#=GS NDUS1_SOLTU/70-133    AC Q43644.1
+#=GS NDUS1_RECAM/4-67      AC O21241.1
+#=GS NDUS1_BOVIN/34-97     AC P15690.1
+#=GS O52683_THEMA/3-65     AC O52683.1
+#=GS Q46606_DESVU/3-71     AC Q46606.1
+#=GS HOXU_CUPNH/5-66       AC P22318.2
+#=GS P72305_RHOOP/5-66     AC P72305.1
+#=GS Q59261_CLOSA/4-67     AC Q59261.1
+#=GS Q9ZNE4_CLOPE/4-67     AC Q9ZNE4.1
+#=GS PHF1_CLOPA/4-67       AC P29166.1
+#=GS Q59262_CLOAB/4-66     AC Q59262.1
+#=GS P74801_SYNY3/5-63     AC P74801.1
+#=GS XDHE_BACSU/18-77      AC O32143.1
+#=GS HCRC_THAAR/7-66       AC O33818.1
+#=GS HCRC_THAAR/7-66       DR PDB; 1SB3 F; 7-66;
+#=GS HCRC_THAAR/7-66       DR PDB; 1RM6 C; 7-66;
+#=GS HCRC_THAAR/7-66       DR PDB; 1RM6 F; 7-66;
+#=GS HCRC_THAAR/7-66       DR PDB; 1SB3 C; 7-66;
+#=GS P95635_RHOPA/15-74    AC P95635.1
+#=GS XDHC_ECOLI/11-69      AC Q46801.1
+#=GS YAGT_ECOLI/65-124     AC P77165.1
+#=GS DCMS_HYDPS/8-67       AC P19915.2
+#=GS Q52589_9PSED/8-67     AC Q52589.1
+#=GS O52837_BRAJA/6-65     AC O52837.1
+#=GS O53709_MYCTU/5-64     AC O53709.1
+#=GS O87682_ARTNI/8-67     AC O87682.1
+#=GS Q59128_ARTNI/14-73    AC Q59128.1
+#=GS P72223_PSEPU/14-73    AC P72223.1
+#=GS P72223_PSEPU/14-73    DR PDB; 1T3Q A; 14-73;
+#=GS P72223_PSEPU/14-73    DR PDB; 1T3Q D; 14-73;
+#=GS Q9ZBN8_STRCO/5-65     AC Q9ZBN8.1
+#=GS O54050_RHOCA/5-68     AC O54050.1
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP C; 5-68;
+#=GS O23887_MAIZE/15-85    AC O23887.1
+#=GS ALDO4_ARATH/8-78      AC Q7G191.2
+#=GS ALDO1_ARATH/23-95     AC Q7G193.2
+#=GS O30328_ACEEU/4-63     AC O30328.1
+#=GS IORA_BREDI/4-64       AC Q51697.1
+#=GS XDH_EMENI/39-108      AC Q12553.2
+#=GS O61198_CAEEL/8-78     AC O61198.2
+#=GS O17892_CAEEL/18-86    AC O17892.1
+#=GS XDH_DROSU/13-83       AC P91711.1
+#=GS O17506_BOMMO/19-89    AC O17506.1
+#=GS Q17250_BOMMO/18-88    AC Q17250.2
+#=GS ADO_BOVIN/9-79        AC P48034.2
+#=GS XDH_BOVIN/8-78        AC P80457.4
+#=GS XDH_BOVIN/8-78        DR PDB; 1V97 B; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVY A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVY J; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NRZ J; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVV A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NRZ A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1N5X A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1N5X B; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1V97 A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1VDV A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVV J; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1VDV B; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NS1 A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NS1 J; 8-78;
+#=GS MOP_DESGI/6-65        AC Q46509.1
+#=GS MOP_DESGI/6-65        DR PDB; 1VLB A; 6-65;
+#=GS MOP_DESGI/6-65        DR PDB; 1SIJ A; 6-65;
+#=GS O53669_MYCTU/13-78    AC O53669.1
+#=GS O29566_ARCFU/5-80     AC O29566.1
+#=GS O30225_ARCFU/5-84     AC O30225.1
+#=GS NQRF_CHLTR/46-122     AC O84745.1
+#=GS NQRF_HAEIN/43-119     AC O05012.1
+#=GS NQRF_VIBAL/39-115     AC Q56584.1
+#=GS O84062_CHLTR/8-83     AC O84062.1
+#=GS Q9Z8H9_CHLPN/8-83     AC Q9Z8H9.1
+#=GS CSMJ_CHLTE/5-82       AC O68983.1
+#=GS CSMI_CHLTE/5-82       AC O68988.1
+#=GS FER_TRIVA/13-90       AC P21149.1
+#=GS FER_TRIVA/13-90       DR PDB; 1L5P A; 5-83;
+#=GS FER_TRIVA/13-90       DR PDB; 1L5P C; 5-83;
+#=GS FER_TRIVA/13-90       DR PDB; 1L5P B; 5-83;
+#=GS P73774_SYNY3/7-88     AC P73774.1
+#=GS FER_BUCAP/10-92       AC O51882.1
+#=GS O69222_AZOVI/11-93    AC O69222.1
+#=GS FER_HAEIN/10-92       AC P44428.2
+#=GS FER_PSEAE/10-92       AC Q51383.2
+#=GS ADRX_YEAST/67-149     AC Q12184.1
+#=GS ADX_PIG/71-155        AC P00258.2
+#=GS FER2_RICPR/11-93      AC Q9ZDW6.1
+#=GS O49551_ARATH/44-127   AC O49551.1
+#=GS ETP1_SCHPO/525-592    AC Q10361.2
+#=GS ETP1_SCHPO/525-592    DR PDB; 2WLB A; 525-607;
+#=GS ETP1_SCHPO/525-592    DR PDB; 2WLB B; 525-607;
+#=GS O07876_SPHSX/8-91     AC O07876.1
+#=GS Q9ZAM5_SPHSX/8-91     AC Q9ZAM5.1
+#=GS FER2_CAUCR/8-91       AC P37098.1
+#=GS FER6_RHOCA/7-91       AC P80306.1
+#=GS FER6_RHOCA/7-91       DR PDB; 1UWM A; 7-91;
+#=GS P74447_SYNY3/31-113   AC P74447.1
+#=GS P73171_SYNY3/7-85     AC P73171.1
+#=GS FER1_AQUAE/3-83       AC O67065.1
+#=GS FER4_RHOCA/7-86       AC P16022.1
+#=GS P74283_SYNY3/5-88     AC P74283.1
+#=GS PUTX_PSEPU/8-92       AC P00259.3
+#=GS PUTX_PSEPU/8-92       DR PDB; 1PDX A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQR C; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQR B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLP C; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1R7S A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQR A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1YJJ A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1R7S C; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQQ B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLP A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLP B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1R7S B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQQ A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLN B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1YJI A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLN A; 7-91;
+#=GS TERPB_PSESP/8-92      AC P33007.2
+#=GS P95277_MYCTU/9-84     AC P95277.1
+#=GS O05933_PSEPU/11-88    AC O05933.1
+#=GS DESET_MYCTU/303-373   AC O05875.1
+#=GS O23344_ARATH/57-131   AC O23344.1
+#=GS P74159_SYNY3/11-86    AC P74159.1
+#=GS FER2_SYNP6/8-83       AC P08451.2
+#=GS P73388_SYNY3/9-84     AC P73388.1
+#=GS FER1_HALMA/35-108     AC P00217.2
+#=GS P74449_SYNY3/11-88    AC P74449.1
+#=GS FER2_NOSMU/10-85      AC P00249.2
+#=GS FER2_APHSA/10-86      AC P00251.2
+#=GS FER1_CYAPA/10-85      AC P17007.3
+#=GS FER_PORPU/10-85       AC P51320.2
+#=GS FER_ODOSI/10-85       AC P49522.2
+#=GS FER_BUMFI/9-84        AC P13106.1
+#=GS FER3_CYACA/9-84       AC P00241.1
+#=GS FER2_CYACA/8-83       AC P15789.1
+#=GS FER_BRYMA/8-83        AC P07838.1
+#=GS FER_APHSA/9-83        AC P00250.2
+#=GS FER_THEVL/9-84        AC P0A3D1.2
+#=GS FER_PERBI/6-80        AC P10770.1
+#=GS FER3_RAPSA/8-82       AC P14938.1
+#=GS FER1_SPIOL/58-132     AC P00221.2
+#=GS FER_SILPR/57-131      AC P04669.1
+#=GS FER_WHEAT/54-128      AC P00228.2
+#=GS FER_SAMNI/8-82        AC P00226.1
+#=GS FERA_ALOMA/8-82       AC P81372.1
+#=GS FER_ARCLA/8-82        AC P00223.1
+#=GS FER_DATST/8-82        AC P68165.1
+#=GS FER_PALPL/9-83        AC P07484.1
+#=GS FER_EUGVI/8-82        AC P22341.1
+#=GS FER_CHLFU/6-80        AC P56408.1
+#=GS FER_SYNY4/9-83        AC P00243.2
+#=GS FER1_PHYAM/8-82       AC P00229.1
+#=GS FER2_PHYAM/9-83       AC P00231.1
+#=GS FER2_SPIOL/8-82       AC P00224.1
+#=GS FER_PHYPA/57-132      AC O04166.1
+#=GS FER_MARPO/7-81        AC P09735.1
+FER_GLEJA/8-82                   LTPDGE...RTIEVPDDKF.ILDAGE...E.A.GLDLPYSCRA.......GA....CSSCTGKLLDGRV.....DQSE...QSFLDDDQMAEGFV.....................LTCVAYPA
+FER2_RAPSA/9-84                  IGPEGE..ENEFEVQDDQF.ILDAAE...E.A.GVDLPYSCRA.......GA....CSTCAGQIVKGQV.....DQSE...GSFLEDDHFEKGFV.....................LTCVAYPQ
+Q39648_CITSI/61-136              IGPMGE..EHEFEAQEDQY.ILDAAE...E.A.GVDLPYSCRA.......GA....CSTCAGKLVSGSV.....DQSD...GSFLDDNQMEAGYL.....................LTCISYPT
+FER3_MAIZE/63-138                VGPEGE..EHEFDAPDDAY.ILDAAE...T.A.GVELPYSCRA.......GA....CSTCAGKIESGSV.....DQSD...GSFLDDGQQEEGYV.....................LTCVSYPK
+FER6_MAIZE/66-141                VGPDGT..EHEFEAPDDTY.ILEAAE...T.A.GVELPFSCRA.......GS....CSTCAGRMSAGEV.....DQSE...GSFLDDGQMAEGYL.....................LTCISYPK
+FER1_SYNP2/9-83                  ITPDGE...VSYDAPDDEY.ILDSAG...D.A.GYDLPASCRA.......GA....CSTCAGKIVSGTV.....DQSE...QSFLDDDQIEAGYV.....................LTCIAYPQ
+FER1_EQUAR/7-81                  KTPSGE...FTLDVPEGTT.ILDAAE...E.A.GYDLPFSCRA.......GA....CSSCLGKVVSGSV.....DESE...GSFLDDGQMEEGFV.....................LTCIAIPE
+FER2_EQUAR/7-80                  KTPDGD...ITFDVEPGER.LIDIGS...E.K..ADLPLSCQA.......GA....CSTCLGKIVSGTV.....DQSE...GSFLDDEQIEQGYV.....................LTCIAIPE
+#=GR FER2_EQUAR/7-80       SS    E-----...EEEEE-----.TT----...-.S..S----SS--.......--....-STT---EEE-EE.....E---...-----HHHHH----.....................-TTT-EEE
+FER2_PLEBO/10-85                 NKKRNL..DITLPVDEDTT.VLEAAE...E.A.ELDLPFSCHS.......GA....CSSCVGKVVEGEI.....NQDD...QTFLDEEQVAKGFV.....................LLCVTYPR
+P95533_PSEPU/253-328             VLMKGQ..THAVPVRAGEL.LLSAML...R.A.GLPAPHACRV.......GE....CASCMCRLQAGEVQ....RLDS....SVLDEDDVAAG.W...................L.LACRTRAA
+KSHB_MYCTU/273-348               VELDGQ..THTVSWPRTAK.LLDVLL...A.A.GLDAPFSCRE.......GH....CGACACTLRAGKVN....MGVN....DVLEQQDLDEG.L...................I.LACQSRPE
+Q44253_ACISP/251-326             FMLNGI..KNSVMCSEDDFILNEIIK......AGINVPSSCCA.......GN....CGSCMCLLVSGDVI....LESN....TVLDASDEEDGWI.....................LACRSKPR
+Q59656_PLEBO/573-647             FAQSGK....EITCTQDDL.ILDIAD.....QAEVAIESSCRS.......GT....CGSCKCTLLEGEV.....SYDS..EPDVLDEHDRASGQI.....................LTCIARPV
+P71846_MYCTU/600-675             FTLSGQ..RAIFDLVPGDS.ILEGAL...G..LRSDAPYACMG.......GA....CGTCRAKLIEGNVE....MD....HNFALRKAELDAGYI.....................LTCQSHPT
+O84985_PSEPU/271-347             VISDGR..ALTFDLPRNTQNVLDAGN...A.I.GAELPYSCKA.......GV....CSTCKCRVIEGEV.....EMDS...NHALEDYEVAAGYV.....................LSCQTYPV
+PAAE_ECOLI/266-342               VRQDGR..DREIVLNADDESILDAAL...R.Q.GADLPYACKG.......GV....CATCKCKVLRGKV.....AMET...NYSLEPDELAAGYV.....................LSCQALPL
+HCR_ECOLI/241-316                FTKLQP..AREFYAPVGTT.LLEALE.....SNNVPVVAACRA.......GV....CGCCKTKVVSGEY.....TVSS...TMTLTDAEIAEGYV.....................LACSCHPQ
+O87803_PSEST/5-82                IKIADT..DVEFTISDRDT.ILRAAL...R.D.GIPISYECNS.......GG....CGSCKIDVVEGQVE...TLWGE...APGLSPRDKRK.SR...................K.LACQCLAS
+TMOF_PSEME/4-81                  IQSDDL..LHHFEADSNDT.LLSAAL...R.A.ELVFPYECNS.......GG....CGACKIELLEGEVS...NLWPD...APGLAARELRK.NR...................F.LACQCKPL
+O32476_PSESP/4-81                LKIEGQ..APGTCG.SGKS.LLVSAL...A.N.GIGFPYECAS.......GG....CGVCKFELLEGNVQ...SMWPD...APGLSSRDREKGNR...................H.LACQCVAL
+Q51944_BURPI/5-82                ITIEGG..SAFSVAADEDT.LLRGAL...R.G.GIALPHECSV.......GG....CGACRFDLLSGLVE...SIWPE...APGLSERDRKR.GK...................H.LACQSRPL
+Q53028_RHOCO/4-80                INVQPF..SHEYSCEDGES.LLDGAL..RN...SLLLKYGCKH.......GG....CGTCKVRLLDGDV.....EEPG..SSFALTPEDRENDVI.....................LACASVPL
+Q45344_BURPI/10-88               YAWNRP..RSTTHARPPKA.SLTGML...R.LGRKGIPVGCVN.......GG....CGVCKVRVLDGST......RLGR.RQPCPRQRRRRSAGL...................T.LACREAPL
+Q9ZNP1_COMTE/9-88                VSVEQT..GDTYACGTHES.LLSGML...R.LGRKGIPVGCVN.......GG....CGVCKVQVLEGAV.....RHLGP.VSCAHVSDLERDQGY...................T.LACRVAPL
+Q9Z418_PSEPU/11-90               VHVMQT..GETFPCATDES.LLQGML...R.LGRKGIPVGCVN.......GG....CGVCKVHVIEGQC.....RPLGP.VSRAHVSAAEEARGF...................T.LACRVAPV
+Q9ZAN6_9BURK/12-91               VHVAQT..DETFPCAGNES.LLTGMV...R.LGRKGIPVGCVN.......GG....CGVCKVRIVEGQI.....KALGP.ISRAHVTLDEENQGY...................T.LACRVAPQ
+FERN_PSEPU/7-85                  ITVQPG..GERFVCQPQQS.ALHAME...T.QGKRCLPVGCRG.......GG....CGLCKVRVLAGDY......ESGR.VSCKHLPVEAREQGY...................A.LACRLFAR
+O24827_ACISP/7-85                ITEQCS..GQRFPCKAGQS.VLKAME...Q.QGLECAPVGCRG.......GG....CGLCKVTVREGDY......ECGK.MSRVHAPPEALAQGE...................V.LACRIYPL
+FERX_PSEPU/8-86                  VFEVLS..GQSFRCAEGQS.VLRAME...A.QGKRCIPVGCRG.......GG....CGLCRVRVLSGAY......RSGR.MSRGHVPAKAAAEAL...................A.LACQVFPQ
+Q52061_PSEPU/8-86                IRETVS..GQTFRCLPDQS.VLSAME...Q.QGKRCVPVGCRG.......GG....CGLCKVRVLSGTY......QCHK.MSCNHVPPEAAKQGL...................A.LACQLFPQ
+Q52167_PSEPU/8-86                VHETNS..GQSFTCRPDQS.VLRAME...E.QGKRCVPVGCRG.......GG....CGLCKVRVLSGDY......QCGR.MSCSQVPPEAAQQGL...................A.LACQLYPR
+O84964_9RALS/4-82                VEIADS..GQRYPCDPGQN.LLRAME...V.LGQRGIPAGCRG.......GG....CGVCKVRIESGRY......RTGK.MSRACLSEAEQGQGL...................V.LACKAFPD
+Q9Z3W9_9SPHN/8-85                IRILGG..GQ.FACPEGER.VLIAME...Q.FGSSDIGVGCRG.......GG....CGFCLVRVVEGEY......RTGK.MSTAKVSVADQAKGY...................A.LACRIYPM
+DMPP_PSEUF/5-82                  VTIEPT..GEVIEVEDGQT.ILQAAL...R.Q.GVWLPFACGH.......GT....CATCKVQVVEGEVD...IGEAS...PFALMDIERDERKV.....................LACCAIPL
+O84963_9RALS/4-81                LTIEPI..GQTIPIAPGQT.VLDACL...R.S.GVWLPHACCH.......GL....CATCKVQVVEGEVD...QGEAS..SFALMDFER.DNGQC.....................LACCATAQ
+Q52574_PSESP/5-83                LTIEPL..GRTLDVAEGQT.LLDAAL...R.S.GVYIPHACGH.......GL....CGTCKVQVTSGEVD...HGAAN..PLRRSWISSGEEGKT.....................LACCATAL
+Q9ZNP2_COMTE/5-82                LTLEPL..GASIEVEEGQT.LLDAAL...R.Q.GIYIPHACGH.......GL....CGTCKIQVCDGDVD...HGAAN..PFALMDMER.EDGMT.....................LACCATLQ
+Q43983_ACICA/5-82                VTIEPA..GTIIQVEEDQT.ILDAAL...R.Q.GVWLPFACGH.......GT....CGTCKVQVTDGFYD...VGEAS..PFALMDIER.EENKV.....................LACCCKPE
+O87617_PSEAE/3-78                LHIQPL..GQTLSVDSGAN.LLEALR...A.AE.VPISYSCMA.......GR....CGTCRCKVLKGQV......L..E.SGREATLTNPHADDY...................V.LACMSAIT
+O52378_9RALS/3-78                LVVEPL..NLHLNAETGST.LLDVLR...S.NE.VPISYSCMS.......GR....CGTCRCRVIAGHL......R..D.NGPETGRPQAGKGTY...................V.LACQAVLT
+Q51492_PSEAE/3-78                LLVLPN..NRRLPFDSGAN.LLEVLR...E.HR.VGISYSCMS.......GR....CGTCRCRVIDGSV......I..S.SAAKSGDSNRIEEHY...................V.LACQSVLT
+NDOR_PSEPU/3-78                  LLIQPN..NRIIPFSAGAN.LLEVLR...E.NG.VAISYSCLS.......GR....CGTCRCRVIDGSV......I..D.SGAENGQSNLTDKQY...................V.LACQSVLT
+Q52140_PSEPU/3-78                LLIQPN..NRLISFSPGAN.LLEVLR...E.NG.VAISYSCMS.......GR....CGTCRCRVTDGSV......I..D.SGTGSGLPHLVDEHY...................V.LACRSVLT
+Q9Z9X8_9GAMM/242-317             VRIASS..GATVHVDKHTT.IVAALA...S.I.GIEVDTSCGE.......GV....CGTCMVDVVSGTP.....EHRD....HCLSKAERASGKV...................I.CCCVSRAR
+VANB_PSEUH/234-309               VRIHST..GQVLQVPADQT.VSQVLD...A.A.GIIVPVSCEQ.......GI....CGTCITRVVDGEP.....DHRD....FFLTDAEKAKNDQ...................F.TPCCSRAK
+VANB_PSES9/231-306               GRLARS..GLTLQVPAERS.VAQVLD...D.A.GVCIPLACEQ.......GI....CGTCLTRVLDGEP.....EHRD....SFLTDAERARNDQ...................F.TPCCSRAR
+VANB_PSEPU/231-307               VQLNST..GQVFEVPADQS.VVHVLE...Q.H.GIAIAMSCEQ.......GI....CGTCLTRVLSGTPE....ASRP....VFLTEQEQALNDQ...................F.TPCCSRSK
+VANB_ACIAD/234-309               IEVLGS..DRKIEVSAHQT.ATQALL...E.H.GFDVPVSCEQ.......GI....CGTCITRVVSGTP.....DHRD....VFMTDEEHALNDQ...................F.TPCCSRAK
+O88034_STRCO/230-305             VVLARS..GRTVAVPPGTS.VLDAVR...E.T.GVEVLYSCTE.......GT....CGTCETEVVEGEP.....DHRD....SVLTEEERAAGET...................M.LICVSRCR
+P94680_COMTE/234-309             LVLQRA..GLSTTVDAHES.VLDAME...R.V.GVDFPWSCRE.......GI....CGTCEAPVLEGEV.....QHLD....YVLSPEERAEQRR...................M.MVCVSRCG
+CBAB_COMTE/232-307               VNLARS..GAQYVVREGET.ILDVLR...N.A.GHHVTSSCRQ.......GI....CGMCETTLISGVP.....DHRD....RLLTDSEKASGRT...................M.LICCSRAL
+POBB_PSEPS/236-311               VHLARS..GRTIPIAAGCT.ILDALQ...A.G.GVAVPSSCQQ.......GV....CGICETAVLAGVP.....DHRD....LVLSDQERAAGRT...................M.MICCSGSK
+YEAX_ECOLI/237-313               LVLARS..GKEFVVPEEMT.ILQVIE...N.NKAAKVECLCRE.......GV....CGTCETAILEGEA.....DHRD....QYFSDEERASQQS...................M.LICCSRAK
+Q47914_SPHCR/241-316             VLARRS..GQEFTVEPGMT.ILETLL...Q.N.GISRNYSCTQ.......GV....CGTCETKVLEGEP.....DHRD....WVLSDEKKASNST...................M.LICCSLSK
+PDR_BURCE/241-314                VRLSRS..GTSFEIPANRS.ILEVLR...D.A.NVRVPSSCES.......GT....CGSCKTALCSGEA.....DHRD....MVLRDD..EKGTQ...................I.MVCVSRAK
+#=GR PDR_BURCE/241-314     SS    EEES--..--EEEE-TTS-.HHHHHH...H.T.T-----S---.......--....----EEEEEE--E.....E---....SS--TT..T---E...................E.ETTT-EES
+PHT2_PSEPU/243-316               VTLGRS..GIDLEIPVDRS.ILEVLR...D.N.GIRAPSSCES.......GT....CGSCRTRLIEGDV.....EHRD....MVLREDEQH..DQ...................I.MICVSRAR
+O86347_MYCTU/231-301             LELARS..RRVLRVPANRS.ALDVML.....DWDPTTAYSCQQ.......GF....CGTCKVRVLAGQV.....DRRG....RIIEGDN.....E...................M.LVCVSRAV
+YFAE_ECOLI/4-77                  VTLRIT..GTQLLCQDEHP.SLLAAL...E.SHNVAVEYQCRE.......GY....CGSCRTRLVAGQV......D......WIAEPLAFIQPGE...................I.LPCCCRAK
+Y1309_HAEIN/3-75                 IHLIRH..NTTLEFNNET..SLLDHL...E.KNNIHHEYQCRS.......GY....CGSCRVKIKKGKV......S......YKEMPLAFIQPDE...................I.LLCCCHVE
+O31003_VIBAN/5-73                VIVKPS..GVEYQSG..RN.ILDDAF...A.S.SISLEHSCKT.......GD....CGVCCAEVISGLV.....ENEN........GELVTQG.H...................I.LTCQSKAK
+RFBI_SALTY/5-76                  IKIFPS..NIEFSGREDES.ILDAAL...S.A.GIHLEHSCKA.......GD....CGICESDLLAGEVV....DSKG.........NIFGQGDK...................I.LTCCCKPK
+P95461_9PSED/17-94               VQILPQ..DVTIVLEPGQT.LLEAAL...A.N.GIAYPHDCTV.......GT....CASCKTRLKQGRVR...EATPF...GYTLSKAELDA.GY...................I.LACQAFPR
+O85971_SPHAR/13-90               VTVEGS..PTTLDIPAGKT.LLEAML...D.A.GLAMPHDCKV.......GS....CGTCKFKLVSGKIG...ELSPS...ALALEGDELRS.GF...................R.LACQAIPR
+XYLA_PSEPU/20-97                 VSVRGQ..GFQFKVPRGQT.ILESAL...H.Q.GIAFPHDCKV.......GS....CGTCKYKLISGRVN...ELTSS...AMGLSGDLYQS.GY...................R.LGCQCIPK
+YCBX_ECOLI/293-362               IDWQGQ....AFRGNNQQV.LLEQLE.....NQGIRIPYSCRA.......GI....CGSCRVQLLEGEV......T.P......LKKSAMGDDGT....................ILCCSCVPK
+P96096_THIFE/9-86                HTRDKQ..QVSFVCSEAED.LLSAAD...R.G.SILLPSQCRK.......GT....CGACVATVTAGTYH...LGEVS..MEALPEKAQ.ARGDV.....................LLCRTYPR
+MMOC_METTR/7-81                  ETEDGE..TCRRMR.PSED.WISR.A...E.A.ERNLLASCRA.......G.....CATCKADCTDGDYE...LIDVK..VQAVPPDEE.EDGKV.....................LLCRTFPR
+O85675_ACIAD/8-85                NFADGK..TFFIAVQEDEL.LLDAAV...R.Q.GINLPLDCRE.......GV....CGTCQGTCETGIYE...QEYVD..EDALSERDL.AKRKM.....................LACQTRVK
+BENC_ACIAD/19-98                 QFEDGV..TRFIRIAQGET.LSDAAY...R.Q.QINIPMDCRE.......GA....CGTCRAFCESGNYD...MPEDNY.IEDALTPEEAQQGYV.....................LACQCRPT
+#=GR BENC_ACIAD/19-98      SS    E-----..EEEEEE-----.HHHHHH...H.T.T---S-S---.......--....----EEEEEE-EEE...--GGGS.-TTT--HHHHH---E.....................ETTT-EEE
+XYLZ_PSEPU/8-86                  DFEDGV..TRFIDANTGET.VADAAY...R.Q.GINLPLDCRD.......GA....CGACKCFAESGRYS...LGEE.YIEDALSEAEA.EQGYV.....................LTCQMRAE
+CBDC_BURCE/8-85                  RFEDDV..TYFITSSEHET.VADAAY...Q.H.GIRIPLDCRN.......GV....CGTCKGFCEHGEYD...GGDY.I.EDALSADEA.REGFV.....................LPCQMQAR
+O66892_AQUAE/7-72                RYSDGDFRWEEYEVDGEGKTVLEILQNIKEIDPTLSFRAMCRA.......GI....CGTCVVKVN.....................GEHK..........................LACNTRVY
+O85226_PSEFL/27-86               VTA.AL..GETVLSVIQATGLRQVAR...N.DHGQLVGAYCGM.......GV....CHCCLVQIDG...................RHKR...........................RACQTLVK
+O29575_ARCFU/14-75               AYWQSFEVPAKR.GMTVLEALYYIKE...NLDSSLAFRASCRM.......GI....CGSCAMKIN.....................DKP..........................RLACETQVL
+O27878_METTH/21-82               PHLESYEIPSKE.KMKVLDALQLINK...IHGANIAFRSSCRA.......GQ....CGSCAVKMN.....................GEV..........................VLACRAEVE
+Y092_METJA/14-73                 EYLESYEVP..E.NITVLEALEYINK...HYEANILFRASCRN.......AQ....CGSCAVTIN.....................GEP..........................RLACETKVE
+FER5_RHOCA/10-107                IMKKDK..TIYAVAGNTATILALAKE...H.AIPIPF..ECG........DG...DCASCLIEVTHLDN.....KPAMAMMLTEKEKARLKELQMITAEEIEAA..EVSDLPPRFRLACQFIPR
+Q44501_AZOVI/10-107              LMPHNK..KVQAVAGKRSTLLGVAQE...N.GVKIPF..ECQ........DG...NCGSCLVKITHLDG.....ERIKGMLLTDKERNVLKSVGKLPKSEEERA..AVRDLPPTYRLACQTIVT
+Q46508_DESFR/6-74                ITIDGK..TTSVPE...GSTILDAAK...T.L.DIDIPTLCYLNLEALSINNKAASCRVCVVE.....................VEGRRN....L....................APSCATPVT
+Q9ZBV9_STRCO/15-78               FTLDGQ..EARVPE...GSTILDACR...A.A.GKDVPTLCEGDT..LAPKN...ACRVCVVD.....................VEGART....L....................APACSRKAE
+NUOG_MYCTU/19-82                 LTIDGV..EISVPK...GTLVIRAAE...L.M.GIQIPRFCDHPL..LEPVG...ACRQCLV.....................EVEGQR....KP....................LASCTTVAT
+O87815_CUPNE/22-85               LEVDGV..SVTVPA...GTSVMRAAM...E.A.QIAVPKLCATDS..LRNFG...SCRLCLV.....................EIEGRR....GY....................PASCTTPVE
+NQO3_THET8/4-88                  VKVNDR..IVEVPP...GTSVMDAVF...H.A.GYDVPLFCSEKH..LSPIG...ACRMCLVRIGLPKKGPDGKPLLNEKGEPEIQWQP....KL....................AASCVTAVA
+#=GR NQO3_THET8/4-88       SS    EE-SS-..EEEE--...--BHHHHHH...H.-.------SS--TT..S----...----SEEB-------------------------S....S-....................EETTT-B--
+P74022_SYNY3/6-69                LTIDDK..AIAIEE...GASILQAAK...E.A.GVPIPTLCHLEG..ISEAA...ACRLCMVE.....................VEGTNK....L....................MPACVTAVS
+P94157_SYNP6/6-69                LQIDDQ..ELAANV...GQTVLQVAR...E.A.SIPIPTLCHLQG..VSDVG...ACRLCVVE.....................VAGSPK....L....................QPACLLTVS
+Q44513_ANAVA/6-69                LTINDQ..LISAQE...EETLLQAAQ...E.A.GIHIPTLCHLEG..VGDVG...ACRLCLVE.....................VAGSNK....L....................LPACVTKVA
+P77908_MOOTH/4-67                LTIDGQ..RVTAPE...GMTILEVAR...E.N.GIHIPTLCHHPK..LRPLG...YCRLCLVD.....................IEGAAK....P....................MTACNTPVA
+Q9ZJW1_HELPJ/4-65                MNINGK..TIECQE...GQSVLEAAR...S.A.GIYIPTICYLSG..CSPTV...ACKMCMV........................EMDG...KR....................IYSCNTKAK
+O05397_BACSU/11-72               VRVDGT..EIQARA...GATILDILN...E.N.GIEYPQICHVPE..VDPIQ...TCDTCIV........................EANG...KL....................VRSCATVAE
+YJGC_BACSU/7-68                  ITINGV..EMEASE...EQTVLQLLN...N.S.SIEVPQVCYHPS..LGPIE...TCDTCIV........................SING...EL....................KRSCSAELK
+NUOG_SALTI/4-72                  IHVDGK....EYEVNGADN.LLQACL...S.L.GLDIPYFCWHPAL.GSVGA....CRQCAVK..................QYQNAEDTR...GR...................LVMSCMTPAT
+O66748_AQUAE/6-70                KIYIDD...VEIEAEKGKTVLQVALE..N....GIDIPYFCYHPR..LSIAG...ACRMCVVY.......................WEDINR......................LVISCNLPVQ
+NDUS1_DICDI/5-71                 FKINEI..ECEVNEEKEDITILQACT...A.N.GIEIPRFCYHEK..LTIAG...NCRMCLV.....................YVTNEE....KL....................LAACGIPLD
+NQO3_PARDE/7-71                  IKIDDT....IIEVDPNMT.LIQACE...M.A.GIEVPRFCYHER..LSIAG...NCRMCLVEVVGG........PPK........PA............................ASCAMQVK
+NDUS1_NEUCR/38-101               LTIDGK..KVSIEA...GSALIQACE...K.A.GVTIPRYCYHEK..LMIAG...NCRMCLV.....................EVEKVP....KP....................VASCAWPVQ
+NUOG_RICPR/4-67                  LIIDGS..EIEISE...GSTVYQACI...Q.A.GKEIPHFCYHAR..LKIAG...NCRMCLV.....................EIEKSQ....KP....................VASCAMPVS
+NDUS1_SOLTU/70-133               VFVDGY..PVKIPK...GMTVLQACE...I.A.GVDIPRFCYHSR..LSIAG...NCRMCLV.....................EVEKSP....KP....................VASCAMPAL
+NDUS1_RECAM/4-67                 VFVDGL..SVEVKK...GATILQACA...Q.V.GIEIPRFCYHER..LSIAG...NCRMCLV.....................EVEKSP....KP....................VASCAMPVM
+NDUS1_BOVIN/34-97                VFVDGQ..SVMVEP...GTTVLQACE...K.V.GMQIPRFCYHER..LSVAG...NCRMCLV.....................EIEKAP....KV....................VAACAMPVM
+O52683_THEMA/3-65                IYVDGR..EVIIN..DNERNLLEALK.....NVGIEIPNLCYLS.....EASIYGACRMCLVEIN.......................GQIT........................TSCTLKPY
+Q46606_DESVU/3-71                AFINGK..EVRCEP...GRTILEAAR...E.N.GHFIPTLCELADIGHAPGT....CRVCLVE.....................IWRDKEAGPQI....................VTSCTTPVE
+HOXU_CUPNH/5-66                  ITIDGK..TLTTEE...GRTLVDVAA...E.N.GVYIPTLCYLKDK.PCLGT....CRVCSVKVN.....................GN......V....................AAACTVRVS
+P72305_RHOOP/5-66                IEIDGV..TVTTEE...SRTLVDVAA...E.A.GVYIPTLCYLKGK.PSLGT....CRVCSVK.....................LNGTV..........................VAACTIRVA
+Q59261_CLOSA/4-67                IVIDEK..TIQVQE...NTTVIQAAL...A.N.GIDIPSLCYLNEC.GNVGK....CGVCAVE.....................IEGKNN....L....................ALACITKVE
+Q9ZNE4_CLOPE/4-67                IIINDK..TIEFDG...DKTILDLAR...E.N.GFDIPVLCELKNC.GNKGQ....CGVCLVE.....................QEGNDR....L....................LRSCAIKAK
+PHF1_CLOPA/4-67                  IIINGV..QFNTDE...DTTILKFAR...D.N.NIDISALCFLNNCNNDINK....CEICTVE.....................VEGTG.....L....................VTACDTLIE
+Q59262_CLOAB/4-66                IILNGN..EVHTDK...DITILELAR...E.N.NVDIPTLCFLKDC.GNFGK....CGVCMVE.....................VEGKG.....F....................RAACVAKVE
+P74801_SYNY3/5-63                IHFLPD..DVTVAARVGEPILDVAER......AGVFIPTGCLM.......GS....CHACEVELG.......................DGTP.......................ICACISAVP
+XDHE_BACSU/18-77                 MTVNGQ..AWEV.AAVPTTHLSDLLR...KEFQLTGTKVSCGI.......GR....CGACSILID.....................GK......L....................ANACMTMAY
+HCRC_THAAR/7-66                  LTLNGR..ARED.LVPDNMLLLDYLR...ETVGLTGTKQGCDG.......GE....CGACTVLVD.....................DR......P....................RLACSTLAH
+#=GR HCRC_THAAR/7-66       SS    EEE---..EEEE.EEETT-BHHHHHH...HT------------.......--....----EEEET.....................TE......E....................EEGGGSBGG
+P95635_RHOPA/15-74               LNVNGR..WRED.AVTDDMLLVDYLR...DIAGLTGVKTGCDG.......GE....CGACTVLID.....................GE......A....................APSCLVLAV
+XDHC_ECOLI/11-69                 CTINGM..PFQLHAAPGTP.LSELLR...E.QGLLSVKQGCCV.......GE....CGACTVLVD....................G..TAID.........................SCLYLAA
+YAGT_ECOLI/65-124                LKVNGK..TEQL.EVDTRTTLLDTLR...ENLHLIGTKKGCDH.......GQ....CGACTVLVN.....................GR......R....................LNACLTLAV
+DCMS_HYDPS/8-67                  VNVNGK..AQEK.AVEPRTLLIHFLR...EELNLTGAHIGCET.......SH....CGACTVDID.....................GR......S....................VKSCTHLAV
+Q52589_9PSED/8-67                MTVNGR..KVEE.AVEARTLLVHFLR...EKLNLTGTHIGCDT.......SH....CGACTVDVD.....................GK......S....................IKSCTHLAV
+O52837_BRAJA/6-65                LIVNGN..PVTA.NVDPRTLLVQFLR...ENLRLTGTHVGCDT.......SQ....CGACVVHLD.....................GK......A....................VKSCTTLAV
+O53709_MYCTU/5-64                MTVNGE..PVTA.EVEPRMLLVHFLR...DQLRLTGTHWGCDT.......SN....CGTCVVEVD.....................GV......P....................VKSCTMLAV
+O87682_ARTNI/8-67                VEVNGV..THAT.DVEPRRLLADFLR...DDLHLRGTRVGCEH.......GV....CGSCTVLLD.....................GQ......P....................VRSCTVLAV
+Q59128_ARTNI/14-73               VEVNGR..RRTV.AVDARETLADHLR...NDQKLTGIKLGCEH.......GV....CGACTILMD.....................GA......A....................VRSCLTLAA
+P72223_PSEPU/14-73               ATINGK..PRVF.YVEPRMHLADALR...EVVGLTGTKIGCEQ.......GV....CGSCTILID.....................GA......P....................MRSCLTLAV
+#=GR P72223_PSEPU/14-73    SS    EEE---..EEEE.EE-TTSBHHHHHH...HT------------.......--....----EEEE-.....................--......E....................EEGGGSBGG
+Q9ZBN8_STRCO/5-65                LTVNGR..PQEADDVWEGESLLYVLR...ERMGLPGSKNACEQ.......GE....CGSCTVRLD.....................GVP..........................VCSCLVAAG
+O54050_RHOCA/5-68                FLLNGE..TRRVRIEDPTQSLLELLR...A.EGLTGTKEGCNE.......GD....CGACTVMIRD.................AAGSR......A....................VNACLMMLP
+#=GR O54050_RHOCA/5-68     SS    EEE---..EEEEE-S-TT-BHHHHHH...H.------------.......--....----EEEEES.................----E......E....................EETTTSBGG
+O23887_MAIZE/15-85               LAVNGK..RYEAAGVAPSTSLLEFLR...TQTPVRGPKLGCGE.......GG....CGACVVLVSK.................YDPATDEVTEFS....................ASSCLTLLH
+ALDO4_ARATH/8-78                 FAVNGE..KFEVLSVNPSTTLLEFLR...SNTCFKSVKLSCGE.......GG....CGACIVILSK.................YDPVLDQVEEYS....................INSCLTLLC
+ALDO1_ARATH/23-95                FAINGQRFELELSSIDPSTTLVDFLR...NKTPFKSVKLGCGE.......GG....CGACVVLLSK.................YDPLLEKVDEFT....................ISSCLTLLC
+O30328_ACEEU/4-63                FRLNGR..EVTV.DVPGDTPLLWVIR...DEVGLTGTKFGCGI.......GM....CGACTIHIG.....................GR......A....................TRSCVTPVS
+IORA_BREDI/4-64                  FILNGQ..PVRVTEVPEDAPLLWVVR...EHLKLSGTKFGCGL.......GL....CGACTVHIN.....................GE......A....................ARSCITPLS
+XDH_EMENI/39-108                 FYLNGT..KVILDSVDPEITLLEYLR...G.IGLTGTKLGCAE.......GG....CGACTVVVS..........QIN.....PTTKKL....YHA..................SINACIAPLV
+O61198_CAEEL/8-78                FNVNGK..DIKEENVDPELTLAYYLR...NKLGLRGTKLGCEE.......GV....CGSCTVVLGT.................WDDSLNKAVYSA....................VNACLVPLF
+O17892_CAEEL/18-86               FYVNGK..RVEEKDVDPKMTLATYLR...DKLKLTGTKIGCNE.......GG....CGACTIMISH.................IENGE..IKHFS....................ANSCLMPVC
+XDH_DROSU/13-83                  FFVNGK..KVTDTNPDPECTLLTYLR...DKLRLCGTKLGCAE.......GG....CGACTVMISR.................MDRGQHKIRHLA....................VNACLTPVC
+O17506_BOMMO/19-89               FYVNGK..KVIESSPDPEWTLLWYLR...KKLRLTGTKLGCAE.......GG....CGACTVMVSK.................YNRQENKIIHLA....................VNACLAPVC
+Q17250_BOMMO/18-88               FFVNGK..KVLESNPDPEWTLLFYLR...KKLKLTGTKYGCGE.......GG....CGACTVMVSK.................YLKNEDRINHIA....................VNACLISVC
+ADO_BOVIN/9-79                   FYVNGR..KVTEKNVDPETMLLPYLR...KKLRLTGTKYGCGG.......GG....CGACTVMISR.................YNPITKKIRHYP....................ANACLTPIC
+XDH_BOVIN/8-78                   FFVNGK..KVVEKNADPETTLLAYLR...RKLGLRGTKLGCGE.......GG....CGACTVM............LSK.....YDRLQDKIIHFS....................ANACLAPIC
+#=GR XDH_BOVIN/8-78        SS    EEE---..EEEETT--TT-BHHHHHH...HT------------.......--....----EEE............EEE.....EETTTTEEEEEE....................EETTT-BGG
+MOP_DESGI/6-65                   ITVNGI..EQNL.FVDAEALLSDVLR...QQLGLTGVKVGCEQ.......GQ....CGACSVILD.....................GK......V....................VRACVTKMK
+#=GR MOP_DESGI/6-65        SS    EEE---..EEEE.EE-TTSBHHHHHH...HT------------.......--....----EEEE-.....................--......E....................EEGGG-BGG
+O53669_MYCTU/13-78               DESCGELREFTVEVNEGEVVLDVILRLQQTQTPDLAVRWNCKA.......GK....CGSCSAEIN.....................GKPR..........................LMCMTRMS
+O29566_ARCFU/5-80                TFL.PS..GKRAEVDEGKTILSAAQE...I.GEGIRS..LCGG.......KG...SCGKCL..VVVR........KGDVEILSEEAHEKFVRE..K.................GYYLACQTAVK
+O30225_ARCFU/5-84                TFE.PV..GKKVE.DEPDTILEIARR...N.GVLIRS..DCGG.......KG...VCGKCK..VVVVDY......RGSLSDITDHERKHLIEEEISK................GYRLACQARVE
+NQRF_CHLTR/46-122                NND.DS..LTKTV.DSGKTLLSSLLD...S.GIAIPS..PCGG.......KA...ACKQCK..VRIT.........KNADEPLETDRSTFSKQQLEQ................GWRLSCQTKVQ
+NQRF_HAEIN/43-119                NDD.PE..KAITL.PAGGKLLGALAS...K.GIFVSS..ACGG.......GG...SCGQCI..VKVK.........NGGGEILPTELSHINKREAKE................GYRLACQVNVK
+NQRF_VIBAL/39-115                NDD.PS..LAIVT.QPGGKLLSALAG...A.GVFVSS..ACGG.......GG...SCGQCR..VKVK.........SGGGDILPTELDHITKGEARE................GERLACQVAMK
+O84062_CHLTR/8-83                ADD......ENQEFHLEDGSSIAEV......CEHSGVPLACT........EG...VCGTCVIEVLEGA........DNLSDFSEAEYDFLGDPEDS.................NERLACQCCIK
+Q9Z8H9_CHLPN/8-83                SDD......EQQEFELEDNSEIAEP......CESMGIPFACT........EG...VCGTCVIEVLEGR........ENLSEFTEPEYDFLGEPEDS.................NERLACQCRIK
+CSMJ_CHLTE/5-82                  IND......KPCNAKVGDLLLNTAK......LNKAHIGYICGG.......NG...ICQSCFVYVLEGA........ECLSEPGEDEKAFISDKLFAE................GGRLACRTTIV
+CSMI_CHLTE/5-82                  IND......KTASSSVGQTIGKAAR......LNHAHVGYVCGG.......HG...LCQACYITVQEGA........DCLAPLTDVEKAFLSPRQIAA................GGRIACQATIA
+FER_TRIVA/13-90                  AVKGGVKKQLKFEDDQTLFTVLTEAG.......LMSADDTCQG.......NK...ACGKCICKHVSGKV......A.A..E..DDEKEFLEDQPAN..................ARLACAITLS
+#=GR FER_TRIVA/13-90       SS    EE----EEEE---TTEEHHHHHHT--.......----TTS---.......--...-----EEEEEE---......-.-..-..HHHHHHCTTS-TT..................EEEGGG-EE-
+P73774_SYNY3/7-88                LICLPD..NRLLEIDSNETILDALLK..G....DIAHISVCGG.......KA...NCSTCRIMVLDGIK.....NCSPPTSIEQALAKKLDFPFHV..................R.LACQTKLS
+FER_BUCAP/10-92                  KLLLPK..GGCFECKEGETILNVALK...N.NIKLEHA..CEK.......SC...ACSTCH..CIIRKG......FLSLSGWSEKEEDVLDKAWGLE...............STSRLSCQAIIG
+O69222_AZOVI/11-93               EVHCPE..GRVVEAETGESILEAALR...N.DIEIEHA..CEM.......SC...ACTTCH..VIVRDG......FDSLEPSDELEDDMLDKAWGLE...............PESRLSCQARVG
+FER_HAEIN/10-92                  EDFCPE..GMVVDAATGDN.LLEVAH...N.A.GVEIHHACDG.......SC...ACTTCHVIVREG........FDSLNETSDQEEDMLDKAWGLE...............MDSRLSCQCVVG
+FER_PSEAE/10-92                  ADHCPE..GAVFEAKPGET.ILDAAL...R.N.GIEIEHACEK.......SC...ACTTCHVIVREG........LDSMEPSDELEDDMLDKAWGLE...............PDSRLSCQAVVA
+ADRX_YEAST/67-149                LKD.GS..QKTYEVCEGETILDIAQG...H.NLDMEG..ACGG.......SC...ACSTCH.VIVDPDY......YDALPEPEDDENDMLDLAYGLT...............ETSRLGCQIKMS
+ADX_PIG/71-155                   NRD.GK..TLTTQGKVGDSLLDVVIE...N.NLDIDGFGACEG.......TL...ACSTCH.LIFEDHI......FEKLEAITDEENDMLDLAYGLT...............DRSRLGCQICLT
+FER2_RICPR/11-93                 IND.EE..ERTVEAPIGLSILEIAHS...N.DLDLEG..ACEG.......SL...ACATCH.VMLEEEF......YNKLKKPTEAEEDMLDLAFGLT...............DTSRLGCQIILT
+O49551_ARATH/44-127              DKD.GE..EIHIKVPVGMNILEAAHE...N.DIELEG..ACEG.......SL...ACSTCHVIVMDTKY......YNKLEEPTDEENDMLDLAFGLT...............ATSRLGCQVIAK
+ETP1_SCHPO/525-592               TPE.GR..EIMIE....GN......E...E.G.......ACEG.......SV...ACSTCHVIVDPEHY.....ELLD..PPEEDEEDMLDLAFGLE...............ETSRLGCQVLLR
+#=GR ETP1_SCHPO/525-592    SS    ---.--..EEEE-....--......-...-.-.......----.......--...--STT-EEE-HHHH.....HHS-..---HHHHHHHCTB----...............TTEE-----B--
+O07876_SPHSX/8-91                AAD.GR..EIETNVDIGTDLMHAGLY...N.SVPGLLG.ECSG.......GL...ACATCR.VHVPAEW......QGVLPAALPAEAELLGFCEESP...............PEARLSCQIKMT
+Q9ZAM5_SPHSX/8-91                SED.GS..ELETTVDVGVDLMHAGLY...N.SIPGILG.ECSG.......GL...ACATCR.VRVPVEW......QSILPPAFPSEAELLGFCDEAP...............PEARLSCQIKMT
+FER2_CAUCR/8-91                  QHD.GA..EQVIDVKPGLTVMEGAVK...N.NVPGIDA.DCGG.......AC...ACATCH.VYVDEAW......LDKTGDKSAMEESMLDFAENVE...............PNSRLSCQIKVS
+FER6_RHOCA/7-91                  EHN.GT..RHEVEAKPGLTVMEAARD...N.GVPGIDA.DCGG.......AC...ACSTCH.AYVDPAW......VDKLPKALPTETDMIDFAYEPNP..............ATSRLTCQIKVT
+#=GR FER6_RHOCA/7-91       SS    ---.--..EEEEE-----BHHHHHHT...-.-------.----.......--...SS-TTE.EEE-HHH......HTTS----HHHHHHHTTSSS--T..............TTEEEGGG-B--
+P74447_SYNY3/31-113              IKLDPIDLKVAIETNDNLLSGLLGQD........LRIMKECGG.......RG...MCATCHVYITAGMES...LSPLNRREQRTLEVITTHNRYS...................R.LACQARVL
+P73171_SYNY3/7-85                SFPQTKFLPLSLEFNACLAEYLTPDN........SPILFGCRT.......GL....CGTCLVKVVGEIL......SPEAEEREILAILAPDDVQA...................R.LACQIKLT
+FER1_AQUAE/3-83                  VIINGK....EFDIPKGVRFGELSHE.....IEKAGIEFGCTD.......GQ....CGVCVARVIKGMECL..NEPSEEEEETLWRVGAVDEDQR.....................LTCQLVIE
+FER4_RHOCA/7-86                  TFTDVS...ITVNVPTGTRIIEMSEK......VGSGITYGCRE.......GE....CGTCMTHILEGSE.....NLSEPTALEMRVLEENLGGKD...................DRLACQCRVL
+P74283_SYNY3/5-88                FVKEQK....DIVVAQGANLREKALQNGVDIYTLKGKLMNCGG......YGQ....CGTCIVEITAGME.....NLSPKTDFENRVLRKKPDNFR.....................LACQTLVN
+PUTX_PSEPU/8-92                  SHD.GT..RRELDVADGVS.LMQAAV...S.NGIYDIVGDCGG.......SA...SCATCHVYVN................EAFTDKVP.....AANEREIGMLECVTAELKPNSRLCCQIIMT
+#=GR PUTX_PSEPU/8-92       SS    E--.--..EEEEE-----B.HHHHHH...H.---TTG------.......--...SSSTTEEEE-................TTTGTTS-.....---TTT---GGGSSS---TTEEEGGG-B--
+TERPB_PSESP/8-92                 DEQSGE...YAVDAQDGQS.LMEVAT...Q.NGVPGIVAECGG.......SC...VCATCRIEIEDAWV......E.......IVGEANPDENDLLQSTGE........PMTAGTRLSCQVFID
+P95277_MYCTU/9-84                GYSDGT..HKTMPVRCDQT.VLDAAE.....EHGVAIVNECQS.......GI....CGTCVATCTAGRYQ....MG.R...TEGLSDVERAARKI.....................LTCQTFVT
+O05933_PSEPU/11-88               NFSDGV..SRSFDVEAGTS.ILDAAI.....ESEIPLLYQCRS.......GS....CSTCIAQLTEGEAH....TRAG..ASSTLLASEYASGQR.....................LLCLCQAQ
+DESET_MYCTU/303-373              FARSGK....SVAADAATS.LMDAGE.....GAGVQLPFGCRM.......GI....CQSCVVDLVEGHV......R.D.....LRTGQRHEPGTR....................VQTCVSAAS
+O23344_ARATH/57-131              VEHDGK..TTELEVEPDETILSKALD...S...GLDVPYDCNL.......GV....CMTCPAKLVTGTV.....DQSG....GMLSDDVVERGYT.....................LLCASYPT
+P74159_SYNY3/11-86               DRQNEK..DYSVIVSDDRYILHQAED...Q...GFELPFSCRN.......GA....CTACAVRVISGQIH....QP....EAMGLSPDLQRQGYA.....................LLCVSYAQ
+FER2_SYNP6/8-83                  VIYQGQ..SQTFTADSDQS.VLDSAQ...A.A.GVDLPASCLT.......GV....CTTCAARILSGEV.....DQPD...AMGVGPEPAKQGYT.....................LLCVAYPR
+P73388_SYNY3/9-84                IQHQGQ..TYTISVPEDKT.VLQAAD...D.E.GIQLPTSCGA.......GV....CTTCAALITEGTA.....EQAD...GMGVSAELQAEGYA.....................LLCVAYPR
+FER1_HALMA/35-108                DEDYGS.....LEVNEGEY.ILEAAE...A.Q.GYDWPFSCRA.......GA....CANCAAIVLEGDI.....DM..D.MQQILSDEEVEDKNV....................RLTCIGSPD
+P74449_SYNY3/11-88               NPATGS..DVTIEVAEDEL.ILEAAE...N.Q.GLDLPYSCRA.......AS....CVACAGRLLEGTVE...HTDKG...SDFLKPEELAAGCV.....................LLCAAYAT
+FER2_NOSMU/10-85                 NAAEGL..DETIEVPDDEY.ILDAAE...E.A.GLDLPFSCRS.......GS....CSSCNGILKKGTV.....DQSD...QNFLDDDQIAAGNV.....................LTCVAYPT
+FER2_APHSA/10-86                 NEEEGI..NAILEVADDQT.ILDAGE...E.A.GLDLPSSCRA.......GS....CSTCAGKLVSGAA.......PNQDDQAFLDDDQLAAGWV.....................MTCVAYPT
+FER1_CYAPA/10-85                 CEEQGL..DTTIECPDDEY.ILDAAE...E.Q.GIDLPYSCRA.......GA....CSTCAGKVVEGTV.....DQSD...QSFLDDAQLAAGYV.....................LTCVAYPS
+FER_PORPU/10-85                  SEDEGI..DVTFDCSEDTY.ILDAAE...E.A.GIELPYSCRA.......GA....CSTCAGKVTEGSV.....DQSD...QSFLDDEQLLKGYV.....................LTCIAYPE
+FER_ODOSI/10-85                  SEEHDI..DATIDCNDDVF.LLDAAE...E.Q.GIELPYSCRA.......GA....CSTCAGKVTEGDI.....DQSE...QTFLDDDQVGAGFV.....................LTCIAYPK
+FER_BUMFI/9-84                   NEEKNI..NAVIKCPDDQF.ILDAAE...E.Q.GIELPYSCRA.......GA....CSTCAGKVLSGTI.....DQSE...QSFLDDDQMGAGFL.....................LTCVAYPT
+FER3_CYACA/9-84                  NKDQGI..DETIECPDDQY.ILDAAE...E.Q.GLDLPYSCRA.......GA....CSTCAGKLLEGEV.....DQSD...QSFLDDDQVKAGFV.....................LTCVAYPT
+FER2_CYACA/8-83                  NQKEGV..DVTINCPGDQY.ILDAAE...E.Q.GVDLPYSCRA.......GA....CSTCAGKLVKGSV.....DQSD...QSFLDEEQINNGFI.....................LTCVAYPT
+FER_BRYMA/8-83                   KLDDGS..EAVIDCDEDSF.ILDVAE...E.E.GIDIPFSCRS.......GS....CSTCAGKIEGGTV.....DQSE...QTFLDDDQMEEGYV.....................LTCVAYPT
+FER_APHSA/9-83                   KTPDGD..NVIT.VPDDEY.ILDVAE...E.E.GLDLPYSCRA.......GA....CSTCAGKLVSG........PAPDEDQSFLDDDQIQAGYI.....................LTCVAYPT
+FER_THEVL/9-84                   VRPDGS..ETTIDVPEDEY.ILDVAE...E.Q.GLDLPFSCRA.......GA....CSTCAGKLLEGEV.....DQSD...QSFLDDDQIEKGFV.....................LTCVAYPR
+FER_PERBI/6-80                   DTPDGK...KSFECPGDSY.ILDKAE...E.E.GLELPYSCRA.......GS....CSSCAGKVLTGSI.....DQSD...QAFLDDDQGGDGYC.....................LTCVTYPT
+FER3_RAPSA/8-82                  ITPEGE...QEVECDDDVY.VLDAAE...E.A.GIDLPYSCRA.......GS....CSSCAGKVVSGSV.....DQSD...QSFLDDDQIAEGFV.....................LTCAAYPT
+FER1_SPIOL/58-132                VTPTGN...VEFQCPDDVY.ILDAAE...E.E.GIDLPYSCRA.......GS....CSSCAGKLKTGSL.....NQDD...QSFLDDDQIDEGWV.....................LTCAAYPV
+FER_SILPR/57-131                 TKESGT...VTFDCPDDVY.VLDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKVVAGSV.....DQSD...QSFLDDDQIEAGWV.....................LTCAAYPS
+FER_WHEAT/54-128                 VTPEGE...VELEVPDDVY.ILDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKLVSGEI.....DQSD...QSFLDDDQMEAGWV.....................LTCHAYPK
+FER_SAMNI/8-82                   ITPDGP...QEFECPDDVY.ILEHAE...E.L.GIDIPYSCRA.......GS....CSSCAGKLVAGSV.....DQSD...QSFLDDEQIEEGWV.....................LTCVAYPK
+FERA_ALOMA/8-82                  VTPQGQ...QEFDCPDDVY.ILDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKVKQGEV.....DQSD...GSFLDDEQMEQGWV.....................LTCVAFPT
+FER_ARCLA/8-82                   ITPEGK...QEFEVPDDVY.ILDHAA...E.E.VGDLPYSCRA.......GS....CSSCAGKVTAGSV.....DQSD...GSYLDDDQMEAGWV.....................LTCVAYPT
+FER_DATST/8-82                   VTPDGP...VEFNCPDDVY.ILDQAE...E.E.GHDLPYSCRA.......GS....CSSCAGKVTAGTV.....DQSD...GNYLDDDQMADGFV.....................LTCVAYPQ
+FER_PALPL/9-83                   STPGGV...EEIEGDETTY.VLDSAE...D.Q.GIDLPYSCRA.......GA....CSTCAGIVELGTV.....DQSD...QSFLDDDQLNDSFV.....................LTCVAYPT
+FER_EUGVI/8-82                   INPDGE..VTI.ECGEDQY.ILDAAE...D.A.GIDLPYSCRA.......GA....CSSCTGIVKEGTV.....DQSD...QSFLDDDQMAKGFC.....................LTCTTYPT
+FER_CHLFU/6-80                   KTPSGE...ETIECPEDTY.ILDAAE...E.A.GLDLPYSCRA.......GA....CSSCAGKVESGEV.....DQSD...QSFLDDAQMGKGFV.....................LTCVAYPT
+FER_SYNY4/9-83                   ITPDGE...NSIECSDDTY.ILDAAE...E.A.GLDLPYSCRA.......GA....CSTCAGKITAGSV.....DQSD...QSFLDDDQIEAGYV.....................LTCVAYPT
+FER1_PHYAM/8-82                  VTPSGT...QTIDCPDDTY.VLDAAE...E.A.GLDLPYSCRA.......GS....CSSCTGKVTAGTV.....DQED...QSFLDDDQIEAGFV.....................LTCVAFPK
+FER2_PHYAM/9-83                  VTPSGT...NTITCPADTY.VLDAAE...E.S.GLDLPYSCRA.......GA....CSSCAGKVTAGAV.....NQED...GSFLEEEQMEAGWV.....................LTCVAYPT
+FER2_SPIOL/8-82                  VTPSGS...QVIECGDDEY.ILDAAE...E.K.GMDLPYSCRA.......GA....CSSCAGKVTSGSV.....DQSD...QSFLEDGQMEEGWV.....................LTCIAYPT
+FER_PHYPA/57-132                 DGETGA..ENVXECSDEEY.XLDAAE...R.A.GMDLPYSCRA.......GA....CSSCAGIIKAGEV.....DQSD...QSFLDDSQIDDGFV.....................LTCVAYPA
+FER_MARPO/7-81                   NTPTGQ...SVIDVEDDEY.ILDAAE...E.A.GLSLPYSCRA.......GA....CSSCAGKVTAGEV.....DQSD...ESFLDDDQMDEGYV.....................LTCIAYPT
+#=GC SS_cons                     EEESS-EEEEEEEEEETTCBHHHHHH...HTT-TTTGTTSS--TT..S..--...SSSTTEEEEEEHCEE....EHCCS..TTHHHHHHHTTSSET-TTT---GGGSSS---TTEEECCCSBGG
+#=GC seq_cons                    hphsup..thphpsssspp.lLcshc...p.t.slslshuCps.......Gs....CusCtsplhtu.................hpspphttt.h.....................LuCtshsp
+//
diff --git a/examples-jbake/assets/RF00031_folded.stk b/examples-jbake/assets/RF00031_folded.stk
new file mode 100644 (file)
index 0000000..e7a76fb
--- /dev/null
@@ -0,0 +1,227 @@
+# STOCKHOLM 1.0
+
+#=GF ID SECIS_1
+#=GF AC RF00031
+#=GF DE Selenocysteine insertion sequence 1
+#=GF AU Griffiths-Jones SR
+#=GF GA 20.0
+#=GF NC 0.0
+#=GF TC 22.6
+#=GF PI SECIS
+#=GF SE Gautheret D, PMID:12458087
+#=GF SS Published; PMID:12458087
+#=GF TP Cis-reg;
+#=GF BM cmbuild  -F CM SEED; cmcalibrate --mpi -s 1 CM
+#=GF BM cmsearch  -Z 169604 -E 1000  --toponly  CM SEQDB
+#=GF DR SO:1001274 SO:SECIS_element
+#=GF DR GO:0001514 GO:selenocysteine incorporation
+#=GF RN [1]
+#=GF RM 8634917
+#=GF RT A novel RNA structural motif in the selenocysteine insertion element
+#=GF RT of eukaryotic selenoprotein mRNAs.
+#=GF RA Walczak R, Westhof E, Carbon P, Krol A;
+#=GF RL RNA 1996;2:367-379.
+#=GF RN [2]
+#=GF RM 12458087
+#=GF RT A survey of metazoan selenocysteine insertion sequences.
+#=GF RA Lambert A, Lescure A, Gautheret D;
+#=GF RL Biochimie 2002;84:953-959.
+#=GF CC The incorporation of selenocysteine into a protein sequence
+#=GF CC is directed by an in-frame UGA codon (usually a stop codon)
+#=GF CC within the coding region of the mRNA.  Selenoprotein mRNAs
+#=GF CC contain a conserved secondary structure in the 3' UTR that
+#=GF CC is required for the distinction of UGA stop from UGA 
+#=GF CC selenocysteine.  The selenocysteine insertion sequence 
+#=GF CC (SECIS) is around 60 nt in length and adopts a hairpin 
+#=GF CC structure which is sufficiently well-defined and conserved
+#=GF CC to act as a computational screen for selenoprotein genes [2].
+#=GF WK http://en.wikipedia.org/wiki/SECIS_element
+#=GF SQ 61
+
+#=GS D.melanogaster.1 AC AY119185.1/838-902
+#=GS D.melanogaster.2 AC AC092237.1/57223-57161
+#=GS D.melanogaster.3 AC AY060611.1/560-627
+#=GS O.niloticus.1    AC Y11109.1/1272-1330
+#=GS O.niloticus.2    AC Y11109.1/927-987
+#=GS O.niloticus.3    AC Y11111.1/1260-1324
+#=GS D.rerio.1        AC AF322071.1/1577-1642
+#=GS X.laevis.1       AC L28111.1/1299-1365
+#=GS G.gallus.1       AC AF125575.1/5781-5843
+#=GS G.gallus.2       AC Y11110.1/1218-1277
+#=GS G.gallus.3       AC Y11273.1/1139-1211
+#=GS M.musculus.1     AC AF195142.1/461-524
+#=GS M.musculus.2     AC AF021345.1/10097-10160
+#=GS M.musculus.3     AC X03920.1/1172-1235
+#=GS M.musculus.4     AC AF096875.1/5504-5568
+#=GS M.musculus.5     AC AF241527.2/359-424
+#=GS M.musculus.6     AC AF136399.1/1808-1868
+#=GS M.musculus.7     AC X84742.1/5239-5302
+#=GS M.musculus.8     AC AF288740.1/1291-1357
+#=GS M.musculus.9     AC AF274027.1/835-900
+#=GS M.musculus.10    AC AB030643.1/4176-4241
+#=GS M.musculus.11    AC AL645723.11/192421-192359
+#=GS M.musculus.12    AC AC002327.1/156204-156268
+#=GS M.musculus.13    AC AF333036.1/2190-2249
+#=GS M.musculus.14    AC U43285.1/2009-2075
+#=GS R.norvegicus.1   AC X57999.1/1526-1586
+#=GS R.norvegicus.2   AC M63574.1/1465-1528
+#=GS R.norvegicus.3   AC AF390544.1/1076-1142
+#=GS R.norvegicus.4   AC AF072865.1/1887-1947
+#=GS R.norvegicus.5   AC X12367.1/703-764
+#=GS R.norvegicus.6   AC U25264.1/366-432
+#=GS R.norvegicus.7   AC L24896.1/600-665
+#=GS H.sapiens.1      AC AF201385.1/3055-3117
+#=GS H.sapiens.2      AC AL049837.4/130674-130738
+#=GS H.sapiens.3      AC U67171.1/375-442
+#=GS H.sapiens.4      AC AF195141.1/689-759
+#=GS H.sapiens.5      AC X53463.1/847-903
+#=GS H.sapiens.6      AC AF093774.1/5851-5916
+#=GS H.sapiens.7      AC X58295.1/1384-1453
+#=GS H.sapiens.8      AC AL833145.1/1479-1545
+#=GS H.sapiens.9      AC S48220.1/1731-1788
+#=GS H.sapiens.10     AC X71973.1/730-791
+#=GS H.sapiens.11     AC AF166127.1/1919-1981
+#=GS H.sapiens.12     AC U43286.1/2054-2120
+#=GS H.sapiens.13     AC BC003127.1/865-928
+#=GS H.sapiens.14     AC S79854.1/1605-1666
+#=GS H.sapiens.15     AC X13710.1/946-1008
+#=GS B.taurus.1       AC D88033.3/5711-5774
+#=GS B.taurus.2       AC D25220.1/1493-1556
+#=GS B.taurus.3       AC AB017534.1/661-726
+#=GS B.taurus.4       AC AB032826.1/1401-1464
+#=GS B.taurus.5       AC AB022283.1/1669-1729
+#=GS B.taurus.6       AC AF053984.1/1951-2017
+#=GS B.taurus.7       AC X13684.1/700-760
+#=GS O.aries.1        AC U67853.1/375-442
+#=GS S.scrofa.1       AC AF380118.1/366-433
+#=GS S.scrofa.2       AC L12743.1/694-758
+#=GS S.scrofa.3       AC AF532927.1/678-740
+#=GS S.scrofa.4       AC X76008.1/2709-2772
+#=GS C.elegans.1      AC U61947.2/4246-4309
+#=GS S.mansoni.1      AC L37762.1/2940-3006
+
+D.melanogaster.1          G.AGCC.CU...AUGAUCGAUGAUUGG.CAAA.UCCUCUC..GAGG..A.......ACCGAUC.G.U.UGAGAA..CCCCU.....UUGCCUU
+#=GR D.melanogaster.1 SS  ................(((((((((((......((((......)))..)........)))))).).).)))......................
+D.melanogaster.2          C.AUUCAACU.UAUGAGGAUUAUUUCU.UAAA.GGCCUCU...GGC..U.......CGGAAAU.A.G.UCUGAA...CCU........UAUUG
+#=GR D.melanogaster.2 SS  ................(((((((((((......((((......)))..)........)))))).).).)))......................
+D.melanogaster.3          G.UGGCGCU..UAUGACGCAGUUGUCU.UAAA.CUCGAAC..UCGA.GC........GGGCAA.U.U.GCUGAU...UACG...AUUAACCAC
+#=GR D.melanogaster.3 SS  (.(((...(....((((((((((((((......((((......))).).........)))))).).).)).).)...)).....)....))))
+O.niloticus.1             G.UUUCUCA...GUGAAGGCUACAGAU.UAAA..CCUCU....GGC...........CUCUGG.A.G.CCAGAU..GCAUU.......GAAAC
+#=GR O.niloticus.1 SS     ......(((...(((..(((((.((..........)).)....)))...........)((((.......))))....)))).......))...
+O.niloticus.2             U.GUUUAUU..AAUGACGGCUACAGAU.UAAA..CCUUU....AGC...........CUCUGG.A.G.CCAGAU..GCAUU......CAAACA
+#=GR O.niloticus.2 SS     ..((((.....((((..(((((.((..........)).)....)))...........)((((.......))))....)))).......)))).
+O.niloticus.3             G.UGUCUCU...GUGAAGUUCGGUUUU.UAAA.AGGGUCA...UCC..A.......GAAAACC.G.ACACUGAU..GUUUC......CGACAC
+#=GR O.niloticus.3 SS     (.((((..........(((((((((((.(......((.......))..........))))))).).).))).................)))))
+D.rerio.1                 A.UGUGGUCUUUAUGAAGGCAGGUGCA.GAAA.CUAUGCA...CUA.GU........GGUGUC.U.G.UCUGAU..GUUUG.......GCCAU
+#=GR D.rerio.1 SS         ...((((((.......(((((((..(.....(.(((........)).)).........)..)).).).))).........).......)))))
+X.laevis.1                G.UGUUUGCA.AAUGACGACCGAUUUU.GAAA.UGGUCUCACGGCC..A.......AAAACUC.GUG.UCCGAC...AUC........AACCC
+#=GR X.laevis.1 SS        .................((((((.(((......(((((....))))..)........))).)).).).)).......................
+G.gallus.1                G.UGUGUUU...AUGAAGAGCACUAAC.AAAA.GAGUAAU.UGACU..C.......AGUUGGU.G.U.UCAGAU..GCU.........CUCAC
+#=GR G.gallus.1 SS        (.((.(..(...((...((((((((((......((((......)))..)........)))))).).).))..))..)...........).)))
+G.gallus.2                U.AUUUGUC...AUGACAGUCACAGCA.UAAA..GCGCA....GAC...........GGCUGU.G.A.CCUGAU..UUUAG......AAAAUA
+#=GR G.gallus.2 SS        ................((((((((((................................))))).).)..))).....................
+G.gallus.3                U.AUUUCUU..UGUGAUGACCGAUUUU.GAAA.UGGGUUU...CUC..UAAUGCCAGGAAAUC.GUG.UCUGAU...GUUG.....UCAAGUA
+#=GR G.gallus.3 SS        ......(((...(..((((((((((((......((((((..........))).))).)))))).).).)).......)).......).)))..
+M.musculus.1              G.UCACCGA...AUGAUCUGCUCUGGU.CAAA.UCCUUCU...AUG..C......CAGCCAGG.G.U.GGUGAU..GACCC.......GUGAC
+#=GR M.musculus.1 SS      (.((((.(....((.(((.((((((((..............................)))))).).).))).)).....)........)))))
+M.musculus.2              G.UUACAUU..AAUGAGAACAGAAACA.UAAA..CUAUGA.CCUAG.G.........GGUUUC.U.G.UUGGAU..AGCUU.......GUAAU
+#=GR M.musculus.2 SS      (.(((((..........(((((((((........(((......)))............))))).).).))..........).......)))))
+M.musculus.3              G.GUUCUUC..CAUGAUGGUGUUUCCUCUAAA..UUUGC....ACG...........GAGAAA.C.A.CCUGAU.UUCCAG.....GAAAAUC
+#=GR M.musculus.3 SS      (.(((.(((..(..((.((((((((.(((................)...........)))))).).).))......))..).....)))))))
+M.musculus.4              G.UGUGCGA...AUGAUAACUACUGAC.GAAA.GAGCUGU.CUGCU..C.......AGUCUGU.G.G.UUGGAU...GUAG......UCACAC
+#=GR M.musculus.4 SS      (.(((((.........(((((((.(((......((((......)))..)........))).)).).).))).........).......)))))
+M.musculus.5              G.CCGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUUA...GAC..C.....UGUGGUCUU.U.C.CUCGAU..GUUCC......UGCGGC
+#=GR M.musculus.5 SS      (.((((..(...((...((((((((((.(.....(((......)))..........))))))).).).))..))..)...........)))))
+M.musculus.6              G.UCAGAUG...AUGAUGGCCUGGGCA.GAAA.CCCCAUG..UGGG..C........CGCCCA.G.G.UUUGAA...CCC........CUGGC
+#=GR M.musculus.6 SS      (.((((...........(((((((((..(.....(((......)))..).........))))).).).))..................)))))
+M.musculus.7              G.UGUCUCU...AUGAAGGAGGGGCCC.GAAG.CCCUUGU...GGG..C........GGGCCU.C.C.CCUGAG...CCCG....UCUGUGGU
+#=GR M.musculus.7 SS      ................(((.(((((((....(.(((.......)))..)........)))))).)...)))..(...(((........).)))
+M.musculus.8              U.UUGCAUU..AAUGAGGAUUACACAG.AAAA.CCUUUGU..UAAG.GA.......CUUGUGU.AGA.UCUGAU..AAUUG.......GCAAA
+#=GR M.musculus.8 SS      ..((((......((.(((.((((((((......((((......))).).........)))))).))..))).))..............)))).
+M.musculus.9              C.CGGCACU..CAUGAAGGUCUGCUUG.AAAA.CCAGCCU..GCUG.GU........GGGGCA.G.U.CCUGAG.GACCUG.......GCGUG
+#=GR M.musculus.9 SS      (.(((..((..((....((.((((((.....(.((((......))).)).........))))).)...))))))...)).).......)....
+M.musculus.10             C.CGGCACU..CAUGAAGGUCUGCCUG.AAAA.CCAGCCU..GCUG.GU........GGGGCA.G.U.CCUGAG.GACCUG.......GCGUG
+#=GR M.musculus.10 SS     (.(((..((..((....((.((((((.....(.((((......))).)).........))))).)...))))))...)).).......)....
+M.musculus.11             U.AUUUGUG..UAUGAUGGUCACAGUG.UAAA..GUUCC....CAC...........AGCUGU.G.A.CUUGAU..UUUUA....AAAAUGUC
+#=GR M.musculus.11 SS     (.((((...........((((((((((.(...............))...........).)))).).).))................)))))..
+M.musculus.12             C.UCAGCAG..GAUGAUGAGAAGGGCU.GAAA.UGCUGCC..AAAC..C.......AGGUCCU.U.U.UCUGAU..GGUGG.......CUGGG
+#=GR M.musculus.12 SS     (.(((((..........((((((((((......((....)..)..............)))))).).).))..........).......)))))
+M.musculus.13             C.AUGCGUC..CAUGAAGUCACUGGCC.UCAA.GCCCAA....GUG.GU........GGGCAG.U.G.ACAGAA...GA.........GCUGC
+#=GR M.musculus.13 SS     (.(((......))))..(((((((.((......(((.........).))........)).))).).).)).......................
+M.musculus.14             C.UCUGAUA...AUGAUGUCUCUCCCU.CUAA.CUCCCAGUAAGGA..C........UGGGAG.A.G.GCUGAACAAACCU.......CAGAG
+#=GR M.musculus.14 SS     (.(((((.........(((.((..(((.(.....(((((((....)..)........)))))).).).)..)))))....).......)))))
+R.norvegicus.1            A.UAUUUGUU.UAUGAUGGUCACAGUG.UAAA..GUUCA....CAC...........AGCUGU.G.A.CUUGAU..UUUUA.......AAAAU
+#=GR R.norvegicus.1 SS    ....((((.........((((((((((.(...............))...........).)))).).).)).........)).......))...
+R.norvegicus.2            G.UUACAUU..GAUGAGAACAGAAACA.UAAA..CUAUGA.CCUAG.G.........GGUUUC.U.G.UUGGAU..AGCUC.......GUAAU
+#=GR R.norvegicus.2 SS    ............((((((((((((((........(((......)))............))))).).).))........))).......))...
+R.norvegicus.3            U.UUGCAUU..AAUGAGGAUUACACAG.AAAA.CCUUUGU..UAAGGGU........UUGUGUCG.A.UCUGCU..AAUUG.......GCAAA
+#=GR R.norvegicus.3 SS    ..((((..........(((((((((((.(....((((......)))).)........)))))).).).))).................)))).
+R.norvegicus.4            G.UCAGAUG...AUGACGGCCUGUGCA.GAAA.CCCCCAC.GUGGG..C........UGC.CA.G.G.UUUGAA...CCC........CUGGC
+#=GR R.norvegicus.4 SS    (.(((........)))).(((..((...(.......)..).)..))..).........((.((.(.(............)........)))))
+R.norvegicus.5            G.UUUUUCC...AUGACGGUGUUUCCUCUAAA..UUUAC....AUG...........GAGAAA.C.A.CCUGAU.UUCCAG......AAAAAU
+#=GR R.norvegicus.5 SS    (.((((((......(((((((((((.((((..............))...........)))))).).).)).).).)....)......))))))
+R.norvegicus.6            G.CCGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUCA.AAGAC..C.....UGUGGUCUU.U.C.UUCGAU..GUUCU.......GCGGC
+#=GR R.norvegicus.6 SS    (.((((..(...((((..(((((((((.(.....(((......)))..........))))))).).).))).))..)...........)))))
+R.norvegicus.7            C.CGGCACU..CAUGACGGUCUGCCUG.AAAA.CCAGCCC..GCUG.GU........GGGGCA.G.U.CCCGAG.GACCUG.......GCGUG
+#=GR R.norvegicus.7 SS    (.(((..((..(.....((.((((((.....(.((((......))).)).........))))).)...)).)))...)).).......)....
+H.sapiens.1               G.CCAGAUG...AUGACGACCUGGGUG.GAAA.CCUACCC.UGUGG..G........CACCCA.U.G.UCCGAG...CCCC.......CUGGC
+#=GR H.sapiens.1 SS       (.((((...........(((.((((((......(((((....))))..)........))))))...).))..................)))))
+H.sapiens.2               G.UGUGCGG...AUGAUAACUACUGAC.GAAA.GAGUCAU.CGACU..C.......AGUUAGU.G.G.UUGGAU...GUAG......UCACAU
+#=GR H.sapiens.2 SS       (.(((((.........(((((((((((......(((((....))))..)........)))))).).).))).........).......)))))
+H.sapiens.3               G.ACGCUUC...AUGAUAGGAAGGACU.GAAA.AGUCUUG.UGGAC..A.....CCUGGUCUU.U.C.CCUGAU..GUUCU......CGUGGC
+#=GR H.sapiens.3 SS       ..(((...(...((.(..(((((((((.......(((......)))...........)))))).).).).).))..)..........)))...
+H.sapiens.4               G.ACUGACAU.UAUGAAGGCCUGUACU.GAAG.ACAGCAA..GCUG..U.......UAGUACA.G.A.CCAGAU..GCUUU..CUUGGCAGGC
+#=GR H.sapiens.4 SS       ...(((.((.....(((((((((((((....(.((((......)))..).......))))))).)...........)))))..).)).)))..
+H.sapiens.5               U.UCACAGA...AUGAUGGCACCUUCC.UAA...ACCCU....CAU...........GGGUGG.U.G.UCUGAG..AGGC........GUGAA
+#=GR H.sapiens.5 SS       ..((((...........((((((...........((((...................)))))).).).))..................)))).
+H.sapiens.6               G.UGUGCGG...AUGAUAACUACUGAC.GAAAGAGUCAUC...GAC..C.....UCAGUUAGU.G.G.UUGGAU...GUAG......UCACAU
+#=GR H.sapiens.6 SS       (.(((((.........(((((((((((....((.(((......)))..).....)..)))))).).).))).........).......)))))
+H.sapiens.7               U.GGCGUCUU.CAUGAGGGAGGGGCCC..AAA.GCCCUUG..UGGG..C........GGACCU.C.C.CCUGAG...CCUGUCUGAGGGGCCA
+#=GR H.sapiens.7 SS       ..(((.((((.((...((((((((.........((((......)))..)...............).).)))......)))...))))))))).
+H.sapiens.8               U.UUGCUUU..AAUGAGAAUAGAAACG.UAAA..CUAUGA.CCUAG.G.........GGUUUC.U.G.UUGGAU.AAUUAG.....CAGUUUA
+#=GR H.sapiens.8 SS       ..(((((..........(((((((((........(((......)))............))))).).).)).........)).....)))....
+H.sapiens.9               U.AUUUGUU..UAUGAUGGCCACAGCC.UAAA..GUACA....CAC...........GGCUGU.G.A.CUUGAU...UCA........AAAGA
+#=GR H.sapiens.9 SS       .............(((.((.(((((((..............................)))))).)...)).......))).............
+H.sapiens.10              C.CGGCACU..CAUGACGGCCUGCCUG.CAAA..CCUGC....UGG..U........GGGGCA.G.A.CCCGAA.AAUCCA.......GCGUG
+#=GR H.sapiens.10 SS      ...((((....(......)..))))............((....(((..(........(((........))))......))).......))...
+H.sapiens.11              G.CCGGAUG...AUGACGACCUGGGUG.GAAA.CCUACCC.UGUGG..G........CACCCA.U.G.UCCGAG...CCCC.......CUGGC
+#=GR H.sapiens.11 SS      (.((((...........(((.((((((......(((((....))))..)........))))))...).))..................)))))
+H.sapiens.12              C.UCUGUUA...AUGACGUCUCUCCCUCUAAA.CCCCAUU.AAGGA..C........UGGGAG.A.G.GCAGAGCAAGCCU.......CAGAG
+#=GR H.sapiens.12 SS      (.((((.......((..(((((((((.......((........)).............))))).).).))....))............)))))
+H.sapiens.13              G.UCACUGC...AUGAUCCGCUCUGGU.CAAA.CCCUUCC...AGG..C......CAGCCAGA.G.U.GGGGAU..GGUCU.......GUGAC
+#=GR H.sapiens.13 SS      (.((((.((.......(((((((((((......((.........))...........)))))).).).)))......)).........)))))
+H.sapiens.14              C.ACUGCUG...AUGACGAACUAUCUC.UAAC.UGGUCUU..GACC..A.......CGAGCUA.G.U.UCUGAA...UU.G.......CAGGG
+#=GR H.sapiens.14 SS      ...((((.(...((...((((((.(((......((((......)))..)........))).)).).).))...)...)).).......)))..
+H.sapiens.15              U.UUUCAUC..UAUGAGGGUGUUUCCUCUAAA..CCUACG...AGG...........GAGGAA.C.A.CCUGAU...CUUA.....CAGAAAA
+#=GR H.sapiens.15 SS      .......((..(.((((((((((.(((((................)...........)))))).).).)).......))))......)))...
+B.taurus.1                C.UUGCGUU..AAUGAGAACAGAAACG.UAAA..CUAUAA.CCUAG.G.........GGUUUC.U.G.UUGGAU..GGUUG.......GCAAC
+#=GR B.taurus.1 SS        ......(((..(((.(.(((((((((........(((......)))............))))).).).))...)...)))).......))...
+B.taurus.2                C.UUGCGUU..AAUGAGAACAGAAACG.AAAA..CUAUAA.CCUAG.G.........GGUUUC.U.G.UUGGAU..GGUUG.......GCAAC
+#=GR B.taurus.2 SS        ......(((..(((.(.(((((((((........(((......)))............))))).).).))...)...)))).......))...
+B.taurus.3                C.CCGGUGCC.UAUGACGGUCUGUCUG.AAAA.CCAGCCC...CUG.GU........GGGGCA.G.A.CCUGAG.AACCUG.......GCGUG
+#=GR B.taurus.3 SS        (.(.(((..(.(.....(((((((((.....(.((((......))).)).........))))).).).))..))..))).).......)....
+B.taurus.4                ACUUGCGUU..AAUGAGAACAGAAACG.UAAA..CUAUAA.CCUAG.G.........GGUUUC.U.G.UUGGAU..GGUUG.......GCAA.
+#=GR B.taurus.4 SS        ......(((..(((.(.(((((((((........(((......)))............))))).).).))...)...)))).......))...
+B.taurus.5                G.CCAGAUG...AUGAGGACCUGUGCG.GAAA.CCCCCCG..CGGG..C........UGCCCA.U.G.UCUGAG...CCC........CUGGC
+#=GR B.taurus.5 SS        (.((((((....(((.((.((((((.(.(.......))))..)))).............)))).).).)))).)...)...............
+B.taurus.6                G.AUGCGUC..CAUGAAGUCACCAGCC.CCAA.GCCCCUC...GUG.GU........GGGUGG.U.G.AUGGAA.CCGUCA.....AAGCAGU
+#=GR B.taurus.6 SS        (.(((..((..((.....((((((.((.(((.............)).).........)).))).).).)))))...)))).............
+B.taurus.7                U.UUUGCCC...AUGAAGGUGUUCCCUCUAAA..CCUAC....GUG...........GAGGAA.U.G.CCUGAU.GUCCAG.......GAAAA
+#=GR B.taurus.7 SS        (.((((..(...((..(((((((((.((((..............))...........)))))).).).))).)).)..))).......))...
+O.aries.1                 G.ACGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUCU.UGGAC.GC......CUGGUCCU.U.C.CUUGAU..GUUCU......CACGGC
+#=GR O.aries.1 SS         (.(.((.((...(....((((((((((.(....((((......))).)........))))))).).).)))))...))..)......).....
+S.scrofa.1                G.ACGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUUG.UGGAC.GC......CUGGUCCU.U.C.CCUGAU..GUUCU......CAUGGC
+#=GR S.scrofa.1 SS        .......((...(((((((((((((((.(....((((......))).)........))))))).)...))))........)......))))).
+S.scrofa.2                C.UGGCACC..CAUGACAGUCUGCCUA.AAAA.CCAGCCC...CUG.GU........GGGGCA.G.A.CUCGAG.AACCUG.......GCGUG
+#=GR S.scrofa.2 SS        .....((((..((.(.((((((((((.....(.((((......))).)).........))))).).).)).).....).)).......).)))
+S.scrofa.3                A.UUUUAUC..CAUGAAAGUGUUUCCUCUAAA..CCUAU....GUG...........GAGGAA.C.A.CCUGAU.GUCCAG......GAAAAU
+#=GR S.scrofa.3 SS        ...........(((....))).((((((((..............))...........)))))).....((((......)))......).....
+S.scrofa.4                C.UGGCACC..CAUGACAGUCUGCCUA.AAAA.CCAGCC....CUG.GU........GGGGCA.G.A.CUCGAG.AACCUG.......GCGUG
+#=GR S.scrofa.4 SS        .....((((..((.(.((((((((((.....(.(((........)).)).........))))).).).)).).....).)).......).)))
+C.elegans.1               G.AGGCAGCUUUGUGACGACCUUUGGC.UAAA.CUCCAUC..GUGA.GC........GCCUCU.G.G.UCUGAU...GC.........GCCUC
+#=GR C.elegans.1 SS       (.((((.((...((.(.((((...(((......(((........)).).........)))....).).))).))...)).........)))))
+S.mansoni.1               C.UCGCUAU...AUGACGAUGGCAAUC.UCAA..AUGUU....CAU..U........GGUUGC.C.A.UUUGAU..GAAAUCAGUUUUGUGUG
+#=GR S.mansoni.1 SS       ...(((.((...(.(((((((((((((..............................)))))).).).)).............))).))))))
+#=GC SS_cons              <-<<<<-----------<<<<<<<<<<-------<<<______>>>----------->>>>>>->->->>------------------>>>>>
+#=GC RF                   g.ucucauu..uAUGAuGgccucuccc.uAAA.ucccuuu...ggg..c........gggaga.g.g.cCuGAU..gcuug.......gagac
+//
diff --git a/examples-jbake/assets/css/ie6.css b/examples-jbake/assets/css/ie6.css
new file mode 100644 (file)
index 0000000..d89b6c3
--- /dev/null
@@ -0,0 +1,91 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+#nav #navInner
+{
+margin-top:0x;
+}
+
+
+#sddm
+{
+       position:relative;
+       top:0;
+}
+
+
+#sddm li a.download-right
+{
+position:absolute;
+top:28px;
+left:270px;
+}
+
+#sddm li
+{
+padding-top:30px;
+padding-bottom:30px;
+}
+
+#sddm div
+{      position: absolute;
+       visibility: hidden;
+       margin: 0;
+       padding: 0;
+       top:80px;
+       z-index:9999;
+       width:0;
+       display:none;
+}
+
+
+       #sddm div a
+       {       position: relative;
+               display: block;
+               margin: 0;
+               padding:8px;
+               width: 200px;
+               white-space: nowrap;
+               text-align: left;
+               text-decoration: none;
+               background: #555;
+               color: #fff;
+               border: 1px solid #000000;
+               background: #555;
+               z-index:100;
+               left:-1100px;
+       }
+       
+       
+#nav
+{
+position:relative;
+z-index:2;
+   clear:both;
+    float:left;
+    width:100%;                /* width of whole page */
+}
+
+#content 
+{
+position:relative;
+z-index:2;
+   clear:both;
+    float:left;
+    width:100%;                /* width of whole page */
+}
diff --git a/examples-jbake/assets/css/ie7.css b/examples-jbake/assets/css/ie7.css
new file mode 100644 (file)
index 0000000..17c20e2
--- /dev/null
@@ -0,0 +1,85 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+#sddm
+{
+       position:relative;
+       top:0;
+}
+
+
+#sddm li a.download-right
+{
+position:relative;
+left:0;
+}
+
+#sddm li
+{
+padding-top:30px;
+padding-bottom:30px;
+}
+
+#sddm div
+{      position: absolute;
+       visibility: hidden;
+       margin: 0;
+       padding: 0;
+       background: #555;
+       border: 1px solid #000000;
+       top:80px;
+       z-index:9999;
+       width:120px;
+}
+
+
+       #sddm div a
+       {       position: relative;
+               display: block;
+               margin: 0;
+               padding:8px;
+               width: 200px;
+               white-space: nowrap;
+               text-align: left;
+               text-decoration: none;
+               background: #555;
+               color: #fff;
+               border: 1px solid #000000;
+               background: #555;
+               z-index:100;
+               left:-80px;
+       }
+       
+       
+#nav
+{
+position:relative;
+z-index:2;
+   clear:both;
+    float:left;
+    width:100%;                /* width of whole page */
+}
+
+#content 
+{
+position:relative;
+z-index:2;
+   clear:both;
+    float:left;
+    width:100%;                /* width of whole page */
+}
diff --git a/examples-jbake/assets/css/reset.css b/examples-jbake/assets/css/reset.css
new file mode 100644 (file)
index 0000000..ef8e5bc
--- /dev/null
@@ -0,0 +1,113 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+/* http://meyerweb.com/eric/tools/css/reset/ 
+
+   v2.0 | 20110126
+
+   License: none (public domain)
+
+*/
+
+
+
+html, body, div, span, applet, object, iframe,
+
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+
+a, abbr, acronym, address, big, cite, code,
+
+del, dfn, em, img, ins, kbd, q, s, samp,
+
+small, strike, strong, sub, sup, tt, var,
+
+b, u, i, center,
+
+dl, dt, dd, ol, ul, li,
+
+fieldset, form, label, legend,
+
+table, caption, tbody, tfoot, thead, tr, th, td,
+
+article, aside, canvas, details, embed, 
+
+figure, figcaption, footer, header, hgroup, 
+
+menu, nav, output, ruby, section, summary,
+
+time, mark, audio, video {
+
+       margin: 0;
+
+       padding: 0;
+
+       border: 0;
+
+       font-size: 100%;
+
+       font: inherit;
+
+       vertical-align: baseline;
+
+}
+
+/* HTML5 display-role reset for older browsers */
+
+article, aside, details, figcaption, figure, 
+
+footer, header, hgroup, menu, nav, section {
+
+       display: block;
+
+}
+
+body {
+
+       line-height: 1;
+
+}
+
+ol, ul {
+
+       list-style: none;
+
+}
+
+blockquote, q {
+
+       quotes: none;
+
+}
+
+blockquote:before, blockquote:after,
+
+q:before, q:after {
+
+       content: '';
+
+       content: none;
+
+}
+
+table {
+
+       border-collapse: collapse;
+
+       border-spacing: 0;
+
+}
diff --git a/examples-jbake/assets/css/style.css b/examples-jbake/assets/css/style.css
new file mode 100644 (file)
index 0000000..466d507
--- /dev/null
@@ -0,0 +1,457 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+@import url(http://fonts.googleapis.com/css?family=Lato);
+@import url(http://fonts.googleapis.com/css?family=Oswald);
+
+/*****************
+HTML 5 Elements
+******************/
+new
+
+
+article, aside, details, figcaption, figure, 
+footer, header, hgroup, menu, nav, section 
+{
+    display: block;
+}
+
+
+.clearfix:after
+ {
+    visibility: hidden;
+    display: block;
+    font-size: 0;
+    content: " ";
+    clear: both;
+    height: 0;
+}
+
+
+/****************
+Body
+****************/
+
+body
+
+{
+  font: 76% arial,Helvetica,sans-serif;
+  text-align:left; 
+  background:#fff; 
+  color:#000;
+  border-top: 20px solid #555555;
+}
+
+
+
+/*********************
+Page Wrapper
+********************/
+
+#pageWrap 
+
+{
+       width: 960px;
+       margin: 0 auto;
+       position:relative;
+}
+
+/**********************
+HEADER
+************************/
+
+#header 
+{
+  display: block;
+  height: 180px;
+  margin: 0 auto 8px;
+  width: 960px;
+  position:relative;
+}
+
+#logo a 
+{
+  background-image: url("../images/logo.jpg");
+  background-repeat: no-repeat;
+  height: 87px;
+  left: 0;
+  position: absolute;
+  top: 50px;
+  width: 361px;
+  margin-bottom:50px;
+}
+
+#buttons
+{
+height:88px;
+width:252px;
+float:right;
+ right: 0;
+  position: absolute;
+  top: 50px;
+}
+
+#buttons li
+{
+margin-bottom:10px;
+}
+
+#buttons #applet a
+{
+  background-image: url("../images/applet.jpg");
+  background-repeat: no-repeat;
+    height:50px;
+  width:250px;
+  position: absolute;
+         opacity: 1;
+   transition: opacity .25s ease-in-out;
+   -moz-transition: opacity .25s ease-in-out;
+   -webkit-transition: opacity .25s ease-in-out;
+   text-shadow: 2px 2px 10px #000000;
+}
+
+#buttons #desktop a
+{
+  background-image: url("../images/desk.jpg");
+  background-repeat: no-repeat;
+  height:50px;
+  width:250px;
+  position: absolute;
+  top:45px;
+         opacity: 1;
+   transition: opacity .25s ease-in-out;
+   -moz-transition: opacity .25s ease-in-out;
+   -webkit-transition: opacity .25s ease-in-out;
+   text-shadow: 2px 2px 10px #000000;
+}
+
+#buttons #applet a:hover
+{
+ opacity: 0.8;
+}
+
+#buttons #desktop a:hover
+{
+ opacity: 0.8;
+}
+
+/*****************************
+NAV
+*********************************/
+#nav
+{
+width:100%;
+max-width:100%;
+color:#fff;
+background:#555;
+height:80px;
+}
+
+#navInner
+{
+width:960px;
+margin:0 auto;
+position:relative;
+}
+
+
+#sddm
+{      margin: 0;
+       padding: 0;
+       z-index: 30;
+       position:relative;
+       top:27px;
+}
+
+#sddm li
+{      margin: 0;
+       padding:0;
+       list-style: none;
+       float: left;
+}
+
+#sddm li a
+{ 
+       color: #FFFFFF;
+    font-size: 13pt;
+    padding: 27px 15px 25px;
+    text-align: center;
+    text-decoration: none;
+           font-family: 'Lato',sans-serif;
+}
+
+#sddm li a.community:hover
+{
+background:#F78E1E;
+}
+
+#sddm li a.development:hover
+{
+background:#AEBF45;
+}
+
+#sddm li a.training:hover
+{
+background:#009DDC;
+}
+
+#sddm li a.download-right
+{
+float:right;
+position:relative;
+left:345px;
+display:block;
+clear:left;
+ margin-top: -27px;
+    padding: 27px 15px 25px;
+}
+
+
+ul#sddm li a:hover 
+{          
+       text-decoration: none;
+       background:#0083A9;
+}
+
+#sddm div
+{      position: absolute;
+       visibility: hidden;
+       margin: 0;
+       padding: 0;
+       background: #555;
+       border: 1px solid #000000;
+       top:50px;
+}
+
+       #sddm div a
+       {       position: relative;
+               display: block;
+               margin: 0;
+               padding:8px;
+               width: 200px;
+               white-space: nowrap;
+               text-align: center;
+               text-decoration: none;
+               background: #555;
+               color: #fff;
+               border: 1px solid #000000;
+               background: #555;
+       }
+       
+
+
+/*****************************
+CONTENT
+*****************************/
+
+#content
+{
+  font-size: 10pt;
+  height: auto;
+  width: 710px;
+  padding-top:23px;
+  padding-bottom:12px;
+  overflow-x:auto; 
+  overflow-y:hidden; 
+}
+#content h1
+{
+       padding-top:29px;
+       font-size: 15pt;
+       font-style: bold;
+}
+#content h2
+{
+       padding-top:27px;
+       font-size: 13pt;
+       font-style: bold;
+}
+#content h3
+{
+       padding-top:25px;
+       font-size: 12pt;
+       font-style: bold italic;
+}
+#content pre
+{
+       font-family: monospace;
+}
+#sideNav
+{
+width:200px;
+float:left;
+padding-top:29px;
+margin-right:50px;
+}
+#content ul
+{
+       list-style-type: disc;
+}
+#content li
+{
+       margin-left: 11px;
+       padding-bottom:11px;
+}
+       
+#sideNav li
+{
+  height: 40px;
+    list-style-image: none;
+    list-style-type: none;
+    margin-bottom: 20px;
+}
+
+#sideNav a
+{
+   color: #555555;
+    display: block;
+    font-size: 13pt;
+    padding: 8px 0 0 15px;
+    text-decoration: none;
+}
+
+#sideNav a:hover
+{
+    text-decoration: underline;
+}
+#sideNav .about-nav-title
+{
+background: url("../images/normal-arrow-3-normal.png") no-repeat scroll 0 0 transparent;
+    color: #FFFFFF;
+    font-family: 'Lato',sans-serif;
+    font-size: 18pt;
+    font-weight: normal;
+    height: 40px;
+    margin-bottom: 20px;
+    padding-left: 5px;
+}
+
+#sideNav .jvlite-nav-title
+{
+background: url("../images/jvlite-arrow-3-small.png") no-repeat scroll 0 0 transparent;
+    color: #FFFFFF;
+    font-family: 'Lato',sans-serif;
+    font-size: 18pt;
+    font-weight: normal;
+    height: 40px;
+    margin-bottom: 20px;
+    padding-left: 5px;
+}
+
+#sideNav .jvlite-nav-small
+{
+background: url("../images/jvlite-arrow-3-small.png") no-repeat scroll 0 0 transparent;
+    color: #FFFFFF;
+    font-family: 'Lato',sans-serif;
+    font-size: 18pt;
+    font-weight: normal;
+    height: 40px;
+    margin-bottom: 20px;
+    padding-left: 0px;
+}
+
+#sideNav .com-nav-title
+{
+background: url("../images/com-arrow-3-small.png") no-repeat scroll 0 0 transparent;
+    color: #FFFFFF;
+    font-family: 'Lato',sans-serif;
+    font-size: 18pt;
+    font-weight: normal;
+    height: 40px;
+    margin-bottom: 20px;
+    padding-left: 5px;
+}
+
+#sideNav .dev-nav-title
+{
+background: url("../images/dev-arrow-3-normal.png") no-repeat scroll 0 0 transparent;
+    color: #FFFFFF;
+    font-family: 'Lato',sans-serif;
+    font-size: 18pt;
+    font-weight: normal;
+    height: 40px;
+    margin-bottom: 20px;
+    padding-left: 5px;
+}
+
+#sideNav .train-nav-title
+{
+background: url("../images/train-arrow-3-normal.png") no-repeat scroll 0 0 transparent;
+    color: #FFFFFF;
+    font-family: 'Lato',sans-serif;
+    font-size: 18pt;
+    font-weight: normal;
+    height: 40px;
+    margin-bottom: 20px;
+    padding-left: 5px;
+}
+
+#content .borderTable td
+{
+       border: 1px solid black;
+}
+#content .borderTable tr
+{
+       border-bottom: 2px solid black;
+}
+
+td
+{
+    vertical-align: middle;
+}
+
+/********************************
+FOOTER
+***********************************/
+
+#footer
+{
+max-width:100%;
+width:100%;
+color:#fff;
+background:#555;
+height:140px;
+padding-top:10px;
+clear:both;
+}
+#innerFooter a
+{
+       color: #EEEEEE;
+       visited: #DDDDDD;
+       
+}
+
+#innerFooter
+{
+width:960px;
+margin:0 auto;
+height:140px;
+padding-top:10px;
+}
+
+
+#copyright
+{
+float:left;
+}
+
+#cite
+{
+float:right;
+width:555px;
+}
diff --git a/examples-jbake/assets/exampleFeatures.txt b/examples-jbake/assets/exampleFeatures.txt
new file mode 100755 (executable)
index 0000000..210aab2
--- /dev/null
@@ -0,0 +1,329 @@
+#-------------------------------------------------------------------------------
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+#-------------------------------------------------------------------------------
+ST-TURN-IIL    705b23
+GAMMA-TURN-CLASSIC     788763
+BETA-TURN-IR   9a6a94
+BETA-TURN-IL   d6a6ca
+BETA-BULGE     1dc451
+Pfam   dc206a
+PHOSPHORYLATION (S)    b974a5
+PHOSPHORYLATION (Y)    7d3881
+Cath   93b1d2
+ASX-TURN-IR    4ccc6e
+BETA-BULGE-LOOP-5      4066da
+CATMAT-4       4dc465
+CATMAT-3       3eb555
+GAMMA-TURN-INVERSE     7881c7
+SCHELLMANN-LOOP-6      a28bbb
+METAL  cc9900
+ALPHA-BETA-MOTIF       7bd649
+ASX-MOTIF      6addbb
+NEST-LR        3e16d0
+ASX-TURN-IIR   6a4062
+NEST-RL        3e16b2
+ASX-TURN-IIL   a67c98
+BETA-TURN-IIR  c79792
+PHOSPHORYLATION (T)    c88395
+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
+<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
+<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
+<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
+<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
+<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
+<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
+<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
+<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
+<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
+<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
+Ferredoxin_fold Status: True Positive  O80429_MAIZE    -1      42      137     Cath
+ENDGROUP       uniprot
+
+
+STARTGROUP     netphos
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P83527&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 89_8</a></html>       FER_CAPAA       -1      89      89      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 22_2</a></html>       FER1_SOLLC      -1      22      22      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 38_3</a></html>       FER1_SOLLC      -1      38      38      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 102_10</a></html>     FER1_SOLLC      -1      102     102     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 136_13</a></html>     FER1_SOLLC      -1      136     136     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93XJ9&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 136_13</a></html>     Q93XJ9_SOLTU    -1      136     136     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93XJ9&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 22_2</a></html>       Q93XJ9_SOLTU    -1      22      22      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93XJ9&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 38_3</a></html>       Q93XJ9_SOLTU    -1      38      38      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 33_3</a></html>       FER1_PEA        -1      33      33      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 42_4</a></html>       FER1_PEA        -1      42      42      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 90_9</a></html>       FER1_PEA        -1      90      90      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html>     FER1_PEA        -1      114     114     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 4_</a></html> FER1_PEA        -1      4       4       PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 28_2</a></html>       FER1_PEA        -1      28      28      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 141_14</a></html>     FER1_PEA        -1      141     141     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 117_11</a></html>     Q7XA98_TRIPR    -1      117     117     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 137_13</a></html>     Q7XA98_TRIPR    -1      137     137     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 144_14</a></html>     Q7XA98_TRIPR    -1      144     144     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 30_3</a></html>       Q7XA98_TRIPR    -1      30      30      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 31_3</a></html>       Q7XA98_TRIPR    -1      31      31      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 4_</a></html> Q7XA98_TRIPR    -1      4       4       PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 45_4</a></html>       Q7XA98_TRIPR    -1      45      45      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 46_4</a></html>       Q7XA98_TRIPR    -1      46      46      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 93_9</a></html>       Q7XA98_TRIPR    -1      93      93      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 88_8</a></html>       FER1_SPIOL      -1      88      88      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 112_11</a></html>     FER1_SPIOL      -1      112     112     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 139_13</a></html>     FER1_SPIOL      -1      139     139     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&amp;service=NetPhos-2.0">PHOSPHORYLATION (Y) 73_7</a></html>       FER1_SPIOL      -1      73      73      PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 19_1</a></html>   FER1_ARATH      -1      19      19      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 24_2</a></html>   FER1_ARATH      -1      24      24      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 90_9</a></html>   FER1_ARATH      -1      90      90      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 107_10</a></html> FER1_ARATH      -1      107     107     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html> FER1_ARATH      -1      114     114     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 141_14</a></html> FER1_ARATH      -1      141     141     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&amp;service=NetPhos-2.0">PHOSPHORYLATION (Y) 75_7</a></html>   FER1_ARATH      -1      75      75      PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 38_3</a></html>       FER_BRANA       -1      38      38      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 62_6</a></html>       FER_BRANA       -1      62      62      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 89_8</a></html>       FER_BRANA       -1      89      89      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&amp;service=NetPhos-2.0">PHOSPHORYLATION (Y) 23_2</a></html>       FER_BRANA       -1      23      23      PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 107_10</a></html>     Q93Z60_ARATH    -1      107     107     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html>     Q93Z60_ARATH    -1      114     114     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 21_2</a></html>       Q93Z60_ARATH    -1      21      21      PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 24_2</a></html>       Q93Z60_ARATH    -1      24      24      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&amp;service=NetPhos-2.0">PHOSPHORYLATION (Y) 75_7</a></html>       Q93Z60_ARATH    -1      75      75      PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 7_</a></html> FER1_MAIZE      -1      7       7       PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 19_1</a></html>       FER1_MAIZE      -1      19      19      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 44_4</a></html>       FER1_MAIZE      -1      44      44      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 45_4</a></html>       FER1_MAIZE      -1      45      45      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 90_9</a></html>       FER1_MAIZE      -1      90      90      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 107_10</a></html>     FER1_MAIZE      -1      107     107     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html>     FER1_MAIZE      -1      114     114     PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 134_13</a></html>     FER1_MAIZE      -1      134     134     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 141_14</a></html>     FER1_MAIZE      -1      141     141     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&amp;service=NetPhos-2.0">PHOSPHORYLATION (Y) 115_11</a></html>     FER1_MAIZE      -1      115     115     PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&amp;service=NetPhos-2.0">PHOSPHORYLATION (T) 133_13</a></html>     O80429_MAIZE    -1      133     133     PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 82_8</a></html>       O80429_MAIZE    -1      82      82      PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 9_</a></html> O80429_MAIZE    -1      9       9       PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&amp;service=NetPhos-2.0">PHOSPHORYLATION (S) 99_9</a></html>       O80429_MAIZE    -1      99      99      PHOSPHORYLATION (S)
+ENDGROUP       netphos
+
+STARTGROUP     s3dm
+<html>Found in PDBs: 1a70.,1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/alphabetamotif?gzip=false">ALPHA-BETA-MOTIF 115_11</a></html>  FER1_SPIOL      -1      115     119     ALPHA-BETA-MOTIF
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/asxturniil?gzip=false">ASX-TURN-IIL 107_10</a></html>        FER1_SPIOL      -1      107     109     ASX-TURN-IIL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/asxturnir?gzip=false">ASX-TURN-IR 115_11</a></html>  FER1_SPIOL      -1      115     117     ASX-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betabulge?gzip=false">BETA-BULGE 102_10</a></html>   FER1_SPIOL      -1      102     103     BETA-BULGE
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 59_6</a></html>  FER1_SPIOL      -1      59      62      BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 69_7</a></html>  FER1_SPIOL      -1      69      72      BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 95_9</a></html>  FER1_SPIOL      -1      95      98      BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 108_11</a></html>        FER1_SPIOL      -1      108     111     BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 125_12</a></html>        FER1_SPIOL      -1      125     128     BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 141_14</a></html>        FER1_SPIOL      -1      141     144     BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 90_9</a></html>   FER1_SPIOL      -1      90      92      NEST-LR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 92_9</a></html>   FER1_SPIOL      -1      92      94      NEST-LR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 140_14</a></html> FER1_SPIOL      -1      140     142     NEST-LR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 81_8</a></html>   FER1_SPIOL      -1      81      83      NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 89_9</a></html>   FER1_SPIOL      -1      89      91      NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 91_9</a></html>   FER1_SPIOL      -1      91      93      NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 121_12</a></html> FER1_SPIOL      -1      121     123     NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/schellmannloop6?gzip=false">SCHELLMANN-LOOP-6 78_8</a></html>        FER1_SPIOL      -1      78      83      SCHELLMANN-LOOP-6
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/schellmannloop6?gzip=false">SCHELLMANN-LOOP-6 118_12</a></html>      FER1_SPIOL      -1      118     123     SCHELLMANN-LOOP-6
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/stmotif?gzip=false">ST-MOTIF 59_6</a></html> FER1_SPIOL      -1      59      63      ST-MOTIF
+ALPHA-BETA-MOTIF       FER1_SPIOL      -1      65      69      ALPHA-BETA-MOTIF
+ASX-MOTIF      FER1_SPIOL      -1      65      69      ASX-MOTIF
+ASX-TURN-IIL   FER1_SPIOL      -1      57      59      ASX-TURN-IIL
+ASX-TURN-IR    FER1_SPIOL      -1      65      67      ASX-TURN-IR
+BETA-BULGE     FER1_SPIOL      -1      52      53      BETA-BULGE
+BETA-TURN-IR   FER1_SPIOL      -1      9       12      BETA-TURN-IR
+BETA-TURN-IR   FER1_SPIOL      -1      19      22      BETA-TURN-IR
+BETA-TURN-IR   FER1_SPIOL      -1      45      48      BETA-TURN-IR
+BETA-TURN-IR   FER1_SPIOL      -1      58      61      BETA-TURN-IR
+BETA-TURN-IR   FER1_SPIOL      -1      75      78      BETA-TURN-IR
+BETA-TURN-IR   FER1_SPIOL      -1      91      94      BETA-TURN-IR
+NEST-LR        FER1_SPIOL      -1      40      42      NEST-LR
+NEST-LR        FER1_SPIOL      -1      42      44      NEST-LR
+NEST-LR        FER1_SPIOL      -1      90      92      NEST-LR
+NEST-RL        FER1_SPIOL      -1      31      33      NEST-RL
+NEST-RL        FER1_SPIOL      -1      39      41      NEST-RL
+NEST-RL        FER1_SPIOL      -1      41      43      NEST-RL
+NEST-RL        FER1_SPIOL      -1      71      73      NEST-RL
+SCHELLMANN-LOOP-6      FER1_SPIOL      -1      28      33      SCHELLMANN-LOOP-6
+SCHELLMANN-LOOP-6      FER1_SPIOL      -1      68      73      SCHELLMANN-LOOP-6
+ST-MOTIF       FER1_SPIOL      -1      9       13      ST-MOTIF
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/alphabetamotif?gzip=false">ALPHA-BETA-MOTIF 76_8</a></html> FER1_MAIZE      -1      76      80      ALPHA-BETA-MOTIF
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/alphabetamotif?gzip=false">ALPHA-BETA-MOTIF 77_8</a></html> FER1_MAIZE      -1      77      81      ALPHA-BETA-MOTIF
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 127_13</a></html>       FER1_MAIZE      -1      127     130     BETA-TURN-IR
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/gammaturnclassic?gzip=false">GAMMA-TURN-CLASSIC 113_11</a></html>   FER1_MAIZE      -1      113     115     GAMMA-TURN-CLASSIC
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/gammaturninverse?gzip=false">GAMMA-TURN-INVERSE 59_6</a></html>     FER1_MAIZE      -1      59      61      GAMMA-TURN-INVERSE
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/gammaturninverse?gzip=false">GAMMA-TURN-INVERSE 104_10</a></html>   FER1_MAIZE      -1      104     106     GAMMA-TURN-INVERSE
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 92_9</a></html>  FER1_MAIZE      -1      92      94      NEST-LR
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 94_9</a></html>  FER1_MAIZE      -1      94      96      NEST-LR
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 83_8</a></html>  FER1_MAIZE      -1      83      85      NEST-RL
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 91_9</a></html>  FER1_MAIZE      -1      91      93      NEST-RL
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 93_9</a></html>  FER1_MAIZE      -1      93      95      NEST-RL
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 123_12</a></html>        FER1_MAIZE      -1      123     125     NEST-RL
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      132     136     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      174     178     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      175     179     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      180     184     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      181     185     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      214     218     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      215     219     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      218     222     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      223     227     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      246     250     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      251     255     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      254     258     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      258     262     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      279     283     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      280     284     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      289     293     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      296     300     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      299     303     ALPHA-BETA-MOTIF
+ASX-TURN-IIL   FER1_MAIZE      -1      160     162     ASX-TURN-IIL
+ASX-TURN-IIR   FER1_MAIZE      -1      107     109     ASX-TURN-IIR
+BETA-BULGE     FER1_MAIZE      -1      31      32      BETA-BULGE
+BETA-BULGE     FER1_MAIZE      -1      43      44      BETA-BULGE
+BETA-TURN-IIL  FER1_MAIZE      -1      170     173     BETA-TURN-IIL
+BETA-TURN-IIR  FER1_MAIZE      -1      71      74      BETA-TURN-IIR
+BETA-TURN-IIR  FER1_MAIZE      -1      140     143     BETA-TURN-IIR
+BETA-TURN-IIR  FER1_MAIZE      -1      274     277     BETA-TURN-IIR
+BETA-TURN-IL   FER1_MAIZE      -1      64      67      BETA-TURN-IL
+BETA-TURN-IR   FER1_MAIZE      -1      33      36      BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      50      53      BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      100     103     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      103     106     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      136     139     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      171     174     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      172     175     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      206     209     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      207     210     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      223     226     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      233     236     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      252     255     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      264     267     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      289     292     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      295     298     BETA-TURN-IR
+CATMAT-3       FER1_MAIZE      -1      20      22      CATMAT-3
+CATMAT-3       FER1_MAIZE      -1      47      49      CATMAT-3
+CATMAT-3       FER1_MAIZE      -1      97      99      CATMAT-3
+CATMAT-4       FER1_MAIZE      -1      189     192     CATMAT-4
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      68      70      GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      84      86      GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      232     234     GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      240     242     GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      244     246     GAMMA-TURN-INVERSE
+NEST-LR        FER1_MAIZE      -1      30      32      NEST-LR
+NEST-LR        FER1_MAIZE      -1      66      68      NEST-LR
+NEST-LR        FER1_MAIZE      -1      106     108     NEST-LR
+NEST-LR        FER1_MAIZE      -1      108     110     NEST-LR
+NEST-LR        FER1_MAIZE      -1      212     214     NEST-LR
+NEST-LR        FER1_MAIZE      -1      276     278     NEST-LR
+NEST-LR        FER1_MAIZE      -1      307     309     NEST-LR
+NEST-RL        FER1_MAIZE      -1      64      66      NEST-RL
+NEST-RL        FER1_MAIZE      -1      105     107     NEST-RL
+NEST-RL        FER1_MAIZE      -1      107     109     NEST-RL
+NEST-RL        FER1_MAIZE      -1      306     308     NEST-RL
+ST-TURN-IIL    FER1_MAIZE      -1      20      22      ST-TURN-IIL
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      24      28      ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      25      29      ALPHA-BETA-MOTIF
+BETA-TURN-IR   FER1_MAIZE      -1      75      78      BETA-TURN-IR
+GAMMA-TURN-CLASSIC     FER1_MAIZE      -1      61      63      GAMMA-TURN-CLASSIC
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      7       9       GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE     FER1_MAIZE      -1      52      54      GAMMA-TURN-INVERSE
+NEST-LR        FER1_MAIZE      -1      40      42      NEST-LR
+NEST-LR        FER1_MAIZE      -1      42      44      NEST-LR
+NEST-RL        FER1_MAIZE      -1      31      33      NEST-RL
+NEST-RL        FER1_MAIZE      -1      39      41      NEST-RL
+NEST-RL        FER1_MAIZE      -1      41      43      NEST-RL
+NEST-RL        FER1_MAIZE      -1      71      73      NEST-RL
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      176     180     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      233     237     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      247     251     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      278     282     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      286     290     ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF       FER1_MAIZE      -1      295     299     ALPHA-BETA-MOTIF
+ASX-MOTIF      FER1_MAIZE      -1      122     126     ASX-MOTIF
+ASX-MOTIF      FER1_MAIZE      -1      160     164     ASX-MOTIF
+ASX-TURN-IR    FER1_MAIZE      -1      122     124     ASX-TURN-IR
+BETA-BULGE-LOOP-5      FER1_MAIZE      -1      122     126     BETA-BULGE-LOOP-5
+BETA-BULGE-LOOP-5      FER1_MAIZE      -1      239     243     BETA-BULGE-LOOP-5
+BETA-TURN-IR   FER1_MAIZE      -1      122     125     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      160     163     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      239     242     BETA-TURN-IR
+BETA-TURN-IR   FER1_MAIZE      -1      261     264     BETA-TURN-IR
+CATMAT-3       FER1_MAIZE      -1      80      82      CATMAT-3
+CATMAT-3       FER1_MAIZE      -1      87      89      CATMAT-3
+CATMAT-3       FER1_MAIZE      -1      262     264     CATMAT-3
+NEST-RL        FER1_MAIZE      -1      124     126     NEST-RL
+NEST-RL        FER1_MAIZE      -1      241     243     NEST-RL
+NEST-RL        FER1_MAIZE      -1      292     294     NEST-RL
+ENDGROUP       s3dm
diff --git a/examples-jbake/assets/exampleFile.jar b/examples-jbake/assets/exampleFile.jar
new file mode 100755 (executable)
index 0000000..3231974
Binary files /dev/null and b/examples-jbake/assets/exampleFile.jar differ
diff --git a/examples-jbake/assets/exampleFile_2_3.jar b/examples-jbake/assets/exampleFile_2_3.jar
new file mode 100644 (file)
index 0000000..8c6114d
Binary files /dev/null and b/examples-jbake/assets/exampleFile_2_3.jar differ
diff --git a/examples-jbake/assets/exampleFile_2_7.jar b/examples-jbake/assets/exampleFile_2_7.jar
new file mode 100644 (file)
index 0000000..3c1ea42
Binary files /dev/null and b/examples-jbake/assets/exampleFile_2_7.jar differ
diff --git a/examples-jbake/assets/ferredoxin.nw b/examples-jbake/assets/ferredoxin.nw
new file mode 100755 (executable)
index 0000000..d82ff48
--- /dev/null
@@ -0,0 +1 @@
+(((FER_BRANA:128.0,FER3_RAPSA:128.0):50.75,FER_CAPAA:178.75):121.94443,(Q93Z60_ARATH:271.45456,((O80429_MAIZE:183.0,FER1_MAIZE:183.0):30.5,((Q7XA98_TRIPR:90.0,FER1_PEA:90.0):83.32143,(((FER2_ARATH:64.0,FER1_ARATH:64.0):94.375,(FER1_SPIOL:124.5,FER1_MESCR:124.5):33.875):6.4166718,((Q93XJ9_SOLTU:33.5,FER1_SOLLC:33.5):49.0,FER_CAPAN:82.5):82.29167):8.529755):40.178574):57.95456):29.239868);\r
diff --git a/examples-jbake/assets/globins.jar b/examples-jbake/assets/globins.jar
new file mode 100755 (executable)
index 0000000..a0d70eb
Binary files /dev/null and b/examples-jbake/assets/globins.jar differ
diff --git a/examples-jbake/assets/images/applet.jpg b/examples-jbake/assets/images/applet.jpg
new file mode 100644 (file)
index 0000000..2b4eb7e
Binary files /dev/null and b/examples-jbake/assets/images/applet.jpg differ
diff --git a/examples-jbake/assets/images/com-arrow-3-small.png b/examples-jbake/assets/images/com-arrow-3-small.png
new file mode 100644 (file)
index 0000000..e11ea15
Binary files /dev/null and b/examples-jbake/assets/images/com-arrow-3-small.png differ
diff --git a/examples-jbake/assets/images/desk.jpg b/examples-jbake/assets/images/desk.jpg
new file mode 100644 (file)
index 0000000..cf8daff
Binary files /dev/null and b/examples-jbake/assets/images/desk.jpg differ
diff --git a/examples-jbake/assets/images/dev-arrow-3-normal.png b/examples-jbake/assets/images/dev-arrow-3-normal.png
new file mode 100644 (file)
index 0000000..f1ec24e
Binary files /dev/null and b/examples-jbake/assets/images/dev-arrow-3-normal.png differ
diff --git a/examples-jbake/assets/images/jvlite-arrow-3-small.png b/examples-jbake/assets/images/jvlite-arrow-3-small.png
new file mode 100644 (file)
index 0000000..cde23b3
Binary files /dev/null and b/examples-jbake/assets/images/jvlite-arrow-3-small.png differ
diff --git a/examples-jbake/assets/images/logo.jpg b/examples-jbake/assets/images/logo.jpg
new file mode 100644 (file)
index 0000000..06c7cdd
Binary files /dev/null and b/examples-jbake/assets/images/logo.jpg differ
diff --git a/examples-jbake/assets/images/normal-arrow-3-normal.png b/examples-jbake/assets/images/normal-arrow-3-normal.png
new file mode 100644 (file)
index 0000000..03c836d
Binary files /dev/null and b/examples-jbake/assets/images/normal-arrow-3-normal.png differ
diff --git a/examples-jbake/assets/images/train-arrow-3-normal.png b/examples-jbake/assets/images/train-arrow-3-normal.png
new file mode 100644 (file)
index 0000000..ea8ad5c
Binary files /dev/null and b/examples-jbake/assets/images/train-arrow-3-normal.png differ
diff --git a/examples-jbake/assets/javascript/deployJava.js b/examples-jbake/assets/javascript/deployJava.js
new file mode 100644 (file)
index 0000000..b0e9559
--- /dev/null
@@ -0,0 +1,81 @@
+/*********\r
+ * downloaded from http://java.com/js/deployJava.js\r
+ * Probably copyright Oracle nee Sun 2011,2010,2009.\r
+ */\r
+var deployJava={debug:null,firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:false,EarlyAccessURL:null,getJavaURL:'http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com',appleRedirectPage:'http://www.apple.com/support/downloads/',oldMimeType:'application/npruntime-scriptable-plugin;DeploymentToolkit',mimeType:'application/java-deployment-toolkit',launchButtonPNG:'http://java.sun.com/products/jfc/tsc/articles/swing2d/webstart.png',browserName:null,browserName2:null,getJREs:function(){var list=new Array();if(deployJava.isPluginInstalled()){var plugin=deployJava.getPlugin();var VMs=plugin.jvms;for(var i=0;i<VMs.getLength();i++){list[i]=VMs.get(i).version;}}else{var browser=deployJava.getBrowser();if(browser=='MSIE'){if(deployJava.testUsingActiveX('1.7.0')){list[0]='1.7.0';}else if(deployJava.testUsingActiveX('1.6.0')){list[0]='1.6.0';}else if(deployJava.testUsingActiveX('1.5.0')){list[0]='1.5.0';}else if(deployJava.testUsingActiveX('1.4.2')){list[0]='1.4.2';}else if(deployJava.testForMSVM()){list[0]='1.1';}}else if(browser=='Netscape Family'){deployJava.getJPIVersionUsingMimeType();if(deployJava.firefoxJavaVersion!=null){list[0]=deployJava.firefoxJavaVersion;}else if(deployJava.testUsingMimeTypes('1.7')){list[0]='1.7.0';}else if(deployJava.testUsingMimeTypes('1.6')){list[0]='1.6.0';}else if(deployJava.testUsingMimeTypes('1.5')){list[0]='1.5.0';}else if(deployJava.testUsingMimeTypes('1.4.2')){list[0]='1.4.2';}else if(deployJava.browserName2=='Safari'){if(deployJava.testUsingPluginsArray('1.7.0')){list[0]='1.7.0';}else if(deployJava.testUsingPluginsArray('1.6')){list[0]='1.6.0';}else if(deployJava.testUsingPluginsArray('1.5')){list[0]='1.5.0';}else if(deployJava.testUsingPluginsArray('1.4.2')){list[0]='1.4.2';}}}}\r
+if(deployJava.debug){for(var i=0;i<list.length;++i){alert('We claim to have detected Java SE '+list[i]);}}\r
+return list;},installJRE:function(requestVersion){var ret=false;if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installJRE(requestVersion)){deployJava.refresh();if(deployJava.returnPage!=null){document.location=deployJava.returnPage;}\r
+return true;}else{return false;}}else{return deployJava.installLatestJRE();}},installLatestJRE:function(){if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installLatestJRE()){deployJava.refresh();if(deployJava.returnPage!=null){document.location=deployJava.returnPage;}\r
+return true;}else{return false;}}else{var browser=deployJava.getBrowser();var platform=navigator.platform.toLowerCase();if((deployJava.EAInstallEnabled=='true')&&(platform.indexOf('win')!=-1)&&(deployJava.EarlyAccessURL!=null)){deployJava.preInstallJREList=deployJava.getJREs();if(deployJava.returnPage!=null){deployJava.myInterval=setInterval("deployJava.poll()",3000);}\r
+location.href=deployJava.EarlyAccessURL;return false;}else{if(browser=='MSIE'){return deployJava.IEInstall();}else if((browser=='Netscape Family')&&(platform.indexOf('win32')!=-1)){return deployJava.FFInstall();}else{location.href=deployJava.getJavaURL+\r
+((deployJava.returnPage!=null)?('&returnPage='+deployJava.returnPage):'')+\r
+((deployJava.locale!=null)?('&locale='+deployJava.locale):'')+\r
+((deployJava.brand!=null)?('&brand='+deployJava.brand):'');}\r
+return false;}}},runApplet:function(attributes,parameters,minimumVersion){if(minimumVersion=='undefined'||minimumVersion==null){minimumVersion='1.1';}\r
+var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=minimumVersion.match(regex);if(deployJava.returnPage==null){deployJava.returnPage=document.location;}\r
+if(matchData!=null){var browser=deployJava.getBrowser();if((browser!='?')&&('Safari'!=deployJava.browserName2)){if(deployJava.versionCheck(minimumVersion+'+')){deployJava.writeAppletTag(attributes,parameters);}else if(deployJava.installJRE(minimumVersion+'+')){deployJava.refresh();location.href=document.location;deployJava.writeAppletTag(attributes,parameters);}}else{deployJava.writeAppletTag(attributes,parameters);}}else{if(deployJava.debug){alert('Invalid minimumVersion argument to runApplet():'+\r
+minimumVersion);}}},writeAppletTag:function(attributes,parameters){var startApplet='<'+'applet ';var params='';var endApplet='<'+'/'+'applet'+'>';var addCodeAttribute=true;for(var attribute in attributes){startApplet+=(' '+attribute+'="'+attributes[attribute]+'"');if(attribute=='code'||attribute=='java_code'){addCodeAttribute=false;}}\r
+if(parameters!='undefined'&&parameters!=null){var codebaseParam=false;for(var parameter in parameters){if(parameter=='codebase_lookup'){codebaseParam=true;}\r
+if(parameter=='object'||parameter=='java_object'){addCodeAttribute=false;}\r
+params+='<param name="'+parameter+'" value="'+\r
+parameters[parameter]+'"/>';}\r
+if(!codebaseParam){params+='<param name="codebase_lookup" value="false"/>';}}\r
+if(addCodeAttribute){startApplet+=(' code="dummy"');}\r
+startApplet+='>';document.write(startApplet+'\n'+params+'\n'+endApplet);},versionCheck:function(versionPattern)\r
+{var index=0;var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var matchData=versionPattern.match(regex);if(matchData!=null){var familyMatch=true;var patternArray=new Array();for(var i=1;i<matchData.length;++i){if((typeof matchData[i]=='string')&&(matchData[i]!='')){patternArray[index]=matchData[i];index++;}}\r
+if(patternArray[patternArray.length-1]=='+'){familyMatch=false;patternArray.length--;}else{if(patternArray[patternArray.length-1]=='*'){patternArray.length--;}}\r
+var list=deployJava.getJREs();for(var i=0;i<list.length;++i){if(deployJava.compareVersionToPattern(list[i],patternArray,familyMatch)){return true;}}\r
+return false;}else{alert('Invalid versionPattern passed to versionCheck: '+\r
+versionPattern);return false;}},isWebStartInstalled:function(minimumVersion){var browser=deployJava.getBrowser();if((browser=='?')||('Safari'==deployJava.browserName2)){return true;}\r
+if(minimumVersion=='undefined'||minimumVersion==null){minimumVersion='1.4.2';}\r
+var retval=false;var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=minimumVersion.match(regex);if(matchData!=null){retval=deployJava.versionCheck(minimumVersion+'+');}else{if(deployJava.debug){alert('Invalid minimumVersion argument to isWebStartInstalled(): '+minimumVersion);}\r
+retval=deployJava.versionCheck('1.4.2+');}\r
+return retval;},getJPIVersionUsingMimeType:function(){for(var i=0;i<navigator.mimeTypes.length;++i){var s=navigator.mimeTypes[i].type;var m=s.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(m!=null){deployJava.firefoxJavaVersion=m[1];if('Opera'!=deployJava.browserName2){break;}}}},launchWebStartApplication:function(jnlp){var uaString=navigator.userAgent.toLowerCase();deployJava.getJPIVersionUsingMimeType();if(deployJava.isWebStartInstalled('1.7.0')==false){if((deployJava.installJRE('1.7.0+')==false)||((deployJava.isWebStartInstalled('1.7.0')==false))){return false;}}\r
+var jnlpDocbase=null;if(document.documentURI){jnlpDocbase=document.documentURI;}\r
+if(jnlpDocbase==null){jnlpDocbase=document.URL;}\r
+var browser=deployJava.getBrowser();var launchTag;if(browser=='MSIE'){launchTag='<'+'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" '+'width="0" height="0">'+'<'+'PARAM name="launchjnlp" value="'+jnlp+'"'+'>'+'<'+'PARAM name="docbase" value="'+jnlpDocbase+'"'+'>'+'<'+'/'+'object'+'>';}else if(browser=='Netscape Family'){launchTag='<'+'embed type="application/x-java-applet;jpi-version='+\r
+deployJava.firefoxJavaVersion+'" '+'width="0" height="0" '+'launchjnlp="'+jnlp+'"'+'docbase="'+jnlpDocbase+'"'+' />';}\r
+if(document.body=='undefined'||document.body==null){document.write(launchTag);document.location=jnlpDocbase;}else{var divTag=document.createElement("div");divTag.id="div1";divTag.style.position="relative";divTag.style.left="-10000px";divTag.style.margin="0px auto";divTag.className="dynamicDiv";divTag.innerHTML=launchTag;document.body.appendChild(divTag);}},createWebStartLaunchButtonEx:function(jnlp,minimumVersion){if(deployJava.returnPage==null){deployJava.returnPage=jnlp;}\r
+var url='javascript:deployJava.launchWebStartApplication(\''+jnlp+'\');';document.write('<'+'a href="'+url+'" onMouseOver="window.status=\'\'; '+'return true;"><'+'img '+'src="'+deployJava.launchButtonPNG+'" '+'border="0" /><'+'/'+'a'+'>');},createWebStartLaunchButton:function(jnlp,minimumVersion){if(deployJava.returnPage==null){deployJava.returnPage=jnlp;}\r
+var url='javascript:'+'if (!deployJava.isWebStartInstalled(&quot;'+\r
+minimumVersion+'&quot;)) {'+'if (deployJava.installLatestJRE()) {'+'if (deployJava.launch(&quot;'+jnlp+'&quot;)) {}'+'}'+'} else {'+'if (deployJava.launch(&quot;'+jnlp+'&quot;)) {}'+'}';document.write('<'+'a href="'+url+'" onMouseOver="window.status=\'\'; '+'return true;"><'+'img '+'src="'+deployJava.launchButtonPNG+'" '+'border="0" /><'+'/'+'a'+'>');},launch:function(jnlp){document.location=jnlp;return true;},isPluginInstalled:function(){var plugin=deployJava.getPlugin();if(plugin&&plugin.jvms){return true;}else{return false;}},isAutoUpdateEnabled:function(){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().isAutoUpdateEnabled();}\r
+return false;},setAutoUpdateEnabled:function(){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAutoUpdateEnabled();}\r
+return false;},setInstallerType:function(type){deployJava.installType=type;if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setInstallerType(type);}\r
+return false;},setAdditionalPackages:function(packageList){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAdditionalPackages(packageList);}\r
+return false;},setEarlyAccess:function(enabled){deployJava.EAInstallEnabled=enabled;},isPlugin2:function(){if(deployJava.isPluginInstalled()){if(deployJava.versionCheck('1.6.0_10+')){try{return deployJava.getPlugin().isPlugin2();}catch(err){}}}\r
+return false;},allowPlugin:function(){deployJava.getBrowser();var ret=('Safari'!=deployJava.browserName2&&'Opera'!=deployJava.browserName2);return ret;},getPlugin:function(){deployJava.refresh();var ret=null;if(deployJava.allowPlugin()){ret=document.getElementById('deployJavaPlugin');}\r
+return ret;},compareVersionToPattern:function(version,patternArray,familyMatch){var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=version.match(regex);if(matchData!=null){var index=0;var result=new Array();for(var i=1;i<matchData.length;++i){if((typeof matchData[i]=='string')&&(matchData[i]!=''))\r
+{result[index]=matchData[i];index++;}}\r
+var l=Math.min(result.length,patternArray.length);if(familyMatch){for(var i=0;i<l;++i){if(result[i]!=patternArray[i])return false;}\r
+return true;}else{for(var i=0;i<l;++i){if(result[i]<patternArray[i]){return false;}else if(result[i]>patternArray[i]){return true;}}\r
+return true;}}else{return false;}},getBrowser:function(){if(deployJava.browserName==null){var browser=navigator.userAgent.toLowerCase();if(deployJava.debug){alert('userAgent -> '+browser);}\r
+if(browser.indexOf('msie')!=-1){deployJava.browserName='MSIE';deployJava.browserName2='MSIE';}else if(browser.indexOf('iphone')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='iPhone';}else if(browser.indexOf('firefox')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Firefox';}else if(browser.indexOf('chrome')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Chrome';}else if(browser.indexOf('safari')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Safari';}else if(browser.indexOf('mozilla')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Other';}else if(browser.indexOf('opera')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Opera';}else{deployJava.browserName='?';deployJava.browserName2='unknown';}\r
+if(deployJava.debug){alert('Detected browser name:'+deployJava.browserName+', '+deployJava.browserName2);}}\r
+return deployJava.browserName;},testUsingActiveX:function(version){var objectName='JavaWebStart.isInstalled.'+version+'.0';if(!ActiveXObject){if(deployJava.debug){alert('Browser claims to be IE, but no ActiveXObject object?');}\r
+return false;}\r
+try{return(new ActiveXObject(objectName)!=null);}catch(exception){return false;}},testForMSVM:function(){var clsid='{08B0E5C0-4FCB-11CF-AAA5-00401C608500}';if(typeof oClientCaps!='undefined'){var v=oClientCaps.getComponentVersion(clsid,"ComponentID");if((v=='')||(v=='5,0,5000,0')){return false;}else{return true;}}else{return false;}},testUsingMimeTypes:function(version){if(!navigator.mimeTypes){if(deployJava.debug){alert('Browser claims to be Netscape family, but no mimeTypes[] array?');}\r
+return false;}\r
+for(var i=0;i<navigator.mimeTypes.length;++i){s=navigator.mimeTypes[i].type;var m=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(m!=null){if(deployJava.compareVersions(m[1],version)){return true;}}}\r
+return false;},testUsingPluginsArray:function(version){if((!navigator.plugins)||(!navigator.plugins.length)){return false;}\r
+var platform=navigator.platform.toLowerCase();for(var i=0;i<navigator.plugins.length;++i){s=navigator.plugins[i].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(deployJava.compareVersions("1.5.0",version)){return true;}}else if(s.search(/^Java/)!=-1){if(platform.indexOf('win')!=-1){if(deployJava.compareVersions("1.5.0",version)||deployJava.compareVersions("1.6.0",version)){return true;}}}}\r
+if(deployJava.compareVersions("1.5.0",version)){return true;}\r
+return false;},IEInstall:function(){location.href=deployJava.getJavaURL+\r
+((deployJava.returnPage!=null)?('&returnPage='+deployJava.returnPage):'')+\r
+((deployJava.locale!=null)?('&locale='+deployJava.locale):'')+\r
+((deployJava.brand!=null)?('&brand='+deployJava.brand):'')+\r
+((deployJava.installType!=null)?('&type='+deployJava.installType):'');return false;},done:function(name,result){},FFInstall:function(){location.href=deployJava.getJavaURL+\r
+((deployJava.returnPage!=null)?('&returnPage='+deployJava.returnPage):'')+\r
+((deployJava.locale!=null)?('&locale='+deployJava.locale):'')+\r
+((deployJava.brand!=null)?('&brand='+deployJava.brand):'')+\r
+((deployJava.installType!=null)?('&type='+deployJava.installType):'');return false;},compareVersions:function(installed,required){var a=installed.split('.');var b=required.split('.');for(var i=0;i<a.length;++i){a[i]=Number(a[i]);}\r
+for(var i=0;i<b.length;++i){b[i]=Number(b[i]);}\r
+if(a.length==2){a[2]=0;}\r
+if(a[0]>b[0])return true;if(a[0]<b[0])return false;if(a[1]>b[1])return true;if(a[1]<b[1])return false;if(a[2]>b[2])return true;if(a[2]<b[2])return false;return true;},enableAlerts:function(){deployJava.browserName=null;deployJava.debug=true;},poll:function(){deployJava.refresh();var postInstallJREList=deployJava.getJREs();if((deployJava.preInstallJREList.length==0)&&(postInstallJREList.length!=0)){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage;};}\r
+if((deployJava.preInstallJREList.length!=0)&&(postInstallJREList.length!=0)&&(deployJava.preInstallJREList[0]!=postInstallJREList[0])){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage;}}},writePluginTag:function(){var browser=deployJava.getBrowser();if(browser=='MSIE'){document.write('<'+'object classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+'<'+'/'+'object'+'>');}else if(browser=='Netscape Family'&&deployJava.allowPlugin()){deployJava.writeEmbedTag();}},refresh:function(){navigator.plugins.refresh(false);var browser=deployJava.getBrowser();if(browser=='Netscape Family'&&deployJava.allowPlugin()){var plugin=document.getElementById('deployJavaPlugin');if(plugin==null){deployJava.writeEmbedTag();}}},writeEmbedTag:function(){var written=false;if(navigator.mimeTypes!=null){for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type==deployJava.mimeType){if(navigator.mimeTypes[i].enabledPlugin){document.write('<'+'embed id="deployJavaPlugin" type="'+\r
+deployJava.mimeType+'" hidden="true" />');written=true;}}}\r
+if(!written)for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type==deployJava.oldMimeType){if(navigator.mimeTypes[i].enabledPlugin){document.write('<'+'embed id="deployJavaPlugin" type="'+\r
+deployJava.oldMimeType+'" hidden="true" />');}}}}},do_initialize:function(){deployJava.writePluginTag();if(deployJava.locale==null){var loc=null;if(loc==null)try{loc=navigator.userLanguage;}catch(err){}\r
+if(loc==null)try{loc=navigator.systemLanguage;}catch(err){}\r
+if(loc==null)try{loc=navigator.language;}catch(err){}\r
+if(loc!=null){loc.replace("-","_")\r
+deployJava.locale=loc;}}}};deployJava.do_initialize();
\ No newline at end of file
diff --git a/examples-jbake/assets/javascript/jalview.js b/examples-jbake/assets/javascript/jalview.js
new file mode 100644 (file)
index 0000000..f827db5
--- /dev/null
@@ -0,0 +1,328 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+
+// default console to report messages
+var _console = document.getElementById("stdout");
+var _jvapps = new Array();
+// jvjmols is a list associating a jmol id to { modelstofiles }
+var _jvjmols = new Hashtable();
+// array of model names used to lookup index in Jmol
+var _modeltofiles = new Array();
+// counter for jmol structures
+var mnum = 1;
+
+function setConsole(console) {
+       _console = console;
+}
+
+function getDestinationFrms(source, frames) {
+       var frms = new Array();
+       var frid = "";
+       for (frm in frames) {
+               try {
+                       frid = (source!=null) && (("" + source.getSequenceSetId()) == ("" + frames[frm].currentAlignFrame
+                                       .getSequenceSetId()));
+               } catch (q) {
+               };
+               
+               if (!frames[frm].equals(source) && !frid
+                               && !frames[frm].currentAlignFrame.equals(source)) {
+                       frms[frms.length] = frames[frm];
+               }
+       }
+       return frms;
+}
+
+function mouseover(list1, list2, list3, list4) {
+       // list1 = new Object(list1);
+       var list = new Array(("" + list1), ("" + list2), ("" + list3), ("" + list4));
+       var msg = "Mouse over :\n" + "AlignFrame obj: " + list1 + " Seq : "
+                       + list[1] + "\nPos: " + list[2] + "(" + list[3] + ")\n";
+
+       var flist = getDestinationFrms(list1, _jvapps);
+       if (_console) {
+               _console.value = msg + "\n";
+       }
+
+       for (follower in flist) {
+               if (_console) {
+                       _console.value += "Sending to " + flist[follower] + "\n";
+               }
+               flist[follower].highlight(list[1], list[2], "true");
+       }
+       return true;
+}
+
+function sellist(list1, list2, list3, list4) {
+       // list1 = new Object(list1);
+       var list = new Array(("" + list1), ("" + list2), ("" + list3), ("" + list4));
+       var msg = "Selection:\n" + "AlignFrame obj: " + list[0] + " id : "
+                       + list[1] + "\nSeqs " + list[2] + "\nColumns " + list[3] + "\n";
+       var flist = getDestinationFrms(list1, _jvapps);
+       if (_console) {
+               _console.value = msg + "\n";
+       }
+       
+       for (follower in flist) {
+               if (_console) {
+                       _console.value += "Sending to " + flist[follower] + "\n";
+               }
+               flist[follower].selectIn(flist[follower].getDefaultTargetFrame(),
+                               list[2], list[3])
+       }
+       return true;
+}
+
+function viewlist(list1, list2, list3, list4) {
+       // list1 = new Object(list1);
+       var list = new Array(("" + list1), ("" + list2), ("" + list3), ("" + list4));
+       var msg = "Viewport extent change::\n" + "AlignFrame obj: " + list[0]
+                       + " id : " + list[1] + "\nRow from " + list[2] + " and to "
+                       + list[3] + "\nVisible columns: " + list[4] + "\n";
+       var flist = getDestinationFrms(list1, _jvapps);
+       if (_console) {
+               _console.value = msg + "\n";
+       }
+
+       for (follower in flist) {
+               if (_console) {
+                       _console.value += "Sending to " + flist[follower] + "\n";
+               }
+               flist[follower].scrollToViewIn(flist[follower].getDefaultTargetFrame(),
+                               list[2], "-1");
+       }
+       return true;
+}
+
+// register a jalview applet and add some handlers to it
+// jmolView is a reference to a jmol applet that is displaying the PDB files listed (in order) in the modeltofiles Array
+function linkJvJmol(applet, jmolView, modeltofiles) {
+       var i = _jvapps.length;
+       while (i--) {
+               if (_jvapps[i].equals(applet)) {
+                       throw ("Ignoring additional linkJvJmol call for "
+                                       + applet.getName() + ".");
+               }
+       }
+       _jvapps[_jvapps.length] = applet;
+       applet.setMouseoverListener("mouseover");
+       applet.setSelectionListener("sellist");
+       // viewListener not fully implemented in 2.7
+       // try { applet.setViewListener("viewlist"); } catch (err) {};
+       if (jmolView)
+       {
+               var sep = applet.getSeparator();
+               var oldjm=jmolView;
+               // recover full id of Jmol applet
+               jmolView=_jmolGetApplet(jmolView).id;
+               var jmbinding=_jvjmols.get(jmolView);
+               if (!jmbinding)
+               {       
+                       jmbinding=new Object();
+                       jmbinding._modelstofiles=new Array();
+                       jmbinding._fullmpath=new Array();
+                       jmbinding._filetonum=new Hashtable();
+                       jmbinding._jmol=jmolView;
+                       jmbinding._jmhandle=oldjm;
+                       _jvjmols.put(jmolView,jmbinding);
+               }
+               
+               jmbinding._modelstofiles=jmbinding._modelstofiles.concat(jmbinding._modelstofiles,modeltofiles);
+               jmbinding._jmol=jmolView;
+               // now update structureListener list
+               mtf="";
+               var dbase = document.baseURI.substring(0,document.baseURI.lastIndexOf("/")+1);
+               for (m in jmbinding._modelstofiles)
+               { if (m>0) { mtf+=sep; }
+               mtf+=jmbinding._modelstofiles[m];
+               if (jmbinding._modelstofiles[m].indexOf("//")==-1)
+                       { jmbinding._fullmpath[m] = dbase+((jmbinding._modelstofiles[m].indexOf("/")==0) ? jmbinding._modelstofiles[m].substring(1) : jmbinding._modelstofiles[m]); }
+                 jmbinding._filetonum.put(jmbinding._modelstofiles[m], m+1); 
+                 jmbinding._filetonum.put(jmbinding._fullmpath[m], m+1);
+                 
+                 }
+               applet.setStructureListener("_structure", mtf);
+       }
+}
+
+/*function _addJmolModel(jmolid, modelname) {
+       modelname=""+modelname;
+       var jminf = _jvjmols[jmolid];
+       if (!jminf) {
+               jminf = new Object();
+               jminf._modelstofiles = new Array(); //new Hashtable();
+               jminf._jmol = jmolid;
+               jminf._modellist=new Array();
+               _jvjmols[jmolid] = jminf;
+       }
+       var obj = new Object();
+       jminf._modeltofiles[modelname] = obj; // .put(modelname, obj);
+       obj.id = modelname;
+       obj.mnum = jminf._modeltofiles.length;
+       jminf._modellist+=modelname;
+}*/
+
+
+
+// jmol Jalview Methods
+
+function _structure(list1, list2, list3, list4) {
+       var follower;
+       // if (_console) { if (!_console.value) { _console.value="";} }
+       if (list1 == "mouseover") {
+               var list = new Array(("" + list1), ("" + list2), ("" + list3),
+                               ("" + list4));
+               // 1 is pdb file, 2 is residue number, 3 is chain
+               // list1 = new Object(list1);
+               var base = list[1].indexOf(document.baseURI
+                               .substring(0, document.baseURI.lastIndexOf('/'))
+                               ); // .indexOf(_path);
+               if (base==0) { base = document.baseURI.lastIndexOf('/'); }
+               var sid = list[1]; // .substring(base);
+               base = list[1].substring(0, base);
+               if (_console) {
+                       _console.value += "Model is " + list[1] + ", Structure id is : "
+                                       + sid + "\n";
+               }
+               ;
+               var siddat;
+               for ( var jmolappi in _jvjmols.values()) {
+                       var jmolapp=_jvjmols.values()[jmolappi];
+                       var msg = "";
+                       if (siddat = jmolapp._filetonum.get(sid)) {
+                               // we don't putin chain number because there isn't one ?
+                               // skip select 0 bit
+                               var ch = ""+list[3];
+                               if ((""+list[2]).trim().length==1)
+                                       {
+                                       ch+=":"+list[2];
+                                       }
+                               msg = "select (" + ch + " /" + siddat + ") ;";
+                       }
+                       if (msg) {
+                               if (_console) {
+                                       _console.value += "Sending '" + msg + "' to jmol." + "\n";
+                               }
+                       }
+                       jmolScriptWait(msg, "" + jmolapp._jmhandle);
+                       // only do highlight for one jmol ?
+                       // return 1;
+               }
+       }
+       if (list1 == "colourstruct") {
+               if (_console) {
+                       _console.value += 'colourStruct("' + list1 + '","' + list2
+                       + '") [' + list4 + ']' + "\n";
+               }
+               setTimeout('colourStruct("'+list4+'","' + list1 + '","' + list2 + '")', 1);
+               return 1;
+       }
+       return 1;
+}
+// last colour message
+var _lastMsg = "";
+// indicator - if _colourStruct==0 then no colouring is going on
+var _colourStruct = 0;
+
+function colourStruct(involves, msg, handle) {
+       if (_colourStruct == 0) {
+               _colourStruct = 1;
+               for (ap in _jvapps) {
+                       var _msg = "";
+                       do {
+                               if (_msg.match(/\S/)) {
+                                       _lastMsg += _msg;
+                               }
+                               _msg = "" + _jvapps[ap].getJsMessage(msg, handle);
+                       } while (_msg.match(/\S/));
+               }
+               // locate the jmol that should get the message
+               for (var jmol in _jvjmols.values())
+                       {
+                       var jml=_jvjmols.values()[jmol];
+                       if (jml._filetonum.get(involves))
+                               {
+                                       colourStructs(jml._jmhandle);
+                               }
+                       }
+               _colourStruct = 0;
+       } else {
+               // setTimeout('colourStruct("'+msg+'","'+handle+'")',3);
+       }
+}
+
+function colourStructs(jmolapp) {
+       dbg(0, "Colouring the structures\n");
+       jmolScriptWait("set selectionhalos false;" + _lastMsg
+                       + "; select 0; set selectionhalos true;", jmolapp);
+       _lastMsg = "";
+}
+var _jmolhovermsg="";
+function _jmolhover(jmid, atomlabel, atomidx) {
+       var msg=""+jmid+" "+atomlabel+" "+atomidx;
+       if (_jmolhovermsg==msg)
+               {
+               return;
+               }
+       _jmolhovermsg=msg;
+       modeltofiles = _jvjmols.get(jmid)._modelstofiles;
+       // atomlabel=(""+atomlabel).match(/\[(.+)\](\d+):(.)\.(\S+)\s*\/(\d+)\..+/);
+       // relaxed third parameter - may be null or a model number for multi model
+       // views
+       atomlabel = ("" + atomlabel)
+                       .match(/\[(.+)\](\d+):(.)\.([^\/]+)(\/\d+\.|).+/);
+       atomidx = "" + atomidx;
+       if (atomlabel[5]) {
+               atomlabel[5] = atomlabel[5].match(/\/(.+)\./)[1];
+               atomlabel[5] = parseInt(atomlabel[5])-1;
+       } else {
+               // default - first model
+               atomlabel[5] = 0;
+       }
+       // 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],
+                               document.baseURI
+                                               .substring(0, document.baseURI.lastIndexOf('/'))
+                                               + "/" + 
+                                               modeltofiles[atomlabel[5]]);
+               msg = _jmolhovermsg;
+       }
+}
+function _jmolpick(jmid, atomlabel, atomidx) {
+       atomlabel = "" + atomlabel;
+       atomidx = "" + atomidx;
+       // label is atom id, atom number, and xyz coordinates in the form:
+       // C6 #6 -0.30683374 -1.6836332 -0.716934
+       // atom index, starting with 0.
+
+}
+function _jmolMessagecallback(jmid, statmess) {
+       // if (statmess.indexOf("Script Terminated")==0)
+       {
+               var thisTime = new Date();
+               if (_console) {
+                       _console.value += "Last script execution took : "
+                                       + (thisTime.valueOf() - _lastTime.valueOf()) / 1000.0
+                                       + " seconds.";
+               }
+               _lastTime = thisTime;
+
+       }
+}
diff --git a/examples-jbake/assets/javascript/jquery-1.4.4.min.js b/examples-jbake/assets/javascript/jquery-1.4.4.min.js
new file mode 100644 (file)
index 0000000..8f3ca2e
--- /dev/null
@@ -0,0 +1,167 @@
+/*!
+ * jQuery JavaScript Library v1.4.4
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Nov 11 19:04:53 2010 -0500
+ */
+(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
+h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
+h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
+"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
+e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
+"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
+s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
+j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
+toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
+-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
+if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
+if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
+b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
+!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
+l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
+z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
+s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
+s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
+[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
+false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
+k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
+scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
+1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
+"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
+c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
+else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
+a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
+c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
+a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
+colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
+1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
+l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
+"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
+if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
+a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
+attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
+b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
+c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
+arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
+d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
+c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
+w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
+8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
+"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
+Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
+c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
+var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
+"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
+xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
+B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
+"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
+0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
+a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
+1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
+"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
+c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
+(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
+[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
+break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
+q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
+l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
+return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
+B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
+POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
+i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
+i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
+"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
+m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
+true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
+g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
+0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
+"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
+i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
+if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
+g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
+for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
+i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
+n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
+function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
+p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
+t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
+function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
+c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
+not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
+h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
+c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
+2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
+b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
+e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
+"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
+else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
+c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
+b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
+this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
+prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
+b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
+1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
+d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
+jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
+zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
+h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
+if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
+d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
+e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
+ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
+"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
+!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
+getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
+script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
+!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
+false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
+A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
+b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
+c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
+c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
+encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
+[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
+e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
+if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
+3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
+d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
+d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
+"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
+1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
+d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
+Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
+var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
+this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
+this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
+c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
+b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
+h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
+for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
+parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
+height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
+f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
+"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
+e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
+c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
+c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
+b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);
diff --git a/examples-jbake/assets/javascript/jquery.blockUI.js b/examples-jbake/assets/javascript/jquery.blockUI.js
new file mode 100644 (file)
index 0000000..502a2e8
--- /dev/null
@@ -0,0 +1,490 @@
+\feff/*!
+ * jQuery blockUI plugin
+ * Version 2.37 (29-JAN-2011)
+ * @requires jQuery v1.2.3 or later
+ *
+ * Examples at: http://malsup.com/jquery/block/
+ * Copyright (c) 2007-2010 M. Alsup
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * Thanks to Amir-Hossein Sobhi for some excellent contributions!
+ */
+
+;(function($) {
+
+if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
+       alert('blockUI requires jQuery v1.2.3 or later!  You are using v' + $.fn.jquery);
+       return;
+}
+
+$.fn._fadeIn = $.fn.fadeIn;
+
+var noOp = function() {};
+
+// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
+// retarded userAgent strings on Vista)
+var mode = document.documentMode || 0;
+var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);
+var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;
+
+// global $ methods for blocking/unblocking the entire page
+$.blockUI   = function(opts) { install(window, opts); };
+$.unblockUI = function(opts) { remove(window, opts); };
+
+// convenience method for quick growl-like notifications  (http://www.google.com/search?q=growl)
+$.growlUI = function(title, message, timeout, onClose) {
+       var $m = $('<div class="growlUI"></div>');
+       if (title) $m.append('<h1>'+title+'</h1>');
+       if (message) $m.append('<h2>'+message+'</h2>');
+       if (timeout == undefined) timeout = 3000;
+       $.blockUI({
+               message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
+               timeout: timeout, showOverlay: false,
+               onUnblock: onClose, 
+               css: $.blockUI.defaults.growlCSS
+       });
+};
+
+// plugin method for blocking element content
+$.fn.block = function(opts) {
+       return this.unblock({ fadeOut: 0 }).each(function() {
+               if ($.css(this,'position') == 'static')
+                       this.style.position = 'relative';
+               if ($.browser.msie)
+                       this.style.zoom = 1; // force 'hasLayout'
+               install(this, opts);
+       });
+};
+
+// plugin method for unblocking element content
+$.fn.unblock = function(opts) {
+       return this.each(function() {
+               remove(this, opts);
+       });
+};
+
+$.blockUI.version = 2.37; // 2nd generation blocking at no extra cost!
+
+// override these in your code to change the default behavior and style
+$.blockUI.defaults = {
+       // message displayed when blocking (use null for no message)
+       message:  '<h1>Please wait...</h1>',
+
+       title: null,      // title string; only used when theme == true
+       draggable: true,  // only used when theme == true (requires jquery-ui.js to be loaded)
+       
+       theme: false, // set to true to use with jQuery UI themes
+       
+       // styles for the message when blocking; if you wish to disable
+       // these and use an external stylesheet then do this in your code:
+       // $.blockUI.defaults.css = {};
+       css: {
+               padding:        0,
+               margin:         0,
+               width:          '30%',
+               top:            '40%',
+               left:           '35%',
+               textAlign:      'center',
+               color:          '#000',
+               border:         '3px solid #aaa',
+               backgroundColor:'#fff',
+               cursor:         'wait'
+       },
+       
+       // minimal style set used when themes are used
+       themedCSS: {
+               width:  '30%',
+               top:    '40%',
+               left:   '35%'
+       },
+
+       // styles for the overlay
+       overlayCSS:  {
+               backgroundColor: '#000',
+               opacity:                 0.6,
+               cursor:                  'wait'
+       },
+
+       // styles applied when using $.growlUI
+       growlCSS: {
+               width:          '350px',
+               top:            '10px',
+               left:           '',
+               right:          '10px',
+               border:         'none',
+               padding:        '5px',
+               opacity:        0.6,
+               cursor:         'default',
+               color:          '#fff',
+               backgroundColor: '#000',
+               '-webkit-border-radius': '10px',
+               '-moz-border-radius':    '10px',
+               'border-radius':                 '10px'
+       },
+       
+       // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
+       // (hat tip to Jorge H. N. de Vasconcelos)
+       iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
+
+       // force usage of iframe in non-IE browsers (handy for blocking applets)
+       forceIframe: false,
+
+       // z-index for the blocking overlay
+       baseZ: 1000,
+
+       // set these to true to have the message automatically centered
+       centerX: true, // <-- only effects element blocking (page block controlled via css above)
+       centerY: true,
+
+       // allow body element to be stetched in ie6; this makes blocking look better
+       // on "short" pages.  disable if you wish to prevent changes to the body height
+       allowBodyStretch: true,
+
+       // enable if you want key and mouse events to be disabled for content that is blocked
+       bindEvents: true,
+
+       // be default blockUI will supress tab navigation from leaving blocking content
+       // (if bindEvents is true)
+       constrainTabKey: true,
+
+       // fadeIn time in millis; set to 0 to disable fadeIn on block
+       fadeIn:  200,
+
+       // fadeOut time in millis; set to 0 to disable fadeOut on unblock
+       fadeOut:  400,
+
+       // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
+       timeout: 0,
+
+       // disable if you don't want to show the overlay
+       showOverlay: true,
+
+       // if true, focus will be placed in the first available input field when
+       // page blocking
+       focusInput: true,
+
+       // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
+       applyPlatformOpacityRules: true,
+       
+       // callback method invoked when fadeIn has completed and blocking message is visible
+       onBlock: null,
+
+       // callback method invoked when unblocking has completed; the callback is
+       // passed the element that has been unblocked (which is the window object for page
+       // blocks) and the options that were passed to the unblock call:
+       //       onUnblock(element, options)
+       onUnblock: null,
+
+       // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
+       quirksmodeOffsetHack: 4,
+
+       // class name of the message block
+       blockMsgClass: 'blockMsg'
+};
+
+// private data and functions follow...
+
+var pageBlock = null;
+var pageBlockEls = [];
+
+function install(el, opts) {
+       var full = (el == window);
+       var msg = opts && opts.message !== undefined ? opts.message : undefined;
+       opts = $.extend({}, $.blockUI.defaults, opts || {});
+       opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
+       var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
+       var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
+       msg = msg === undefined ? opts.message : msg;
+
+       // remove the current block (if there is one)
+       if (full && pageBlock)
+               remove(window, {fadeOut:0});
+
+       // if an existing element is being used as the blocking content then we capture
+       // its current place in the DOM (and current display style) so we can restore
+       // it when we unblock
+       if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
+               var node = msg.jquery ? msg[0] : msg;
+               var data = {};
+               $(el).data('blockUI.history', data);
+               data.el = node;
+               data.parent = node.parentNode;
+               data.display = node.style.display;
+               data.position = node.style.position;
+               if (data.parent)
+                       data.parent.removeChild(node);
+       }
+
+       var z = opts.baseZ;
+
+       // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
+       // layer1 is the iframe layer which is used to supress bleed through of underlying content
+       // layer2 is the overlay layer which has opacity and a wait cursor (by default)
+       // layer3 is the message content that is displayed while blocking
+
+       var lyr1 = ($.browser.msie || opts.forceIframe) 
+               ? $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>')
+               : $('<div class="blockUI" style="display:none"></div>');
+       var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
+       
+       var lyr3, s;
+       if (opts.theme && full) {
+               s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:fixed">' +
+                               '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>' +
+                               '<div class="ui-widget-content ui-dialog-content"></div>' +
+                       '</div>';
+       }
+       else if (opts.theme) {
+               s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:absolute">' +
+                               '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>' +
+                               '<div class="ui-widget-content ui-dialog-content"></div>' +
+                       '</div>';
+       }
+       else if (full) {
+               s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+z+';display:none;position:fixed"></div>';
+       }                       
+       else {
+               s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+z+';display:none;position:absolute"></div>';
+       }
+       lyr3 = $(s);
+
+       // if we have a message, style it
+       if (msg) {
+               if (opts.theme) {
+                       lyr3.css(themedCSS);
+                       lyr3.addClass('ui-widget-content');
+               }
+               else 
+                       lyr3.css(css);
+       }
+
+       // style the overlay
+       if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform)))
+               lyr2.css(opts.overlayCSS);
+       lyr2.css('position', full ? 'fixed' : 'absolute');
+
+       // make iframe layer transparent in IE
+       if ($.browser.msie || opts.forceIframe)
+               lyr1.css('opacity',0.0);
+
+       //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
+       var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
+       $.each(layers, function() {
+               this.appendTo($par);
+       });
+       
+       if (opts.theme && opts.draggable && $.fn.draggable) {
+               lyr3.draggable({
+                       handle: '.ui-dialog-titlebar',
+                       cancel: 'li'
+               });
+       }
+
+       // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
+       var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
+       if (ie6 || expr) {
+               // give body 100% height
+               if (full && opts.allowBodyStretch && $.boxModel)
+                       $('html,body').css('height','100%');
+
+               // fix ie6 issue when blocked element has a border width
+               if ((ie6 || !$.boxModel) && !full) {
+                       var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
+                       var fixT = t ? '(0 - '+t+')' : 0;
+                       var fixL = l ? '(0 - '+l+')' : 0;
+               }
+
+               // simulate fixed position
+               $.each([lyr1,lyr2,lyr3], function(i,o) {
+                       var s = o[0].style;
+                       s.position = 'absolute';
+                       if (i < 2) {
+                               full ? s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"')
+                                        : s.setExpression('height','this.parentNode.offsetHeight + "px"');
+                               full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
+                                        : s.setExpression('width','this.parentNode.offsetWidth + "px"');
+                               if (fixL) s.setExpression('left', fixL);
+                               if (fixT) s.setExpression('top', fixT);
+                       }
+                       else if (opts.centerY) {
+                               if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
+                               s.marginTop = 0;
+                       }
+                       else if (!opts.centerY && full) {
+                               var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0;
+                               var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
+                               s.setExpression('top',expression);
+                       }
+               });
+       }
+
+       // show the message
+       if (msg) {
+               if (opts.theme)
+                       lyr3.find('.ui-widget-content').append(msg);
+               else
+                       lyr3.append(msg);
+               if (msg.jquery || msg.nodeType)
+                       $(msg).show();
+       }
+
+       if (($.browser.msie || opts.forceIframe) && opts.showOverlay)
+               lyr1.show(); // opacity is zero
+       if (opts.fadeIn) {
+               var cb = opts.onBlock ? opts.onBlock : noOp;
+               var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
+               var cb2 = msg ? cb : noOp;
+               if (opts.showOverlay)
+                       lyr2._fadeIn(opts.fadeIn, cb1);
+               if (msg)
+                       lyr3._fadeIn(opts.fadeIn, cb2);
+       }
+       else {
+               if (opts.showOverlay)
+                       lyr2.show();
+               if (msg)
+                       lyr3.show();
+               if (opts.onBlock)
+                       opts.onBlock();
+       }
+
+       // bind key and mouse events
+       bind(1, el, opts);
+
+       if (full) {
+               pageBlock = lyr3[0];
+               pageBlockEls = $(':input:enabled:visible',pageBlock);
+               if (opts.focusInput)
+                       setTimeout(focus, 20);
+       }
+       else
+               center(lyr3[0], opts.centerX, opts.centerY);
+
+       if (opts.timeout) {
+               // auto-unblock
+               var to = setTimeout(function() {
+                       full ? $.unblockUI(opts) : $(el).unblock(opts);
+               }, opts.timeout);
+               $(el).data('blockUI.timeout', to);
+       }
+};
+
+// remove the block
+function remove(el, opts) {
+       var full = (el == window);
+       var $el = $(el);
+       var data = $el.data('blockUI.history');
+       var to = $el.data('blockUI.timeout');
+       if (to) {
+               clearTimeout(to);
+               $el.removeData('blockUI.timeout');
+       }
+       opts = $.extend({}, $.blockUI.defaults, opts || {});
+       bind(0, el, opts); // unbind events
+       
+       var els;
+       if (full) // crazy selector to handle odd field errors in ie6/7
+               els = $('body').children().filter('.blockUI').add('body > .blockUI');
+       else
+               els = $('.blockUI', el);
+
+       if (full)
+               pageBlock = pageBlockEls = null;
+
+       if (opts.fadeOut) {
+               els.fadeOut(opts.fadeOut);
+               setTimeout(function() { reset(els,data,opts,el); }, opts.fadeOut);
+       }
+       else
+               reset(els, data, opts, el);
+};
+
+// move blocking element back into the DOM where it started
+function reset(els,data,opts,el) {
+       els.each(function(i,o) {
+               // remove via DOM calls so we don't lose event handlers
+               if (this.parentNode)
+                       this.parentNode.removeChild(this);
+       });
+
+       if (data && data.el) {
+               data.el.style.display = data.display;
+               data.el.style.position = data.position;
+               if (data.parent)
+                       data.parent.appendChild(data.el);
+               $(el).removeData('blockUI.history');
+       }
+
+       if (typeof opts.onUnblock == 'function')
+               opts.onUnblock(el,opts);
+};
+
+// bind/unbind the handler
+function bind(b, el, opts) {
+       var full = el == window, $el = $(el);
+
+       // don't bother unbinding if there is nothing to unbind
+       if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
+               return;
+       if (!full)
+               $el.data('blockUI.isBlocked', b);
+
+       // don't bind events when overlay is not in use or if bindEvents is false
+       if (!opts.bindEvents || (b && !opts.showOverlay)) 
+               return;
+
+       // bind anchors and inputs for mouse and key events
+       var events = 'mousedown mouseup keydown keypress';
+       b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);
+
+// former impl...
+//        var $e = $('a,:input');
+//        b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
+};
+
+// event handler to suppress keyboard/mouse events when blocking
+function handler(e) {
+       // allow tab navigation (conditionally)
+       if (e.keyCode && e.keyCode == 9) {
+               if (pageBlock && e.data.constrainTabKey) {
+                       var els = pageBlockEls;
+                       var fwd = !e.shiftKey && e.target === els[els.length-1];
+                       var back = e.shiftKey && e.target === els[0];
+                       if (fwd || back) {
+                               setTimeout(function(){focus(back)},10);
+                               return false;
+                       }
+               }
+       }
+       var opts = e.data;
+       // allow events within the message content
+       if ($(e.target).parents('div.' + opts.blockMsgClass).length > 0)
+               return true;
+
+       // allow events for content that is not being blocked
+       return $(e.target).parents().children().filter('div.blockUI').length == 0;
+};
+
+function focus(back) {
+       if (!pageBlockEls)
+               return;
+       var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
+       if (e)
+               e.focus();
+};
+
+function center(el, x, y) {
+       var p = el.parentNode, s = el.style;
+       var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
+       var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
+       if (x) s.left = l > 0 ? (l+'px') : '0';
+       if (y) s.top  = t > 0 ? (t+'px') : '0';
+};
+
+function sz(el, p) {
+       return parseInt($.css(el,p))||0;
+};
+
+})(jQuery);
diff --git a/examples-jbake/assets/javascript/jquery.timer.js b/examples-jbake/assets/javascript/jquery.timer.js
new file mode 100644 (file)
index 0000000..fe9afe2
--- /dev/null
@@ -0,0 +1,75 @@
+\feff/*
+ *
+ *     jQuery Timer plugin v0.1
+ *             Matt Schmidt [http://www.mattptr.net]
+ *
+ *     Licensed under the BSD License:
+ *             http://mattptr.net/license/license.txt
+ *
+ */
+ jQuery.timer = function (interval, callback)
+ {
+ /**
+  *
+  * timer() provides a cleaner way to handle intervals  
+  *
+  *    @usage
+  * $.timer(interval, callback);
+  *
+  *
+  * @example
+  * $.timer(1000, function (timer) {
+  *    alert("hello");
+  *    timer.stop();
+  * });
+  * @desc Show an alert box after 1 second and stop
+  * 
+  * @example
+  * var second = false;
+  *    $.timer(1000, function (timer) {
+  *            if (!second) {
+  *                    alert('First time!');
+  *                    second = true;
+  *                    timer.reset(3000);
+  *            }
+  *            else {
+  *                    alert('Second time');
+  *                    timer.stop();
+  *            }
+  *    });
+  * @desc Show an alert box after 1 second and show another after 3 seconds
+  *
+  * 
+  */
+
+       var interval = interval || 100;
+
+       if (!callback)
+               return false;
+       
+       _timer = function (interval, callback) {
+               this.stop = function () {
+                       clearInterval(self.id);
+               };
+               
+               this.internalCallback = function () {
+                       callback(self);
+               };
+               
+               this.reset = function (val) {
+                       if (self.id)
+                               clearInterval(self.id);
+                       
+                       var val = val || 100;
+                       this.id = setInterval(this.internalCallback, val);
+               };
+               
+               this.interval = interval;
+               this.id = setInterval(this.internalCallback, this.interval);
+               
+               var self = this;
+       };
+       
+       return new _timer(interval, callback);
+ };
\ No newline at end of file
diff --git a/examples-jbake/assets/javascript/jshashtable-2.1.js b/examples-jbake/assets/javascript/jshashtable-2.1.js
new file mode 100644 (file)
index 0000000..3b93622
--- /dev/null
@@ -0,0 +1,16 @@
+/**\r
+ * Copyright 2010 Tim Down.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();
\ No newline at end of file
diff --git a/examples-jbake/assets/jmol/Jmol.js b/examples-jbake/assets/jmol/Jmol.js
new file mode 100644 (file)
index 0000000..6962276
--- /dev/null
@@ -0,0 +1,1705 @@
+/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson\r
+\r
+ checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm\r
+\r
+    based on:\r
+ *\r
+ * Copyright (C) 2004-2005  Miguel, Jmol Development, www.jmol.org\r
+ *\r
+ * Contact: hansonr@stolaf.edu\r
+ *\r
+ *  This library is free software; you can redistribute it and/or\r
+ *  modify it under the terms of the GNU Lesser General Public\r
+ *  License as published by the Free Software Foundation; either\r
+ *  version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ *  This library is distributed in the hope that it will be useful,\r
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+ *  Lesser General Public License for more details.\r
+ *\r
+ *  You should have received a copy of the GNU Lesser General Public\r
+ *  License along with this library; if not, write to the Free Software\r
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA\r
+ *  02111-1307  USA.\r
+ */\r
+\r
+// for documentation see www.jmol.org/jslibrary\r
+\r
+try{if(typeof(_jmol)!="undefined")exit()\r
+\r
+// place "?NOAPPLET" on your command line to check applet control action with a textarea\r
+// place "?JMOLJAR=xxxxx" to use a specific jar file\r
+\r
+// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%)\r
+//    angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet\r
+// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007\r
+// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007\r
+// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007\r
+// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006\r
+// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006\r
+// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006\r
+// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006\r
+// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired.\r
+// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006\r
+// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006\r
+// bob hanson -- fix for iframes not available for finding applet\r
+// bob hanson -- added applet fake ?NOAPPLET URL flag\r
+// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006\r
+//                     used PRIOR to jmolApplet() or jmolAppletInline()\r
+//               added 4th array element in jmolRadioGroup -- title\r
+//               added <span> and id around link, checkbox, radio, menu\r
+//               fixing AJAX loads for MSIE/Opera-Mozilla incompatibility\r
+//            -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar\r
+//              renamed Jmol.js for Jmol 11 distribution\r
+//            -- modified jmolRestoreOrientation() to be immediate, no 1-second delay\r
+// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006\r
+// bh         -- jmolCommandInput()\r
+// bh         -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues\r
+// bh         -- minor fixes suggested by Angel\r
+// bh         -- adds jmolSetSyncId() and jmolGetSyncId()\r
+// bh 3/2008  -- adds jmolAppendInlineScript() and jmolAppendInlineArray()\r
+// bh 3/2008  -- fixes IE7 bug in relation to jmolLoadInlineArray()\r
+// bh 6/2008  -- adds jmolSetAppletWindow()\r
+// Angel H. 6/2008  -- added html <label> tags to checkboxes and radio buttons [in jmolCheckbox() and _jmolRadio() functions]\r
+// bh 7/2008  -- code fix "for(i..." not "for(var i..."\r
+// bh 12/2008 -- jmolLoadInline, jmolLoadInlineArray, jmolLoadInlineScript, jmolAppendInlineScript, jmolAppendInlineArray all return error message or null (Jmol 11.7.16)\r
+// bh 12/2008 -- jmolScriptWaitOutput() -- waits for script to complete and delivers output normally sent to console\r
+\r
+// bh 5/2009  -- Support for XHTML using jmolSetXHTML(id)\r
+// ah & bh 6/2009 -- New jmolResizeApplet() more flexible, similar to jmolApplet() size syntax\r
+// bh 11/2009 -- care in accessing top.document\r
+// bh 12/2009 -- added jmolSetParameter(name, value)\r
+// bh 12/2009 -- added PARAMS=name:value;name:value;name:value... for command line\r
+// bh 12/2009 -- overhaul of target checking\r
+// bh 1/2010  -- all _xxxx() methods ALWAYS have complete argument list\r
+// bh 1/2010  -- adds option to run a JavaScript function from any Jmol control. \r
+//               This is accomplished by passing an array rather than a script:\r
+//               jmolHref([myfunc,"my param 1", "my param 2"], "testing")\r
+//               function myfunc(jmolControlObject, [myfunc,"my param 1", "my param 2"], target){...}\r
+//               and allows much more flexibility with responding to controls\r
+// bh 4/2010  -- added jmolSetMemoryMb(nMb)\r
+// ah 1/2011  -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; \r
+//               fix of object tag (removed classid) accounts for change of behavior in Chrome\r
+// bh 3/2011  -- added jmolLoadAjax_STOLAF_NIH\r
+\r
+var defaultdir = "."\r
+var defaultjar = "JmolApplet.jar"\r
+\r
+\r
+// Note added 12:41 PM 9/21/2008 by Bob Hanson, hansonr@stolaf.edu:\r
+\r
+// JMOLJAR=xxxxx.jar on the URL for this page will override\r
+// the JAR file specified in the jmolInitialize() call.\r
+\r
+// The idea is that it can be very useful to test a web page with different JAR files\r
+// Or for an expert user to substitute a signed applet for an unsigned one\r
+// so as to use a broader range of models or to create JPEG files, for example.\r
+\r
+// If the JAR file is not in the current directory (has any sort of "/" in its name)\r
+// then the user is presented with a warning and asked whether it is OK to change Jar files.\r
+// The default action, if the user just presses "OK" is to NOT allow the change. \r
+// The user must type the word "yes" in the prompt box for the change to be approved.\r
+\r
+// If you don't want people to be able to switch in their own JAR file on your page,\r
+// simply set this next line to read "var allowJMOLJAR = false".\r
+\r
+\r
+var undefined; // for IE 5 ... wherein undefined is undefined\r
+\r
+////////////////////////////////////////////////////////////////\r
+// Basic Scripting infrastruture\r
+////////////////////////////////////////////////////////////////\r
+\r
+function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {\r
+  if (_jmol.initialized)\r
+    return;\r
+  _jmol.initialized = true;\r
+  if(_jmol.jmoljar) {\r
+    var f = _jmol.jmoljar;\r
+    if (f.indexOf("/") >= 0) {\r
+      alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")\r
+      var ok = prompt("Do you want to use applet " + f + "? ","yes or no")\r
+      if (ok == "yes") {\r
+        codebaseDirectory = f.substring(0, f.lastIndexOf("/"));\r
+        fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);\r
+      } else {\r
+       _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
+        alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');\r
+      }\r
+    } else {\r
+      fileNameOrUseSignedApplet = f;\r
+    }\r
+  }\r
+  _jmolSetCodebase(codebaseDirectory);\r
+  _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
+  _jmolOnloadResetForms();\r
+}\r
+\r
+function jmolSetTranslation(TF) {\r
+  _jmol.params.doTranslate = ''+TF;\r
+}\r
+\r
+function _jmolGetJarFilename(fileNameOrFlag) {\r
+  _jmol.archivePath =\r
+    (typeof(fileNameOrFlag) == "string"  ? fileNameOrFlag : (fileNameOrFlag ?  "JmolAppletSigned" : "JmolApplet") + "0.jar");\r
+}\r
+\r
+function jmolSetDocument(doc) {\r
+  _jmol.currentDocument = doc;\r
+}\r
+\r
+function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {\r
+  _jmolInitCheck();\r
+  _jmol.params.boxbgcolor = boxbgcolor;\r
+  if (boxfgcolor)\r
+    _jmol.params.boxfgcolor = boxfgcolor\r
+  else if (boxbgcolor == "white" || boxbgcolor == "#FFFFFF")\r
+    _jmol.params.boxfgcolor = "black";\r
+  else\r
+    _jmol.params.boxfgcolor = "white";\r
+  if (progresscolor)\r
+    _jmol.params.progresscolor = progresscolor;\r
+  if (_jmol.debugAlert)\r
+    alert(" boxbgcolor=" + _jmol.params.boxbgcolor +\r
+          " boxfgcolor=" + _jmol.params.boxfgcolor +\r
+          " progresscolor=" + _jmol.params.progresscolor);\r
+}\r
+\r
+function jmolSetAppletWindow(w) {\r
+  _jmol.appletWindow = w;\r
+}\r
+\r
+function jmolApplet(size, script, nameSuffix) {\r
+  _jmolInitCheck();\r
+  return _jmolApplet(size, null, script, nameSuffix);\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// Basic controls\r
+////////////////////////////////////////////////////////////////\r
+\r
+// undefined means it wasn't there; null means it was explicitly listed as null (so as to skip it)\r
+\r
+function jmolButton(script, label, id, title) {\r
+  _jmolInitCheck();\r
+  id != undefined && id != null || (id = "jmolButton" + _jmol.buttonCount);\r
+  label != undefined && label != null || (label = script.substring(0, 32));\r
+  ++_jmol.buttonCount;\r
+  var scriptIndex = _jmolAddScript(script);\r
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='button' name='" + id + "' id='" + id +\r
+          "' value='" + label +\r
+          "' onclick='_jmolClick(this," + scriptIndex + _jmol.targetText +\r
+          ")' onmouseover='_jmolMouseOver(" + scriptIndex +\r
+          ");return true' onmouseout='_jmolMouseOut()' " +\r
+          _jmol.buttonCssText + " /></span>";\r
+  if (_jmol.debugAlert)\r
+    alert(t);\r
+  return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked,\r
+                      labelHtml, isChecked, id, title) {\r
+  _jmolInitCheck();\r
+  id != undefined && id != null || (id = "jmolCheckbox" + _jmol.checkboxCount);\r
+  ++_jmol.checkboxCount;\r
+  if (scriptWhenChecked == undefined || scriptWhenChecked == null ||\r
+      scriptWhenUnchecked == undefined || scriptWhenUnchecked == null) {\r
+    alert("jmolCheckbox requires two scripts");\r
+    return;\r
+  }\r
+  if (labelHtml == undefined || labelHtml == null) {\r
+    alert("jmolCheckbox requires a label");\r
+    return;\r
+  }\r
+  var indexChecked = _jmolAddScript(scriptWhenChecked);\r
+  var indexUnchecked = _jmolAddScript(scriptWhenUnchecked);\r
+  var eospan = "</span>"\r
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='checkbox' name='" + id + "' id='" + id +\r
+          "' onclick='_jmolCbClick(this," +\r
+          indexChecked + "," + indexUnchecked + _jmol.targetText +\r
+          ")' onmouseover='_jmolCbOver(this," + indexChecked + "," +\r
+          indexUnchecked +\r
+          ");return true' onmouseout='_jmolMouseOut()' " +\r
+         (isChecked ? "checked='true' " : "")+ _jmol.checkboxCssText + " />" \r
+  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
+       t += eospan\r
+       eospan = "";\r
+  }\r
+  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan;\r
+  if (_jmol.debugAlert)\r
+    alert(t);\r
+  return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolStartNewRadioGroup() {\r
+  ++_jmol.radioGroupCount;\r
+}\r
+\r
+function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {\r
+  /*\r
+\r
+    array: [radio1,radio2,radio3...]\r
+    where radioN = ["script","label",isSelected,"id","title"]\r
+\r
+  */\r
+\r
+  _jmolInitCheck();\r
+  var type = typeof arrayOfRadioButtons;\r
+  if (type != "object" || type == null || ! arrayOfRadioButtons.length) {\r
+    alert("invalid arrayOfRadioButtons");\r
+    return;\r
+  }\r
+  separatorHtml != undefined && separatorHtml != null || (separatorHtml = "&nbsp; ");\r
+  var len = arrayOfRadioButtons.length;\r
+  jmolStartNewRadioGroup();\r
+  groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
+  var t = "<span id='"+(id ? id : groupName)+"'>";\r
+  for (var i = 0; i < len; ++i) {\r
+    if (i == len - 1)\r
+      separatorHtml = "";\r
+    var radio = arrayOfRadioButtons[i];\r
+    type = typeof radio;\r
+    if (type == "object") {\r
+      t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title);\r
+    } else {\r
+      t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title);\r
+    }\r
+  }\r
+  t+="</span>"\r
+  if (_jmol.debugAlert)\r
+    alert(t);\r
+  return _jmolDocumentWrite(t);\r
+}\r
+\r
+\r
+function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
+  _jmolInitCheck();\r
+  if (_jmol.radioGroupCount == 0)\r
+    ++_jmol.radioGroupCount;\r
+  var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0);\r
+  if (_jmol.debugAlert)\r
+    alert(t);\r
+  return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolLink(script, label, id, title) {\r
+  _jmolInitCheck();\r
+  id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount);\r
+  label != undefined && label != null || (label = script.substring(0, 32));\r
+  ++_jmol.linkCount;\r
+  var scriptIndex = _jmolAddScript(script);\r
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><a name='" + id + "' id='" + id + \r
+          "' href='javascript:_jmolClick(this," + scriptIndex + _jmol.targetText + ");' onmouseover='_jmolMouseOver(" + scriptIndex +\r
+          ");return true;' onmouseout='_jmolMouseOut()' " +\r
+          _jmol.linkCssText + ">" + label + "</a></span>";\r
+  if (_jmol.debugAlert)\r
+    alert(t);\r
+  return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolCommandInput(label, size, id, title) {\r
+  _jmolInitCheck();\r
+  id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount);\r
+  label != undefined && label != null || (label = "Execute");\r
+  size != undefined && !isNaN(size) || (size = 60);\r
+  ++_jmol.cmdCount;\r
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" + id + "' id='" + id + \r
+          "' size='"+size+"' onkeypress='_jmolCommandKeyPress(event,\""+id+"\"" + _jmol.targetText + ")'><input type=button value = '"+label+"' onclick='jmolScript(document.getElementById(\""+id+"\").value" + _jmol.targetText + ")' /></span>";\r
+  if (_jmol.debugAlert)\r
+    alert(t);\r
+  return _jmolDocumentWrite(t);\r
+}\r
+\r
+function _jmolCommandKeyPress(e, id, target) {\r
+       var keycode = (window.event ? window.event.keyCode : e ? e.which : 0);\r
+       if (keycode == 13) {\r
+               var inputBox = document.getElementById(id)\r
+               _jmolScriptExecute(inputBox, inputBox.value, target)\r
+       }\r
+}\r
+\r
+function _jmolScriptExecute(element,script,target) {\r
+       if (typeof(script) == "object")\r
+               script[0](element, script, target)\r
+       else\r
+               jmolScript(script, target) \r
+}\r
+\r
+function jmolMenu(arrayOfMenuItems, size, id, title) {\r
+  _jmolInitCheck();\r
+  id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount);\r
+  ++_jmol.menuCount;\r
+  var type = typeof arrayOfMenuItems;\r
+  if (type != null && type == "object" && arrayOfMenuItems.length) {\r
+    var len = arrayOfMenuItems.length;\r
+    if (typeof size != "number" || size == 1)\r
+      size = null;\r
+    else if (size < 0)\r
+      size = len;\r
+    var sizeText = size ? " size='" + size + "' " : "";\r
+    var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><select name='" + id + "' id='" + id +\r
+            "' onChange='_jmolMenuSelected(this" + _jmol.targetText + ")'" +\r
+            sizeText + _jmol.menuCssText + ">";\r
+    for (var i = 0; i < len; ++i) {\r
+      var menuItem = arrayOfMenuItems[i];\r
+      type = typeof menuItem;\r
+      var script, text;\r
+      var isSelected = undefined;\r
+      if (type == "object" && menuItem != null) {\r
+        script = menuItem[0];\r
+        text = menuItem[1];\r
+        isSelected = menuItem[2];\r
+      } else {\r
+        script = text = menuItem;\r
+      }\r
+      text != undefined && text != null || (text = script);            \r
+      if (script=="#optgroup") {\r
+        t += "<optgroup label='" + text + "'>";          \r
+         } else if (script=="#optgroupEnd") {\r
+        t += "</optgroup>";      \r
+         } else {              \r
+        var scriptIndex = _jmolAddScript(script);\r
+        var selectedText = isSelected ? "' selected='true'>" : "'>";\r
+        t += "<option value='" + scriptIndex + selectedText + text + "</option>";\r
+      }\r
+    }\r
+    t += "</select></span>";\r
+    if (_jmol.debugAlert)\r
+      alert(t);\r
+    return _jmolDocumentWrite(t);\r
+  }\r
+}\r
+\r
+function jmolHtml(html) {\r
+  return _jmolDocumentWrite(html);\r
+}\r
+\r
+function jmolBr() {\r
+  return _jmolDocumentWrite("<br />");\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// advanced scripting functions\r
+////////////////////////////////////////////////////////////////\r
+\r
+function jmolDebugAlert(enableAlerts) {\r
+  _jmol.debugAlert = (enableAlerts == undefined || enableAlerts)\r
+}\r
+\r
+function jmolAppletInline(size, inlineModel, script, nameSuffix) {\r
+  _jmolInitCheck();\r
+  return _jmolApplet(size, _jmolSterilizeInline(inlineModel),\r
+                     script, nameSuffix);\r
+}\r
+\r
+function jmolSetTarget(targetSuffix) {\r
+  _jmol.targetSuffix = targetSuffix;\r
+  _jmol.targetText = targetSuffix ? ",\"" + targetSuffix + "\"" : ",0";\r
+}\r
+\r
+function jmolScript(script, targetSuffix) {\r
+  if (script) {\r
+    _jmolCheckBrowser();\r
+    if (targetSuffix == "all") {\r
+      with (_jmol) {\r
+       for (var i = 0; i < appletSuffixes.length; ++i) {\r
+         var applet = _jmolGetApplet(appletSuffixes[i]);\r
+          if (applet) applet.script(script);\r
+        }\r
+      }\r
+    } else {\r
+      var applet=_jmolGetApplet(targetSuffix);\r
+      if (applet) applet.script(script);\r
+    }\r
+  }\r
+}\r
+\r
+function jmolLoadInline(model, targetSuffix) {\r
+  if (!model)return "ERROR: NO MODEL"\r
+  var applet=_jmolGetApplet(targetSuffix);\r
+  if (!applet)return "ERROR: NO APPLET"\r
+  if (typeof(model) == "string")\r
+    return applet.loadInlineString(model, "", false);\r
+  else\r
+    return applet.loadInlineArray(model, "", false);\r
+}\r
+\r
+\r
+function jmolLoadInlineScript(model, script, targetSuffix) {\r
+  if (!model)return "ERROR: NO MODEL"\r
+  var applet=_jmolGetApplet(targetSuffix);\r
+  if (!applet)return "ERROR: NO APPLET"\r
+  return applet.loadInlineString(model, script, false);\r
+}\r
+\r
+\r
+function jmolLoadInlineArray(ModelArray, script, targetSuffix) {\r
+  if (!model)return "ERROR: NO MODEL"\r
+  script || (script="")\r
+  var applet=_jmolGetApplet(targetSuffix);\r
+  if (!applet)return "ERROR: NO APPLET"\r
+  try {\r
+    return applet.loadInlineArray(ModelArray, script, false);\r
+  } catch (err) {\r
+    //IE 7 bug\r
+    return applet.loadInlineString(ModelArray.join("\n"), script, false);\r
+  }\r
+}\r
+\r
+function jmolAppendInlineArray(ModelArray, script, targetSuffix) {\r
+  if (!model)return "ERROR: NO MODEL"\r
+  script || (script="")\r
+  var applet=_jmolGetApplet(targetSuffix);\r
+  if (!applet)return "ERROR: NO APPLET"\r
+  try {\r
+    return applet.loadInlineArray(ModelArray, script, true);\r
+  } catch (err) {\r
+    //IE 7 bug\r
+    return applet.loadInlineString(ModelArray.join("\n"), script, true);\r
+  }\r
+}\r
+\r
+function jmolAppendInlineScript(model, script, targetSuffix) {\r
+  if (!model)return "ERROR: NO MODEL"\r
+  var applet=_jmolGetApplet(targetSuffix);\r
+  if (!applet)return "ERROR: NO APPLET"\r
+  return applet.loadInlineString(model, script, true);\r
+}\r
+\r
+function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {\r
+  if (typeof action == "string") {\r
+    action = action.toLowerCase();\r
+    action == "alert" || action == "redirect" || action == "popup" || (action = null);\r
+  }\r
+  if (typeof action != "string")\r
+    alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
+          "action must be 'alert', 'redirect', or 'popup'");\r
+  else {\r
+    if (typeof urlOrMessage != "string")\r
+      alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
+            "urlOrMessage must be a string");\r
+    else {\r
+      _jmol.checkBrowserAction = action;\r
+      _jmol.checkBrowserUrlOrMessage = urlOrMessage;\r
+    }\r
+  }\r
+  if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")\r
+    _jmolCheckBrowser();\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// Cascading Style Sheet Class support\r
+////////////////////////////////////////////////////////////////\r
+\r
+function jmolSetAppletCssClass(appletCssClass) {\r
+  if (_jmol.hasGetElementById) {\r
+    _jmol.appletCssClass = appletCssClass;\r
+    _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";\r
+  }\r
+}\r
+\r
+function jmolSetButtonCssClass(buttonCssClass) {\r
+  if (_jmol.hasGetElementById) {\r
+    _jmol.buttonCssClass = buttonCssClass;\r
+    _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";\r
+  }\r
+}\r
+\r
+function jmolSetCheckboxCssClass(checkboxCssClass) {\r
+  if (_jmol.hasGetElementById) {\r
+    _jmol.checkboxCssClass = checkboxCssClass;\r
+    _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";\r
+  }\r
+}\r
+\r
+function jmolSetRadioCssClass(radioCssClass) {\r
+  if (_jmol.hasGetElementById) {\r
+    _jmol.radioCssClass = radioCssClass;\r
+    _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";\r
+  }\r
+}\r
+\r
+function jmolSetLinkCssClass(linkCssClass) {\r
+  if (_jmol.hasGetElementById) {\r
+    _jmol.linkCssClass = linkCssClass;\r
+    _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";\r
+  }\r
+}\r
+\r
+function jmolSetMenuCssClass(menuCssClass) {\r
+  if (_jmol.hasGetElementById) {\r
+    _jmol.menuCssClass = menuCssClass;\r
+    _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";\r
+  }\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// functions for INTERNAL USE ONLY which are subject to change\r
+// use at your own risk ... you have been WARNED!\r
+////////////////////////////////////////////////////////////////\r
+var _jmol = {\r
+  currentDocument: document,\r
+\r
+  debugAlert: false,\r
+  \r
+  codebase: "",\r
+  modelbase: ".",\r
+  \r
+  appletCount: 0,\r
+  appletSuffixes: [],\r
+  appletWindow: null,\r
+  allowedJmolSize: [25, 2048, 300],   // min, max, default (pixels)\r
+         /*  By setting the _jmol.allowedJmolSize[] variable in the webpage \r
+             before calling jmolApplet(), limits for applet size can be overriden.\r
+                   2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)\r
+         */  \r
+  buttonCount: 0,\r
+  checkboxCount: 0,\r
+  linkCount: 0,\r
+  cmdCount: 0,\r
+  menuCount: 0,\r
+  radioCount: 0,\r
+  radioGroupCount: 0,\r
+  \r
+  appletCssClass: null,\r
+  appletCssText: "",\r
+  buttonCssClass: null,\r
+  buttonCssText: "",\r
+  checkboxCssClass: null,\r
+  checkboxCssText: "",\r
+  java_arguments: "-Xmx512m",\r
+  radioCssClass: null,\r
+  radioCssText: "",\r
+  linkCssClass: null,\r
+  linkCssText: "",\r
+  menuCssClass: null,\r
+  menuCssText: "",\r
+  \r
+  targetSuffix: 0,\r
+  targetText: ",0",\r
+  scripts: [""],\r
+  params: {\r
+       syncId: ("" + Math.random()).substring(3),\r
+       progressbar: "true",\r
+       progresscolor: "blue",\r
+       boxbgcolor: "black",\r
+       boxfgcolor: "white",\r
+       boxmessage: "Downloading JmolApplet ..."\r
+  },\r
+  ua: navigator.userAgent.toLowerCase(),\r
+  // uaVersion: parseFloat(navigator.appVersion),  // not used\r
+  \r
+  os: "unknown",\r
+  browser: "unknown",\r
+  browserVersion: 0,\r
+  hasGetElementById: !!document.getElementById,\r
+  isJavaEnabled: navigator.javaEnabled(),\r
+  // isNetscape47Win: false,  // not used, N4.7 is no longer supported even for detection\r
+  useIEObject: false,\r
+  useHtml4Object: false,\r
+  \r
+  windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",\r
+  windowsCabUrl:\r
+   "http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab",\r
+\r
+  isBrowserCompliant: false,\r
+  isJavaCompliant: false,\r
+  isFullyCompliant: false,\r
+\r
+  initialized: false,\r
+  initChecked: false,\r
+  \r
+  browserChecked: false,\r
+  checkBrowserAction: "alert",\r
+  checkBrowserUrlOrMessage: null,\r
+\r
+  archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar\r
+\r
+  previousOnloadHandler: null,\r
+\r
+  jmoljar: null,  \r
+  useNoApplet: false,\r
+\r
+  ready: {}\r
+}\r
+\r
+with (_jmol) {\r
+  function _jmolTestUA(candidate) {\r
+    var ua = _jmol.ua;\r
+    var index = ua.indexOf(candidate);\r
+    if (index < 0)\r
+      return false;\r
+    _jmol.browser = candidate;\r
+    _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));\r
+    return true;\r
+  }\r
+  \r
+  function _jmolTestOS(candidate) {\r
+    if (_jmol.ua.indexOf(candidate) < 0)\r
+      return false;\r
+    _jmol.os = candidate;\r
+    return true;\r
+  }\r
+  \r
+  _jmolTestUA("konqueror") ||\r
+  _jmolTestUA("webkit") ||\r
+  _jmolTestUA("omniweb") ||\r
+  _jmolTestUA("opera") ||\r
+  _jmolTestUA("webtv") ||\r
+  _jmolTestUA("icab") ||\r
+  _jmolTestUA("msie") ||\r
+  (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla")); //Netscape, Mozilla, Seamonkey, Firefox and anything assimilated\r
+  \r
+  _jmolTestOS("linux") ||\r
+  _jmolTestOS("unix") ||\r
+  _jmolTestOS("mac") ||\r
+  _jmolTestOS("win");\r
+\r
+  /* not used:\r
+       isNetscape47Win = (os == "win" && browser == "mozilla" &&\r
+                     browserVersion >= 4.78 && browserVersion <= 4.8);\r
+       */\r
+\r
+  if (os == "win") {\r
+    isBrowserCompliant = hasGetElementById;\r
+  } else if (os == "mac") { // mac is the problem child :-(\r
+    if (browser == "mozilla" && browserVersion >= 5) {\r
+      // miguel 2004 11 17\r
+      // checking the plugins array does not work because\r
+      // Netscape 7.2 OS X still has Java 1.3.1 listed even though\r
+      // javaplugin.sf.net is installed to upgrade to 1.4.2\r
+      eval("try {var v = java.lang.System.getProperty('java.version');" +\r
+           " _jmol.isBrowserCompliant = v >= '1.4.2';" +\r
+           " } catch (e) { }");\r
+    } else if (browser == "opera" && browserVersion <= 7.54) {\r
+      isBrowserCompliant = false;\r
+    } else {\r
+      isBrowserCompliant = hasGetElementById &&\r
+        !((browser == "msie") ||\r
+          (browser == "webkit" && browserVersion < 125.12));\r
+    }\r
+  } else if (os == "linux" || os == "unix") {\r
+    if (browser == "konqueror" && browserVersion <= 3.3)\r
+      isBrowserCompliant = false;\r
+    else\r
+      isBrowserCompliant = hasGetElementById;\r
+  } else { // other OS\r
+    isBrowserCompliant = hasGetElementById;\r
+  }\r
+\r
+  // possibly more checks in the future for this\r
+  isJavaCompliant = isJavaEnabled;\r
+\r
+  isFullyCompliant = isBrowserCompliant && isJavaCompliant;\r
+\r
+  useIEObject = (os == "win" && browser == "msie" && browserVersion >= 5.5);\r
+  useHtml4Object =\r
+   (browser == "mozilla" && browserVersion >= 5) ||\r
+   (browser == "opera" && browserVersion >= 8) ||\r
+   (browser == "webkit" && browserVersion >= 412.2);\r
+ try {\r
+  if (top.location.search.indexOf("JMOLJAR=")>=0)\r
+    jmoljar = top.location.search.split("JMOLJAR=")[1].split("&")[0];\r
+ } catch(e) {\r
+  // can't access top.location\r
+ }\r
+ try {\r
+  useNoApplet = (top.location.search.indexOf("NOAPPLET")>=0);\r
+ } catch(e) {\r
+  // can't access top.document\r
+ }\r
+}\r
+\r
+function jmolSetMemoryMb(nMb) {\r
+  _jmol.java_arguments = "-Xmx" + Math.round(nMb) + "m"\r
+}\r
+\r
+function jmolSetParameter(name,value) {\r
+  _jmol.params[name] = value\r
+}\r
+\r
+function jmolSetCallback(callbackName,funcName) {\r
+  _jmol.params[callbackName] = funcName\r
+}\r
+\r
+ try {\r
+// note this is done FIRST, so it cannot override a setting done by the developer\r
+  if (top.location.search.indexOf("PARAMS=")>=0) {\r
+    var pars = unescape(top.location.search.split("PARAMS=")[1].split("&")[0]).split(";");\r
+    for (var i = 0; i < pars.length; i++) {\r
+      var p = pars[i].split(":");\r
+      jmolSetParameter(p[0],p[1]);\r
+    }\r
+  }\r
+ } catch(e) {\r
+  // can't access top.location\r
+ }\r
+\r
+function jmolSetSyncId(n) {\r
+  return _jmol.params["syncId"] = n\r
+}\r
+\r
+function jmolGetSyncId() {\r
+  return _jmol.params["syncId"]\r
+}\r
+\r
+function jmolSetLogLevel(n) {\r
+  _jmol.params.logLevel = ''+n;\r
+}\r
+\r
+       /*  AngelH, mar2007:\r
+               By (re)setting these variables in the webpage before calling jmolApplet(), \r
+               a custom message can be provided (e.g. localized for user's language) when no Java is installed.\r
+       */\r
+if (noJavaMsg==undefined) var noJavaMsg = \r
+        "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +\r
+        "Check the warning message from your browser and/or enable Java applets in<br />\n" +\r
+        "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";\r
+if (noJavaMsg2==undefined) var noJavaMsg2 = \r
+        "You do not have the<br />\n" +\r
+        "Java Runtime Environment<br />\n" +\r
+        "installed for applet support.<br />\n" +\r
+        "Visit <a href='http://www.java.com'>www.java.com</a>";\r
+function _jmolApplet(size, inlineModel, script, nameSuffix) {\r
+       /*  AngelH, mar2007\r
+               Fixed percent / pixel business, to avoid browser errors:\r
+               put "px" where needed, avoid where not.\r
+\r
+           Bob Hanson, 1/2010\r
+               Fixed inline escape changing returns to |               \r
+       */\r
+  with (_jmol) {\r
+    nameSuffix == undefined && (nameSuffix = appletCount);\r
+    appletSuffixes.push(nameSuffix);\r
+    ++appletCount;\r
+    script || (script = "select *");\r
+    var sz = _jmolGetAppletSize(size);\r
+    var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";\r
+    var tHeader, tFooter;\r
+    codebase || jmolInitialize(".");\r
+    if (useIEObject || useHtml4Object) {\r
+      params.archive = archivePath;\r
+      params.mayscript = 'true';\r
+      params.codebase = codebase;\r
+      params.code = 'JmolApplet';\r
+      tHeader = \r
+        "<object name='jmolApplet" + nameSuffix +\r
+        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
+                               widthAndHeight + "\n";\r
+      tFooter = "</object>";\r
+    }\r
+    if (java_arguments)\r
+      params.java_arguments = java_arguments;\r
+    if (useIEObject) { // use MSFT IE6 object tag with .cab file reference\r
+      tHeader += " classid='" + windowsClassId + "'\n" +\r
+      (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "") + ">\n";\r
+    } else if (useHtml4Object) { // use HTML4 object tag\r
+      tHeader += " type='application/x-java-applet'\n>\n";\r
+                               /*      " classid='java:JmolApplet'\n" +        AH removed this\r
+                                 Chromium Issue 62076:         Java Applets using an <object> with a classid paramater don't load.\r
+                                       http://code.google.com/p/chromium/issues/detail?id=62076\r
+                                       They say this is the correct behavior according to the spec, and there's no indication at this point \r
+                                       that WebKit will be changing the handling, so eventually Safari will acquire this behavior too.\r
+                                       Removing the classid parameter seems to be well tolerated by all browsers (even IE!).\r
+                               */\r
+    } else { // use applet tag\r
+      tHeader = \r
+        "<applet name='jmolApplet" + nameSuffix +\r
+        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
+                               widthAndHeight + "\n" +\r
+        " code='JmolApplet'" +\r
+        " archive='" + archivePath + "' codebase='" + codebase + "'\n" +\r
+        " mayscript='true'>\n";\r
+      tFooter = "</applet>";\r
+    }\r
+    var visitJava;\r
+    if (useIEObject || useHtml4Object) {\r
+               var szX = "width:" + sz[0]\r
+               if ( szX.indexOf("%")==-1 ) szX+="px" \r
+               var szY = "height:" + sz[1]\r
+               if ( szY.indexOf("%")==-1 ) szY+="px" \r
+      visitJava =\r
+        "<p style='background-color:yellow; color:black; " +\r
+               szX + ";" + szY + ";" +\r
+        // why doesn't this vertical-align work?\r
+       "text-align:center;vertical-align:middle;'>\n" +\r
+               noJavaMsg +\r
+        "</p>";\r
+    } else {\r
+      visitJava =\r
+        "<table bgcolor='yellow'><tr>" +\r
+        "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +\r
+               noJavaMsg2 +\r
+        "</font></td></tr></table>";\r
+    }\r
+    params.loadInline = (inlineModel ? inlineModel : "");\r
+    params.script = (script ? _jmolSterilizeScript(script) : "");\r
+    var t = tHeader + _jmolParams() + visitJava + tFooter;\r
+    jmolSetTarget(nameSuffix);\r
+    ready["jmolApplet" + nameSuffix] = false;\r
+    if (_jmol.debugAlert)\r
+      alert(t);\r
+    return _jmolDocumentWrite(t);\r
+  }\r
+}\r
+\r
+function _jmolParams() {\r
+ var t = "";\r
+ for (var i in _jmol.params)\r
+       if(_jmol.params[i]!="")\r
+                t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";\r
+ return t\r
+}\r
+\r
+function _jmolInitCheck() {\r
+  if (_jmol.initChecked)\r
+    return;\r
+  _jmol.initChecked = true;\r
+  jmolInitialize(defaultdir, defaultjar)\r
+}\r
+\r
+function _jmolCheckBrowser() {\r
+  with (_jmol) {\r
+    if (browserChecked)\r
+      return;\r
+    browserChecked = true;\r
+  \r
+    if (isFullyCompliant)\r
+      return true;\r
+\r
+    if (checkBrowserAction == "redirect")\r
+      location.href = checkBrowserUrlOrMessage;\r
+    else if (checkBrowserAction == "popup")\r
+      _jmolPopup(checkBrowserUrlOrMessage);\r
+    else {\r
+      var msg = checkBrowserUrlOrMessage;\r
+      if (msg == null)\r
+        msg = "Your web browser is not fully compatible with Jmol\n\n" +\r
+              "browser: " + browser +\r
+              "   version: " + browserVersion +\r
+              "   os: " + os +\r
+              "   isBrowserCompliant: " + isBrowserCompliant +\r
+              "   isJavaCompliant: " + isJavaCompliant +\r
+              "\n\n" + ua;\r
+      alert(msg);\r
+    }\r
+  }\r
+  return false;\r
+}\r
+\r
+function jmolSetXHTML(id) {\r
+       _jmol.isXHTML = true\r
+       _jmol.XhtmlElement = null\r
+       _jmol.XhtmlAppendChild = false\r
+       if (id){\r
+               _jmol.XhtmlElement = document.getElementById(id)\r
+               _jmol.XhtmlAppendChild = true\r
+       }\r
+}\r
+\r
+function _jmolDocumentWrite(text) {\r
+       if (_jmol.currentDocument) {\r
+               if (_jmol.isXHTML && !_jmol.XhtmlElement) {\r
+                       var s = document.getElementsByTagName("script")\r
+                       _jmol.XhtmlElement = s.item(s.length - 1)\r
+                       _jmol.XhtmlAppendChild = false\r
+               }\r
+               if (_jmol.XhtmlElement) {\r
+                       _jmolDomDocumentWrite(text)\r
+               } else {\r
+                       _jmol.currentDocument.write(text);\r
+               }\r
+       }\r
+       return text;\r
+}\r
+\r
+function _jmolDomDocumentWrite(data) {\r
+       var pt = 0\r
+       var Ptr = []\r
+       Ptr[0] = 0\r
+       while (Ptr[0] < data.length) {\r
+               var child = _jmolGetDomElement(data, Ptr)\r
+               if (!child)break\r
+               if (_jmol.XhtmlAppendChild)\r
+                       _jmol.XhtmlElement.appendChild(child)\r
+               else\r
+                       _jmol.XhtmlElement.parentNode.insertBefore(child, _jmol.XhtmlElement); \r
+       }\r
+}\r
+function _jmolGetDomElement(data, Ptr, closetag, lvel) {\r
+       var e = document.createElement("span")\r
+       e.innerHTML = data\r
+       Ptr[0] = data.length\r
+       return e\r
+\r
+//unnecessary?\r
+\r
+       closetag || (closetag = "")\r
+       lvel || (lvel = 0)\r
+       var pt0 = Ptr[0]\r
+       var pt = pt0\r
+       while (pt < data.length && data.charAt(pt) != "<") pt++\r
+       if (pt != pt0) {\r
+               var text = data.substring(pt0, pt)\r
+               Ptr[0] = pt\r
+               return document.createTextNode(text)\r
+       }       \r
+       pt0 = ++pt\r
+       var ch\r
+       while (pt < data.length && "\n\r\t >".indexOf(ch = data.charAt(pt)) < 0) pt++\r
+       var tagname = data.substring(pt0, pt)\r
+       var e = (tagname == closetag  || tagname == "/" ? "" \r
+               : document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml', tagname)\r
+               : document.createElement(tagname));\r
+       if (ch == ">") {\r
+               Ptr[0] = ++pt\r
+               return e\r
+       }\r
+       while (pt < data.length && (ch = data.charAt(pt)) != ">") {\r
+               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
+               pt0 = pt\r
+               while (pt < data.length && "\n\r\t =/>".indexOf(ch = data.charAt(pt)) < 0) pt++\r
+               var attrname = data.substring(pt0, pt).toLowerCase()\r
+               if (attrname && ch != "=") \r
+                       e.setAttribute(attrname, "true")\r
+               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
+               if (ch == "/") {\r
+                       Ptr[0] = pt + 2\r
+                       return e\r
+               } else if (ch == "=") {\r
+                       var quote = data.charAt(++pt)\r
+                       pt0 = ++pt\r
+                       while (pt < data.length && (ch = data.charAt(pt)) != quote) pt++\r
+                       var attrvalue = data.substring(pt0, pt)\r
+                       e.setAttribute(attrname, attrvalue)\r
+                       pt++\r
+               }\r
+       }\r
+       Ptr[0] = ++pt\r
+       while (Ptr[0] < data.length) {\r
+               var child = _jmolGetDomElement(data, Ptr, "/" + tagname, lvel+1)\r
+               if (!child)break\r
+               e.appendChild(child)\r
+       }\r
+       return e\r
+}\r
+\r
+function _jmolPopup(url) {\r
+  var popup = window.open(url, "JmolPopup",\r
+                          "left=150,top=150,height=400,width=600," +\r
+                          "directories=yes,location=yes,menubar=yes," +\r
+                          "toolbar=yes," +\r
+                          "resizable=yes,scrollbars=yes,status=yes");\r
+  if (popup.focus)\r
+    poup.focus();\r
+}\r
+\r
+function _jmolReadyCallback(name) {\r
+  if (_jmol.debugAlert)\r
+    alert(name + " is ready");\r
+  _jmol.ready["" + name] = true;\r
+}\r
+\r
+function _jmolSterilizeScript(script) {\r
+  script = script.replace(/'/g, "&#39;");\r
+  if (_jmol.debugAlert)\r
+    alert("script:\n" + script);\r
+  return script;\r
+}\r
+\r
+function _jmolSterilizeInline(model) {\r
+  model = model.replace(/\r|\n|\r\n/g, (model.indexOf("|") >= 0 ? "\\/n" : "|")).replace(/'/g, "&#39;");\r
+  if (_jmol.debugAlert)\r
+    alert("inline model:\n" + model);\r
+  return model;\r
+}\r
+\r
+function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
+  ++_jmol.radioCount;\r
+  groupName != undefined && groupName != null || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
+  if (!script)\r
+    return "";\r
+  labelHtml != undefined && labelHtml != null || (labelHtml = script.substring(0, 32));\r
+  separatorHtml || (separatorHtml = "")\r
+  var scriptIndex = _jmolAddScript(script);\r
+  var eospan = "</span>"\r
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" \r
+       + groupName + "' id='"+id+"' type='radio' onclick='_jmolClick(this," +\r
+         scriptIndex + _jmol.targetText + ");return true;' onmouseover='_jmolMouseOver(" +\r
+         scriptIndex + ");return true;' onmouseout='_jmolMouseOut()' " +\r
+        (isChecked ? "checked='true' " : "") + _jmol.radioCssText + " />"\r
+  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
+       t += eospan\r
+       eospan = "";\r
+  }\r
+  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan + separatorHtml;\r
+\r
+  return t;\r
+}\r
+\r
+function _jmolFindApplet(target) {\r
+  // first look for the target in the current window\r
+  var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target);\r
+  // THEN look for the target in child frames\r
+  if (applet == undefined)\r
+    applet = _jmolSearchFrames(window, target);\r
+  // FINALLY look for the target in sibling frames\r
+  if (applet == undefined)\r
+    applet = _jmolSearchFrames(top, target); // look starting in top frame\r
+  return applet;\r
+}\r
+\r
+function _jmolGetApplet(targetSuffix){\r
+ var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0");\r
+ var applet = _jmolFindApplet(target);\r
+ if (applet) return applet\r
+ _jmol.alerted || alert("could not find applet " + target);\r
+ _jmol.alerted = true;\r
+ return null\r
+}\r
+\r
+function _jmolSearchFrames(win, target) {\r
+  var applet;\r
+  var frames = win.frames;\r
+  if (frames && frames.length) { // look in all the frames below this window\r
+   try{\r
+    for (var i = 0; i < frames.length; ++i) {\r
+      applet = _jmolSearchFrames(frames[i], target);\r
+      if (applet)\r
+        return applet;\r
+    }\r
+   }catch(e) {\r
+       if (_jmol.debugAlert)\r
+               alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") \r
+   }\r
+  }\r
+  return applet = _jmolFindAppletInWindow(win, target)\r
+}\r
+\r
+function _jmolFindAppletInWindow(win, target) {\r
+    var doc = win.document;\r
+               if (doc.getElementById(target))\r
+      return doc.getElementById(target);\r
+    else if (doc.applets)\r
+      return doc.applets[target];\r
+    else\r
+      return doc[target]; \r
+}\r
+\r
+function _jmolAddScript(script) {\r
+  if (!script)\r
+    return 0;\r
+  var index = _jmol.scripts.length;\r
+  _jmol.scripts[index] = script;\r
+  return index;\r
+}\r
+\r
+function _jmolClick(elementClicked, scriptIndex, targetSuffix) {\r
+  _jmol.element = elementClicked;\r
+  _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix);\r
+}\r
+\r
+function _jmolMenuSelected(menuObject, targetSuffix) {\r
+  var scriptIndex = menuObject.value;\r
+  if (scriptIndex != undefined) {\r
+    _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix);\r
+    return;\r
+  }\r
+  var len = menuObject.length;\r
+  if (typeof len == "number") {\r
+    for (var i = 0; i < len; ++i) {\r
+      if (menuObject[i].selected) {\r
+        _jmolClick(menuObject[i], menuObject[i].value, targetSuffix);\r
+       return;\r
+      }\r
+    }\r
+  }\r
+  alert("?Que? menu selected bug #8734");\r
+}\r
+\r
+\r
+_jmol.checkboxMasters = {};\r
+_jmol.checkboxItems = {};\r
+\r
+function jmolSetCheckboxGroup(chkMaster,chkBox) {\r
+       var id = chkMaster;\r
+       if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
+       chkMaster = document.getElementById(id);\r
+       if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);\r
+       var m = _jmol.checkboxMasters[id] = {};\r
+       m.chkMaster = chkMaster;\r
+       m.chkGroup = {};\r
+       for (var i = 1; i < arguments.length; i++){\r
+               var id = arguments[i];\r
+               if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
+               checkboxItem = document.getElementById(id);\r
+               if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);\r
+               m.chkGroup[id] = checkboxItem;\r
+               _jmol.checkboxItems[id] = m;\r
+       }\r
+}\r
+\r
+function _jmolNotifyMaster(m){\r
+       //called when a group item is checked\r
+       var allOn = true;\r
+       var allOff = true;\r
+       for (var chkBox in m.chkGroup){\r
+               if(m.chkGroup[chkBox].checked)\r
+                       allOff = false;\r
+               else\r
+                       allOn = false;\r
+       }\r
+       if (allOn)m.chkMaster.checked = true;   \r
+       if (allOff)m.chkMaster.checked = false;\r
+       if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])\r
+               _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])\r
+}\r
+\r
+function _jmolNotifyGroup(m, isOn){\r
+       //called when a master item is checked\r
+       for (var chkBox in m.chkGroup){\r
+               var item = m.chkGroup[chkBox]\r
+               item.checked = isOn;\r
+               if (_jmol.checkboxMasters[item.id])\r
+                       _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)\r
+       }\r
+}\r
+\r
+function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {\r
+  _jmol.control = ckbox\r
+  _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);\r
+  if(_jmol.checkboxMasters[ckbox.id])\r
+       _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)\r
+  if(_jmol.checkboxItems[ckbox.id])\r
+       _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])\r
+}\r
+\r
+function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {\r
+  window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];\r
+}\r
+\r
+function _jmolMouseOver(scriptIndex) {\r
+  window.status = _jmol.scripts[scriptIndex];\r
+}\r
+\r
+function _jmolMouseOut() {\r
+  window.status = " ";\r
+  return true;\r
+}\r
+\r
+function _jmolSetCodebase(codebase) {\r
+  _jmol.codebase = codebase ? codebase : ".";\r
+  if (_jmol.debugAlert)\r
+    alert("jmolCodebase=" + _jmol.codebase);\r
+}\r
+\r
+function _jmolOnloadResetForms() {\r
+  // must be evaluated ONLY once\r
+  _jmol.previousOnloadHandler = window.onload;\r
+  window.onload =\r
+  function() {\r
+    with (_jmol) {\r
+      if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {\r
+        var forms = document.forms;\r
+        for (var i = forms.length; --i >= 0; )\r
+          forms[i].reset();\r
+      }\r
+      if (previousOnloadHandler)\r
+        previousOnloadHandler();\r
+    }\r
+  }\r
+}\r
+\r
+////////////////////////////////////\r
+/////extensions for getProperty/////\r
+////////////////////////////////////\r
+\r
+\r
+function _jmolEvalJSON(s,key){\r
+ s=s+""\r
+ if(!s)return []\r
+ if(s.charAt(0)!="{"){\r
+       if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")\r
+       return s\r
+ }\r
+ var A = eval("("+s+")")\r
+ if(!A)return\r
+ if(key && A[key])A=A[key]\r
+ return A\r
+}\r
+\r
+function _jmolEnumerateObject(A,key){\r
+ var sout=""\r
+ if(typeof(A) == "string" && A!="null"){\r
+       sout+="\n"+key+"=\""+A+"\""\r
+ }else if(!isNaN(A)||A==null){\r
+       sout+="\n"+key+"="+(A+""==""?"null":A)\r
+ }else if(A.length){\r
+    sout+=key+"=[]"\r
+    for(var i=0;i<A.length;i++){\r
+       sout+="\n"\r
+       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
+               sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")\r
+       }else{\r
+               sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
+       }\r
+    }\r
+ }else{\r
+    if(key != ""){\r
+       sout+=key+"={}"\r
+       key+="."\r
+    }\r
+    \r
+    for(var i in A){\r
+       sout+="\n"\r
+       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
+               sout+=_jmolEnumerateObject(A[i],key+i)\r
+       }else{\r
+               sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
+       }\r
+    }\r
+ } \r
+ return sout\r
+}\r
+\r
+\r
+function _jmolSortKey0(a,b){\r
+ return (a[0]<b[0]?1:a[0]>b[0]?-1:0)\r
+}\r
+\r
+function _jmolSortMessages(A){\r
+ if(!A || typeof(A)!="object")return []\r
+ var B = []\r
+ for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]\r
+ if(B.length == 0) return\r
+ B=B.sort(_jmolSortKey0)\r
+ return B\r
+}\r
+\r
+/////////additional extensions //////////\r
+\r
+\r
+function _jmolDomScriptLoad(URL){\r
+ //open(URL) //to debug\r
+ _jmol.servercall=URL\r
+ var node = document.getElementById("_jmolScriptNode")\r
+ if (node && _jmol.browser!="msie"){\r
+    document.getElementsByTagName("HEAD")[0].removeChild(node)\r
+    node=null\r
+ }\r
+ if (node) {\r
+   node.setAttribute("src",URL)\r
+ } else {\r
+   node=document.createElement("script")\r
+   node.setAttribute("id","_jmolScriptNode")\r
+   node.setAttribute("type","text/javascript")\r
+   node.setAttribute("src",URL)\r
+   document.getElementsByTagName("HEAD")[0].appendChild(node)\r
+ }\r
+}\r
+\r
+\r
+function _jmolExtractPostData(url){\r
+ S=url.split("&POST:")\r
+ var s=""\r
+ for(var i=1;i<S.length;i++){\r
+       KV=S[i].split("=")\r
+       s+="&POSTKEY"+i+"="+KV[0]\r
+       s+="&POSTVALUE"+i+"="+KV[1]\r
+ }\r
+ return "&url="+escape(S[0])+s\r
+}\r
+\r
+function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){\r
+ //called by server, but in client\r
+ //overload this function to customize return\r
+ _jmol.remoteURL=remoteURL\r
+ isError && alert(errorMessage)\r
+ jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)\r
+}\r
+\r
+//////////user property/status functions/////////\r
+\r
+function jmolGetStatus(strStatus,targetSuffix){\r
+ return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))\r
+}\r
+\r
+function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {\r
+ return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)\r
+}\r
+\r
+function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ sValue == undefined && (sValue="");\r
+ return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")\r
+}\r
+\r
+function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {\r
+ sValue == undefined && (sValue = "")\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ try {\r
+  return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")\r
+ } catch(e) {\r
+  return ""\r
+ }\r
+}\r
+\r
+function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {\r
+ sValue == undefined && (sValue = "")\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ return (applet ? applet.getProperty(sKey,sValue) : null)\r
+}\r
+\r
+\r
+function jmolDecodeJSON(s) {\r
+ return _jmolEnumerateObject(_jmolEvalJSON(s),"")\r
+}\r
+\r
+\r
+///////// synchronous scripting ////////\r
+\r
+function jmolScriptWait(script, targetSuffix) {\r
+  targetSuffix == undefined && (targetSuffix="0")\r
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
+  var s = ""\r
+  for(var i=Ret.length;--i>=0;)\r
+  for(var j=0;j< Ret[i].length;j++)\r
+       s+=Ret[i][j]+"\n"\r
+  return s\r
+}\r
+\r
+function jmolScriptWaitOutput(script, targetSuffix) {\r
+  targetSuffix == undefined && (targetSuffix="0")\r
+  var ret = ""\r
+  try{\r
+   if (script) {\r
+    _jmolCheckBrowser();\r
+    var applet=_jmolGetApplet(targetSuffix);\r
+    if (applet) ret += applet.scriptWaitOutput(script);\r
+   }\r
+  }catch(e){\r
+  }\r
+ return ret;\r
+}\r
+\r
+function jmolEvaluate(molecularMath, targetSuffix) {\r
+\r
+  //carries out molecular math on a model\r
+\r
+  targetSuffix == undefined && (targetSuffix="0")\r
+  var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);\r
+  var s = result.replace(/\-*\d+/,"")\r
+  if (s == "" && !isNaN(parseInt(result)))return parseInt(result);\r
+  var s = result.replace(/\-*\d*\.\d*/,"")\r
+  if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);\r
+  return result;\r
+}\r
+\r
+function jmolScriptEcho(script, targetSuffix) {\r
+  // returns a newline-separated list of all echos from a script\r
+  targetSuffix == undefined && (targetSuffix="0")\r
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
+  var s = ""\r
+  for(var i=Ret.length;--i>=0;)\r
+  for(var j=Ret[i].length;--j>=0;)\r
+        if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"\r
+  return s.replace(/ \| /g, "\n")\r
+}\r
+\r
+\r
+function jmolScriptMessage(script, targetSuffix) {\r
+  // returns a newline-separated list of all messages from a script, ending with "script completed\n"\r
+  targetSuffix == undefined && (targetSuffix="0")\r
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
+  var s = ""\r
+  for(var i=Ret.length;--i>=0;)\r
+  for(var j=Ret[i].length;--j>=0;)\r
+        if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"\r
+  return s.replace(/ \| /g, "\n")\r
+}\r
+\r
+\r
+function jmolScriptWaitAsArray(script, targetSuffix) {\r
+ var ret = ""\r
+ try{\r
+  jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)\r
+  if (script) {\r
+    _jmolCheckBrowser();\r
+    var applet=_jmolGetApplet(targetSuffix);\r
+    if (applet) ret += applet.scriptWait(script);\r
+    ret = _jmolEvalJSON(ret,"jmolStatus")\r
+    if(typeof ret == "object")\r
+       return ret\r
+  }\r
+ }catch(e){\r
+ }\r
+  return [[ret]]\r
+}\r
+\r
+\r
+\r
+////////////   save/restore orientation   /////////////\r
+\r
+function jmolSaveOrientation(id, targetSuffix) {  \r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo\r
+}\r
+\r
+function jmolRestoreOrientation(id, targetSuffix) {\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var s=_jmol["savedOrientation"+id]\r
+ if (!s || s == "")return\r
+ s=s.replace(/1\.0/,"0")\r
+ return jmolScriptWait(s,targetSuffix)\r
+}\r
+\r
+function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {\r
+ arguments.length < 2 && (delay=1)\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var s=_jmol["savedOrientation"+id]\r
+ if (!s || s == "")return\r
+ s=s.replace(/1\.0/,delay)\r
+ return jmolScriptWait(s,targetSuffix)\r
+}\r
+\r
+////////////  add parameter /////////////\r
+/*\r
+ * for adding callbacks or other parameters. Use:\r
+\r
+   jmolSetDocument(0)\r
+   var s= jmolApplet(....)\r
+   s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")\r
+   document.write(s)\r
+   jmolSetDocument(document) // if you want to then write buttons and such normally\r
\r
+ */\r
+\r
+function jmolAppletAddParam(appletCode,name,value){\r
+  return (value == "" ? appletCode : appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param"))\r
+}\r
+\r
+///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////\r
+\r
+function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){\r
+\r
+ _jmol.thismodel || (_jmol.thismodel = "1crn")\r
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
+ _jmol.RCSBserver || (_jmol.RCSBserver="http://www.rcsb.org")\r
+ _jmol.defaultURL_RCSB || (_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF")\r
+ fileformat || (fileformat="PDB")\r
+ pdbid || (pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel))\r
+ if(!pdbid || pdbid.length != 4)return ""\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())\r
+ fileformat=="CIF" || (url=url.replace(/CIF/,fileformat))\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thismodel=pdbid\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.thisurl=url\r
+ _jmol.modelArray = []\r
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
+ _jmolDomScriptLoad(url)\r
+ return url\r
+}\r
+\r
+\r
+///////////////auto load NIH CACTVS data -- compound name or SMILES ///////////\r
+\r
+function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){\r
+ _jmol.thismodel || (_jmol.thismodel = "aspirin")\r
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
+ _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True")\r
+ compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel))\r
+ if(!compoundid)return ""\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid)\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thismodel=compoundid\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.thisurl=url\r
+ _jmol.modelArray = []\r
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
+ _jmolDomScriptLoad(url)\r
+ return url\r
+}\r
+\r
+\r
+/////////////// St. Olaf College AJAX server -- ANY URL ///////////\r
+\r
+function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){\r
+ _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"\r
+ _jmol.thisurlANY || (_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol")\r
+ url || (url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY))\r
+ userid || (userid="0")\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.modelArray = []\r
+ _jmol.thisurl = url\r
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
+ _jmolDomScriptLoad(url)\r
+}\r
+\r
+\r
+/////////////// Mineralogical Society of America (MSA) data /////////\r
+\r
+function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){\r
+\r
+ _jmol.thiskeyMSA || (_jmol.thiskeyMSA = "mineral")\r
+ _jmol.thismodelMSA || (_jmol.thismodelMSA = "quartz")\r
+ _jmol.ajaxURL_MSA || (_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs")\r
+ key || (key=prompt("Enter a field:", _jmol.thiskeyMSA))\r
+ if(!key)return ""\r
+ value || (value=prompt("Enter a "+key+":", _jmol.thismodelMSA))\r
+ if(!value)return ""\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ optionalscript == 1 && (optionalscript='load "" {1 1 1}')\r
+ var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thiskeyMSA=key\r
+ _jmol.thismodelMSA=value\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.thisurl=url\r
+ _jmol.modelArray = []\r
+ loadModel=_jmolLoadModel\r
+ _jmolDomScriptLoad(url)\r
+ return url\r
+}\r
+\r
+\r
+\r
+function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){\r
+ userid || (userid="0")\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thismodel=userid\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.modelArray = []\r
+ _jmol.thisurl = url\r
+ url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix\r
+ _jmolDomScriptLoad(url)\r
+}\r
+\r
+\r
+//// in case Jmol library has already been loaded:\r
+\r
+}catch(e){}\r
+\r
+///////////////moving atoms //////////////\r
+\r
+// HIGHLY experimental!!\r
+\r
+function jmolSetAtomCoord(i,x,y,z,targetSuffix){\r
+    _jmolCheckBrowser();\r
+      var applet=_jmolGetApplet(targetSuffix);\r
+      if (applet) applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)\r
+}\r
+\r
+function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){\r
+    _jmolCheckBrowser();\r
+      var applet=_jmolGetApplet(targetSuffix);\r
+      if (applet) applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)\r
+}\r
+\r
+\r
+///////////////applet fake for testing buttons/////////////\r
+\r
+\r
+if(_jmol.useNoApplet){\r
+       jmolApplet = function(w){\r
+               var s="<table style='background-color:black' width="+w+"><tr height="+w+">"\r
+               +"<td align=center valign=center style='background-color:white'>"\r
+               +"Applet would be here"\r
+               +"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"\r
+               +"</td></tr></table>"\r
+               return _jmolDocumentWrite(s)\r
+       }\r
+\r
+       _jmolFindApplet = function(){return jmolApplet0}\r
+\r
+       jmolApplet0 = {\r
+        script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script}\r
+       ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} \r
+       ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}\r
+       }\r
+}\r
+\r
+\r
+///////////////////////////////////////////\r
+\r
+  //  This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility\r
+  /*\r
+       Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%).\r
+       targetSuffix is optional and defaults to zero (first applet in page).\r
+       Both w and h are optional, but needed if you want to use targetSuffix.\r
+               h defaults to w\r
+               w defaults to 100% of window\r
+       If either w or h is between 0 and 1, then it is taken as percent/100.\r
+       If either w or h is greater than 1, then it is taken as a size (pixels). \r
+       */\r
+function jmolResize(w,h,targetSuffix) {\r
+ _jmol.alerted = true;\r
+ var percentW = (!w ? 100 : w <= 1  && w > 0 ? w * 100 : 0);\r
+ var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0);\r
+ if (_jmol.browser=="msie") {\r
+   var width=document.body.clientWidth;\r
+   var height=document.body.clientHeight;\r
+ } else {\r
+   var netscapeScrollWidth=15;\r
+   var width=window.innerWidth - netscapeScrollWidth;\r
+   var height=window.innerHeight-netscapeScrollWidth;\r
+ }\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ if(!applet)return;\r
+ applet.style.width = (percentW ? width * percentW/100 : w)+"px";\r
+ applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px";\r
+ //title=width +  " " + height + " " + (new Date());\r
+}\r
+\r
+// 13 Jun 09 -- makes jmolResize() obsolete  (kept for backwards compatibility)\r
+function jmolResizeApplet(size,targetSuffix) {\r
+ // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()]\r
+ //  Special case: an empty value for width or height is accepted, meaning no change in that dimension.\r
+ _jmol.alerted = true;\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ if(!applet)return;\r
+ var sz = _jmolGetAppletSize(size, "px");\r
+ sz[0] && (applet.style.width = sz[0]);\r
+ sz[1] && (applet.style.height = sz[1]);\r
+}\r
+\r
+function _jmolGetAppletSize(size, units) {\r
+       /* Accepts single number or 2-value array, each one can be one of:\r
+          percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)\r
+          [width, height] array of strings is returned, with units added if specified.\r
+          Percent is relative to container div or element (which should have explicitly set size).\r
+       */\r
+  var width, height;\r
+  if ( (typeof size) == "object" && size != null ) {\r
+    width = size[0]; height = size[1];\r
+  } else {\r
+    width = height = size;\r
+  }\r
+  return [_jmolFixDim(width, units), _jmolFixDim(height, units)];\r
+}\r
+\r
+function _jmolFixDim(x, units) {\r
+  var sx = "" + x;\r
+  return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])\r
+       : sx.indexOf("%") == sx.length-1 ? sx \r
+       : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"\r
+       : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]\r
+               : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]\r
+           : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] \r
+        : x) + (units ? units : ""));\r
+}\r
+\r
+\r
+\r
+\r
diff --git a/examples-jbake/assets/jpred_msa.fasta b/examples-jbake/assets/jpred_msa.fasta
new file mode 100755 (executable)
index 0000000..b269404
--- /dev/null
@@ -0,0 +1,45 @@
+>FER_CAPAA Ferredoxin
+ASYKVKLITPDGPIEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEG
+WVLTCVAYPQSDVTIETHKEAELVG-
+>FER_CAPAN Ferredoxin, chloroplast precursor
+ASYKVKLITPDGPIEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEG
+WVLTCVAYPQSDVTIETHKEAELVG-
+>FER1_SOLLC Ferredoxin-1, chloroplast precursor
+ASYKVKLITPEGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAG
+FVLTCVAYPKGDVTIETHKEEELTA-
+>Q93XJ9_SOLTU Ferredoxin I precursor
+ASYKVKLITPDGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAG
+FVLTCVAYPKCDVTIETHKEEELTA-
+>FER1_MESCR Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPEGKQELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEG
+WVLTCVAYPTGDVTIETHKEEELTA-
+>FER1_SPIOL Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPTGNVEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEG
+WVLTCAAYPVSDVTIETHKEEELTA-
+>FER1_ARATH Ferredoxin-1, chloroplast precursor
+ATYKVKFITPEGELEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEG
+FVLTCAAYPTSDVTIETHKEEDIV--
+>FER2_ARATH Ferredoxin-2, chloroplast precursor
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEG
+YVLTCVAYPTSDVVIETHKEEAIM--
+>FER1_PEA Ferredoxin-1, chloroplast precursor
+ASYKVKLVTPDGTQEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAG
+FVLTCVAYPTSDVVIETHKEEDLTA-
+>Q7XA98_TRIPR Ferredoxin I
+ATYKVKLITPEGPQEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGG
+WVLTCVAFPTSDVTIETHKEEELTA-
+>FER1_MAIZE Ferredoxin-1, chloroplast precursor
+ATYNVKLITPEGEVELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADG
+WVLTCHAYPTSDVVIETHKEEELTGA
+>O80429_MAIZE Ferredoxin
+ATYNVKLITPEGEVELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADG
+WVLTCAAYPTSDVVIETHKEDDLL--
+>Q93Z60_ARATH At1g10960/T19D16_12
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD------
+--------------------------
+>FER3_RAPSA Ferredoxin, leaf L-A
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEG
+FVLTCAAYPTSDVTIETHREEDMV--
+>FER_BRANA Ferredoxin
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEG
+FVLTCAAYPTSDVTIETHKEEELV--
diff --git a/examples-jbake/assets/jpred_msa.seq.concise b/examples-jbake/assets/jpred_msa.seq.concise
new file mode 100755 (executable)
index 0000000..90bd4c3
--- /dev/null
@@ -0,0 +1,30 @@
+Lupas_21:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
+Lupas_14:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
+Lupas_28:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
+
+jnetpred:-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,-,-,-,-,E,E,E,E,E,-,H,H,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,-,-,E,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,E,E,E,E,-,-,-,-,E,E,E,E,-,
+JNETCONF:1,3,1,2,7,7,9,9,7,1,6,8,9,8,1,3,5,5,1,6,8,9,7,4,8,8,7,2,3,2,0,2,1,2,5,7,8,8,7,6,4,2,1,3,5,7,8,7,5,4,4,5,7,5,2,5,5,1,4,2,0,1,5,6,7,7,5,4,5,4,5,6,6,3,1,1,1,4,6,1,6,9,9,9,8,8,7,0,8,9,9,7,2,8,9,9,8,
+JNETSOL25:B,-,B,-,-,B,B,B,B,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,B,B,B,-,B,-,B,-,-,-,-,-,-,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,B,B,-,-,-,-,-,-,B,-,-,B,B,B,B,B,B,B,B,B,B,-,-,-,-,B,B,-,-,
+JNETSOL5:-,-,-,-,-,-,-,B,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,B,B,B,B,B,-,-,-,-,-,-,-,B,-,-,
+JNETSOL0:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,
+JNETPROPH:0.44514,0.02676,0.50891,0.59931,0.03767,0.31300,0.54697,0.01490,0.41391,0.55820,0.01816,0.38620,0.82780,0.00804,0.16764,0.86436,0.00416,0.14111,0.96423,0.00391,0.03569,0.94587,0.00483,0.05758,0.88110,0.01273,0.13718,0.57335,0.02654,0.44509,0.17935,0.02373,0.80108,0.08085,0.00825,0.91351,0.06739,0.00450,0.93803,0.11202,0.00730,0.88142,0.41953,0.00953,0.55868,0.64171,0.00894,0.34807,0.74660,0.00831,0.27522,0.78367,0.00952,0.27786,0.54376,0.01578,0.49285,0.18080,0.01695,0.78463,0.05922,0.01157,0.90794,0.03565,0.02045,0.91548,0.12377,0.02896,0.77671,0.58102,0.05600,0.22143,0.82750,0.03376,0.07013,0.86371,0.02169,0.08984,0.81881,0.04410,0.14200,0.60784,0.05837,0.36725,0.27275,0.10034,0.53452,0.12405,0.28672,0.44961,0.07683,0.43094,0.40783,0.05134,0.55252,0.37353,0.03890,
+JNETPROPB:0.59931,0.03767,0.31300,0.54697,0.01490,0.41391,0.55820,0.01816,0.38620,0.82780,0.00804,0.16764,0.86436,0.00416,0.14111,0.96423,0.00391,0.03569,0.94587,0.00483,0.05758,0.88110,0.01273,0.13718,0.57335,0.02654,0.44509,0.17935,0.02373,0.80108,0.08085,0.00825,0.91351,0.06739,0.00450,0.93803,0.11202,0.00730,0.88142,0.41953,0.00953,0.55868,0.64171,0.00894,0.34807,0.74660,0.00831,0.27522,0.78367,0.00952,0.27786,0.54376,0.01578,0.49285,0.18080,0.01695,0.78463,0.05922,0.01157,0.90794,0.03565,0.02045,0.91548,0.12377,0.02896,0.77671,0.58102,0.05600,0.22143,0.82750,0.03376,0.07013,0.86371,0.02169,0.08984,0.81881,0.04410,0.14200,0.60784,0.05837,0.36725,0.27275,0.10034,0.53452,0.12405,0.28672,0.44961,0.07683,0.43094,0.40783,0.05134,0.55252,0.37353,0.03890,0.52815,0.46401,0.03979,
+JNETPROPC:0.54697,0.01490,0.41391,0.55820,0.01816,0.38620,0.82780,0.00804,0.16764,0.86436,0.00416,0.14111,0.96423,0.00391,0.03569,0.94587,0.00483,0.05758,0.88110,0.01273,0.13718,0.57335,0.02654,0.44509,0.17935,0.02373,0.80108,0.08085,0.00825,0.91351,0.06739,0.00450,0.93803,0.11202,0.00730,0.88142,0.41953,0.00953,0.55868,0.64171,0.00894,0.34807,0.74660,0.00831,0.27522,0.78367,0.00952,0.27786,0.54376,0.01578,0.49285,0.18080,0.01695,0.78463,0.05922,0.01157,0.90794,0.03565,0.02045,0.91548,0.12377,0.02896,0.77671,0.58102,0.05600,0.22143,0.82750,0.03376,0.07013,0.86371,0.02169,0.08984,0.81881,0.04410,0.14200,0.60784,0.05837,0.36725,0.27275,0.10034,0.53452,0.12405,0.28672,0.44961,0.07683,0.43094,0.40783,0.05134,0.55252,0.37353,0.03890,0.52815,0.46401,0.03979,0.40515,0.56556,0.03815,
+JNETHMM:-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,-,-,-,-,E,E,E,E,E,-,-,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,-,-,E,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,E,E,E,E,-,-,-,-,E,E,E,E,-,
+JNETALIGN:-,-,-,E,E,E,E,E,-,-,-,-,-,-,E,-,-,-,-,-,-,E,E,E,E,H,H,H,H,H,-,-,-,-,-,-,-,E,-,-,-,-,-,-,-,-,-,-,-,-,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,H,-,-,-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,E,E,H,H,H,-,-,-,-,
+align1;Sequence0/1.97:A,S,Y,K,V,K,L,I,T,P,D,G,P,I,E,F,D,C,P,D,D,V,Y,I,L,D,Q,A,E,E,A,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,I,A,G,G,A,V,D,Q,T,D,G,N,F,L,D,D,D,Q,L,E,E,G,W,V,L,T,C,V,A,Y,P,Q,S,D,V,T,I,E,T,H,K,E,A,E,L,V,G,
+align2;Sequence1/1.144:A,S,Y,K,V,K,L,I,T,P,D,G,P,I,E,F,D,C,P,D,N,V,Y,I,L,D,Q,A,E,E,A,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,I,A,G,G,A,V,D,Q,T,D,G,N,F,L,D,D,D,Q,L,E,E,G,W,V,L,T,C,V,A,Y,P,Q,S,D,V,T,I,E,T,H,K,E,A,E,L,V,G,
+align3;Sequence2/1.144:A,S,Y,K,V,K,L,I,T,P,E,G,P,I,E,F,E,C,P,D,D,V,Y,I,L,D,Q,A,E,E,E,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,T,A,G,S,V,D,Q,S,D,G,N,F,L,D,E,D,Q,E,A,A,G,F,V,L,T,C,V,A,Y,P,K,G,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align4;Sequence3/1.144:A,S,Y,K,V,K,L,I,T,P,D,G,P,I,E,F,E,C,P,D,D,V,Y,I,L,D,Q,A,E,E,E,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,T,A,G,T,V,D,Q,S,D,G,K,F,L,D,D,D,Q,E,A,A,G,F,V,L,T,C,V,A,Y,P,K,C,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align5;Sequence4/1.149:A,S,Y,K,V,K,L,V,T,P,D,G,T,Q,E,F,E,C,P,S,D,V,Y,I,L,D,H,A,E,E,V,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,G,G,E,V,D,Q,S,D,G,S,F,L,D,D,E,Q,I,E,A,G,F,V,L,T,C,V,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,E,D,L,T,A,
+align6;Sequence5/1.152:A,T,Y,K,V,K,L,I,T,P,E,G,P,Q,E,F,D,C,P,D,D,V,Y,I,L,D,H,A,E,E,V,G,I,E,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,N,G,N,V,N,Q,E,D,G,S,F,L,D,D,E,Q,I,E,G,G,W,V,L,T,C,V,A,F,P,T,S,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align7;Sequence6/1.148:A,A,Y,K,V,T,L,V,T,P,E,G,K,Q,E,L,E,C,P,D,D,V,Y,I,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,T,S,G,S,V,N,Q,D,D,G,S,F,L,D,D,D,Q,I,K,E,G,W,V,L,T,C,V,A,Y,P,T,G,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align8;Sequence7/1.147:A,A,Y,K,V,T,L,V,T,P,T,G,N,V,E,F,Q,C,P,D,D,V,Y,I,L,D,A,A,E,E,E,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,L,K,T,G,S,L,N,Q,D,D,Q,S,F,L,D,D,D,Q,I,D,E,G,W,V,L,T,C,A,A,Y,P,V,S,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align9;Sequence8/1.96:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,D,D,D,V,Y,V,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,F,L,D,D,D,Q,I,A,E,G,F,V,L,T,C,A,A,Y,P,T,S,D,V,T,I,E,T,H,R,E,E,D,M,V,.,
+align10;Sequence9/1.148:A,T,Y,K,V,K,F,I,T,P,E,G,E,L,E,V,E,C,D,D,D,V,Y,V,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,F,L,D,D,E,Q,I,G,E,G,F,V,L,T,C,A,A,Y,P,T,S,D,V,T,I,E,T,H,K,E,E,D,I,V,.,
+align11;Sequence10/1.96:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,D,D,D,V,Y,V,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,F,V,D,Q,S,D,E,S,F,L,D,D,D,Q,I,A,E,G,F,V,L,T,C,A,A,Y,P,T,S,D,V,T,I,E,T,H,K,E,E,E,L,V,.,
+align12;Sequence11/1.148:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,E,E,D,V,Y,V,L,D,A,A,E,E,A,G,L,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,I,D,Q,S,D,Q,S,F,L,D,D,E,Q,M,S,E,G,Y,V,L,T,C,V,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,E,A,I,M,.,
+align13;Sequence12/1.118:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,E,E,D,V,Y,V,L,D,A,A,E,E,A,G,L,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,I,D,Q,S,D,Q,S,F,L,D,D,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,
+align14;Sequence13/1.150:A,T,Y,N,V,K,L,I,T,P,E,G,E,V,E,L,Q,V,P,D,D,V,Y,I,L,D,Q,A,E,E,D,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,Y,L,D,D,G,Q,I,A,D,G,W,V,L,T,C,H,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,E,E,L,T,G,
+align15;Sequence14/1.140:A,T,Y,N,V,K,L,I,T,P,E,G,E,V,E,L,Q,V,P,D,D,V,Y,I,L,D,F,A,E,E,E,G,I,D,L,P,F,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,F,L,N,D,N,Q,V,A,D,G,W,V,L,T,C,A,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,D,D,L,L,.,
+jpred:-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,-,-,-,-,E,E,E,E,E,-,H,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,-,-,E,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,E,E,E,E,-,-,-,-,E,E,E,E,-,
diff --git a/examples-jbake/assets/plantfdx.fa b/examples-jbake/assets/plantfdx.fa
new file mode 100644 (file)
index 0000000..1412a5a
--- /dev/null
@@ -0,0 +1,60 @@
+>FER_CAPAA/1-97
+----------------------------------------------------------ASYKVKLITPDGPI
+EFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDVT
+IETHKEAELVG-
+>FER_CAPAN/1-144
+------MASVSATMISTSFMPRKPAVTSLKPIP-NVG-EALFGLKS---ANGGKVTCMASYKVKLITPDGPI
+EFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDVT
+IETHKEAELVG-
+>FER1_SOLLC/1-144
+------MASISGTMISTSFLPRKPAVTSLKAIS-NVG-EALFGLKS---GRNGRITCMASYKVKLITPEGPI
+EFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDVT
+IETHKEEELTA-
+>Q93XJ9_SOLTU/1-144
+------MASISGTMISTSFLPRKPVVTSLKAIS-NVG-EALFGLKS---GRNGRITCMASYKVKLITPDGPI
+EFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDVT
+IETHKEEELTA-
+>FER1_PEA/1-149
+---MATTPALYGTAVSTSFLRTQPMPMSVTTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGTQ
+EFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDVV
+IETHKEEDLTA-
+>Q7XA98_TRIPR/1-152
+---MATTPALYGTAVSTSFMRRQPVPMSVATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGPQ
+EFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDVT
+IETHKEEELTA-
+>FER1_MESCR/1-148
+--MAATTAALSGATMSTAFAPKT--PPMTAALPTNVG-RALFGLKS--SASRGRVTAMAAYKVTLVTPEGKQ
+ELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDVT
+IETHKEEELTA-
+>FER1_SPIOL/1-147
+----MAATTTTMMGMATTFVPKPQAPPMMAALPSNTG-RSLFGLKT--GSRGGRMT-MAAYKVTLVTPTGNV
+EFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDVT
+IETHKEEELTA-
+>FER3_RAPSA/1-96
+----------------------------------------------------------ATYKVKFITPEGEQ
+EVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDVT
+IETHREEDMV--
+>FER1_ARATH/1-148
+----MASTALSSAIVGTSFIRRSPAPISLRSLPSANT-QSLFGLKS-GTARGGRVTAMATYKVKFITPEGEL
+EVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDVT
+IETHKEEDIV--
+>FER_BRANA/1-96
+----------------------------------------------------------ATYKVKFITPEGEQ
+EVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDVT
+IETHKEEELV--
+>FER2_ARATH/1-148
+----MASTALSSAIVSTSFLRRQQTPISLRSLPFANT-QSLFGLKS-STARGGRVTAMATYKVKFITPEGEQ
+EVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDVV
+IETHKEEAIM--
+>Q93Z60_ARATH/1-118
+----MASTALSSAIVSTSFLRRQQTPISLRSLPFANT-QSLFGLKS-STARGGRVTAMATYKVKFITPEGEQ
+EVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD--------------------
+------------
+>FER1_MAIZE/1-150
+MATVLGSPRAPAFFFSSSSLRAAPAPTAVALPAAKVG---IMGRSA---SSRRRLRAQATYNVKLITPEGEV
+ELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDVV
+IETHKEEELTGA
+>O80429_MAIZE/1-140
+---------MAATALSMSILRAPP-PCFSSPLRLRVAVAKPLAAPM----RRQLLRAQATYNVKLITPEGEV
+ELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDVV
+IETHKEDDLL--
diff --git a/examples-jbake/assets/plantfdx.features b/examples-jbake/assets/plantfdx.features
new file mode 100644 (file)
index 0000000..a23d152
--- /dev/null
@@ -0,0 +1,118 @@
+HELIX  d4d189
+MOD_RES        47e459
+TRANSIT        6f949b
+TURN   1d1e2d
+METAL  70686e
+SIGNAL 92c7dd
+VARIANT        60beac
+Pfam   dc206a
+CONFLICT       c46c6e
+STRAND 25c54c
+
+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
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_83</a></html>   FER_CAPAA       -1      8       83      Pfam
+Chloroplast    FER_CAPAN       -1      1       47      TRANSIT
+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
+Phosphothreonine       FER_CAPAN       -1      136     136     MOD_RES
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_130</a></html> FER_CAPAN       -1      55      130     Pfam
+Chloroplast    FER1_SOLLC      -1      1       47      TRANSIT
+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>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_130</a></html> FER1_SOLLC      -1      55      130     Pfam
+Evidence: EI4  Q93XJ9_SOLTU    -1      1       48      SIGNAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_130</a></html> Q93XJ9_SOLTU    -1      55      130     Pfam
+Chloroplast    FER1_PEA        -1      1       52      TRANSIT
+L -> I (in strain: cv. Onward)         FER1_PEA        -1      59      59      VARIANT
+I -> L (in strain: cv. Onward)         FER1_PEA        -1      85      85      VARIANT
+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
+YPTS -> PPPA (in Ref. 2)       FER1_PEA        -1      132     135     CONFLICT
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER1_PEA        -1      60      135     Pfam
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 63_138</a></html> Q7XA98_TRIPR    -1      63      138     Pfam
+Chloroplast    FER1_MESCR      -1      1       51      TRANSIT
+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>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 59_134</a></html> FER1_MESCR      -1      59      134     Pfam
+Chloroplast    FER1_SPIOL      -1      1       50      TRANSIT
+STRAND FER1_SPIOL      -1      52      59      STRAND
+TURN   FER1_SPIOL      -1      60      61      TURN
+STRAND FER1_SPIOL      -1      62      69      STRAND
+TURN   FER1_SPIOL      -1      70      71      TURN
+HELIX  FER1_SPIOL      -1      74      80      HELIX
+TURN   FER1_SPIOL      -1      81      82      TURN
+STRAND FER1_SPIOL      -1      88      92      STRAND
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      89      89      METAL
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      94      94      METAL
+TURN   FER1_SPIOL      -1      96      97      TURN
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      97      97      METAL
+STRAND FER1_SPIOL      -1      98      104     STRAND
+TURN   FER1_SPIOL      -1      109     110     TURN
+HELIX  FER1_SPIOL      -1      116     121     HELIX
+TURN   FER1_SPIOL      -1      122     122     TURN
+STRAND FER1_SPIOL      -1      123     125     STRAND
+HELIX  FER1_SPIOL      -1      126     128     HELIX
+Iron-sulfur (2Fe-2S)   FER1_SPIOL      -1      127     127     METAL
+STRAND FER1_SPIOL      -1      130     133     STRAND
+STRAND FER1_SPIOL      -1      135     138     STRAND
+HELIX  FER1_SPIOL      -1      142     144     HELIX
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 58_133</a></html> FER1_SPIOL      -1      58      133     Pfam
+I -> V         FER3_RAPSA      -1      8       8       VARIANT
+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
+S -> T         FER3_RAPSA      -1      55      55      VARIANT
+Iron-sulfur (2Fe-2S)   FER3_RAPSA      -1      77      77      METAL
+R -> K         FER3_RAPSA      -1      91      91      VARIANT
+M -> V         FER3_RAPSA      -1      95      95      VARIANT
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_83</a></html>   FER3_RAPSA      -1      8       83      Pfam
+Chloroplast    FER1_ARATH      -1      1       52      TRANSIT
+Iron-sulfur (2Fe-2S)   FER1_ARATH      -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER1_ARATH      -1      96      96      METAL
+Iron-sulfur (2Fe-2S)   FER1_ARATH      -1      99      99      METAL
+Iron-sulfur (2Fe-2S)   FER1_ARATH      -1      129     129     METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER1_ARATH      -1      60      135     Pfam
+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>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_83</a></html>   FER_BRANA       -1      8       83      Pfam
+Chloroplast    FER2_ARATH      -1      1       52      TRANSIT
+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>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER2_ARATH      -1      60      135     Pfam
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_118</a></html> Q93Z60_ARATH    -1      60      118     Pfam
+Chloroplast    FER1_MAIZE      -1      1       52      TRANSIT
+STRAND FER1_MAIZE      -1      57      59      STRAND
+STRAND FER1_MAIZE      -1      72      74      STRAND
+HELIX  FER1_MAIZE      -1      76      80      HELIX
+TURN   FER1_MAIZE      -1      81      84      TURN
+STRAND FER1_MAIZE      -1      90      97      STRAND
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      91      91      METAL
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      96      96      METAL
+TURN   FER1_MAIZE      -1      98      99      TURN
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      99      99      METAL
+TURN   FER1_MAIZE      -1      118     119     TURN
+HELIX  FER1_MAIZE      -1      120     123     HELIX
+TURN   FER1_MAIZE      -1      128     129     TURN
+Iron-sulfur (2Fe-2S)   FER1_MAIZE      -1      129     129     METAL
+STRAND FER1_MAIZE      -1      132     135     STRAND
+STRAND FER1_MAIZE      -1      137     141     STRAND
+TURN   FER1_MAIZE      -1      142     142     TURN
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER1_MAIZE      -1      60      135     Pfam
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 52_127</a></html> O80429_MAIZE    -1      52      127     Pfam
+ENDGROUP       uniprot
diff --git a/examples-jbake/assets/uniref50.fa b/examples-jbake/assets/uniref50.fa
new file mode 100755 (executable)
index 0000000..53698a4
--- /dev/null
@@ -0,0 +1,60 @@
+>FER_CAPAA Ferredoxin\r
+-----------------------------------------------------------ASYKVKLITPDGP\r
+IEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
+TIETHKEAELVG-\r
+>FER_CAPAN Ferredoxin, chloroplast precursor\r
+MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMASYKVKLITPDGP\r
+IEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
+TIETHKEAELVG-\r
+>FER1_SOLLC Ferredoxin-1, chloroplast precursor\r
+MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPEGP\r
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDV\r
+TIETHKEEELTA-\r
+>Q93XJ9_SOLTU Ferredoxin I precursor\r
+MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPDGP\r
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDV\r
+TIETHKEEELTA-\r
+>FER1_PEA Ferredoxin-1, chloroplast precursor\r
+MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGT\r
+QEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDV\r
+VIETHKEEDLTA-\r
+>Q7XA98_TRIPR Ferredoxin I\r
+MATT---PALYGTAVSTSFMRRQPVPMSV-ATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGP\r
+QEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDV\r
+TIETHKEEELTA-\r
+>FER1_MESCR Ferredoxin-1, chloroplast precursor\r
+MAAT--TAALSGATMSTAFAPK--TPPMTAALPTNVGR--ALFGLKS-SASR-GRVTAMAAYKVTLVTPEGK\r
+QELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDV\r
+TIETHKEEELTA-\r
+>FER1_SPIOL Ferredoxin-1, chloroplast precursor\r
+MAAT--TTTMMG--MATTFVPKPQAPPMMAALPSNTGR--SLFGLKT-GSR--GGRMTMAAYKVTLVTPTGN\r
+VEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDV\r
+TIETHKEEELTA-\r
+>FER3_RAPSA Ferredoxin, leaf L-A\r
+-----------------------------------------------------------ATYKVKFITPEGE\r
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDV\r
+TIETHREEDMV--\r
+>FER1_ARATH Ferredoxin-1, chloroplast precursor\r
+MAST----ALSSAIVGTSFIRRSPAPISLRSLPSANTQ--SLFGLKS-GTARGGRVTAMATYKVKFITPEGE\r
+LEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDV\r
+TIETHKEEDIV--\r
+>FER_BRANA Ferredoxin\r
+-----------------------------------------------------------ATYKVKFITPEGE\r
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDV\r
+TIETHKEEELV--\r
+>FER2_ARATH Ferredoxin-2, chloroplast precursor\r
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDV\r
+VIETHKEEAIM--\r
+>Q93Z60_ARATH At1g10960/T19D16_12\r
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD-------------------\r
+-------------\r
+>FER1_MAIZE Ferredoxin-1, chloroplast precursor\r
+MATVLGSPRAPAFFFSSSSLRAAPAPTAV--ALPAAKV--GIMGRSA-SSRR--RLRAQATYNVKLITPEGE\r
+VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV\r
+VIETHKEEELTGA\r
+>O80429_MAIZE Ferredoxin\r
+MAAT---------ALSMSILR---APPPCFSSPLRLRV--AVAKPLA-APMRRQLLRAQATYNVKLITPEGE\r
+VELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDV\r
+VIETHKEDDLL--\r
diff --git a/examples-jbake/assets/uniref50_mz.fa b/examples-jbake/assets/uniref50_mz.fa
new file mode 100644 (file)
index 0000000..9974fc7
--- /dev/null
@@ -0,0 +1,30 @@
+>FER1_MAIZE/53-118 Ferredoxin-1, chloroplast precursor
+ATYNVKLITPEGEVELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDD
+>FER_CAPAA/1-66 Ferredoxin
+ASYKVKLITPDGPIEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDD
+>FER_CAPAN/48-113 Ferredoxin, chloroplast precursor
+ASYKVKLITPDGPIEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDD
+>FER1_SOLLC/48-113 Ferredoxin-1, chloroplast precursor
+ASYKVKLITPEGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDE
+>Q93XJ9_SOLTU/48-113 Ferredoxin I precursor
+ASYKVKLITPDGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDD
+>FER1_PEA/53-118 Ferredoxin-1, chloroplast precursor
+ASYKVKLVTPDGTQEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDD
+>Q7XA98_TRIPR/56-121 Ferredoxin I
+ATYKVKLITPEGPQEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDD
+>FER1_MESCR/52-117 Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPEGKQELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDD
+>FER1_SPIOL/51-116 Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPTGNVEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDD
+>FER3_RAPSA/1-66 Ferredoxin, leaf L-A
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDD
+>FER1_ARATH/53-118 Ferredoxin-1, chloroplast precursor
+ATYKVKFITPEGELEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDD
+>FER_BRANA/1-66 Ferredoxin
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDD
+>FER2_ARATH/53-118 Ferredoxin-2, chloroplast precursor
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD
+>Q93Z60_ARATH/53-118 At1g10960/T19D16_12
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD
+>O80429_MAIZE/45-110 Ferredoxin
+ATYNVKLITPEGEVELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLND
diff --git a/examples-jbake/content/appletParameters.html b/examples-jbake/content/appletParameters.html
new file mode 100644 (file)
index 0000000..e02a7be
--- /dev/null
@@ -0,0 +1,435 @@
+title=Applet Parameters
+type=page
+status=published
+~~~~~~
+<h2>JalviewLite Applet Parameter Documentation</h2>
+<p>
+The JalviewLite applet is configured through a series of applet parameters,
+which are described <a href="#parameters"> below</a>. Once initialised,
+the applet can be interacted with <em>via</em> its 
+<a href="jalviewLiteJs.html">Javascript API</a>.
+</p><p><strong>Issues arising from tightening of Java Security default settings</strong><br/>JalviewLite is provided as a signed applet with 'sandbox' permissions and wildcards that allow it to be run from any website. Unfortunately, earlier versions of Java are not compatible with these settings, so if you find that you cannot see any of the examples on the left, try the <a href="u_applets.html">unsigned applet examples</a>.
+</p>
+    <p>For additional deployment notes, <a href="#appletdeploymentnotes">see below</a>.</p>
+           <p><h2>Applet Parameters</h2><br/>The applet takes the following initialisation parameters.</p>
+        <a name="parameters"></a>        <table width="97%" class="borderTable" align="center" >
+          <tr> 
+            <td width="103" height="23"><strong>&lt;param name=&quot;&quot;</strong></td>
+            <td width="80" ><strong>value=&quot;&quot;&gt;</strong></td>
+            <td width="100%"><strong>Description</strong></td>
+          </tr>
+          <tr>
+          <td>permissions</td>
+          <td>sandbox</td>
+          <td><strong>This parameter is necessary, and must have the value <em>sandbox</em> to allow the JalviewLite applet to run.</strong></td>
+          </tr>
+          <tr> 
+            <td>file</td>
+            <td>fileName</td>
+            <td>The file to open, must be on same server as the applet.</td>
+          </tr>
+          <tr> 
+            <td>sequence1,<br>
+              sequence2,<br>
+              sequence3</td>
+            <td>sequence in (preferably) PFAM or Fasta format</td>
+            <td>The alignment can be added as a series of sequences instead of 
+              from a file.</td>
+          </tr>
+          <tr> 
+            <td>tree</td>
+            <td>fileName</td>
+            <td>Tree file in Newick format</td>
+          </tr>
+          <tr> 
+            <td>features</td>
+            <td>fileName</td>
+            <td>Jalview Features file to be applied to the alignment</td>
+          </tr>
+          <tr> 
+            <td>annotations</td>
+            <td>fileName</td>
+            <td>Jalview Annotation file will be added to the alignment</td>
+          </tr>
+          <tr> 
+            <td>jnetfile</td>
+            <td>fileName</td>
+            <td>Secondary structure predictions from a <a
+            href="http://www.compbio.dundee.ac.uk/~www-jpred/">Jnet</a> Concise 
+              file will be added to the first sequence in the alignment.</td>
+          </tr>
+          <tr> 
+            <td>PDBfile(x)</td>
+            <td><p>fileName seq1 seq2 seq3</p>
+              <p>or</p>
+              <p>fileName A=seq1 B=seq2 C=seq3</p></td>
+            <td>PDB file which is to be associated with a sequence, followed by 
+              space separated list of alignment sequence ids. PDB chains can be 
+              specifed to map to particular sequence by using A=SeqA notation</td>
+          </tr>
+          <tr> 
+            <td><p>PDBSeq<br>
+                *Not needed post Jalview 2.3, use PDBFile instead</p></td>
+            <td>SequenceId</td>
+            <td>The sequence to associate a PDB file with. Note the value is case 
+              sensitive.</td>
+          </tr>
+          <tr> 
+            <td>defaultColour</td>
+            <td> <em>One of: </em><br>
+              Clustal, Blosum62, % Identity, Hydrophobic, Zappo, Taylor, Helix 
+              Propensity, Strand Propensity, Turn Propensity, Buried Index, Nucleotide</td>
+            <td>Default is no colour.</td>
+          </tr>
+          <tr> 
+            <td>userDefinedColour</td>
+            <td><p><em>Example:</em><br>
+                D,E=red; K,R,H=0022FF; c=yellow</p></td>
+            <td>Define residue colours</td>
+          </tr>
+          <tr> 
+            <td height="35">showFullId</td>
+            <td>true <em>or</em> false</td>
+            <td>if true displays start and end residue at the end of sequence 
+              Id.</td>
+          </tr>
+          <tr> 
+            <td>showAnnotation</td>
+            <td>true <em>or</em> false</td>
+            <td>If true shows the annotation panel below the alignment.</td>
+          </tr>
+          <tr> 
+            <td>showConservation</td>
+            <td>true <em>or</em> false</td>
+            <td>Default is true.</td>
+          </tr>
+          <tr> 
+            <td>showQuality</td>
+            <td>true <em>or</em> false</td>
+            <td>Default is true.</td>
+          </tr>
+          <tr> 
+            <td>showConsensus</td>
+            <td>true <em>or</em> false</td>
+            <td>Default is true.</td>
+          </tr>
+          <tr> 
+            <td>sortBy</td>
+            <td> Id <em>, </em> Pairwise Identity<em>, or</em> Length</td>
+            <td> Sorts the alignment on startup</td>
+          </tr>
+          <tr> 
+            <td>RGB</td>
+            <td>colour as hex string</td>
+            <td>Background colour for applet button - purely cosmetic to blend 
+              in with your web page. For orange, enter the value FF6600</td>
+          </tr>
+          <tr> 
+            <td>embedded</td>
+            <td>true <em>or</em> false</td>
+            <td>The applet is embedded in the web page, the &quot;Start Jalview&quot; 
+              button is not displayed.</td>
+          </tr>
+          <tr> 
+            <td>windowWidth</td>
+            <td>value</td>
+            <td>frame width</td>
+          </tr>
+          <tr> 
+            <td>windowHeight</td>
+            <td>value</td>
+            <td>frame height</td>
+          </tr>
+          <tr> 
+            <td>label</td>
+            <td>label text</td>
+            <td>Change text for the Launch Jalview Button</td>
+          </tr>
+          <tr> 
+            <td>wrap</td>
+            <td>true <em>or</em> false</td>
+            <td>Opens new windows in wrapped mode</td>
+          </tr>
+          <tr> 
+            <td>linkLabel_1</td>
+            <td>EMBL-EBI Search</td>
+            <td rowspan="2"><p>Right click on sequence id to see list of available 
+                links. Any new links MUST have $SEQUENCE_ID$ as part of the linkURL_n 
+                value. For multiple links, increment the label and url name by 
+                1. ie <br>
+                &lt;param name=&quot;linkLabel_2&quot; ..., <br>
+                &lt;param name=&quot;linkUrl_2&quot;....<br>
+              </p>
+              <p>Regular expressions may also be used (<em>since Jalview 2.4</em>) to process the ID string inserted into the URL:
+              <br>$SEQUENCE_ID=/&lt;regex to extract ID&gt;/=$<br><em>Use the debug flag to check parsing and make sure that special symbols are properly escaped (particularly when generating applet tags from CGI scripts). 
+              <br>Regex URL links are also applied to the description line (since Jalview 2.4.+).</em></p></td>
+          </tr>
+          <tr> 
+            <td> <p>
+            <br>
+                linkUrl_1<br>
+              </p></td>
+            <td><p><br>
+                http://www.ebi.ac.uk/ebisearch/<br/>search.ebi?db=allebi&query=$SEQUENCE_ID$</p>
+                                               </td>
+          </tr>
+          <tr> 
+            <td>showFeatureSettings</td>
+            <td>true <em>or</em> false</td>
+            <td>Shows the feature settings window when starting the applet</td>
+          </tr>
+          <tr>
+            <td>showfeaturegroups</td>
+            <td><em>separator</em> separated list of feature groups</td>
+            <td>Display the features in the given groups on the alignment</td>
+          </tr>
+          <tr>
+            <td>hidefeaturegroups</td>
+            <td><em>separator</em> separated list of feature groups</td>
+            <td>Hide the features in the given groups on the alignment
+            (will be overridden by showfeaturegroups for group names
+            found in both lists)</td>
+          </tr>
+          <tr> 
+            <td>application_url</td>
+            <td><p><em>URL of dynamic JNLP servlet,</em></p>
+              <p>http://www.jalview.org/services/launchApp</p></td>
+            <td>Launches full application with original alignment, features and 
+              annotations files used in applet</td>
+          </tr>
+          <tr>
+          <td>separator</td>
+          <td><em>non-empty separator string</em><br>default: |</td>
+          <td>string used to separate fields in list parameters (such as <em>showfeaturegroups</em>)</td>
+          </tr>
+          <tr><td>debug</td>
+          <td>true</td>
+          <td>Instruct the applet to output additional debug messages to the java console</td>
+          </tr>
+          <tr><td>nojmol</td>
+          <td>false</td>
+          <td>When set, do not try to find Jmol classes. Set this to supress URL not found errors appearing 
+          in server logs when Jmol is not available.
+          </td>
+          </tr>
+          <tr><td>showbutton</td>
+          <td>true</td>
+          <td>Show the jalview button on the page. When false, JalviewLite will open immediately.</td>
+          </tr>
+          </tr>
+                 <tr><td>sortByTree</td>
+                 <td>true or false (default is false)</td>
+                 <td>automatically sort the associated alignment view by the tree when a new tree is opened.</td>
+                 </tr>
+                 <tr>
+                  <td>showTreeBootstraps</td><td>true or false (default is true)</td><td>show or hide branch bootstraps</td>
+                       </tr>
+       <tr><td>showTreeDistances</td><td>true or false (default is true)</td><td>show or hide branch lengths</td></tr>
+       <tr><td>showUnlinkedTreeNodes</td><td>true or false (default is false)</td><td>indicate if unassociated nodes should be highlighted in the tree view</td>
+       </tr>
+          <tr><td>heightScale</td>
+          <td>1.0 or greater</td>
+          <td>Adjust the height of each cell in the alignment grid relative to the height of a character in the alignment font. (<em>since 2.5.1</em>)</td>
+          </tr>
+          <tr><td>widthScale</td>
+          <td>1.0 or greater</td>
+          <td>Adjust the width of each cell in the alignment grid relative to the width of a character in the alignment font. (<em>since 2.5.1</em>)</td>
+          </tr>
+          <tr><td>centrecolumnlabels</td>
+          <td>true of false (default is false)</td>
+          <td>When true, text labels associated with a column in the alignment will be shown centered with respect to the column. (<em>since 2.4</em>)</td>
+          <tr><td>showUnconserved</td>
+          <td>true of false (default is false)</td>
+          <td>When true, only gaps and symbols different to the consensus sequence for a column will be shown. Useful for visualizing alignments exhibiting low sequence variation, where it is important to highlight mutations. (<em>since 2.5</em>)</td>
+          </tr>
+          <tr><td>upperCase</td>
+          <td><em>bold</em> or other value</td>
+          <td>Indicate a text style to apply to uppercase sequence symbols. Currently, only <strong>bold</strong> is supported.</td>
+          </tr>
+          <tr><td>automaticScrolling</td>
+          <td>true of false (default is true)</td>
+          <td>When true, alignment panels will automatically scroll to show any regions of the alignment highlighted due to javascript events or when mousing over a position in an associated structure. (<em>since 2.6</em>)</td>
+          </tr>
+          
+          <tr><td>showGroupConsensus</td>
+          <td>true of false (default is false)</td>
+          <td>When true, shows consensus annotation row for any groups on the alignment. (<em>since 2.7</em>)</td>
+          </tr>
+          
+          <tr><td>showGroupConservation</td>
+          <td>true of false (default is false)</td>
+          <td>When true, shows amino-acid property conservation annotation row for any groups on the alignment. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>showConsensusHistogram</td>
+          <td>true of false (default is true)</td>
+          <td>When true, shows the percentage occurence of the consensus symbol for each column as a histogram above the consensus sequence row. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>showSequenceLogo</td>
+          <td>true of false (default is false)</td>
+          <td>When true, shows a sequence logo above the consensus sequence (overlaid above the Consensus Histogram, if visible, with symbols coloured using the alignment's default colourscheme). (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>normaliseSequenceLogo</td>
+          <td>true of false (default is false)</td>
+          <td>When true, all sequence logos will be normalised (all symbol stacks add up to full height of annotation row), rather than being scaled according to the fraction of symbols identical to the consensus. (<em>since 2.8</em>)</td>
+          </tr>
+          <tr><td>oninit</td>
+          <td><em>after_init()</em></td>
+          <td>name of javascript function that will be called after the jalviewLite instance has completed its initialisation. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>relaxedidmatch</td>
+          <td><em>true or false (default is false)</em></td>
+          <td>When true, use stem based matching to identify sequences that match features imported from a GFF or Jalview sequence features file, and for associating PDB data (passed on PDBfile parguments) with sequences (based on a given destination sequence ID). (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>alignpdbfiles</td>
+          <td><em>true or false (default is false)</em></td>
+          <td>When true, and jalviewLite is able to use jmol as a structure viewer, attempt to show a superposition of all structures loaded onto the alignment, superimposed using the aligned regions of corresponding sequences. [experimental] (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>externalstructureviewer</td>
+          <td><em>true or false (default is false)</em></td>
+          <td>re-route jmol colouring commands, selection and mouseover events to an external viewer using javascript callbacks. [experimental] (<em>since 2.7</em>)</td>
+          
+          </tr>
+          <tr><td>annotationcolour_max</td>
+          <td>colour name or RGB hex triplet (default is red)</td>
+          <td>Default colour used for maximum value when shading by annotation. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>annotationcolour_min</td>
+          <td>colour name or RGB hex triplet (default is orange)</td>
+          <td>Default colour used for minimum value when shading by annotation. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>jalviewhelpurl</td>
+          <td>absolute or relative url or javascript function prefixed by <em>javascript:</em> (default is http://www.jalview.org/help.html)</td>
+          <td>Optional parameter allowing modification of the default Jalview Help URL normally opened when JalviewLite's 'Help' menu item is selected. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>resolvetocodebase</td>
+          <td>True or False (False)</td>
+          <td>Set to true to re-instate pre-JalviewLite 2.7 behaviour where relative URLs were prepended with the applet 'codebase' rather than the current document base URL before resolution. (<em>since 2.7</em>)</td>
+          </tr>
+          <tr><td>scoreFile</td>
+          <td>file</td>
+          <td>Multiple sequences aligment scores file. Currently is supported only the T-Coffee score_ascii file format</td>
+          </tr>
+                  </table>
+                  <p><h2><a name="appletdeploymentnotes"/>Notes on applet deployment</h2><br/>
+        <ul>
+          <li>Package all your data files into a single (or multiple) zip / jar 
+            files. This is very useful to reduce download time of large data files. 
+            The applet archive tag can take multiple entries separated by commas, 
+            eg<br>
+            <pre>&lt;applet code=&quot;jalview.bin.JalviewLite&quot;<em><strong> 
+            archive=&quot;jalviewApplet.jar, mydata.zip&quot;</strong></em>&gt;<br>
+            </pre></li>
+          <li> Use Jalview for input to a HTML form. For an example of how to 
+            code this using Javascript, click <a href="formComplete.html">here</a>. 
+            <br>
+          </li>
+          <li>Embed Jalview into the web page, without the &quot;Start Jalview&quot; 
+            button by setting the embed parameter to true;<br>
+            &lt;param name=&quot;embedded&quot;
+          value=&quot;true&quot;&gt; </li>
+        </ul>
+        <p><strong>**NEW FEATURES** in Jalview 2.8</strong></p>
+        <ul>
+        <li>Normalised sequence logo display
+        </li>
+        <li>RNA secondary structure annotation row
+        </li>
+<li>Jmol compatibility updated to Jmol 12.2.x series - <a href="JmolApplet-12.2.4.jar">download the JmolApplet here</a></li>
+<li>To use Jmol as the structure viewer for Jalview, you must include 
+            the jar file in the applet archive argument thus:<br>
+            <pre>archive=&quot;jalviewApplet.jar,Jmol-12.2.4.jar&quot;</pre>
+          </li>
+          <li>Jmol 12.2.x requires at least Java 1.6 to run in the clients web browser. If the client does not have 
+            Java 1.6, or if the Jmol-12.2.jar is not added to the archive, the 
+            original Jalview structure viewer will still be available. <br>
+          </li>
+          
+        </ul>
+        <p><strong>**NEW FEATURES** in Jalview 2.7</strong></p>
+        <ul>
+        <li>Javascript callbacks capabilities<ul><li>oninit parameter and methods for registering javascript handlers for selections, mouseovers and linking to Jmol applets on the page.</li>
+        <li>To use javascript callbacks, ensure the applet tag includes the '<a href="http://download.oracle.com/javase/6/docs/technotes/guides/plugin/developer_guide/java_js.html">mayscript</a>' attribute - either as a parameter (&lt;param name="mayscript" value="true"/;gt;) or as a bare attribute in the applet html tag).</li></ul>
+        </li>
+        <li>New <a href="jalviewLiteJs.html">jalviewLite java api</a> methods for selecting, highlighting, scrolling and reordering sequences in an alignment view.
+        </li></ul>
+        <p><strong>**NEW FEATURES** in Jalview 2.6</strong></p>
+        <ul>
+        <li>Jmol compatibility updated to Jmol 12.1.x series</li>
+          <li>Jalview 2.6 works only with Jmol version 12.1.13 or later. You can use the JmolApplet.jar from 
+          the Jmol binary distribution available at the Jmol Sourceforge site, 
+          or <a href="JmolApplet-12.1.13.jar">download the Jmol applet from here</a></li>
+          <li>Minimum recommended version of Java runtime for the applet is now 1.5 (JalviewLite v2.6 without the Jmol viewer may work ok on earlier Java environments but compatibility can no-longer be guaranteed).</li>
+  </ul>
+        <br><strong>**NEW FEATURES** in Jalview 2.5</strong></p>
+        <ul>
+        <li>New parameters to control display of tree annotation, width of alignment columns, and to disable the jalview button and check for Jmol on startup.</li>
+  </ul>        
+        <br><strong>**NEW FEATURES** in Jalview 2.4</strong></p>
+        <ul>
+        <li>New applet API methods for feature display control, views, and obtaining current selection via javascript.</li>
+          <li>Group show and hide parameters:
+        &quot;showfeaturegroups&quot; and
+        &quot;hidefeaturegroups&quot;. Both take a list
+        of feature group names (separarated by &quot;|&quot; by default) to hide or show on the displayed
+        alignment.
+        </li>
+        <li>Regular expressions can be used in URL links for sequence IDs.</li>
+        <li>&quot;debug&quot; parameter to control verbosity of the applet's console output.</li>
+        <li>&quot;showbutton&quot; parameter to disable launch button and open JalviewLite immediatly.</li>
+        <li>&quot;nojmol&quot; parameter to disable check for Jmol classes.</li>
+        </ul><br>
+        <strong>**NEW FEATURES** in Jalview 2.3</strong></p>
+        <ul>
+          <li>Note that Parameter &quot;PDBFile&quot; now takes 
+            the PDB file followed by a space separated list of alignment sequence 
+            ids to associate the structure to. It is also possible to associate 
+            multiple PDB files by adding an incremental value to PDBFile (up to 
+            10). It is also possible to map specific sequences to specific chains 
+            by using the following notation:<br>
+            <br>
+            <pre>
+            &lt;param name=&quot;PDBFile&quot; value=&quot;First.pdb SeqA SeqB 
+            SeqC&quot;&gt;<br>
+            &lt;param name=&quot;PDBFile2&quot; value=&quot;Second.pdb 
+            A=SeqA B=SeqB C=SeqC&quot;&gt;<br>
+            &lt;param name=&quot;PDBFile3&quot; value=&quot;Third.pdb 
+            D=SeqX B=SeqY C=SeqZ&quot;&gt;<br>
+            </pre>
+          </li>
+          <li>Note parameter &quot;PDBSeq&quot; is no longer required.<br>
+          </li>
+          <li>Jalview 2.3 was updated to work with Jmol 11. See the <a href="/development">versions archive if you want to download the old Jmol applet</a>.</li> 
+            <p>&nbsp;</p>
+          </li>
+        </ul>
+        <strong>**NEW FEATURES** in Jalview 2.1</strong> 
+        <ul>
+          <li>Jalview Applet can read and display JNet secondary structure annotation 
+            directly via the <strong>jnetfile</strong> parameter. <br>
+          </li>
+          <li>Param &quot;UserDefinedColour&quot; - specify your own colours for each residue using a semi colon 
+            separated list. Multiple residues can be assigned the same colour 
+            using commas. eg:<br>
+            <pre>&lt;param name=&quot;userDefinedColour&quot; 
+            value=&quot;D,E=red; K,R,H=0022FF; C=yellow&quot;&gt;</pre>
+          </li>
+          <li>Param &quot;showFeatureSettings&quot;
+            - this will display the feature settings window when the applet starts.
+          </li>
+          <li>Param &quot;Application_URL&quot; value=&quot;http://www.jalview.org/services/launchApp&quot;<br/>
+            This calls a servlet which creates a JNLP file with the alignment 
+            file, annotations file and features file of the applet as arguments. 
+            If the user has Java installed, the returned JNLP file should start 
+            up the full Jalview Application. BUT this does not currently work 
+            for alignment files added to the applet in a zip file.
+            <br/>Look at the XML comments in the file downloaded from <a href="http://www.jalview.org/services/launchApp">The LaunchApp page</a> for full documentation.
+          </li>
+          <li>Alignment file can be a series of parameters using eg PFAM format 
+            <br>
+            <pre>&lt;param name=&quot;sequence1&quot; 
+            value=&quot;Q93XJ9_SOLTU/11-26 TSFLPRKPVVTSLKAI&quot;&gt;<br>
+            &lt;param name=&quot;sequence2&quot; value=&quot;FER1_PEA/14-29 TSFLRTQPMPMSVTTT&quot;&gt;<br>
+            </pre>(All the usual Jalview File formats are valid, however each 
+            new line in an alignment file must be entered as a parameter)</li>
+        </ul>
+        
diff --git a/examples-jbake/content/applets.html b/examples-jbake/content/applets.html
new file mode 100644 (file)
index 0000000..011c10e
--- /dev/null
@@ -0,0 +1,9 @@
+title=JalviewLite Examples
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+status=published
+level=0
+class=jvl_examples.ftl
+~~~~~~
+
diff --git a/examples-jbake/content/embedded.html b/examples-jbake/content/embedded.html
new file mode 100644 (file)
index 0000000..3b6fc63
--- /dev/null
@@ -0,0 +1,8 @@
+title=Embedded Alignment
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_embedded.ftl
+status=published
+level=2
+~~~~~~
diff --git a/examples-jbake/content/embeddedWJmol.html b/examples-jbake/content/embeddedWJmol.html
new file mode 100644 (file)
index 0000000..ecc5769
--- /dev/null
@@ -0,0 +1,9 @@
+title=Jalview and Jmol
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_embeddedWJmol.ftl
+hclass=jvl_embeddedWJmol_hdr.ftl
+status=published
+level=2
+~~~~~~
diff --git a/examples-jbake/content/formComplete.html b/examples-jbake/content/formComplete.html
new file mode 100644 (file)
index 0000000..c2ee860
--- /dev/null
@@ -0,0 +1,9 @@
+title=Access from Javascript
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_formComplete.ftl
+status=published
+level=2
+~~~~~~
+<!-- end of -->
diff --git a/examples-jbake/content/jalviewLiteJs.html b/examples-jbake/content/jalviewLiteJs.html
new file mode 100644 (file)
index 0000000..c14a7fe
--- /dev/null
@@ -0,0 +1,257 @@
+title=Javascript API
+type=page
+status=published
+level=0
+~~~~~~
+
+
+               <p>The jalviewLite applet's application programming interface (API) includes two components. A <a href="javascript/jalview.js">JalviewLite Javascript Library</a> and the <a href="#api">public methods on the JalviewLite applet</a>.
+</p>
+               <h3>Notes</h3>
+               <ul>
+               <li>Unfortunately Javascript - Java communication is not possible
+               using Internet Explorer or Opera on Macs. Please use Safari or
+               Firefox.</li>
+               <li>If more than one Jalview window is open, Jalview returns the
+               alignment in the active window, unless you provide an AlignFrame
+               object reference.</li>
+               <li>The alignment output format can be either Fasta, PFAM, Clustal,
+               MSF, PIR, or BLC.</li>
+               <li>When referring to the Jalview applet in javascript, you must
+               either give Jalview a name in the applet tag or use the document.applets index.</li>
+               <li>When creating javascript functions that are called by jalviewLite (e.g. the <em>oninit</em> parameter, or any mouseOver, selection or structureListener handlers), ensure they complete very quickly, and do not access any jalview API methods that might result in more javascript calls (this which will cause your browser to hang). If you need to do this, we suggest that jalviewLite callbacks are used to add new javascript events to a queue (e.g. using a Jquery timer callback) to avoid any concurrency issues.
+               </li>
+               </ul>
+               <a name="api">
+               <h1>JalviewLite's Javascript API</h1></a>
+               <p>The following public methods on the jalviewLite applet are available to be called from javascript:</p>
+               <pre>//get list of IDs of selected sequences
+public String getSelectedSequences()
+
+// list of IDs of selected sequences terminated by sep or, if sep is null, '&#172;' (&amp;#172;)
+public String getSelectedSequences(sep)
+
+// get list of selected sequences from specific alignFrame. (2.7)
+public String getSelectedSequencesFrom(AlignFrame alf)
+public String getSelectedSequencesFrom(AlignFrame alf, String sep)
+
+// highlight a position in a specific sequence or a column in an alignment containing it
+// provide ID sequence to highlight, integer (range highlighting will be supported in future versions)
+// and flag indicating if position is an alignment column or given according to sequence numbering (2.7)
+public void highlight(String sequenceId, String position, String alignedPosition)
+public void highlightIn(AlignFrame alf, String sequenceId, String position, String alignedPosition)
+
+
+// select regions of the currrent alignment frame using a list of sequence ids and a list of 
+// column numbers and ranges (with minus sign indicating start-end) (separated by default separator) (2.7) 
+public void select(String sequenceIds, String columns)
+public void select(String sequenceIds, String columns, String sep)
+public void selectIn(AlignFrame alf, String sequenceIds, String columns)
+public void selectIn(AlignFrame alf, String sequenceIds, String columns, String sep)
+
+
+// get selected sequences as alignment as format with or without start-end suffix
+public String getSelectedSequencesAsAlignment(String format, boolean suffix)
+
+// get selected sequences as alignment from given view as format with or without start-end suffix
+public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf, String format, boolean suffix)
+
+// get a separator separated list of sequence IDs reflecting the order of the current alignment (2.7)
+public String getAlignmentOrder();
+public String getAlignmentOrderFrom(AlignFrame alf);
+public String getAlignmentOrderFrom(AlignFrame alf, String sep);
+
+// re-order the current alignment using the given list of sequence IDs separated by sep
+// undoName - is string to use when referring to ordering action in undo buffer
+// returns 'true' if alignment was actually reordered. empty string if alignment did not contain sequences.
+// (v2.7)
+public String orderBy(String order, String undoName)
+public String orderBy(String order, String undoName, String sep)
+String orderAlignmentBy(AlignFrame alf, String order, String undoName, String sep)
+
+
+// get alignment as format
+public String getAlignment(String format)
+
+// get alignment as format with jalview 
+// start-end sequence suffix appended
+public String getAlignment(String format, String suffix)
+
+// get alignment displayed in alf as format
+public String getAlignmentFrom(AlignFrame alf, String format)
+
+// get alignment displayed in alf as format 
+// with jalview start-end sequence suffix appended
+public String getAlignmentFrom(AlignFrame alf, String format, String suffix)
+
+// add the given features or annotation to the current alignment
+// if features are loaded, feature display is automatically enabled
+public void loadAnnotation(String annotation)
+
+// add the given features or annotation to the given alignment view
+// if features are loaded, feature display is automatically enabled
+public void loadAnnotationFrom(AlignFrame alf, String annotation)
+
+// parse the given string as a jalview or GFF features file and optionally enable feature display on the current alignment
+// (v2.8)
+public abstract void loadFeatures(String features, boolean autoenabledisplay)
+
+// parse the given string as a jalview or GFF features file and optionally enable feature display on the given alignment
+// (v2.8)
+public abstract void loadFeaturesFrom(AlignFrame alf, String features, boolean autoenabledisplay)
+
+// get the sequence features in the given format (Jalview or GFF)
+public String getFeatures(String format)
+
+// get the sequence features in alf in the given format (Jalview or GFF)
+public String getFeaturesFrom(AlignFrame alf, String format)
+
+// get current alignment's annotation as an annotation file
+public String getAnnotation()
+
+// get alignment view alf's annotation as an annotation file
+public String getAnnotationFrom(AlignFrame alf)
+
+// create a new view and return the alignFrame instance
+public AlignFrame newView()
+
+// create a new view named name and return the alignFrame instance
+public AlignFrame newView(String name)
+
+// create a new view on alf and return the alignFrame instance
+public AlignFrame newViewFrom(AlignFrame alf)
+
+// create a new view named name on alf 
+// and return the alignFrame instance
+public AlignFrame newViewFrom(AlignFrame alf, String name)
+
+// load a new alignment 
+// remember to store the AlignFrame object reference 
+// if you want to manipulate the new alignment view.
+public AlignFrame loadAlignment(String text, String title)
+
+
+// register a javascript function to handle any alignment mouseover events
+// listener is name of javascript function  which will be called
+// with arguments [jalview.appletgui.AlignFrame,String(sequence id),
+// String(column in alignment), String(position in sequence)]
+// (v2.7)
+public void setMouseoverListener(String listener)
+
+// register a javascript function to handle mouseover events for specific alignframe
+// (v2.7)
+public void setMouseoverListener(AlignFrame af, String listener)
+
+// register a javascript function to handle alignment selection events. 
+// Events are generated when the user completes a selection event, or when
+// the user deselects all selected regions.
+// listener is name of javascript function  that will be called with arguments
+//  [jalview.appletgui.AlignFrame, String(sequence set id), 
+//   String(separator separated list of sequences which were selected), 
+//   String(separator separated list of column ranges)]
+// (v2.7)
+public void setSelectionListener(String listener)
+
+// register a selection listener for a specific alignment frame
+// (v2.7)
+public void setSelectionListener(AlignFrame af, String listener)
+
+// register a javascript function to handle events normally routed 
+// to a Jmol structure viewer.
+// listener is a javascript function called with several different types 
+// of arguments, dependent on the type of structure callback event. 
+// See jalview.javascript.MouseOverStructureListener for full details or
+// the embedded Jmol example.
+// modelSet - is a separator separated list of PDB file URIs that this viewer is handling (where position in list equals model number in Jmol).
+// (v2.7)
+public void setStructureListener(String listener, String modelSet)
+
+// remove any callback using the given listener function and associated with
+// the given alignFrame (or null for all callbacks) (v2.7)
+public void removeJavascriptListener(AlignFrame af, String listener)
+
+// send a mouseover message to all the alignment windows associated with the
+// given residue in the pdbfile (v2.7)
+public void mouseOverStructure(String pdbResNum, String chain, String pdbfile)
+
+// bind a pdb file to a sequence in the given alignFrame - this will be searched
+// for sequences matching sequenceId. The PDB file in pdbFile is either the contents
+// of a PDB file or a URI that can be used to retrieve the file, and the pdbEntryString
+// is the user friendly name (or PDBID) shown in jalview's user interface.
+// returns true if binding was as success (v2.7)
+public boolean addPdbFile(AlignFrame alFrame, 
+    String sequenceId, String pdbEntryString, String pdbFile)
+
+// adjust horizontal/vertical scroll in alf to the make 
+// the given location the top left hand corner for given current view (v2.7)
+public void scrollViewToIn(AlignFrame alf, String topRow, String leftHandColumn)
+
+// adjust horizontal scroll in alf to the make 
+// the given location the left hand corner for given current view (v2.7)
+public void scrollViewToColumnIn(AlignFrame alf, String leftHandColumn)
+
+// adjust horizontal/vertical scroll in alf to the make 
+// the given location the top row for given current view (v2.7)
+public void scrollViewToRowIn(AlignFrame alf, String topRow)
+
+
+// return separator separated list of feature groups 
+// on the current alignment
+public String getFeatureGroups()
+
+// return separator separated list of feature groups on alf
+public String getFeatureGroupsOn(AlignFrame alf)
+
+// return separator separated list of feature groups 
+// either visible or hidden
+public String getFeatureGroupsOfState(boolean state)
+
+// return separator separated list of feature groups 
+// either visible or hidden on alf
+public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean state)
+
+// set the separator separated list of feature groups as 
+// visible or hidden on the current alignment
+public void setFeatureGroupState(String groupList, boolean state)
+
+// set the separator separated list of feature groups 
+// as visible or hidden on alf
+public void setFeatureGroupStateOn(AlignFrame alf, String groupList, boolean state)
+
+// helper functions
+
+// Asynchronously retrieve next chunk of a large packet of data made available 
+// for a JalviewLite event handler, or the empty string if no more data is available.
+// messageclass and viewId are keys used to retrieve a specific message related
+// to an event.  
+// Use this in a javascript timer or GUI update thread to retrieve data without 
+// blocking the JalviewLite applet. DO NOT USE IN THE CALLBACK THAT HANDLED THE EVENT
+// (v2.7)
+public String getJsMessage(String messageclass, String viewId)
+
+
+// convert list to a separator separated array
+public String arrayToSeparatorList(String[] list) 
+
+// get a string array from a list
+public String[] separatorListToArray(String list)
+
+// get the current separator
+public String getSeparator()
+
+// set the current separator
+public void setSeparator(String)
+
+//// JalviewLite global state methods and fields
+
+// return the build date as a string
+public static String getBuildDate() 
+
+// return the JalviewLite version as a string
+public static String getVersion()
+
+// debug flag - controls output to standard out
+public static boolean debug
+
+</pre>
+
diff --git a/examples-jbake/content/javascriptLaunch.html b/examples-jbake/content/javascriptLaunch.html
new file mode 100644 (file)
index 0000000..6a0dc9b
--- /dev/null
@@ -0,0 +1,9 @@
+title=Javascript Launch
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_javascriptLaunch.ftl
+status=published
+level=2
+~~~~~~
+
diff --git a/examples-jbake/content/linkedapplets_ng.html b/examples-jbake/content/linkedapplets_ng.html
new file mode 100644 (file)
index 0000000..310ffd6
--- /dev/null
@@ -0,0 +1,9 @@
+title=Linked JalviewLites
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_linkedapplets_ng.ftl
+status=published
+level=1
+~~~~~~
+
diff --git a/examples-jbake/content/u_applets.html b/examples-jbake/content/u_applets.html
new file mode 100644 (file)
index 0000000..149cafa
--- /dev/null
@@ -0,0 +1,10 @@
+title=JalviewLite Examples
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+status=published
+level=0
+class=jvl_examples.ftl
+~~~~~~
+
diff --git a/examples-jbake/content/u_embedded.html b/examples-jbake/content/u_embedded.html
new file mode 100644 (file)
index 0000000..0b68657
--- /dev/null
@@ -0,0 +1,9 @@
+title=Embedded Alignment
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_embedded.ftl
+status=published
+level=2
+~~~~~~
diff --git a/examples-jbake/content/u_embeddedWJmol.html b/examples-jbake/content/u_embeddedWJmol.html
new file mode 100644 (file)
index 0000000..af9fe88
--- /dev/null
@@ -0,0 +1,10 @@
+title=Jalview and Jmol
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_embeddedWJmol.ftl
+hclass=jvl_embeddedWJmol_hdr.ftl
+status=published
+level=2
+~~~~~~
diff --git a/examples-jbake/content/u_formComplete.html b/examples-jbake/content/u_formComplete.html
new file mode 100644 (file)
index 0000000..c4f5ba6
--- /dev/null
@@ -0,0 +1,10 @@
+title=Access from Javascript
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_formComplete.ftl
+status=published
+level=2
+~~~~~~
+<!-- end of -->
diff --git a/examples-jbake/content/u_javascriptLaunch.html b/examples-jbake/content/u_javascriptLaunch.html
new file mode 100644 (file)
index 0000000..080cd3b
--- /dev/null
@@ -0,0 +1,10 @@
+title=Javascript Launch
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_javascriptLaunch.ftl
+status=published
+level=2
+~~~~~~
+
diff --git a/examples-jbake/content/u_linkedapplets_ng.html b/examples-jbake/content/u_linkedapplets_ng.html
new file mode 100644 (file)
index 0000000..43e1ef5
--- /dev/null
@@ -0,0 +1,10 @@
+title=Linked JalviewLites
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_linkedapplets_ng.ftl
+status=published
+level=1
+~~~~~~
+
diff --git a/examples-jbake/jbake.properties b/examples-jbake/jbake.properties
new file mode 100644 (file)
index 0000000..2de5a32
--- /dev/null
@@ -0,0 +1,2 @@
+site.host=http://www.jalview.org/examples/
+render.tags=false
\ No newline at end of file
diff --git a/examples-jbake/templates/archive.ftl b/examples-jbake/templates/archive.ftl
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/examples-jbake/templates/feed.ftl b/examples-jbake/templates/feed.ftl
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/examples-jbake/templates/footer.ftl b/examples-jbake/templates/footer.ftl
new file mode 100644 (file)
index 0000000..1a4607d
--- /dev/null
@@ -0,0 +1,20 @@
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/examples-jbake/templates/header.ftl b/examples-jbake/templates/header.ftl
new file mode 100644 (file)
index 0000000..1c3e9fc
--- /dev/null
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>${content.title}</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+<#if (content.hclass?exists) > 
+  <#include content.hclass />
+</#if>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
diff --git a/examples-jbake/templates/index.ftl b/examples-jbake/templates/index.ftl
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/examples-jbake/templates/jvl_embedded.ftl b/examples-jbake/templates/jvl_embedded.ftl
new file mode 100644 (file)
index 0000000..b61c7a9
--- /dev/null
@@ -0,0 +1,19 @@
+<h2>Embedded viewing of Alignments</h2>
+<p>The alignment below was generated from the following files:
+  <ul>
+    <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
+      FASTA format</li>
+    <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
+      Format Sequence Features file</li>
+    <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
+      Jalview Alignment Annotations File</li>
+  </ul>
+  <@jvlitebutton appjar="${content.jvl}" width=756 height=560 
+                params={
+                "file":"plantfdx.fa",
+                "annotations":"plantfdx.annotations",
+                "features":"plantfdx.features",
+                "embedded":"true",
+                "userDefinedColour":"C=yellow; R,K,H=FF5555; D,E=5555FF",
+                "showFullId":"false"} />
+</p>
diff --git a/examples-jbake/templates/jvl_embeddedWJmol.ftl b/examples-jbake/templates/jvl_embeddedWJmol.ftl
new file mode 100644 (file)
index 0000000..17aba2a
--- /dev/null
@@ -0,0 +1,10 @@
+<h2>Structure and Alignment</h2>
+<p>This demo shows how JalviewLite and Jmol can be integrated with the JalviewLite javascript library.</p>
+<center>
+ <script>
+  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+ </script>
+ <script>
+  deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
+ </script>
+</center>
diff --git a/examples-jbake/templates/jvl_embeddedWJmol_hdr.ftl b/examples-jbake/templates/jvl_embeddedWJmol_hdr.ftl
new file mode 100644 (file)
index 0000000..20504d8
--- /dev/null
@@ -0,0 +1,91 @@
+<script src="javascript/deployJava.js"></script>
+<script src="jmol/Jmol.js"></script>
+<script src="javascript/jquery-1.4.4.min.js"></script>
+<script src="javascript/jquery.timer.js"></script>
+<script src="javascript/jquery.blockUI.js"></script>
+<script src="javascript/jshashtable-2.1.js" language="javascript"></script>
+<!-- <script src="archive-min.js" language="javascript"></script>
+-->
+<script src="javascript/jalview.js" language="javascript"></script>
+<script language="JavaScript">
+// instead of this, we use a custom JmolApplet spec
+// jmolInitialize('jmol');
+jmolInitialize("","${content.jmol}");
+function genHref()
+{
+ var s1 = "ml:i@midd..", s2 = "atelcpoueau", s3 = "iomyob.neck", href="";
+ for(i=0; i<11; i++)
+ { href = href + s1.charAt(i) + s2.charAt(i) + s3.charAt(i); 
+ }
+ window.location=href;
+}
+</script>
+<script>
+ var loglevel=1;
+ function dbg(lvl,string) {
+  if (_console && lvl<=loglevel) {_console.value += string + "\n";}
+ }
+ var _lastTime=new Date();
+ var _path;
+ var _datazip;
+ var _zip;
+ var alignA;
+ var alignB;
+ var featuresA;
+ var featuresB;
+ var pairs;
+ var atompairs;
+ var structdata;
+ var jmolview;
+ var jvstructassoc;
+ var modeltofiles = new Array();
+
+ function lJvA() {
+  jvfollower = document.getElementById("jvA");
+  setConsole(document.getElementById("stdout"));
+  
+  sep = jvfollower.getSeparator();
+  //jvapp.setSeparator(""+jvapp.getSeparator());
+  linkJvJmol(jvfollower, "jmolView", modeltofiles);
+ };
+
+ var _jvA=new Object();
+ _jvA.attributes = {
+  code : 'jalview.bin.JalviewLite',
+  archive : '${content.jvl}',
+  width : '500',
+  height : '350',
+  mayscript : 'True',
+  scriptable: 'True',
+  id : 'jvA'
+ };
+ _jvA.parameters = {
+   java_arguments : "-Xmx256m",
+  externalstructureviewer : "true",
+   oninit : "lJvA",
+  automaticScrolling : "true",
+//  <!-- defaultColour : "Strand Propensity", -->
+  file : "uniref50_mz.fa",
+  
+  relaxedidmatch : "true",
+  debug : "true",
+  wrap : "false",
+  // separator : "^",
+  showAnnotation : "false",
+  embedded : "true",
+  showFullId : "false",
+  RGB : "F2F2FF",
+  linkLabel_1 : "EMBL-EBI Search",
+  linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+  ,
+  linkLabel_2 : "Uniprot"
+  ,
+  linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+  APPLICATION_URL : "http://www.jalview.org/services/launchApp",
+  PDBfile : "1gaq.txt FER1_MAIZE",
+  permissions : "sandbox"
+ };
+ jmolSetCallback("hoverCallback","_jmolhover");
+  jmolSetCallback("pickCallback","_jmolpick");
+  modeltofiles+="1gaq.txt";
+</script>
diff --git a/examples-jbake/templates/jvl_examples.ftl b/examples-jbake/templates/jvl_examples.ftl
new file mode 100644 (file)
index 0000000..f2bf8b1
--- /dev/null
@@ -0,0 +1,88 @@
+
+<p align="left">
+<h2>JalviewLite Button Examples</h2>
+Try out JalviewLite by pressing one of the buttons below.<br/>
+ For more information on how to use the applet in your website, see the <a href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
+<p>&nbsp;</p><div align="center">
+  <p align="center">
+    <h2>Ferredoxins, chloroplast precursor related UniRef50
+      cluster</h2>
+    <br /> (15 sequences x 150 residues)
+  </p>
+  <table width="90%">
+    <tr>
+      <td width="10%" valign="center">
+       <@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions" , "file":"uniref50.fa"
+                      , "treeFile":"ferredoxin.nw"
+                      , "userDefinedColour":"C=yellow; R,K,H=FF5555; D,E=5555FF"
+                      , "showFullId":"false"
+                      , "sortByTree":"True"
+                      , "showSequenceLogo":"true"
+                      , "showGroupConsensus":"true"} prots=true /></td>
+      <td valign="center">User Defined Colours, loads an associated
+       Newick format tree file which is used to sort the alignment, and
+       group consensus and sequence logos are shown below the alignment.</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions",
+       "file":"uniref50.fa"
+                                                    , "features":"exampleFeatures.txt"
+                                                    , "showFeatureSettings":"true"
+                                                    , "wrap":"true"
+                                                    , "showAnnotation":"false"
+                                                    , "windowHeight":"500"
+                                                    , "windowWidth":"650"
+                                                    , "showFullId":"false"}/></td>
+      <td valign="center">Displays a features file on the alignment</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl},${content.jmol}" params={ "permissions":"all-permissions"
+                                                    , "file":"uniref50.fa"
+                                                    , "defaultColour":"Strand Propensity"
+                                                    , "wrap":"true"
+                                                    , "showAnnotation":"false"
+                                                    , "windowHeight":"500"
+                                                    , "windowWidth":"650"
+                                                    , "showFullId":"false"
+                                                    , "PDBfile":"1gaq.txt FER1_MAIZE"} /></td>
+      <td valign="center">Associates PDB file 1GAQ with sequence
+       FER1_MAIZE</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions"
+                                                      , "file":"jpred_msa.fasta"
+                                                      , "jnetfile":"jpred_msa.seq.concise"
+                                                      , "defaultColour":"Clustal"
+                                                      , "showAnnotation":"true"
+                                                      , "windowHeight":"515"
+                                                      , "windowWidth":"650"
+                                                      , "showConservation":"false"
+                                                      , "showQuality":"false"
+                                                      , "showConsensus":"false"
+                                                      , "showFullId":"false"} />
+                                                      </td>
+      <td valign="middle">Displays a Multiple Sequence Alignment
+       Based JNet Prediction for a Sequence</td>
+    </tr>
+  </table>
+  <p>
+    <h2>RF00031 RFAM Alignment with per sequence secondary
+      structure</h2>
+  </p>
+  <table width="90%">
+    <tr>
+      <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions"
+                                                    , "file":"RF00031_folded.stk"
+                                                    , "defaultColour":"Purine/Pyrimidine"
+                                                    , "showAnnotation":"true"
+                                                    , "windowHeight":"515"
+                                                    , "windowWidth":"650"
+                                                    , "showConservation":"false"
+                                                    , "showQuality":"false"
+                                                    , "showConsensus":"true"
+                                                    , "showFullId":"false"} prots=false /></td>
+      <td valign="center">Displays an RFAM RNA fold family with
+       secondary structure annotation</td>
+    </tr>
+  </table>
+</div>
diff --git a/examples-jbake/templates/jvl_formComplete.ftl b/examples-jbake/templates/jvl_formComplete.ftl
new file mode 100644 (file)
index 0000000..cab6cc3
--- /dev/null
@@ -0,0 +1,50 @@
+<h2><a href="jalviewLiteJs.html">JalviewLite API</a> Demo</h2>
+<p>Using the Javascript API to fill out forms using data from JalviewLite
+<br/>Click the Javascript buttons below to interact with the Applet
+instance on the page.</p>
+View the source in your browser to see how it has been done. <br/>
+<a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
+<applet code="jalview.bin.JalviewLite" width="0" height="0"
+       archive="${content.jvl}" name="Jalview">
+  <#if content.permissions?exists><param name="permissions" value="${content.permissions}"/></#if>
+  <param name="file" value="plantfdx.fa"/>
+  <param name="features" value="plantfdx.features"/>
+  <param name="wrap" value="true"/>
+  <param name="showAnnotation" value="false"/>
+  <param name="windowHeight" value="500"/>
+  <param name="windowWidth" value="650"/>
+  <param name="showFullId" value="false"/>
+  <param name="linkLabel_1" value="Uniprot"/>
+  <param name="linkUrl_1"
+        value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+  <param name="linkLabel_2" value="Expasy">
+  <param name="linkUrl_2"
+        value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$"/>
+  <param name="hidefeaturegroups" value="uniprot" />
+  <param name="showbutton" value="false" />
+</applet>
+<form name="exampleForm"><br/>
+  <br/>
+  <center><strong>Using the Jalview Applet for Input
+      to an HTML Form</strong></center>
+  <div align="center"><input type="button"
+                            onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
+                            value="Fill Form from Jalview" /> <br/>
+    <br/>
+    <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
+</form>
+<center><strong>Make a new View and Get and Set
+    Group Display List</strong></center>
+<form name="groupForm">
+  <div align="center"><input type="button"
+                            onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
+                            value="Get groups" /> <input type="button"
+                                                         onClick="document.applets.Jalview.newView()" value="new View" /> <br/>
+    <textarea name="groups" cols="55" rows="9"></textarea> <br/>
+    <input type="button"
+          onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
+          value="Display groups" /> <input type="button"
+                                           onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
+                                           value="Hide groups" /></div>
+</form>
+</div>
diff --git a/examples-jbake/templates/jvl_javascriptLaunch.ftl b/examples-jbake/templates/jvl_javascriptLaunch.ftl
new file mode 100644 (file)
index 0000000..43ae6c2
--- /dev/null
@@ -0,0 +1,98 @@
+  <SCRIPT type="text/javascript">
+  /* <![CDATA[ // */
+// From http://snipplr.com/view.php?codeview&id=1272
+//----------------------------------------
+//Wrapper function for constructing a request object.
+//     Parameters:
+//             reqType: The HTTP request type, such as GET or POST.
+//             url: The URL of the server program.
+//             asynch: Whether to send the request asynchronously or not.
+//----------------------------------------
+
+function httpRequest(reqType,url,asynch,respHandle) {
+
+       // Mozilla-based browsers
+       if (window.XMLHttpRequest) {
+               request = new XMLHttpRequest();
+       } else if (window.ActiveXObject) {
+               request = new ActiveXObject("Msxml2.XMLHTTP");
+               if (!request) {
+                       request = new ActiveXObject("Microsoft.XMLHTTP");
+               }
+       }
+       
+       // Request could still be null if neither ActiveXObject
+       //   initialization succeeded
+       if (request) {
+               // If the reqType param is POST, then the fifth arg is the POSTed data
+               if (reqType.toLowerCase() != "post") {
+                       initReq(reqType, url, asynch, respHandle);
+               } else {
+                       // The POSTed data
+                       var args = arguments[5];
+                       if (args != null && args.length > 0) {
+                               initReq(reqType, url, asynch, respHandle, args);
+                       }
+               }
+       } else {
+               alert("Your browser does not permit the use of all " +
+                       "of this application's features!");
+       }
+
+}
+
+//----------------------------------------
+//Initialize a request object that is already constructed
+//----------------------------------------
+
+function initReq(reqType, url, bool, respHandle) {
+       try {
+               // Specify the function that will handle the HTTP response
+               request.onreadystatechange = respHandle;
+               request.open(reqType, url, bool);
+               // If the reqType param is POST, then the
+               //   fifth argument to the function is the POSTed data
+               if (reqType.toLowerCase() == "post") {
+                       // Set the Content-Type header for a POST request
+                       request.setRequestHeader("Content-Type", "application/x-ww-form-urlencoded; charset=UTF-8");
+                       request.send(arguments[4]);
+               } else {
+                       request.send(null);
+               }
+       } catch (errv) {
+               alert("The application cannot contact the server at the moment. " +
+                       "Please try again in a few seconds.\n" +
+                       "Error detail: " + errv.message);
+       }
+}
+
+// jalview launching with fetched data
+
+function startJalview(aligURL,title,alwvar) {
+               var aligment = "";
+               httpRequest("get",aligURL,true,function() {
+                               if (request.readyState == 4) { 
+                                       alignment = request.responseText; 
+                                       eval("var "+alwvar+" = document.JalviewLite.loadAlignment(alignment,title)");
+                               }
+               })
+               
+}
+
+/* ]]> */
+</SCRIPT>
+  <form name="Form1">
+<applet name="JalviewLite"  code="jalview.bin.JalviewLite"
+archive="${content.jvl}" width="0" height="0">
+<param name="debug" value="true"/>
+<param name="showbutton" value="false"/>
+<#if (content.permissions?exists)>
+<param name="permissions" value="${content.permissions}"/>
+</#if>
+</applet>
+
+<h2>Javascript Launch Button</h2><p>The button below demonstrates how JalviewLite can be launched via a javascript action.</p>
+
+  <input type="button" name="Button1" value="Start"
+onClick="startJalview('plantfdx.fa','Button1.alignment','alwvar')"/>
+  </form>
diff --git a/examples-jbake/templates/jvl_linkedapplets_ng.ftl b/examples-jbake/templates/jvl_linkedapplets_ng.ftl
new file mode 100644 (file)
index 0000000..3bb3749
--- /dev/null
@@ -0,0 +1,96 @@
+<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/jalview.js" language="javascript"></script>
+<script>  //deployJava.debug="true";
+  
+  function lJvApp() {
+    var jvapp = document.getElementById("jvapp");
+    var jvfollower = document.getElementById("jvfollower");
+    setConsole(document.getElementById("stdout"));
+    //jvapp.setSeparator(""+jvapp.getSeparator());
+    linkJvJmol(jvapp);
+  };
+
+  function lJvFollow() {
+    var jvapp = document.getElementById("jvapp");
+    var jvfollower = document.getElementById("jvfollower");
+    //jvfollower.setSeparator(""+jvfollower.getSeparator());
+    linkJvJmol(jvfollower);
+  };
+</script>
+    <h2>JalviewLite Linked Applets Demo</h2>
+    <p>The two applets below use <a href="jalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
+    </p>
+       <script> 
+  var attributes = {
+    code : 'jalview.bin.JalviewLite',
+    archive : '${content.jvl}',
+    width : 800,
+    height : 300,
+    mayscript : 'True', scriptable: 'True',
+    id : 'jvapp'
+  };
+  var parameters = {
+    oninit : "lJvApp",
+    automaticScrolling : "true",
+    file : "plantfdx.fa",
+    annotations : "plantfdx.annotations",
+    debug : "true",
+    wrap : "false",
+    // separator : "^",
+    showAnnotation : "true",
+    embedded : "true",
+    showFullId : "false",
+    RGB : "F2F2FF",
+    linkLabel_1 : "EMBL-EBI Search",
+    linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+    ,
+    linkLabel_2 : "Uniprot"
+    ,
+    linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+    permissions : 'sandbox',
+    APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+  };
+  deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+<script> 
+  var attributes = {
+    code : 'jalview.bin.JalviewLite',
+    archive : '${content.jvl}',
+    width : 800,
+    height : 300,
+    mayscript : 'True', scriptable: 'True',
+    id : "jvfollower"
+  };
+  var parameters = {
+    oninit : "lJvFollow",
+    file : "plantfdx.fa",
+    annotations : "plantfdx.annotations",
+    automaticScrolling : "true",
+    debug : "true",
+    wrap : "false",
+    // separator : "^",
+    showAnnotation : "true",
+    embedded : "true",
+    showFullId : "false",
+    RGB : "F2F2FF",
+    linkLabel_1 : "EMBL-EBI Search",
+    linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+    ,
+    linkLabel_2 : "Uniprot"
+    ,
+    linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+    permissions : 'sandbox',
+   APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+  };
+  deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+    <p>
+<!--      <a href="javascript:linkJvJmol()">Click Me If you don't see any messages below</a>
+      <br>
+       -->
+<form name="console" id="console">
+<textarea name="output"
+        id="stdout" rows="20" cols="80">Messages  will appear here.</textarea></form>
+      <br>
+</p>
diff --git a/examples-jbake/templates/macros.ftl b/examples-jbake/templates/macros.ftl
new file mode 100644 (file)
index 0000000..cecf8a2
--- /dev/null
@@ -0,0 +1,25 @@
+<#assign appparams = [ "file","features","jnetfile","treeFile","userDefinedColour","sortByTree","showSequenceLogo","showGroupConsensus","showFullId","linkLabel_1","linkUrl_1","linkUrl_2","linkLabel_2","windowHeight","windowWidth","showFeatureSettings","wrap","showAnnotation","defaultColour","embedded", "debug", "PDBfile" ] />
+
+
+<#macro jvlitebutton appjar params prots=true width=140 height=35>
+<applet
+   code="jalview.bin.JalviewLite" width="${width}" height="${height}"
+   archive="${appjar}">
+<#if (!content.alteg?exists)>
+<param name="permissions" value="sandbox"/>
+</#if>
+<#list appparams as p>
+<#if (params[p])?has_content><param name="${p}" value="${params[p]}"/>
+</#if></#list>
+<#if (prots)>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+</#if>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</#macro>
diff --git a/examples-jbake/templates/menu.ftl b/examples-jbake/templates/menu.ftl
new file mode 100644 (file)
index 0000000..1aa78f0
--- /dev/null
@@ -0,0 +1,34 @@
+
+       <!-- Fixed navbar -->
+      <div class="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+          <div class="container">
+            <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+              <span class="icon-bar"></span>
+            </button>
+            <a class="brand" href="/">JBake</a>
+            <div class="nav-collapse collapse">
+              <ul class="nav">
+                <li><a href="/index.html">Home</a></li>
+                <li><a href="about.html">About</a></li>
+                <li><a href="${config.feed_file}">Subscribe</a></li>
+                <li class="dropdown">
+                  <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+                  <ul class="dropdown-menu">
+                    <li><a href="#">Action</a></li>
+                    <li><a href="#">Another action</a></li>
+                    <li><a href="#">Something else here</a></li>
+                    <li class="divider"></li>
+                    <li class="nav-header">Nav header</li>
+                    <li><a href="#">Separated link</a></li>
+                    <li><a href="#">One more separated link</a></li>
+                  </ul>
+                </li>
+              </ul>
+            </div><!--/.nav-collapse -->
+          </div>
+        </div>
+      </div>
+      <div class="container">
\ No newline at end of file
diff --git a/examples-jbake/templates/page.ftl b/examples-jbake/templates/page.ftl
new file mode 100644 (file)
index 0000000..0cddb4d
--- /dev/null
@@ -0,0 +1,40 @@
+<#include "header.ftl"/>
+<#include "macros.ftl"/>
+<#include "sidebar.ftl"/>
+<div id="content" class="content">
+
+<#if (content.class?exists) > 
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+<#if (content.alteg?exists) >
+ Scary Java warnings ?<br/>Try <a href="${content.uri?substring(3)}">the signed applet demos</a>
+<#else>
+ Examples aren't working ?<br/>Try <a href="u_${content.uri?substring(1)}">the unsigned applet demos</a>
+</#if>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="${content.jvl}">jalviewApplet.jar</a> and <a href="${content.jmol}">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+  <#include content.class />
+<!-- content template end -->
+
+
+<#else>
+
+<!-- content start -->
+${content.body}
+<!-- content end -->
+
+</#if>
+
+</div> <!-- end content div -->
+
+<#include "footer.ftl"/>
diff --git a/examples-jbake/templates/post.ftl b/examples-jbake/templates/post.ftl
new file mode 100644 (file)
index 0000000..ea57d31
--- /dev/null
@@ -0,0 +1,15 @@
+<#include "header.ftl">
+       
+       <#include "menu.ftl">
+       
+       <div class="page-header">
+               <h1>${content.title}</h1>
+       </div>
+
+       <p><em>${content.date?string("dd MMMM yyyy")}</em></p>
+
+       <p>${content.body}</p>
+
+       <hr>
+       
+<#include "footer.ftl">
\ No newline at end of file
diff --git a/examples-jbake/templates/sidebar.ftl b/examples-jbake/templates/sidebar.ftl
new file mode 100644 (file)
index 0000000..58970e6
--- /dev/null
@@ -0,0 +1,33 @@
+<#macro allpages highlight="jvlite-nav-small">
+  <#list pages as page>
+   <#if page.alteg?exists>
+   <#else>
+    <#if content.alteg?exists && page.jvl?exists>
+     <#assign pref="u_"/>
+    <#else>
+     <#assign pref=""/> 
+    </#if>
+    <#assign noclass=""/>
+    <#if page.title==content.title>
+     <#assign noclass="class=\"${highlight}\"">
+    </#if>
+    <#nested page>
+   </#if>
+  </#list> 
+</#macro>
+
+<div id="sideNav">
+  <ul>
+  <@allpages; page>
+    <#if (((page.level!"1")?number)<1) >
+      <li ${noclass}><a href="${pref}${page.uri?substring(1)}">${page.title}</a></li>
+    </#if>
+  </@allpages>
+  <@allpages; page>
+    <#if (((page.level!"1")?number)>0) >
+      <li ${noclass}><a href="${pref}${page.uri?substring(1)}">${page.title}</a></li>
+    </#if>
+  </@allpages>
+  </ul>
+</div>
+
index 4779046..a1af716 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<TITLE>Applet Parameters</TITLE>
+  <TITLE>Applet Parameters</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
   <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
 
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
 
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer  = 0;
-var ddmenuitem      = 0;
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
 
-// open hidden layer
-function mopen(id)
-{ 
- // cancel close timer
- mcancelclosetime();
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
 
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
 
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
 
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
 
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
 
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
-  window.clearTimeout(closetimer);
-  closetimer = null;
- }
-}
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
 
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
-</script> 
+  </script>
+
 </head>
 
 
 <body>
 
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
-
-<div id ="nav">
-<div id="navInner">
-
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
   </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
 
-</div>
+  
+  <div id ="nav">
+    <div id="navInner">
 
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
+  </div>
 <div id="pageWrap">
 
 <div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li class="jvlite-nav-small"><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+  <ul>
+      <li ><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li class="jvlite-nav-small"><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
 </div>
 
 <div id="content" class="content">
-        <p>
-                                               <strong>Quick Links:<ul><li>Download the applet jar file from <a
-                                                       href="jalviewApplet.jar">here</a>
-                                               </li>
-                                               <li>Parameters are described <a href="#parameters">below</a></li>
-                                               <li>The javascript API is described <a
-                                                               href="jalviewLiteJs.html">here</a></li>
-                                               </ul></strong>
-                                       </p>
-     <p>Additional <a href="#appletdeploymentnotes">applet deployment notes are below</a>.</p>
+
+
+<!-- content start -->
+<h2>JalviewLite Applet Parameter Documentation</h2>
+<p>
+The JalviewLite applet is configured through a series of applet parameters,
+which are described <a href="#parameters"> below</a>. Once initialised,
+the applet can be interacted with <em>via</em> its 
+<a href="jalviewLiteJs.html">Javascript API</a>.
+</p><p><strong>Issues arising from tightening of Java Security default settings</strong><br/>JalviewLite is provided as a signed applet with 'sandbox' permissions and wildcards that allow it to be run from any website. Unfortunately, earlier versions of Java are not compatible with these settings, so if you find that you cannot see any of the examples on the left, try the <a href="u_applets.html">unsigned applet examples</a>.
+</p>
+    <p>For additional deployment notes, <a href="#appletdeploymentnotes">see below</a>.</p>
            <p><h2>Applet Parameters</h2><br/>The applet takes the following initialisation parameters.</p>
         <a name="parameters"></a>        <table width="97%" class="borderTable" align="center" >
           <tr> 
@@ -308,7 +310,7 @@ var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_tr
           </tr>
           <tr> 
             <td>linkLabel_1</td>
-            <td>Uniprot</td>
+            <td>EMBL-EBI Search</td>
             <td rowspan="2"><p>Right click on sequence id to see list of available 
                 links. Any new links MUST have $SEQUENCE_ID$ as part of the linkURL_n 
                 value. For multiple links, increment the label and url name by 
@@ -321,12 +323,12 @@ var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_tr
               <br>Regex URL links are also applied to the description line (since Jalview 2.4.+).</em></p></td>
           </tr>
           <tr> 
-            <td> <p><br>
+            <td> <p>
+            <br>
                 linkUrl_1<br>
               </p></td>
             <td><p><br>
-                http://us.expasy.org/cgi-bin/<br>
-                niceprot.pl?$SEQUENCE_ID$</p>
+                http://www.ebi.ac.uk/ebisearch/<br/>search.ebi?db=allebi&query=$SEQUENCE_ID$</p>
                                                </td>
           </tr>
           <tr> 
@@ -589,8 +591,14 @@ var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_tr
             new line in an alignment file must be entered as a parameter)</li>
         </ul>
         
-</div>
-</div>
+
+<!-- content end -->
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
index 255f104..bb6bb10 100755 (executable)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<TITLE>Jalview - Applets</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+  <TITLE>JalviewLite Examples</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
   <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
 
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
 
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer  = 0;
-var ddmenuitem      = 0;
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
 
-// open hidden layer
-function mopen(id)
-{ 
- // cancel close timer
- mcancelclosetime();
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
 
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
 
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
 
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
 
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
 
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
-  window.clearTimeout(closetimer);
-  closetimer = null;
- }
-}
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
 
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
-</script>
+  </script>
+
 </head>
 
 
 <body>
 
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
 
+  
+  <div id ="nav">
+    <div id="navInner">
 
-<div id ="nav">
-<div id="navInner">
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
 
+<div id="sideNav">
+  <ul>
+      <li class="jvlite-nav-small"><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
 </div>
 
+<div id="content" class="content">
 
- <div id="pageWrap">
 
-  <div id="sideNav">
-   <ul>
-    <li class="jvlite-nav-title"><a href="applets.html">JalviewLite
-      Examples</a></li>
-    <li><a href="appletParameters.html">Applet Parameters</a></li>
-    <li><a href="jalviewLiteJs.html">Javascript API</a></li>
-    <li><a href="formComplete.html">in-page API demo</a></li>
-    <li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-    <li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-   </ul>
-  </div>
+<!-- boiler plate link to alternate demopage -->
 
-  <div id="content" class="content">
-   <p>JalviewLite is a web based version of Jalview, which runs as a
-    Java applet in or on a web page. It's one of the easiest ways of
-    providing an interactive display for precalculated alignments,
-    features and annotations files. It lacks some functionality
-    available in the Jalview Desktop, however, such as making images,
-    saving files, and running web service jobs. This is mostly due to
-    security restrictions imposed on applets.</p>
-   <p align="left">
-    Try out JalviewLite by pressing one of the buttons below. For more information on how to use the applet in your website, see the <a
-     href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
-   <div align="center">
-    <p>
-     <h2>Ferredoxins, chloroplast precursor related UniRef50
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_applets.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+
+<p align="left">
+<h2>JalviewLite Button Examples</h2>
+Try out JalviewLite by pressing one of the buttons below.<br/>
+ For more information on how to use the applet in your website, see the <a href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
+<p>&nbsp;</p><div align="center">
+  <p align="center">
+    <h2>Ferredoxins, chloroplast precursor related UniRef50
       cluster</h2>
-     <br /> (15 sequences x 150 residues)
-    </p>
-    <table width="90%">
-     <tr>
-      <td width="10%" valign="center"><applet
-        code="jalview.bin.JalviewLite" width="140" height="35"
-        archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
-       <param name="file" value="uniref50.fa">
-        <param name="treeFile" value="ferredoxin.nw">
-         <param name="userDefinedColour"
-          value="C=yellow; R,K,H=FF5555; D,E=5555FF">
-          <param name="showFullId" value="false">
-       <param name="sortByTree" value="True">
-        <param name="showSequenceLogo" value="true">
-         <param name="showGroupConsensus" value="true">
-          <param name="linkLabel_1" value="Uniprot">
-           <param name="linkUrl_1"
-            value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
-            <param name="linkLabel_2" value="Expasy">
-             <param name="linkUrl_2"
-              value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-       <param name="APPLICATION_URL"
-        value="http://www.jalview.org/services/launchApp">
-       </applet></td>
+    <br /> (15 sequences x 150 residues)
+  </p>
+  <table width="90%">
+    <tr>
+      <td width="10%" valign="center">
+       <applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="uniref50.fa"/>
+<param name="treeFile" value="ferredoxin.nw"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="sortByTree" value="True"/>
+<param name="showSequenceLogo" value="true"/>
+<param name="showGroupConsensus" value="true"/>
+<param name="showFullId" value="false"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
       <td valign="center">User Defined Colours, loads an associated
-       Newick format tree file which is used to sort the alignment, and
-       group consensus and sequence logos are shown below the alignment.</td>
-     </tr>
-     <tr>
+       Newick format tree file which is used to sort the alignment, and
+       group consensus and sequence logos are shown below the alignment.</td>
+    </tr>
+    <tr>
       <td width="10%" valign="center"><applet
-        code="jalview.bin.JalviewLite" width="140" height="35"
-        archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
-       <param name="file" value="uniref50.fa">
-        <param name="features" value="exampleFeatures.txt">
-         <param name="showFeatureSettings" value="true">
-          <param name="wrap" value="true">
-           <param name="showAnnotation" value="false">
-            <param name="windowHeight" value="500">
-             <param name="windowWidth" value="650">
-              <param name="showFullId" value="false">
-       <param name="linkLabel_1" value="Uniprot">
-        <param name="linkUrl_1"
-         value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
-         <param name="linkLabel_2" value="Expasy">
-          <param name="linkUrl_2"
-           value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-           <param name="APPLICATION_URL"
-            value="http://www.jalview.org/services/launchApp">
-       </applet></td>
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="uniref50.fa"/>
+<param name="features" value="exampleFeatures.txt"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="showFeatureSettings" value="true"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
       <td valign="center">Displays a features file on the alignment</td>
-     </tr>
-     <tr>
+    </tr>
+    <tr>
       <td width="10%" valign="center"><applet
-        code="jalview.bin.JalviewLite" width="140" height="35"
-        archive="jalviewApplet.jar,JmolApplet-12.2.4.jar">
-<param name="permissions" value="sandbox">
-       <param name="file" value="uniref50.fa">
-        <!-- <param name="debug" value="true">
-                        -->
-        <param name="defaultColour" value="Strand Propensity">
-         <param name="wrap" value="true">
-          <param name="showAnnotation" value="false">
-           <param name="windowHeight" value="500">
-            <param name="windowWidth" value="650">
-             <param name="showFullId" value="false">
-       <param name="linkLabel_1" value="Uniprot">
-        <param name="linkUrl_1"
-         value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
-         <param name="linkLabel_2" value="Expasy">
-          <param name="linkUrl_2"
-           value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-       <param name="APPLICATION_URL"
-        value="http://www.jalview.org/services/launchApp">
-        <param name="PDBfile" value="1gaq.txt FER1_MAIZE">
-       </applet></td>
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="jalviewApplet.jar,JmolApplet-12.2.4.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="uniref50.fa"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+<param name="defaultColour" value="Strand Propensity"/>
+<param name="PDBfile" value="1gaq.txt FER1_MAIZE"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
       <td valign="center">Associates PDB file 1GAQ with sequence
-       FER1_MAIZE</td>
-     </tr>
-     <tr>
-      <td width="10%" valign="middle"><applet
-        code="jalview.bin.JalviewLite" width="140" height="35"
-        archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
-       <param name="file" value="jpred_msa.fasta">
-        <param name="jnetfile" value="jpred_msa.seq.concise">
-         <param name="defaultColour" value="Clustal">
-          <param name="showAnnotation" value="true">
-           <param name="windowHeight" value="515">
-            <param name="windowWidth" value="650">
-             <param name="showConservation" value="false">
-              <param name="showQuality" value="false">
-               <param name="showConsensus" value="false">
-                <param name="showFullId" value="false">
-       <param name="linkLabel_1" value="Uniprot">
-        <param name="linkUrl_1"
-         value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
-         <param name="linkLabel_2" value="Expasy">
-          <param name="linkUrl_2"
-           value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-       <param name="APPLICATION_URL"
-        value="http://www.jalview.org/services/launchApp">
-       </applet></td>
-      <td valign="center">Displays a Multiple Sequence Alignment
-       Based JNet Prediction for a Sequence</td>
-     </tr>
-    </table>
-    <p>
+       FER1_MAIZE</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="jpred_msa.fasta"/>
+<param name="jnetfile" value="jpred_msa.seq.concise"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Clustal"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+                                                      </td>
+      <td valign="middle">Displays a Multiple Sequence Alignment
+       Based JNet Prediction for a Sequence</td>
+    </tr>
+  </table>
+  <p>
     <h2>RF00031 RFAM Alignment with per sequence secondary
-     structure</h2>
-    </p>
-    <table width="90%">
-     <tr>
+      structure</h2>
+  </p>
+  <table width="90%">
+    <tr>
       <td width="10%" valign="center"><applet
-        code="jalview.bin.JalviewLite" width="140" height="35"
-        archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
-       <param name="file" value="RF00031_folded.stk">
-        <param name="defaultColour" value="Purine/Pyrimidine">
-         <param name="showAnnotation" value="true">
-          <param name="windowHeight" value="515">
-           <param name="windowWidth" value="650">
-            <param name="showConservation" value="false">
-             <param name="showQuality" value="false">
-              <param name="showConsensus" value="true">
-               <param name="showFullId" value="false">
-       <param name="APPLICATION_URL"
-        value="http://www.jalview.org/services/launchApp">
-       </applet></td>
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="RF00031_folded.stk"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Purine/Pyrimidine"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
       <td valign="center">Displays an RFAM RNA fold family with
-       secondary structure annotation</td>
-     </tr>
-    </table>
-   </div>
-  </div>
- </div>
+       secondary structure annotation</td>
+    </tr>
+  </table>
+</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
 
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
@@ -327,4 +340,3 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </body>
 </html>
-          
index 3640d98..d89b6c3 100644 (file)
@@ -1,3 +1,21 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
 #nav #navInner
 {
 margin-top:0x;
index 251303c..17c20e2 100644 (file)
@@ -1,67 +1,85 @@
-#sddm\r
-{\r
-       position:relative;\r
-       top:0;\r
-}\r
-\r
-\r
-#sddm li a.download-right\r
-{\r
-position:relative;\r
-left:0;\r
-}\r
-\r
-#sddm li\r
-{\r
-padding-top:30px;\r
-padding-bottom:30px;\r
-}\r
-\r
-#sddm div\r
-{      position: absolute;\r
-       visibility: hidden;\r
-       margin: 0;\r
-       padding: 0;\r
-       background: #555;\r
-       border: 1px solid #000000;\r
-       top:80px;\r
-       z-index:9999;\r
-       width:120px;\r
-}\r
-\r
-\r
-       #sddm div a\r
-       {       position: relative;\r
-               display: block;\r
-               margin: 0;\r
-               padding:8px;\r
-               width: 200px;\r
-               white-space: nowrap;\r
-               text-align: left;\r
-               text-decoration: none;\r
-               background: #555;\r
-               color: #fff;\r
-               border: 1px solid #000000;\r
-               background: #555;\r
-               z-index:100;\r
-               left:-80px;\r
-       }\r
-       \r
-       \r
-#nav\r
-{\r
-position:relative;\r
-z-index:2;\r
-   clear:both;\r
-    float:left;\r
-    width:100%;                /* width of whole page */\r
-}\r
-\r
-#content \r
-{\r
-position:relative;\r
-z-index:2;\r
-   clear:both;\r
-    float:left;\r
-    width:100%;                /* width of whole page */\r
-}\r
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+#sddm
+{
+       position:relative;
+       top:0;
+}
+
+
+#sddm li a.download-right
+{
+position:relative;
+left:0;
+}
+
+#sddm li
+{
+padding-top:30px;
+padding-bottom:30px;
+}
+
+#sddm div
+{      position: absolute;
+       visibility: hidden;
+       margin: 0;
+       padding: 0;
+       background: #555;
+       border: 1px solid #000000;
+       top:80px;
+       z-index:9999;
+       width:120px;
+}
+
+
+       #sddm div a
+       {       position: relative;
+               display: block;
+               margin: 0;
+               padding:8px;
+               width: 200px;
+               white-space: nowrap;
+               text-align: left;
+               text-decoration: none;
+               background: #555;
+               color: #fff;
+               border: 1px solid #000000;
+               background: #555;
+               z-index:100;
+               left:-80px;
+       }
+       
+       
+#nav
+{
+position:relative;
+z-index:2;
+   clear:both;
+    float:left;
+    width:100%;                /* width of whole page */
+}
+
+#content 
+{
+position:relative;
+z-index:2;
+   clear:both;
+    float:left;
+    width:100%;                /* width of whole page */
+}
index c9cdbf1..ef8e5bc 100644 (file)
@@ -1,3 +1,21 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
 /* http://meyerweb.com/eric/tools/css/reset/ 
 
    v2.0 | 20110126
@@ -92,4 +110,4 @@ table {
 
        border-spacing: 0;
 
-}
\ No newline at end of file
+}
index c9634cd..466d507 100644 (file)
@@ -1,3 +1,21 @@
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
 @import url(http://fonts.googleapis.com/css?family=Lato);
 @import url(http://fonts.googleapis.com/css?family=Oswald);
 
@@ -436,4 +454,4 @@ float:left;
 {
 float:right;
 width:555px;
-}
\ No newline at end of file
+}
index eda8a27..7bae979 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>Embedded viewing of Alignments
-</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-  <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+<head>
+  <TITLE>Embedded Alignment</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer  = 0;
-var ddmenuitem      = 0;
-
-// open hidden layer
-function mopen(id)
-{ 
- // cancel close timer
- mcancelclosetime();
-
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
-
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
-
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
-
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
-  window.clearTimeout(closetimer);
-  closetimer = null;
- }
-}
-
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
-</script>
+  </script>
+
 </head>
 
 
 <body>
 
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
 
-<div id ="nav">
-<div id="navInner">
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
 
+<div id="sideNav">
+  <ul>
+      <li ><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li class="jvlite-nav-small"><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
 </div>
 
+<div id="content" class="content">
 
-<div id="pageWrap">
 
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li class="jvlite-nav-small"><a href="embedded.html">Embedded applet demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_embedded.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
 </div>
 
-<div id="content" class="content">
-<h1>Embedded viewing of Alignments</h1>
+<!-- content template start -->
+<h2>Embedded viewing of Alignments</h2>
 <p>The alignment below was generated from the following files:
-<ul>
-       <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
-       FASTA format</li>
-       <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
-       Format Sequence Features file</li>
-       <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
-       Jalview Alignment Annotations File</li>
-</ul>
-<applet code="jalview.bin.JalviewLite"
-                       width="756" height="560" archive="jalviewApplet.jar">
-                       <param name="permissions" value="sandbox">
-      <param name="file" value="plantfdx.fa">
-                       <param name="annotations" value="plantfdx.annotations">
-                       <param name="features" value="plantfdx.features">
-                       <param name="embedded" value="true">
-                       <param name="userDefinedColour"
-                               value="C=yellow; R,K,H=FF5555; D,E=5555FF">
-                       <param name="showFullId" value="false">
-       <param name="linkLabel_1" value="Uniprot">
-        <param name="linkUrl_1"
-         value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
-         <param name="linkLabel_2" value="Expasy">
-          <param name="linkUrl_2"
-           value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-                       <param name="APPLICATION_URL"
-                               value="http://www.jalview.org/services/launchApp">
-               </applet>
+  <ul>
+    <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
+      FASTA format</li>
+    <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
+      Format Sequence Features file</li>
+    <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
+      Jalview Alignment Annotations File</li>
+  </ul>
+  <applet
+   code="jalview.bin.JalviewLite" width="756" height="560"
+   archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="plantfdx.fa"/>
+<param name="features" value="plantfdx.features"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="showFullId" value="false"/>
+<param name="embedded" value="true"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
 </p>
-</div>
-</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
index 24f7406..af4df17 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<TITLE>Embedded JalviewLite talking to externally managed Jmol</TITLE>
-<script>
-<!--//--><![CDATA[//><!--
+  <TITLE>Jalview and Jmol</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
-</script>
+  </script>
 <script src="javascript/deployJava.js"></script>
 <script src="jmol/Jmol.js"></script>
 <script src="javascript/jquery-1.4.4.min.js"></script>
@@ -101,12 +161,12 @@ function genHref()
   embedded : "true",
   showFullId : "false",
   RGB : "F2F2FF",
-  linkLabel_1 : "SRS",
-  linkUrl_1 : "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2"
+  linkLabel_1 : "EMBL-EBI Search",
+  linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
   ,
   linkLabel_2 : "Uniprot"
   ,
-  linkUrl_2 : "http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$",
+  linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
   APPLICATION_URL : "http://www.jalview.org/services/launchApp",
   PDBfile : "1gaq.txt FER1_MAIZE",
   permissions : "sandbox"
@@ -115,149 +175,113 @@ function genHref()
   jmolSetCallback("pickCallback","_jmolpick");
   modeltofiles+="1gaq.txt";
 </script>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-  <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
 
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer  = 0;
-var ddmenuitem      = 0;
+</head>
 
-// open hidden layer
-function mopen(id)
-{ 
- // cancel close timer
- mcancelclosetime();
 
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+<body>
 
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
 
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
 
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+  
+  <div id ="nav">
+    <div id="navInner">
 
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
-  window.clearTimeout(closetimer);
-  closetimer = null;
- }
-}
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
+  </div>
+<div id="pageWrap">
 
-</head>
+<div id="sideNav">
+  <ul>
+      <li ><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li class="jvlite-nav-small"><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
 
+<div id="content" class="content">
 
-<body>
 
+<!-- boiler plate link to alternate demopage -->
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_embeddedWJmol.html">the unsigned applet demos</a>
 </div>
-
-
-<div id ="nav">
-<div id="navInner">
-
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
 </div>
-
 </div>
 
+<!-- content template start -->
+<h2>Structure and Alignment</h2>
+<p>This demo shows how JalviewLite and Jmol can be integrated with the JalviewLite javascript library.</p>
+<center>
+ <script>
+  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+ </script>
+ <script>
+  deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
+ </script>
+</center>
+<!-- content template end -->
 
-<div id="pageWrap">
 
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li class="jvlite-nav-small"><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
-</div>
 
-<div id="content" class="content">
- <center>
-    <script>
-       jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
-</script>
-  <script>
-    deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
-    </script>
-       </center>
-</div>
-</div>
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
index ed69412..210aab2 100755 (executable)
@@ -1,6 +1,6 @@
 #-------------------------------------------------------------------------------
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 The Jalview Authors
 # 
 # This file is part of Jalview.
 # 
@@ -14,6 +14,7 @@
 # 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.
 #-------------------------------------------------------------------------------
 ST-TURN-IIL    705b23
 GAMMA-TURN-CLASSIC     788763
index 2f3f2f0..f4e96ce 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<TITLE>JalviewLite Applet API and Form Complete Example</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+  <TITLE>Access from Javascript</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
   <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
-
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer  = 0;
-var ddmenuitem      = 0;
-
-// open hidden layer
-function mopen(id)
-{ 
- // cancel close timer
- mcancelclosetime();
-
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
-
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
-
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
-
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
-  window.clearTimeout(closetimer);
-  closetimer = null;
- }
-}
-
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
-</script>
+  </script>
+
 </head>
 
 
 <body>
 
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
 
-<div id ="nav">
-<div id="navInner">
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
 
+<div id="sideNav">
+  <ul>
+      <li ><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li class="jvlite-nav-small"><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
 </div>
 
+<div id="content" class="content">
 
-<div id="pageWrap">
 
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li  class="jvlite-nav-small"><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_formComplete.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
 </div>
 
-<div id="content" class="content">
-               <strong>Using the <a href="jalviewLiteJs.html">JalviewLite API</a> to fill out forms using data from JalviewLite<br></strong>
-               Click the Javascript buttons below to interact with the Applet
-               instance on the page.<br>
-               View the source in your browser to see how it has been done. <br>
-               <a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
-               <applet code="jalview.bin.JalviewLite" width="0" height="0"
-                       archive="jalviewApplet.jar" name="Jalview">
-                       <param name="permissions" value="sandbox">
-                       <param name="file" value="plantfdx.fa">
-                       <param name="features" value="plantfdx.features">
-                       <param name="wrap" value="true">
-                       <param name="showAnnotation" value="false">
-                       <param name="windowHeight" value="500">
-                       <param name="windowWidth" value="650">
-                       <param name="showFullId" value="false">
-                              <param name="linkLabel_1" value="Uniprot">
-        <param name="linkUrl_1"
-         value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
-         <param name="linkLabel_2" value="Expasy">
-          <param name="linkUrl_2"
-           value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-<param name="hidefeaturegroups" value="uniprot" />
-                       <param name="showbutton" value="false" />
-               </applet>
-               <form name="exampleForm"><br>
-               <br>
-               <center><strong>Using the Jalview Applet for Input
-               to an HTML Form</strong></center>
-               <div align="center"><input type="button"
-                       onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
-                       value="Fill Form from Jalview" /> <br>
-               <br>
-               <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
-               </form>
-               <center><strong>Make a new View and Get and Set
-               Group Display List</strong></center>
-               <form name="groupForm">
-               <div align="center"><input type="button"
-                       onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
-                       value="Get groups" /> <input type="button"
-                       onClick="document.applets.Jalview.newView()" value="new View" /> <br>
-               <textarea name="groups" cols="55" rows="9"></textarea> <br>
-               <input type="button"
-                       onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
-                       value="Display groups" /> <input type="button"
-                       onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
-                       value="Hide groups" /></div>
-               </form>
-               </div>
+<!-- content template start -->
+<h2><a href="jalviewLiteJs.html">JalviewLite API</a> Demo</h2>
+<p>Using the Javascript API to fill out forms using data from JalviewLite
+<br/>Click the Javascript buttons below to interact with the Applet
+instance on the page.</p>
+View the source in your browser to see how it has been done. <br/>
+<a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
+<applet code="jalview.bin.JalviewLite" width="0" height="0"
+       archive="jalviewApplet.jar" name="Jalview">
+  
+  <param name="file" value="plantfdx.fa"/>
+  <param name="features" value="plantfdx.features"/>
+  <param name="wrap" value="true"/>
+  <param name="showAnnotation" value="false"/>
+  <param name="windowHeight" value="500"/>
+  <param name="windowWidth" value="650"/>
+  <param name="showFullId" value="false"/>
+  <param name="linkLabel_1" value="Uniprot"/>
+  <param name="linkUrl_1"
+        value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+  <param name="linkLabel_2" value="Expasy">
+  <param name="linkUrl_2"
+        value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$"/>
+  <param name="hidefeaturegroups" value="uniprot" />
+  <param name="showbutton" value="false" />
+</applet>
+<form name="exampleForm"><br/>
+  <br/>
+  <center><strong>Using the Jalview Applet for Input
+      to an HTML Form</strong></center>
+  <div align="center"><input type="button"
+                            onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
+                            value="Fill Form from Jalview" /> <br/>
+    <br/>
+    <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
+</form>
+<center><strong>Make a new View and Get and Set
+    Group Display List</strong></center>
+<form name="groupForm">
+  <div align="center"><input type="button"
+                            onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
+                            value="Get groups" /> <input type="button"
+                                                         onClick="document.applets.Jalview.newView()" value="new View" /> <br/>
+    <textarea name="groups" cols="55" rows="9"></textarea> <br/>
+    <input type="button"
+          onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
+          value="Display groups" /> <input type="button"
+                                           onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
+                                           value="Hide groups" /></div>
+</form>
 </div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
@@ -224,4 +249,3 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </body>
 </html>
-  
index 0e8b78a..3f1c752 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
+  <TITLE>Javascript API</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
- <title>JalviewLite API documentation</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
   <!--[if IE 6]>
-       <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
-       <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
-
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer         = 0;
-var ddmenuitem      = 0;
-
-// open hidden layer
-function mopen(id)
-{      
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
        // cancel close timer
        mcancelclosetime();
 
@@ -53,108 +52,116 @@ function mopen(id)
        ddmenuitem = document.getElementById(id);
        ddmenuitem.style.visibility = 'visible';
 
-}
-// close showed layer
-function mclose()
-{
+       }
+       // close showed layer
+       function mclose()
+       {
        if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+       }
 
-// go close timer
-function mclosetime()
-{
+       // go close timer
+       function mclosetime()
+       {
        closetimer = window.setTimeout(mclose, timeout);
-}
+       }
 
-// cancel close timer
-function mcancelclosetime()
-{
+       // cancel close timer
+       function mcancelclosetime()
+       {
        if(closetimer)
        {
-               window.clearTimeout(closetimer);
-               closetimer = null;
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
        }
-}
 
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
-<!--//--><![CDATA[//><!--
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
+  </script>
+
 </head>
 
 
 <body>
 
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
 
-<div id ="nav">
-<div id="navInner">
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
 
+<div id="sideNav">
+  <ul>
+      <li ><a href="applets.html">JalviewLite Examples</a></li>
+      <li class="jvlite-nav-small"><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
 </div>
 
+<div id="content" class="content">
 
-<div id="pageWrap">
 
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li class="jvlite-nav-small"><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
-</div>
+<!-- content start -->
+
 
-<div id="content" class="content"> 
                <p>The jalviewLite applet's application programming interface (API) includes two components. A <a href="javascript/jalview.js">JalviewLite Javascript Library</a> and the <a href="#api">public methods on the JalviewLite applet</a>.
 </p>
                <h3>Notes</h3>
@@ -405,8 +412,14 @@ public static boolean debug
 
 </pre>
 
-</div>
 
+<!-- content end -->
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
index 34f72eb..f827db5 100644 (file)
@@ -1,6 +1,6 @@
 /**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,7 +14,9 @@
  * 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.
  */
+
 // default console to report messages
 var _console = document.getElementById("stdout");
 var _jvapps = new Array();
index d565ed2..ea8619f 100644 (file)
@@ -1,7 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-  <head><title>Opening JalviewLite from Javascript</title>
+  <TITLE>Javascript Launch</TITLE>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
   
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
   <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
 
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
 
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout         = 500;
-var closetimer  = 0;
-var ddmenuitem      = 0;
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
 
-// open hidden layer
-function mopen(id)
-{ 
- // cancel close timer
- mcancelclosetime();
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
 
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
 
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
 
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
 
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
 
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
-  window.clearTimeout(closetimer);
-  closetimer = null;
- }
-}
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
 
-// close layer when click-out
-document.onclick = mclose; 
-// -->
-</script>
-<!--//--><![CDATA[//><!--
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
 var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
 //--><!]]>
+  </script>
+
 </head>
 
 
 <body>
 
 
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
 
-<div id ="nav">
-<div id="navInner">
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
 
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/about/documentation">Documentation</a>
-  <a href="http://www.jalview.org/about/citation">Publications</a>
-  <a href="http://www.jalview.org/about/credits">Credits</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
-  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
-  <a href="http://www.jalview.org/community/links">Links</a>
-  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/development/release-history">Release History</a>
-  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
-  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
-  <a href="http://www.jalview.org/development/development-news">Development News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
-  <a href="http://www.jalview.org/training/training-news">Training News</a>
-  </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
 
+<div id="sideNav">
+  <ul>
+      <li ><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li class="jvlite-nav-small"><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
 </div>
 
+<div id="content" class="content">
 
-<div id="pageWrap">
 
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a><ul><li class="jvlite-nav-small"><a href="javascriptLaunch.html">JalviewLite Button</a></li></ul></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedApplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_javascriptLaunch.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
 </div>
 
-<div id="content" class="content"> 
+<!-- content template start -->
   <SCRIPT type="text/javascript">
   /* <![CDATA[ // */
 // From http://snipplr.com/view.php?codeview&id=1272
@@ -242,17 +261,21 @@ function startJalview(aligURL,title,alwvar) {
 archive="jalviewApplet.jar" width="0" height="0">
 <param name="debug" value="true"/>
 <param name="showbutton" value="false"/>
-<param name="permissions" value="sandbox"/>
 </applet>
 
+<h2>Javascript Launch Button</h2><p>The button below demonstrates how JalviewLite can be launched via a javascript action.</p>
 
   <input type="button" name="Button1" value="Start"
 onClick="startJalview('plantfdx.fa','Button1.alignment','alwvar')"/>
   </form>
-  
+<!-- content template end -->
 
-</div>
-</div>
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
@@ -270,5 +293,4 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </body>
-</head>
 </html>
index ef43184..1ad5423 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
-<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>Linked Jalview Applets Demo</title>
+  <TITLE>Linked JalviewLites</TITLE>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
   
  <link href="css/reset.css" rel="stylesheet" type="text/css" />
  <link href="css/style.css" rel="stylesheet" type="text/css" />
-<script>
-<!--//--><![CDATA[//><!--
-var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
-//--><!]]>
-</script>
-<script src="http://www.java.com/js/deployJava.js"></script>
-<script src="javascript/jalview.js" language="javascript"></script>
-<script>  //deployJava.debug="true";
-  
-  function lJvApp() {
-    var jvapp = document.getElementById("jvapp");
-    var jvfollower = document.getElementById("jvfollower");
-    setConsole(document.getElementById("stdout"));
-    //jvapp.setSeparator(""+jvapp.getSeparator());
-    linkJvJmol(jvapp);
-  };
-
-  function lJvFollow() {
-    var jvapp = document.getElementById("jvapp");
-    var jvfollower = document.getElementById("jvfollower");
-    //jvfollower.setSeparator(""+jvfollower.getSeparator());
-    linkJvJmol(jvfollower);
-  };
-</script>
  
   <!--[if IE 6]>
  <link rel="stylesheet" type="text/css" href="css/ie6.css" />
@@ -103,6 +79,11 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
 
 </head>
 
@@ -167,17 +148,54 @@ document.onclick = mclose;
 <div id="sideNav">
 <ul>
 <li><a href="applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
 <li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li class="jvlite-nav-small"><a href="linkedApplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
+      <li ><a href="embedded.html">Embedded Alignment</a></li>
+      <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="formComplete.html">Access from Javascript</a></li>
+      <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+      <li class="jvlite-nav-small"><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
 </ul>
 </div>
 
 <div id="content" class="content"> 
-    <strong>JalviewLite Linked Applets Demo<br></strong>
-    <p>The two applets below use <a href="JalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_linkedapplets_ng.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/jalview.js" language="javascript"></script>
+<script>  //deployJava.debug="true";
+  
+  function lJvApp() {
+    var jvapp = document.getElementById("jvapp");
+    var jvfollower = document.getElementById("jvfollower");
+    setConsole(document.getElementById("stdout"));
+    //jvapp.setSeparator(""+jvapp.getSeparator());
+    linkJvJmol(jvapp);
+  };
+
+  function lJvFollow() {
+    var jvapp = document.getElementById("jvapp");
+    var jvfollower = document.getElementById("jvfollower");
+    //jvfollower.setSeparator(""+jvfollower.getSeparator());
+    linkJvJmol(jvfollower);
+  };
+</script>
+    <h2>JalviewLite Linked Applets Demo</h2>
+    <p>The two applets below use <a href="jalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
     </p>
        <script> 
   var attributes = {
@@ -200,14 +218,12 @@ document.onclick = mclose;
     embedded : "true",
     showFullId : "false",
     RGB : "F2F2FF",
-    linkLabel_1 : "SRS",
-    linkUrl_1 : "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2"
+    linkLabel_1 : "EMBL-EBI Search",
+    linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
     ,
     linkLabel_2 : "Uniprot"
     ,
-    linkUrl_2 : "http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$",
+    linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
     permissions : 'sandbox',
     APPLICATION_URL : "http://www.jalview.org/services/launchApp"
   };
@@ -235,28 +251,33 @@ document.onclick = mclose;
     embedded : "true",
     showFullId : "false",
     RGB : "F2F2FF",
-    linkLabel_1 : "SRS",
-    linkUrl_1 : "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2"
-    ,
-    linkLabel_2 : "Uniprot"
+    linkLabel_1 : "EMBL-EBI Search",
+    linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
     ,
-    linkUrl_2 : "http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$",
+    linkLabel_2 : "Uniprot",
+    linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
     permissions : 'sandbox',
-    APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+   APPLICATION_URL : "http://www.jalview.org/services/launchApp"
   };
   deployJava.runApplet(attributes, parameters, '1.6');
 </script>
     <p>
 <!--      <a href="javascript:linkJvJmol()">Click Me If you don't see any messages below</a>
       <br>
-       --><form name="console" id="console"><textarea name="output"
+       -->
+<form name="console" id="console">
+<textarea name="output"
         id="stdout" rows="20" cols="80">Messages  will appear here.</textarea></form>
       <br>
 </p>
-</div>
-</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
 <div id ="footer">
 <div id="innerFooter">
 <div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
diff --git a/examples/u_applets.html b/examples/u_applets.html
new file mode 100644 (file)
index 0000000..f34a702
--- /dev/null
@@ -0,0 +1,337 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>JalviewLite Examples</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+  <ul>
+      <li class="jvlite-nav-small"><a href="u_applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+      <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+      <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="applets.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+
+<p align="left">
+<h2>JalviewLite Button Examples</h2>
+Try out JalviewLite by pressing one of the buttons below.<br/>
+ For more information on how to use the applet in your website, see the <a href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
+<p>&nbsp;</p><div align="center">
+  <p align="center">
+    <h2>Ferredoxins, chloroplast precursor related UniRef50
+      cluster</h2>
+    <br /> (15 sequences x 150 residues)
+  </p>
+  <table width="90%">
+    <tr>
+      <td width="10%" valign="center">
+       <applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="u_jalviewApplet.jar">
+<param name="file" value="uniref50.fa"/>
+<param name="treeFile" value="ferredoxin.nw"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="sortByTree" value="True"/>
+<param name="showSequenceLogo" value="true"/>
+<param name="showGroupConsensus" value="true"/>
+<param name="showFullId" value="false"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+      <td valign="center">User Defined Colours, loads an associated
+       Newick format tree file which is used to sort the alignment, and
+       group consensus and sequence logos are shown below the alignment.</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="u_jalviewApplet.jar">
+<param name="file" value="uniref50.fa"/>
+<param name="features" value="exampleFeatures.txt"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="showFeatureSettings" value="true"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+      <td valign="center">Displays a features file on the alignment</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="u_jalviewApplet.jar,u_JmolApplet-12.2.4.jar">
+<param name="file" value="uniref50.fa"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+<param name="defaultColour" value="Strand Propensity"/>
+<param name="PDBfile" value="1gaq.txt FER1_MAIZE"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+      <td valign="center">Associates PDB file 1GAQ with sequence
+       FER1_MAIZE</td>
+    </tr>
+    <tr>
+      <td width="10%" valign="center"><applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="u_jalviewApplet.jar">
+<param name="file" value="jpred_msa.fasta"/>
+<param name="jnetfile" value="jpred_msa.seq.concise"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Clustal"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+                                                      </td>
+      <td valign="middle">Displays a Multiple Sequence Alignment
+       Based JNet Prediction for a Sequence</td>
+    </tr>
+  </table>
+  <p>
+    <h2>RF00031 RFAM Alignment with per sequence secondary
+      structure</h2>
+  </p>
+  <table width="90%">
+    <tr>
+      <td width="10%" valign="center"><applet
+   code="jalview.bin.JalviewLite" width="140" height="35"
+   archive="u_jalviewApplet.jar">
+<param name="file" value="RF00031_folded.stk"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Purine/Pyrimidine"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+      <td valign="center">Displays an RFAM RNA fold family with
+       secondary structure annotation</td>
+    </tr>
+  </table>
+</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/examples/u_embedded.html b/examples/u_embedded.html
new file mode 100644 (file)
index 0000000..39d9e58
--- /dev/null
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>Embedded Alignment</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+  <ul>
+      <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li class="jvlite-nav-small"><a href="u_embedded.html">Embedded Alignment</a></li>
+      <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+      <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="embedded.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<h2>Embedded viewing of Alignments</h2>
+<p>The alignment below was generated from the following files:
+  <ul>
+    <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
+      FASTA format</li>
+    <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
+      Format Sequence Features file</li>
+    <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
+      Jalview Alignment Annotations File</li>
+  </ul>
+  <applet
+   code="jalview.bin.JalviewLite" width="756" height="560"
+   archive="u_jalviewApplet.jar">
+<param name="file" value="plantfdx.fa"/>
+<param name="features" value="plantfdx.features"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="showFullId" value="false"/>
+<param name="embedded" value="true"/>
+   <param name="linkLabel_1" value="Uniprot"/>
+   <param name="linkUrl_1"
+     value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+   <param name="linkLabel_2" value="EMBL-EBI Search"/>
+   <param name="linkUrl_2"
+     value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+   <param name="APPLICATION_URL"
+     value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</p>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/examples/u_embeddedWJmol.html b/examples/u_embeddedWJmol.html
new file mode 100644 (file)
index 0000000..4aa7035
--- /dev/null
@@ -0,0 +1,302 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>Jalview and Jmol</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+<script src="javascript/deployJava.js"></script>
+<script src="jmol/Jmol.js"></script>
+<script src="javascript/jquery-1.4.4.min.js"></script>
+<script src="javascript/jquery.timer.js"></script>
+<script src="javascript/jquery.blockUI.js"></script>
+<script src="javascript/jshashtable-2.1.js" language="javascript"></script>
+<!-- <script src="archive-min.js" language="javascript"></script>
+-->
+<script src="javascript/jalview.js" language="javascript"></script>
+<script language="JavaScript">
+// instead of this, we use a custom JmolApplet spec
+// jmolInitialize('jmol');
+jmolInitialize("","u_JmolApplet-12.2.4.jar");
+function genHref()
+{
+ var s1 = "ml:i@midd..", s2 = "atelcpoueau", s3 = "iomyob.neck", href="";
+ for(i=0; i<11; i++)
+ { href = href + s1.charAt(i) + s2.charAt(i) + s3.charAt(i); 
+ }
+ window.location=href;
+}
+</script>
+<script>
+ var loglevel=1;
+ function dbg(lvl,string) {
+  if (_console && lvl<=loglevel) {_console.value += string + "\n";}
+ }
+ var _lastTime=new Date();
+ var _path;
+ var _datazip;
+ var _zip;
+ var alignA;
+ var alignB;
+ var featuresA;
+ var featuresB;
+ var pairs;
+ var atompairs;
+ var structdata;
+ var jmolview;
+ var jvstructassoc;
+ var modeltofiles = new Array();
+
+ function lJvA() {
+  jvfollower = document.getElementById("jvA");
+  setConsole(document.getElementById("stdout"));
+  
+  sep = jvfollower.getSeparator();
+  //jvapp.setSeparator(""+jvapp.getSeparator());
+  linkJvJmol(jvfollower, "jmolView", modeltofiles);
+ };
+
+ var _jvA=new Object();
+ _jvA.attributes = {
+  code : 'jalview.bin.JalviewLite',
+  archive : 'u_jalviewApplet.jar',
+  width : '500',
+  height : '350',
+  mayscript : 'True',
+  scriptable: 'True',
+  id : 'jvA'
+ };
+ _jvA.parameters = {
+   java_arguments : "-Xmx256m",
+  externalstructureviewer : "true",
+   oninit : "lJvA",
+  automaticScrolling : "true",
+//  <!-- defaultColour : "Strand Propensity", -->
+  file : "uniref50_mz.fa",
+  
+  relaxedidmatch : "true",
+  debug : "true",
+  wrap : "false",
+  // separator : "^",
+  showAnnotation : "false",
+  embedded : "true",
+  showFullId : "false",
+  RGB : "F2F2FF",
+  linkLabel_1 : "EMBL-EBI Search",
+  linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+  ,
+  linkLabel_2 : "Uniprot"
+  ,
+  linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+  APPLICATION_URL : "http://www.jalview.org/services/launchApp",
+  PDBfile : "1gaq.txt FER1_MAIZE",
+  permissions : "sandbox"
+ };
+ jmolSetCallback("hoverCallback","_jmolhover");
+  jmolSetCallback("pickCallback","_jmolpick");
+  modeltofiles+="1gaq.txt";
+</script>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+  <ul>
+      <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+      <li class="jvlite-nav-small"><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+      <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="embeddedWJmol.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<h2>Structure and Alignment</h2>
+<p>This demo shows how JalviewLite and Jmol can be integrated with the JalviewLite javascript library.</p>
+<center>
+ <script>
+  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+ </script>
+ <script>
+  deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
+ </script>
+</center>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/examples/u_formComplete.html b/examples/u_formComplete.html
new file mode 100644 (file)
index 0000000..a8daafd
--- /dev/null
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>Access from Javascript</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+  <ul>
+      <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+      <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li class="jvlite-nav-small"><a href="u_formComplete.html">Access from Javascript</a></li>
+      <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="formComplete.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<h2><a href="jalviewLiteJs.html">JalviewLite API</a> Demo</h2>
+<p>Using the Javascript API to fill out forms using data from JalviewLite
+<br/>Click the Javascript buttons below to interact with the Applet
+instance on the page.</p>
+View the source in your browser to see how it has been done. <br/>
+<a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
+<applet code="jalview.bin.JalviewLite" width="0" height="0"
+       archive="u_jalviewApplet.jar" name="Jalview">
+  
+  <param name="file" value="plantfdx.fa"/>
+  <param name="features" value="plantfdx.features"/>
+  <param name="wrap" value="true"/>
+  <param name="showAnnotation" value="false"/>
+  <param name="windowHeight" value="500"/>
+  <param name="windowWidth" value="650"/>
+  <param name="showFullId" value="false"/>
+  <param name="linkLabel_1" value="Uniprot"/>
+  <param name="linkUrl_1"
+        value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+  <param name="linkLabel_2" value="Expasy">
+  <param name="linkUrl_2"
+        value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$"/>
+  <param name="hidefeaturegroups" value="uniprot" />
+  <param name="showbutton" value="false" />
+</applet>
+<form name="exampleForm"><br/>
+  <br/>
+  <center><strong>Using the Jalview Applet for Input
+      to an HTML Form</strong></center>
+  <div align="center"><input type="button"
+                            onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
+                            value="Fill Form from Jalview" /> <br/>
+    <br/>
+    <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
+</form>
+<center><strong>Make a new View and Get and Set
+    Group Display List</strong></center>
+<form name="groupForm">
+  <div align="center"><input type="button"
+                            onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
+                            value="Get groups" /> <input type="button"
+                                                         onClick="document.applets.Jalview.newView()" value="new View" /> <br/>
+    <textarea name="groups" cols="55" rows="9"></textarea> <br/>
+    <input type="button"
+          onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
+          value="Display groups" /> <input type="button"
+                                           onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
+                                           value="Hide groups" /></div>
+</form>
+</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/examples/u_javascriptLaunch.html b/examples/u_javascriptLaunch.html
new file mode 100644 (file)
index 0000000..0e786c5
--- /dev/null
@@ -0,0 +1,296 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>Javascript Launch</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+  <ul>
+      <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+      <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+      <li class="jvlite-nav-small"><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+      <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="javascriptLaunch.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+  <SCRIPT type="text/javascript">
+  /* <![CDATA[ // */
+// From http://snipplr.com/view.php?codeview&id=1272
+//----------------------------------------
+//Wrapper function for constructing a request object.
+//     Parameters:
+//             reqType: The HTTP request type, such as GET or POST.
+//             url: The URL of the server program.
+//             asynch: Whether to send the request asynchronously or not.
+//----------------------------------------
+
+function httpRequest(reqType,url,asynch,respHandle) {
+
+       // Mozilla-based browsers
+       if (window.XMLHttpRequest) {
+               request = new XMLHttpRequest();
+       } else if (window.ActiveXObject) {
+               request = new ActiveXObject("Msxml2.XMLHTTP");
+               if (!request) {
+                       request = new ActiveXObject("Microsoft.XMLHTTP");
+               }
+       }
+       
+       // Request could still be null if neither ActiveXObject
+       //   initialization succeeded
+       if (request) {
+               // If the reqType param is POST, then the fifth arg is the POSTed data
+               if (reqType.toLowerCase() != "post") {
+                       initReq(reqType, url, asynch, respHandle);
+               } else {
+                       // The POSTed data
+                       var args = arguments[5];
+                       if (args != null && args.length > 0) {
+                               initReq(reqType, url, asynch, respHandle, args);
+                       }
+               }
+       } else {
+               alert("Your browser does not permit the use of all " +
+                       "of this application's features!");
+       }
+
+}
+
+//----------------------------------------
+//Initialize a request object that is already constructed
+//----------------------------------------
+
+function initReq(reqType, url, bool, respHandle) {
+       try {
+               // Specify the function that will handle the HTTP response
+               request.onreadystatechange = respHandle;
+               request.open(reqType, url, bool);
+               // If the reqType param is POST, then the
+               //   fifth argument to the function is the POSTed data
+               if (reqType.toLowerCase() == "post") {
+                       // Set the Content-Type header for a POST request
+                       request.setRequestHeader("Content-Type", "application/x-ww-form-urlencoded; charset=UTF-8");
+                       request.send(arguments[4]);
+               } else {
+                       request.send(null);
+               }
+       } catch (errv) {
+               alert("The application cannot contact the server at the moment. " +
+                       "Please try again in a few seconds.\n" +
+                       "Error detail: " + errv.message);
+       }
+}
+
+// jalview launching with fetched data
+
+function startJalview(aligURL,title,alwvar) {
+               var aligment = "";
+               httpRequest("get",aligURL,true,function() {
+                               if (request.readyState == 4) { 
+                                       alignment = request.responseText; 
+                                       eval("var "+alwvar+" = document.JalviewLite.loadAlignment(alignment,title)");
+                               }
+               })
+               
+}
+
+/* ]]> */
+</SCRIPT>
+  <form name="Form1">
+<applet name="JalviewLite"  code="jalview.bin.JalviewLite"
+archive="u_jalviewApplet.jar" width="0" height="0">
+<param name="debug" value="true"/>
+<param name="showbutton" value="false"/>
+</applet>
+
+<h2>Javascript Launch Button</h2><p>The button below demonstrates how JalviewLite can be launched via a javascript action.</p>
+
+  <input type="button" name="Button1" value="Start"
+onClick="startJalview('plantfdx.fa','Button1.alignment','alwvar')"/>
+  </form>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/examples/u_linkedapplets_ng.html b/examples/u_linkedapplets_ng.html
new file mode 100644 (file)
index 0000000..4e4b447
--- /dev/null
@@ -0,0 +1,297 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+  <TITLE>Linked JalviewLites</TITLE>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
+
+  <link href="css/reset.css" rel="stylesheet" type="text/css" />
+  <link href="css/style.css" rel="stylesheet" type="text/css" />
+  
+  <!--[if IE 6]>
+      <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+      <![endif]-->
+
+  <!--[if IE 7]>
+      <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+      <![endif]-->
+
+  <!-- dd menu -->
+  <script type="text/javascript">
+    <!--
+       var timeout         = 500;
+       var closetimer  = 0;
+       var ddmenuitem      = 0;
+
+       // open hidden layer
+       function mopen(id)
+       { 
+       // cancel close timer
+       mcancelclosetime();
+
+       // close old layer
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+       // get new layer and show it
+       ddmenuitem = document.getElementById(id);
+       ddmenuitem.style.visibility = 'visible';
+
+       }
+       // close showed layer
+       function mclose()
+       {
+       if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+       }
+
+       // go close timer
+       function mclosetime()
+       {
+       closetimer = window.setTimeout(mclose, timeout);
+       }
+
+       // cancel close timer
+       function mcancelclosetime()
+       {
+       if(closetimer)
+       {
+       window.clearTimeout(closetimer);
+       closetimer = null;
+       }
+       }
+
+       // close layer when click-out
+       document.onclick = mclose; 
+       // -->
+  </script>
+  <script>
+    <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+  </script>
+
+</head>
+
+
+<body>
+
+
+  <div id="header">
+    <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+    <ul id="buttons">
+      <li id="applet"><a href="applets.html" title="applet"></a></li>
+      <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+    </ul>
+  </div>
+
+  
+  <div id ="nav">
+    <div id="navInner">
+
+      <ul id="sddm">
+       <li><a href="http://www.jalview.org">Home</a></li>
+       <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+         <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/about/documentation">Documentation</a>
+           <a href="http://www.jalview.org/about/citation">Publications</a>
+           <a href="http://www.jalview.org/about/credits">Credits</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+       <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+         <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+           <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+           <a href="http://www.jalview.org/community/links">Links</a>
+           <a href="http://www.jalview.org/community/community-news">Community News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+         <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/development/release-history">Release History</a>
+           <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+           <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+           <a href="http://www.jalview.org/development/development-news">Development News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+         <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+           <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+           <a href="http://www.jalview.org/training/training-news">Training News</a>
+         </div>
+       </li>
+       <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+      </ul>
+      <div style="clear:both"></div>
+    </div>
+
+  </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+  <ul>
+      <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+      <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+      <li ><a href="appletParameters.html">Applet Parameters</a></li>
+      <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+      <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+      <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+      <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+      <li class="jvlite-nav-small"><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+  </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="linkedapplets_ng.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/jalview.js" language="javascript"></script>
+<script>  //deployJava.debug="true";
+  
+  function lJvApp() {
+    var jvapp = document.getElementById("jvapp");
+    var jvfollower = document.getElementById("jvfollower");
+    setConsole(document.getElementById("stdout"));
+    //jvapp.setSeparator(""+jvapp.getSeparator());
+    linkJvJmol(jvapp);
+  };
+
+  function lJvFollow() {
+    var jvapp = document.getElementById("jvapp");
+    var jvfollower = document.getElementById("jvfollower");
+    //jvfollower.setSeparator(""+jvfollower.getSeparator());
+    linkJvJmol(jvfollower);
+  };
+</script>
+    <h2>JalviewLite Linked Applets Demo</h2>
+    <p>The two applets below use <a href="jalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
+    </p>
+       <script> 
+  var attributes = {
+    code : 'jalview.bin.JalviewLite',
+    archive : 'u_jalviewApplet.jar',
+    width : 800,
+    height : 300,
+    mayscript : 'True', scriptable: 'True',
+    id : 'jvapp'
+  };
+  var parameters = {
+    oninit : "lJvApp",
+    automaticScrolling : "true",
+    file : "plantfdx.fa",
+    annotations : "plantfdx.annotations",
+    debug : "true",
+    wrap : "false",
+    // separator : "^",
+    showAnnotation : "true",
+    embedded : "true",
+    showFullId : "false",
+    RGB : "F2F2FF",
+    linkLabel_1 : "EMBL-EBI Search",
+    linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+    ,
+    linkLabel_2 : "Uniprot"
+    ,
+    linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+    permissions : 'sandbox',
+    APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+  };
+  deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+<script> 
+  var attributes = {
+    code : 'jalview.bin.JalviewLite',
+    archive : 'u_jalviewApplet.jar',
+    width : 800,
+    height : 300,
+    mayscript : 'True', scriptable: 'True',
+    id : "jvfollower"
+  };
+  var parameters = {
+    oninit : "lJvFollow",
+    file : "plantfdx.fa",
+    annotations : "plantfdx.annotations",
+    automaticScrolling : "true",
+    debug : "true",
+    wrap : "false",
+    // separator : "^",
+    showAnnotation : "true",
+    embedded : "true",
+    showFullId : "false",
+    RGB : "F2F2FF",
+    linkLabel_1 : "EMBL-EBI Search",
+    linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+    ,
+    linkLabel_2 : "Uniprot"
+    ,
+    linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+    permissions : 'sandbox',
+   APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+  };
+  deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+    <p>
+<!--      <a href="javascript:linkJvJmol()">Click Me If you don't see any messages below</a>
+      <br>
+       -->
+<form name="console" id="console">
+<textarea name="output"
+        id="stdout" rows="20" cols="80">Messages  will appear here.</textarea></form>
+      <br>
+</p>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
index 65756b7..b791d35 100755 (executable)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>\r
 <!--\r
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\r
-  \r
-  This file is part of Jalview.\r
-  \r
-  Jalview is free software: you can redistribute it and/or\r
-  modify it under the terms of the GNU General Public License \r
-  as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
-   \r
-  Jalview is distributed in the hope that it will be useful, but \r
-  WITHOUT ANY WARRANTY; without even the implied warranty \r
-  of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
-  PURPOSE.  See the GNU General Public License for more details.\r
-  \r
-  You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)\r
+ * Copyright (C) 2014 The Jalview Authors\r
+ * \r
+ * This file is part of Jalview.\r
+ * \r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
+ *  \r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE.  See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
+ * The Jalview Authors are detailed in the 'AUTHORS' file.\r
 -->\r
 <!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">\r
 <helpset version="1.0">\r
index aaaaaf8..3587079 100755 (executable)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
 <map version="1.0">
index e27d41a..aa10130 100755 (executable)
@@ -1,42 +1,33 @@
 <?xml version="1.0" encoding="ISO-8859-1"  ?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">
 <toc version="1.0">
 <tocitem text="Jalview Documentation" target="home" expand="true" >
-       <tocitem text="What's new" target="new" expand="true">
-    <tocitem text="Protein Disorder Prediction" target="disorder"/>
-    <tocitem text="Alignment Conservation Analysis" target="aacon"/>
-       <tocitem text="RNAalifold RNA Secondary Structure Prediction" target="rnaalifold"/>
-               <tocitem text="Viewing RNA structure" target="varna" />
-               <tocitem text="RNA Structure Consensus" target="calcs.alstrconsensus"/>
-               <tocitem text="RNA Helices coloring" target="colours.rnahelices"/>
-               <tocitem text="HTML annotation report" target="io.seqreport"/>
-               <tocitem text="T-COFFEE Alignment Score display" target="io.tcoffeescores"/>
-               <tocitem text="Per-sequence Annotation Colouring" target="colours.annotation"/>
-         <tocitem text="Sequence Database Retrieval Dialog" target="seqfetch"/>
-         <tocitem text="JABAWS Web Service Preferences" target="wsprefs"/>
-         <tocitem text="DNA or Protein PCA calculation" target="pca"/>
-         <tocitem text="Normalised sequence logo display" target="calcs.consensus"/>
-       </tocitem>
-    <tocitem text="Editing Alignments" target ="edit"/>        
-    <tocitem text="Cursor Mode" target="cursor"/>
-       <tocitem text="Key Strokes" target="keys"/>
+ <tocitem text="What's new" target="new" expand="true">
+ <tocitem text="Protein Disorder Prediction" target="disorder"/>
+   <tocitem text="Alignment Conservation Analysis" target="aacon"/>
+  <tocitem text="RNAalifold RNA Secondary Structure Prediction" target="rnaalifold"/>
+  </tocitem>
+  <tocitem text="Editing Alignments" target ="edit"/>  
+  <tocitem text="Cursor Mode" target="cursor"/>
+  <tocitem text="Key Strokes" target="keys"/>
        <tocitem text="Input / Output" target="io"/>
        <tocitem text="Making Figures" target="export"/>
        <tocitem text="Hidden Regions" target="hiddenRegions"/>
index 290c805..12d832f 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Alignment Consensus Annotation</title></head>
 <body>
index 85e1bc5..b9d4b6f 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Alignment Conservation Annotation</title></head>
 <body><p><strong>Alignment Conservation Annotation</strong></p>
index 6f27da5..edd0ae4 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Pairwise Alignment</title></head>
 <body>
index f7afef4..db7be9b 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Principal Component Analysis</title>
index 6d02b4f..6f5f000 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Alignment Quality Annotation</title></head>
 <body>
index 5c1dcb3..bb640b7 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Viewing Input Data to PCA and Tree calculations</title></head>
 <body>
index cfb5ba1..89d92f1 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Removing Redundancy</title>
index eb8b194..100e21c 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Substitution matrices in Jalview</title>
index 374da24..bbbca5c 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Sorting Sequences</title>
index e4c147d..4093777 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Alignment RNA Structure Consensus Annotation</title></head>
 <body><p><strong>Alignment RNA Structure Consensus Annotation</strong></p>
index 6848a26..9591f39 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Tree Calculation</title></head>
 <body>
index cd9668a..dad8483 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>The Tree Viewing Window</title>
index 34fc521..6ecaf98 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Above PID Colours</title>
 <style type="text/css">
index 6a37f8a..2d9fb10 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Annotation Colouring</title>
index 2393d8d..35a8019 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Blosum Colour Scheme</title>
 <style type="text/css">
index 6d8c221..facc4ba 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Buried Colour Scheme</title>
 <style type="text/css">
index 2900fa4..45125e5 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Clustal Colour Scheme</title>
 <style type="text/css">
index cad40a7..1ed1207 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Colouring by Conservation</title></head>
 <body>
index 7a63e38..f447abf 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Helix Colour Scheme</title>
 <style type="text/css">
index 7d91ecc..ade1ecf 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Hydrophobic Colour Scheme</title>
 <style type="text/css">
index 1c73665..a88c44f 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Colour Schemes</title>
index 90c4fd6..c7c3f34 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Nucleotide Colour Scheme</title>
 <style type="text/css">
index 320e34e..d85dd4c 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Percentage Identity Colour Scheme</title>
 <style type="text/css">
index 0c1b0e8..0e17e3f 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Purine/Pyrimidine Colour Scheme</title>
 <style type="text/css">
index 3d18e3c..e683d8a 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>RNA Helices Colouring</title></head>
 
index 4f5c78f..d9bcb66 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Strand Colour Scheme</title>
 <style type="text/css">
index 0b88920..1661b6e 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Taylor Colour Scheme</title>
 <style type="text/css">
index b4bf494..1ddc66a 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 Background Dependent Text Colour
index 686e920..e77e2b7 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Turn Colour Scheme</title>
 <style type="text/css">
index c09af64..cf841a9 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>User Defined Colours</title></head>
 <body>
index 4cc353e..cfa75f3 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Zappo Colour Scheme</title>
 <style type="text/css">
index 32ecfd5..0139be8 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Editing</title></head>
 <body>
index a6c62df..e2d471e 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Alignment Annotation</title></head>
 <body>
index 665fb3f..1820c6a 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>The Alignment Annotations File</title>
index 90707f7..fe5c801 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <title>Jalview Command Line Arguments
 </title>
index 09be790..7343620 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>DNA Sequence Coding Region Definition</title>
index cbe5a1c..7a4be57 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Running Jalview from the command line</title></head>
 <body>
index 9847923..bdee259 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Creating Sequence Features</title>
index 9957d3e..ccb84ee 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Cursor Mode</title>
index 1bbd975..d97d7a2 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>DAS Features</title>
index 87b9c13..0170a8f 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>DAS Settings</title>
index ea797e3..0d0dd72 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Amending or Deleting Sequence Features</title>
index e359ff1..0f63b33 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <meta name="generator" content="HTML Tidy, see www.w3.org">
index 05a8c1d..8b88fc3 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Sequence feature colour schemes</title>
index 82daea6..c8e6bc4 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Sequence Feature Settings Dialog Box</title>
index 3b174c5..56ec86c 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Groovy Shell</title>
index 73183c5..7d2d88f 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Hidden Regions</title>
index 0f09a0d..cef3a69 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Jalview Archives</title>
index da5ced3..b3c3570 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>The Jmol PDB Viewer</title>
index 367e9e8..6d20d30 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Multiple Alignment Views</title>
index 538fccf..8830bb1 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <title>New Key Strokes and Menus</title>
 <body>
index 6e407ff..dcd625a 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Overview Window</title></head>
 <body>
index b29d2ae..10924a5 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>PDB Viewer</title>
index 9651f78..e68e44e 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Preferences</title>
index 9fdbee7..509316b 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Search</title>
 <style type="text/css">
index 9eb49a0..fe8de4e 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Sequence Features</title>
index d4a00f1..424841e 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Sequence Fetcher</title>
index 44c0c67..b34e1b8 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Mapping Between Different Sequences</title>
index be538bd..69c3e36 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>The VARNA RNA Viewer</title>
index 4904856..6c10e98 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>PDB Viewing</title>
index 296f0f2..a7bec32 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Wrap Alignment</title></head>
 
index 80ce3ad..7fc5ba2 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Jalview Documentation</title></head>
 
index a11b70d..9dae0bd 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Exporting alignments as artwork</title>
index 04bf32c..c497571 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Viewing and exporting sequence annotation reports</title>
index fbdf766..517da1a 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Alignment Fileformats</title>
index a99fab9..5794a7a 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Input/Output</title>
index 31813e5..42a480c 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Modeller PIR Format IO</title>
index eeaa216..aa72b10 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>T-COFFEE Annotation Scores</title>
index ae20eb8..bddd331 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Jalview local Jnlp File</title>
index 17a7581..1c0ffc8 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Key Strokes</title></head>
 <body>
index b15c712..b07c885 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Memory Settings</title></head>
 <body>
index d53b3eb..1e1cfdc 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Alignment Window Menus</title>
index 12acf7e..4e1d844 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Annotation Panel Menus</title>
index 63c0af1..f459c04 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Alignment Window Menus</title>
index d0bc0cb..92e78a0 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Alignment Window Menus</title></head>
 
index fabfbc2..5362838 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Alignment Window Menus</title>
index 261d723..9e6e40a 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Alignment Window Menus</title>
index 2365370..17cf8a0 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <p><strong>Alignment Window Format Menu</strong></p>
index bd17fa7..133f89f 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><body>
 <p><strong>Alignment Window Select Menu</strong></p>
index 53ae079..7be8170 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Alignment Window Menus</title>
index 4894738..b2a2f47 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Desktop Menus</title>
index a20fbc3..0fa72ce 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Jalview's Menus</title>
index 8eab2d0..6ceccee 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Popup Menu</title>
index ff543f9..86fa307 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Web Service Menu</title></head>
 
index f344ba4..f2b57ad 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Amino Acid Properties</title>
 </head>
index 69bc958..bbf3b3a 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Amino Acids</title>
 <style type="text/css">
index 7e56e6e..f047abf 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head><title>Genetic Code</title>
 <style type="text/css">
index c906d52..6bac556 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Nucleic Acid Support</title>
index ec4df33..0d2f828 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Jalview Privacy Statement</title>
index 2d51647..d436b34 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Release History</title>
                <div align="center"><em><strong>Issues Resolved</strong></em></div>
                </td>
        </tr>
+       <tr>
+       <td><div align="center">
+       <strong><a name="Jalview.2.8.0b1">2.8.0b1</a><br/><em>30/1/2014</em></strong>
+       </div>
+       </td>
+      <td>
+        <ul>
+          <li>Trusted certificates for JalviewLite applet and
+            Jalview Desktop application<br />Certificate was donated by
+            <a href="https://www.certum.eu">Certum</a> to the Jalview
+            open source project).
+          </li>
+          <li>Jalview SRS links replaced by Uniprot and EBI-search
+          </li>
+          <li>Output in Stockholm format</li>
+          <li>Allow import of data from gzipped files</li>
+          <li>Export/import group and sequence associated line
+            graph thresholds</li>
+          <li>Nucleotide substitution matrix that supports RNA and
+            ambiguity codes</li>
+          <li>Allow disorder predictions to be made on the current
+            selection (or visible selection) in the same way that JPred
+            works</li>
+          <li>Groovy scripting for headless jalview operation</li>
+        </ul> <em>Other improvements</em>
+        <ul>
+          <li>Upgrade desktop installer to InstallAnywhere 2013</li>
+          <li>COMBINE statement uses current SEQUENCE_REF and
+            GROUP_REF scope to group annotation rows</li>
+          <li>Support &#39;&#39; style escaping of quotes in Newick
+            files</li>
+          <li>Group options for JABAWS service by command line name</li>
+          <li>Empty tooltip shown for JABA service options with a
+            link but no description</li>
+          <li>Select primary source when selecting authority in
+            database fetcher GUI</li>
+          <li>Add .mfa to FASTA file extensions recognised by
+            Jalview</li>
+          <li>Annotation label tooltip text wrap</li>
+        </ul>
+      </td>
+      <td>
+        <ul>
+          <li>Slow scrolling when lots of annotation rows are
+            displayed</li>
+          <li>Lots of NPE (and slowness) after creating RNA
+            secondary structure annotation line</li>
+          <li>Sequence database accessions not imported when
+            fetching alignments from Rfam</li>
+          <li>Incorrect SHMR submission for sequences with
+            identical IDs</li>
+          <li>View all structures does not always superpose
+            structures</li>
+          <li>Option widgets in service parameters not updated to
+            reflect user or preset settings</li>
+          <li>Null pointer exceptions for some services without
+            presets or adjustable parameters</li>
+          <li>Discover PDB IDs entry in structure menu doesn&#39;t
+            discover PDB xRefs</li>
+          <li>Exception encountered while trying to retrieve
+            features with DAS</li>
+          <li>Lowest value in annotation row isn&#39;t coloured
+            when colour by annotation (per sequence) is coloured</li>
+          <li>Keyboard mode P jumps to start of gapped region when
+            residue follows a gap</li>
+          <li>Jalview appears to hang importing an alignment with
+            Wrap as default or after enabling Wrap</li>
+          <li>&#39;Right click to add annotations&#39; message
+            shown in wrap mode when no annotations present</li>
+          <li>Disorder predictions fail with NPE if no automatic
+            annotation already exists on alignment</li>
+          <li>oninit javascript function should be called after
+            initialisation completes</li>
+          <li>Remove redundancy after disorder prediction corrupts
+            alignment window display</li>
+          <li>Example annotation file in documentation is invalid</li>
+          <li>Grouped line graph annotation rows are not exported
+            to annotation file</li>
+          <li>Multi-harmony analysis cannot be run when only two
+            groups created</li>
+          <li>Cannot create multiple groups of line graphs with
+            several &#39;combine&#39; statements in annotation file</li>
+          <li>Pressing return several times causes Number Format
+            exceptions in keyboard mode</li>
+          <li>Multi-harmony (SHMMR) method doesn&#39;t submit
+            correct partitions for input data</li>
+          <li>Translation from DNA to Amino Acids fails</li>
+          <li>Jalview fail to load newick tree with quoted label</li>
+          <li>--headless flag isn&#39;t understood</li>
+          <li>ClassCastException when generating EPS in headless
+            mode</li>
+          <li>Adjusting sequence-associated shading threshold only
+            changes one row&#39;s threshold</li>
+          <li>Preferences and Feature settings panel panel
+            doesn&#39;t open</li>
+        </ul>
+      </td>
+    </tr>
   <tr>
    <td><div align="center">
      <strong><a name="Jalview2.8">2.8</a></strong><br /> <em>12/11/2012</em>
index d95881e..a177601 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>VAMSAS Interoperation</title>
index 4cc9784..61f2f9f 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>AACon Web Service</title>
index 4ef3014..ac93813 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>The JABAWS system</title>
index bf44769..2dff2bc 100644 (file)
@@ -1,6 +1,6 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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 html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
- * 
- * 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/>.
--->
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 Database Reference Fetching
index cff22eb..9245ec3 100755 (executable)
@@ -1,6 +1,6 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
 -->
 <html>
 <head>
index 29918d6..9b715c2 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>JNet Secondary Structure Prediction</title>
index 83a7249..b04e047 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Multiple Sequence Alignment Web Service</title>
index 5048ac2..498520a 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>Jalview Desktop RSS News Reader
 </head>
index 83e6184..77bdc01 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>JABAWS Protein Disorder Prediction Services</title>
index 2d0c781..d3f0bf3 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 <title>Multi-Group Sequence Harmony and Multi-Relief</title>
index 12f5de8..75346d6 100644 (file)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -15,6 +15,7 @@
  * 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.
 -->
 <head>
 Opening URLs from Jalview
index 2e9e3e2..ba1df32 100644 (file)
@@ -1,6 +1,6 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
 -->
 <html>
 <head>
index b7a9fb0..4dff124 100644 (file)
@@ -1,6 +1,6 @@
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
 -->
 <html>
 <head>
index 9eaf83e..79cf7c9 100755 (executable)
@@ -1,7 +1,7 @@
 <html>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.
 -->
 <head>
 <title>What's new ?</title>
 </head>
 <body>
- <p>
-  <strong>What's new ?</strong><br/>
-  Jalview 2.8 includes a number of enhancements and new features that
-  have been in development since July 2010. It is also the first Jalview
-  release to incorporate RNA visualization features developed by Lauren
-  Lui and Jan Engelhart during their Google Summer of Code projects
-  (http://code.google.com/soc/). As usual you can find the highlights
-  below, but to see the comprehensive list take a look at the look at
-  the <a href="releases.html#Jalview2.8">Jalview 2.8 Release Notes</a>.
- </p>
- <strong>Highlights in Jalview Version 2.8</strong>
- <ul>
-  <li><strong>Improved <a href="webServices/JABAWS.html">JABAWS</a>
-    client and new JABAWS 2.0 Services
-  </strong>
-   <ul>
-    <li><a href="webServices/AACon.html">AACon alignment
-      conservation</a></li>
-    <li><a href="webServices/proteinDisorder.html">Protein
-      disorder</a> - DisEMBL, RONN, GlobPlot and IUPred</li>
-    <li>Clustal Omega for creating huge protein alignments</li>
-   </ul></li>
-  <li><strong><a href="na/index.html">RNA</a></strong>
-   <ul>
-    <li>Import sequence and alignment associated WUSS or VIENNA
-     dot-bracket notation from files and the <strong>RFAM</strong>
-     database
-    </li>
-    <li>Interactive editing of RNA secondary structure annotation</li>
-    <li>Colour scheme for purine/pyrimidine and to highlight RNA
-     helices</li>
-    <li>RNA canonical <a
-     href="calculations/structureconsensus.html">base pair consensus
-      score</a> and sequence logo
-    </li>
-    <li>Embedded <a href="features/varna.html">VARNA</a> RNA
-     secondary structure viewer in the Desktop
-    </li>
-   </ul></li>
-  <li>Parse and display <a href="io/tcoffeescores.html">T-COFFEE
-    alignment quality scores</a> (thanks to Paolo di Tomasso of the Notredame
-   Group)
-  </li>
-  <li><a href="colourSchemes/annotationColouring.html">Per
-    sequence alignment annotation shading</a></li>
-  <li>Enhanced <a href="calculations/pca.html">PCA viewer</a>: more
-   export options, and switch between different PCA modes and residue
-   score models
-  </li>
-  <li>New Jalview Desktop <a href="webServices/dbreffetcher.html">database
-    fetcher</a> GUI
-  </li>
-  <li>Support for DAS 1.6 and DAS 2.0 sources (thanks to the new
-   JDAS Distributed Annotation client library (see
-   http://code.google.com/p/jdas))</li>
-  <li>Export sequence database annotation as an <a
-   href="io/exportseqreport.html">HTML report</a></li>
-  <li>Normalised <a href="calculations/consensus.html">Sequence
-    Logo Display</a></li>
- </ul>
- <p>
-  <strong>Issues resolved in the Jalview Desktop</strong>
- </p>
- <ul>
-  <li>PDB, Unprot and EMBL (ENA) databases retrieved via wsdbfetch
-   REST service</li>
-  <li>Stop windows being moved outside desktop on OSX</li>
-  <li>Jnet job queues forever if a very short sequence is submitted
-   for prediction</li>
-  <li>Structure view highlighting doesn't work on windows 7</li>
-  <li>Jalview desktop fails to launch with exception when using
-   proxy</li>
-  <li>DAS Sequence retrieval with range qualification results in
-   sequence xref which includes range qualification</li>
-  <li>Cannot close news reader when JABAWS server warning dialog is
-   shown</li>
-  <li>Edited sequence not submitted to web service</li>
-  <li>Jalview 2.7 InstallAnywhere installer doesn't unpack and run
-   on OSX Mountain Lion
-   <ul>
-    <li>If you use webstart then you may need to go into the
-     Security panel (<em>a.k.a</em> the gatekeeper) in your System
-     Settings, and select the 'allow any code to run' option.
-    </li>
-   </ul>
-  </li>
- </ul>
- <p>
-  <strong>Issues specific to the JalviewLite Applet</strong>
- </p>
- <ul>
-  <li>Sequence features are momentarily displayed before they are
-   hidden using hidefeaturegroups applet parameter</li>
-  <li>loading features via javascript API automatically enables
-   feature display</li>
-  <li>scrollToColumnIn javascript API method doesn't work</li>
- </ul>
- <p>
-  <strong>Issues affecting both applet and application</strong>
- </p>
- <ul>
-  <li>Redundancy removal fails for rna alignment</li>
-  <li>PCA window shows grey box when first opened on OSX</li>
-  <li>Letters coloured pink in sequence logo when alignment
-   coloured with clustalx</li>
- </ul>
+       <p>
+               <strong>What's new ?</strong><br /> Jalview 2.8.0b1 is a bugfix
+               release for Jalview version 2.8. <br /> As usual you can find the
+               highlights below, and the comprehensive list is given in the <a
+                       href="releases.html#Jalview2.8.0b1">Jalview 2.8.0b1 Release Notes</a>.
+       </p>
+  <p>
+    This bug fix release includes numerous minor enhancements made over
+    the last 12 months. Importantly, it is also the first release that
+    provides Jalview as a trusted application, signed with a certificate
+    donated to us by <a href="certum.eu">Certum</a>.
+  </p>
+  <strong>Enhancements and new features</strong>
+       <ul>
+               <li>Allow disorder predictions to be made on the current
+                       selection (or visible selection) in the same way that JPred works</li>
+               <li>allow import of data from gzipped files</li>
+    <li>Improved per-sequence 'colour-by-annotation' performance</li>
+               <li>Support &#39;&#39; style escaping of quotes in Newick files</li>
+               <li>group options for JABAWS service by command line name</li>
+               <li>Select primary source when selecting authority in database
+                       fetcher GUI</li>
+    <li>COMBINE statement uses current SEQUENCE_REF and GROUP_REF
+      scope to group annotation rows</li>
+               <li>add .mfa to FASTA file extensions recognised by Jalview</li>
+               <li>groovy scripting for headless jalview operation</li>
+               <li>Output in Stockholm format</li>
+       </ul>
+       <strong>Bug fixes</strong>
+       <ul>
+               <li>Uniprot and PDB database cross-reference fetching works
+                       properly</li>
+               <li>'View all structures' in the desktop is more reliable</li>
+               <li>Web services parameter dialog box shows the options enabled
+                       for different presets</li>
+               <li>Interactive creation of RNA secondary structure works more
+                       smoothly</li>
+               <li>Keyboard mode 'P' command jumps to the right place</li>
+               <li>Improved support for parsing database cross-references via
+                       Stockholm and Rfam database</li>
+               <li>Improved semantics in annotation files for grouping
+                       annotation rows associated with particular sequences and groups</li>
+               <li>More robust DNA->Amino acid translation</li>
+               <li>Improved Headless-mode operation for DAS annotation
+                       retrieval, groovy script execution and alignment figure generation</li>
+    <li>annotation label tooltip text needs to be wrapped</li>
+       </ul>
 </body>
 </html>
index 1708b7d..054ce99 100755 (executable)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <jalopy>
     <general>
index 3b03197..d4b2979 100644 (file)
@@ -1,21 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?><!--
-    Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
-   
-    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/>.
- -->
-
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
 <!-- You may freely edit this file. See commented blocks below for -->
 <!-- some examples of how to customize the build. -->
 <!-- (If you delete it and reopen the project it will be recreated.) -->
index acddd70..9511664 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <project xmlns="http://www.netbeans.org/ns/project/1">
     <type>org.netbeans.modules.java.j2seproject</type>
index 69c89a6..3290ec6 100644 (file)
@@ -1,4 +1,4 @@
-YEAR=2011
-AUTHORS=J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-AUTHORFNAMES=Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton
+YEAR=2014
+AUTHORS=J Procter, AM Waterhouse, LM Lui, J Engelhardt, N Sherstnev, G Barton, M Clamp, S Searle
+AUTHORFNAMES=Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Natasha Sherstnev, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton
  
\ No newline at end of file
index 5159256..92e483c 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <mapping xmlns="http://castor.exolab.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://castor.exolab.org/ ../schemas/castor-mapping.xsd">
index 80f82cf..5ae545f 100644 (file)
@@ -407,8 +407,8 @@ label.redundancy_threshold_selection = Redundancy threshold selection
 label.user_defined_colours = User defined colours\r
 label.jalviewLite_release = JalviewLite - Release {0}\r
 label.jaview_build_date = Build date: {0}\r
-label.jalview_authors_1 = Authors:  Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui,\r
-label.jalview_authors_2 = Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.\r
+label.jalview_authors_1 = Authors: :  Jim Procter, Andrew Waterhouse, Lauren Lui, Jan Engelhardt, Natasha Sherstnev,\r
+label.jalview_authors_2 = Daniel Barton, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.\r
 label.jalview_dev_managers = Development managed by The Barton Group, University of Dundee, Scotland, UK.\r
 label.jalview_distribution_lists = For help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list\r
 label.jalview_please_cite = If  you use Jalview, please cite:\r
@@ -719,4 +719,4 @@ label.example_query_param = Example query: {0}
 label.enter_value_increase_conservation_visibility = Enter value to increase conservation visibility\r
 label.enter_percentage_identity_above_which_colour_residues = Enter % identity above which to colour residues\r
 label.wswublast_client_credits = To display sequence features an exact Uniprot id with 100% sequence identity match must be entered.\nIn order to display these features, try changing the names of your sequences to the ids suggested below.\n\nRunning WSWUBlast at EBI.\nPlease quote Pillai S., Silventoinen V., Kallio K., Senger M., Sobhany S., Tate J., Velankar S., Golovin A., Henrick K., Rice P., Stoehr P., Lopez R.\nSOAP-based services provided by the European Bioinformatics Institute.\nNucleic Acids Res. 33(1):W25-W28 (2005));\r
-label.blasting_for_unidentified_sequence = BLASTing for unidentified sequences
\ No newline at end of file
+label.blasting_for_unidentified_sequence = BLASTing for unidentified sequences
index 83cc41a..db6fa20 100755 (executable)
@@ -1,20 +1,21 @@
 <?xml version="1.0"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <mapping>
        <class name="jalview.datamodel.UniprotFile">
index 56476fb..23457d4 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="www.jalview.org/xml/wsparamset">
index 98104fb..09fc99c 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 schema PUBLIC "-//W3C/DTD XML Schema Version 1.0//EN"
     "http://www.w3.org/TR/2000/WD-xmlschema-1-20000225/structures.dtd"-->
index 9213ae0..baa0ddc 100644 (file)
@@ -1,6 +1,6 @@
-###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 The Jalview Authors
 # 
 # This file is part of Jalview.
 # 
@@ -14,7 +14,8 @@
 # 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.
+##
 #
 # Property file for SourceCodeGenerator for jalview project XML for parsing without descriptors
 #
index d482595..c174b5e 100644 (file)
@@ -1,6 +1,6 @@
-###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 The Jalview Authors
 # 
 # This file is part of Jalview.
 # 
@@ -14,7 +14,8 @@
 # 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.
+##
 #
 # Property file for SourceCodeGenerator for jalview project XML
 #
index 0138f63..5631def 100755 (executable)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours" xmlns:jv="www.jalview.org" xmlns:jvws="www.jalview.org/xml/wsparamset" targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
                <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>
index c037b1a..8685d9f 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                                 xmlns:vamsas="www.vamsas.org"
index ec6ec7c..dfee914 100755 (executable)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" targetNamespace="www.vamsas.ac.uk/jalview/version2" elementFormDefault="qualified" attributeFormDefault="unqualified">
index 29d1a16..4b12299 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.org" targetNamespace="www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
index 40e99db..212f0f3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index b2e1187..d550326 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index b1fe59f..8b844d7 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index 813442b..6517c7a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index dafabba..0bef874 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index 60f7ec9..11caf98 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index cc71355..8338c63 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index f55155e..fc52c08 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index a6ad951..caa2501 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index 09aba33..3a8c979 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index e31c9b8..0e7a271 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 MCview;
 
index 0bb6494..673fe47 100644 (file)
@@ -1,19 +1,20 @@
 ###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
-# Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
-#
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
 ###############################################################################
 # THE CASTOR PROPERTIES FILE\r
 # This file specifies values for Castor run-time which may be configured\r
index 53d3abd..7290a1a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index b7fff55..13210ad 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index e82f839..3ced73d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 2c214a4..561789e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 8758bae..b0f14c3 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index cf3e35f..8b7161b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 67f81c1..7d407ad 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index e66f93f..eb55004 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 0f34260..18701bd 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 94fee1b..9cec16e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index b2849df..8b55ad1 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 138ed6d..e6020e8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 948b978..fd7f477 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index e9d944e..e9e2560 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 98f5c46..37bd8e0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 09d8c12..9e51321 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 02ad6d6..4fa31ca 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index a9912e1..0edb9f9 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 ext.vamsas;
 
index 08a3f52..ca4e71c 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 4a8955b..573c545 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 48dbb6a..b5a0be8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 910279f..8641629 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 09f1bc6..17658b3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index f610d08..e74d4b5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 7af4520..06d75ac 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 32ea204..bca85df 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 144ec2c..944354f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 109a591..7a506cc 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index c44a329..ccae429 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index e386e5c..be7105a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /* Author: Lauren Michelle Lui 
  * Methods are based on RALEE methods http://personalpages.manchester.ac.uk/staff/sam.griffiths-jones/software/ralee/
index 8b84a86..e46848b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index d2bdaa2..cc2b458 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 948bdc1..6409413 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,9 +14,8 @@
  * 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.analysis;
 
 import java.util.*;
index 226ae43..cbe0f0e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.analysis;
 
index 64a314e..c2e7b14 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index 74724ed..2227b10 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index 5f759b8..368725f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index eb4b994..1705995 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index 2de27de..ea7f55a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index cc578bf..6effadf 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index 735d3d0..32a1b8a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index 11ccf1a..4118844 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index e8908f8..829da37 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.api;
 
index 9c61f1a..d08ae7c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.api;
 
 /**
index 2f8b5a5..13dcd05 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 564f28c..47d3001 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 9e4f071..7e9cbf1 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 4941b11..b34a5bb 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 583f64f..db928b7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index a4b7af2..858c055 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 7129eee..f33f627 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index e109ae8..3f2a769 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 6ee68e8..edf2d45 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index bae94a5..756fa81 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 7eaa6f5..4eb3aa3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index c6ffba1..0f20ad6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index aaab8bd..a4ae58c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 4e0b4a6..4968688 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index a14c321..0a40439 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 267a251..df2ec15 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 93ab314..ad99983 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 4527390..d3351e7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index a35be15..140f5f9 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 3adaa14..d73668b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
@@ -73,10 +74,21 @@ public class IdPanel extends Panel implements MouseListener,
 
       }
     }
+    {
+      // upgrade old SRS link
+      int srsPos = links
+              .indexOf("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+      if (srsPos > -1)
+      {
+        links.setElementAt(
+                "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$",
+                srsPos);
+      }
+    }
     if (links.size() < 1)
     {
       links = new java.util.Vector();
-      links.addElement("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+      links.addElement("EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");
     }
   }
 
index 24509a6..095a592 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index c73fbc7..3443cad 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index ae8a85b..4d2aeed 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index bcd3634..78f950b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 7cd5aff..506ace4 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index a377892..2df0eac 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index d91e53b..345c906 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 86d06d9..1c38c56 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index cd78fab..41e9acd 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index efe43b8..58e6caa 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 89289c0..429183d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index d444630..154bea4 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 886c194..340bb64 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index be03c52..9cda080 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 68ffd7a..fc1e464 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 5f3f6f6..62fa99d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index 55f7c65..225cfc7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.appletgui;
 
index f3c8745..2dfeb51 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 142b4c3..5dc6c81 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index c3e56c6..68a85f3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index bd7e8de..2eb1d91 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 21dc74e..b32ca97 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 31221c4..1c6480f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 3c5e52d..9272234 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index d29c1ed..7802c35 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index acac8d7..1a12502 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 967020a..5628281 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 7babc37..ec22915 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index c3ae6e9..5b7cbf3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index f32cd44..ba4ae36 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 11b33c6..9dbc5a5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 8e03945..66b424f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 64f5477..deb5bc7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 00975c1..3aa6ad6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 733edba..6fe9924 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 49d0aab..08d53f3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 93d7b2a..6a0fbee 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 29e6eea..7f63ef5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 0ba0563..cd4601a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 5857595..816b166 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 743227f..691dfde 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 245dc84..7af1853 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 493f519..b7430e5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index e2d750e..77b1205 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 7856de9..1362e34 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index b48fc1e..288b71f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 5ccdc7b..b9367da 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.binding;
 
index 2651cd2..c026f37 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index edbde5c..d07e285 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index 5c8f0be..ed9e551 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index f9af2aa..274e9e9 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index eacace0..80a0dd5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index e3329ab..8754b51 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index 7df24ba..a6b1480 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index 1159ecf..e33e679 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.commands;
 
index 6215a93..9cfc4ba 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 70663aa..ed65dd5 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 0a8e087..8f5b63d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 64dcabb..2190fa8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index fce2776..e95ec39 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 37f5e5c..ea0fbe0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index e73f0f4..510437a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index f692234..1c88c82 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index d4335b3..177ebe7 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 34e7cd0..456b8b0 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index ef0db4f..a45efcd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index cb0bd12..15c600d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index bc89d2c..7957d33 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 2fb52d3..e68ed6f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 775327a..b87cd2b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 1fd52c3..6dc6641 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 313e15d..d13f9c8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index b762648..dbe4ab4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 001f6b2..be475f4 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index bb02919..d24f794 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 69555e6..c9c9170 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index a60bee3..72742c7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 12ed4e0..7f6e77a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 366cbac..1da74a0 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 8b620f3..51de184 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index c79972c..bd1a375 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index b21e388..c81cc5e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index fa063ff..5fa37e3 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index f0d7284..11e8c67 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 61748c9..66e59f1 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 9ed3a53..5d0841e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 5f9b049..285b7a8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 3bd9211..81f5e9b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 8f591c7..3690b43 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index e4a780a..5693555 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index a5ed12b..2739e28 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 16c9f2d..4a96b0c 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 493841e..0480ec2 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel;
 
index 7aab6bd..b3968c3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 0ae49b9..9661d12 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 920abd4..5d8daa4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 58b4c39..1aed0a1 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 35825bd..63f0ac4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 559b055..daef573 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 4091222..78c4f5c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index c266785..42ca6a4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index 74edfc5..9d0dbe0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.datamodel.xdb.embl;
 
index f31272a..8dfb9fd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ext.jmol;
 
index e25dab4..8494b4b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ext.jmol;
 
index a21cd37..411e4fe 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ext.varna;
 import java.awt.event.*;
index 527a847..8ed7462 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ext.varna;
 
index 4c7ae80..4a06fdd 100644 (file)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import jalview.analysis.AAFrequency;\r
-import jalview.analysis.AlignmentSorter;\r
-import jalview.analysis.Conservation;\r
-import jalview.analysis.CrossRef;\r
-import jalview.analysis.NJTree;\r
-import jalview.analysis.ParseProperties;\r
-import jalview.analysis.SequenceIdMatcher;\r
-import jalview.api.AlignViewControllerI;\r
-import jalview.bin.Cache;\r
-import jalview.commands.CommandI;\r
-import jalview.commands.EditCommand;\r
-import jalview.commands.OrderCommand;\r
-import jalview.commands.RemoveGapColCommand;\r
-import jalview.commands.RemoveGapsCommand;\r
-import jalview.commands.SlideSequencesCommand;\r
-import jalview.commands.TrimRegionCommand;\r
-import jalview.datamodel.AlignedCodonFrame;\r
-import jalview.datamodel.Alignment;\r
-import jalview.datamodel.AlignmentAnnotation;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.AlignmentOrder;\r
-import jalview.datamodel.AlignmentView;\r
-import jalview.datamodel.ColumnSelection;\r
-import jalview.datamodel.PDBEntry;\r
-import jalview.datamodel.SeqCigar;\r
-import jalview.datamodel.Sequence;\r
-import jalview.datamodel.SequenceGroup;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.io.AlignmentProperties;\r
-import jalview.io.AnnotationFile;\r
-import jalview.io.FeaturesFile;\r
-import jalview.io.FileLoader;\r
-import jalview.io.FormatAdapter;\r
-import jalview.io.HTMLOutput;\r
-import jalview.io.IdentifyFile;\r
-import jalview.io.JalviewFileChooser;\r
-import jalview.io.JalviewFileView;\r
-import jalview.io.JnetAnnotationMaker;\r
-import jalview.io.NewickFile;\r
-import jalview.io.TCoffeeScoreFile;\r
-import jalview.jbgui.GAlignFrame;\r
-import jalview.schemes.Blosum62ColourScheme;\r
-import jalview.schemes.BuriedColourScheme;\r
-import jalview.schemes.ClustalxColourScheme;\r
-import jalview.schemes.ColourSchemeI;\r
-import jalview.schemes.ColourSchemeProperty;\r
-import jalview.schemes.HelixColourScheme;\r
-import jalview.schemes.HydrophobicColourScheme;\r
-import jalview.schemes.NucleotideColourScheme;\r
-import jalview.schemes.PIDColourScheme;\r
-import jalview.schemes.PurinePyrimidineColourScheme;\r
-import jalview.schemes.RNAHelicesColourChooser;\r
-import jalview.schemes.ResidueProperties;\r
-import jalview.schemes.StrandColourScheme;\r
-import jalview.schemes.TCoffeeColourScheme;\r
-import jalview.schemes.TaylorColourScheme;\r
-import jalview.schemes.TurnColourScheme;\r
-import jalview.schemes.UserColourScheme;\r
-import jalview.schemes.ZappoColourScheme;\r
-import jalview.util.MessageManager;\r
-import jalview.ws.jws1.Discoverer;\r
-import jalview.ws.jws2.Jws2Discoverer;\r
-import jalview.ws.jws2.jabaws2.Jws2Instance;\r
-import jalview.ws.seqfetcher.DbSourceProxy;\r
-\r
-import java.awt.BorderLayout;\r
-import java.awt.Color;\r
-import java.awt.Component;\r
-import java.awt.GridLayout;\r
-import java.awt.Rectangle;\r
-import java.awt.Toolkit;\r
-import java.awt.datatransfer.Clipboard;\r
-import java.awt.datatransfer.DataFlavor;\r
-import java.awt.datatransfer.StringSelection;\r
-import java.awt.datatransfer.Transferable;\r
-import java.awt.dnd.DnDConstants;\r
-import java.awt.dnd.DropTargetDragEvent;\r
-import java.awt.dnd.DropTargetDropEvent;\r
-import java.awt.dnd.DropTargetEvent;\r
-import java.awt.dnd.DropTargetListener;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.KeyAdapter;\r
-import java.awt.event.KeyEvent;\r
-import java.awt.event.MouseAdapter;\r
-import java.awt.event.MouseEvent;\r
-import java.awt.print.PageFormat;\r
-import java.awt.print.PrinterJob;\r
-import java.beans.PropertyChangeEvent;\r
-import java.io.File;\r
-import java.net.URL;\r
-import java.util.ArrayList;\r
-import java.util.Enumeration;\r
-import java.util.Hashtable;\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JButton;\r
-import javax.swing.JEditorPane;\r
-import javax.swing.JInternalFrame;\r
-import javax.swing.JLabel;\r
-import javax.swing.JLayeredPane;\r
-import javax.swing.JMenu;\r
-import javax.swing.JMenuItem;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JPanel;\r
-import javax.swing.JProgressBar;\r
-import javax.swing.JRadioButtonMenuItem;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.SwingUtilities;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public class AlignFrame extends GAlignFrame implements DropTargetListener,\r
-        IProgressIndicator\r
-{\r
-\r
-  /** DOCUMENT ME!! */\r
-  public static final int DEFAULT_WIDTH = 700;\r
-\r
-  /** DOCUMENT ME!! */\r
-  public static final int DEFAULT_HEIGHT = 500;\r
-\r
-  public AlignmentPanel alignPanel;\r
-\r
-  AlignViewport viewport;\r
\r
-  public AlignViewControllerI avc;\r
\r
-\r
-  Vector alignPanels = new Vector();\r
-\r
-  /**\r
-   * Last format used to load or save alignments in this window\r
-   */\r
-  String currentFileFormat = null;\r
-\r
-  /**\r
-   * Current filename for this alignment\r
-   */\r
-  String fileName = null;\r
-\r
-  /**\r
-   * Creates a new AlignFrame object with specific width and height.\r
-   * \r
-   * @param al\r
-   * @param width\r
-   * @param height\r
-   */\r
-  public AlignFrame(AlignmentI al, int width, int height)\r
-  {\r
-    this(al, null, width, height);\r
-  }\r
-\r
-  /**\r
-   * Creates a new AlignFrame object with specific width, height and\r
-   * sequenceSetId\r
-   * \r
-   * @param al\r
-   * @param width\r
-   * @param height\r
-   * @param sequenceSetId\r
-   */\r
-  public AlignFrame(AlignmentI al, int width, int height,\r
-          String sequenceSetId)\r
-  {\r
-    this(al, null, width, height, sequenceSetId);\r
-  }\r
-\r
-  /**\r
-   * Creates a new AlignFrame object with specific width, height and\r
-   * sequenceSetId\r
-   * \r
-   * @param al\r
-   * @param width\r
-   * @param height\r
-   * @param sequenceSetId\r
-   * @param viewId\r
-   */\r
-  public AlignFrame(AlignmentI al, int width, int height,\r
-          String sequenceSetId, String viewId)\r
-  {\r
-    this(al, null, width, height, sequenceSetId, viewId);\r
-  }\r
-\r
-  /**\r
-   * new alignment window with hidden columns\r
-   * \r
-   * @param al\r
-   *          AlignmentI\r
-   * @param hiddenColumns\r
-   *          ColumnSelection or null\r
-   * @param width\r
-   *          Width of alignment frame\r
-   * @param height\r
-   *          height of frame.\r
-   */\r
-  public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,\r
-          int width, int height)\r
-  {\r
-    this(al, hiddenColumns, width, height, null);\r
-  }\r
-\r
-  /**\r
-   * Create alignment frame for al with hiddenColumns, a specific width and\r
-   * height, and specific sequenceId\r
-   * \r
-   * @param al\r
-   * @param hiddenColumns\r
-   * @param width\r
-   * @param height\r
-   * @param sequenceSetId\r
-   *          (may be null)\r
-   */\r
-  public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,\r
-          int width, int height, String sequenceSetId)\r
-  {\r
-    this(al, hiddenColumns, width, height, sequenceSetId, null);\r
-  }\r
-\r
-  /**\r
-   * Create alignment frame for al with hiddenColumns, a specific width and\r
-   * height, and specific sequenceId\r
-   * \r
-   * @param al\r
-   * @param hiddenColumns\r
-   * @param width\r
-   * @param height\r
-   * @param sequenceSetId\r
-   *          (may be null)\r
-   * @param viewId\r
-   *          (may be null)\r
-   */\r
-  public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,\r
-          int width, int height, String sequenceSetId, String viewId)\r
-  {\r
-    setSize(width, height);\r
-    viewport = new AlignViewport(al, hiddenColumns, sequenceSetId, viewId);\r
-\r
-    alignPanel = new AlignmentPanel(this, viewport);\r
-\r
-    if (al.getDataset() == null)\r
-    {\r
-      al.setDataset(null);\r
-    }\r
-\r
-    addAlignmentPanel(alignPanel, true);\r
-    init();\r
-  }\r
-\r
-  /**\r
-   * Make a new AlignFrame from exisiting alignmentPanels\r
-   * \r
-   * @param ap\r
-   *          AlignmentPanel\r
-   * @param av\r
-   *          AlignViewport\r
-   */\r
-  public AlignFrame(AlignmentPanel ap)\r
-  {\r
-    viewport = ap.av;\r
-    alignPanel = ap;\r
-    addAlignmentPanel(ap, false);\r
-    init();\r
-  }\r
-\r
-  /**\r
-   * initalise the alignframe from the underlying viewport data and the\r
-   * configurations\r
-   */\r
-  void init()\r
-  {\r
-    avc = new jalview.controller.AlignViewController(viewport, alignPanel);\r
-    if (viewport.getAlignmentConservationAnnotation() == null)\r
-    {\r
-      BLOSUM62Colour.setEnabled(false);\r
-      conservationMenuItem.setEnabled(false);\r
-      modifyConservation.setEnabled(false);\r
-      // PIDColour.setEnabled(false);\r
-      // abovePIDThreshold.setEnabled(false);\r
-      // modifyPID.setEnabled(false);\r
-    }\r
-\r
-    String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT",\r
-            "No sort");\r
-\r
-    if (sortby.equals("Id"))\r
-    {\r
-      sortIDMenuItem_actionPerformed(null);\r
-    }\r
-    else if (sortby.equals("Pairwise Identity"))\r
-    {\r
-      sortPairwiseMenuItem_actionPerformed(null);\r
-    }\r
-\r
-    if (Desktop.desktop != null)\r
-    {\r
-      this.setDropTarget(new java.awt.dnd.DropTarget(this, this));\r
-      addServiceListeners();\r
-      setGUINucleotide(viewport.getAlignment().isNucleotide());\r
-    }\r
-\r
-    setMenusFromViewport(viewport);\r
-    buildSortByAnnotationScoresMenu();\r
-    if (viewport.wrapAlignment)\r
-    {\r
-      wrapMenuItem_actionPerformed(null);\r
-    }\r
-\r
-    if (jalview.bin.Cache.getDefault("SHOW_OVERVIEW", false))\r
-    {\r
-      this.overviewMenuItem_actionPerformed(null);\r
-    }\r
-\r
-    addKeyListener();\r
-    \r
-  }\r
-\r
-  /**\r
-   * Change the filename and format for the alignment, and enable the 'reload'\r
-   * button functionality.\r
-   * \r
-   * @param file\r
-   *          valid filename\r
-   * @param format\r
-   *          format of file\r
-   */\r
-  public void setFileName(String file, String format)\r
-  {\r
-    fileName = file;\r
-    currentFileFormat = format;\r
-    reload.setEnabled(true);\r
-  }\r
-\r
-  void addKeyListener()\r
-  {\r
-    addKeyListener(new KeyAdapter()\r
-    {\r
-      @Override\r
-      public void keyPressed(KeyEvent evt)\r
-      {\r
-        if (viewport.cursorMode\r
-                && ((evt.getKeyCode() >= KeyEvent.VK_0 && evt.getKeyCode() <= KeyEvent.VK_9) || (evt\r
-                        .getKeyCode() >= KeyEvent.VK_NUMPAD0 && evt\r
-                        .getKeyCode() <= KeyEvent.VK_NUMPAD9))\r
-                && Character.isDigit(evt.getKeyChar()))\r
-          alignPanel.seqPanel.numberPressed(evt.getKeyChar());\r
-\r
-        switch (evt.getKeyCode())\r
-        {\r
-\r
-        case 27: // escape key\r
-          deselectAllSequenceMenuItem_actionPerformed(null);\r
-\r
-          break;\r
-\r
-        case KeyEvent.VK_DOWN:\r
-          if (evt.isAltDown() || !viewport.cursorMode)\r
-            moveSelectedSequences(false);\r
-          if (viewport.cursorMode)\r
-            alignPanel.seqPanel.moveCursor(0, 1);\r
-          break;\r
-\r
-        case KeyEvent.VK_UP:\r
-          if (evt.isAltDown() || !viewport.cursorMode)\r
-            moveSelectedSequences(true);\r
-          if (viewport.cursorMode)\r
-            alignPanel.seqPanel.moveCursor(0, -1);\r
-\r
-          break;\r
-\r
-        case KeyEvent.VK_LEFT:\r
-          if (evt.isAltDown() || !viewport.cursorMode)\r
-            slideSequences(false, alignPanel.seqPanel.getKeyboardNo1());\r
-          else\r
-            alignPanel.seqPanel.moveCursor(-1, 0);\r
-\r
-          break;\r
-\r
-        case KeyEvent.VK_RIGHT:\r
-          if (evt.isAltDown() || !viewport.cursorMode)\r
-            slideSequences(true, alignPanel.seqPanel.getKeyboardNo1());\r
-          else\r
-            alignPanel.seqPanel.moveCursor(1, 0);\r
-          break;\r
-\r
-        case KeyEvent.VK_SPACE:\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.insertGapAtCursor(evt.isControlDown()\r
-                    || evt.isShiftDown() || evt.isAltDown());\r
-          }\r
-          break;\r
-\r
-        // case KeyEvent.VK_A:\r
-        // if (viewport.cursorMode)\r
-        // {\r
-        // alignPanel.seqPanel.insertNucAtCursor(false,"A");\r
-        // //System.out.println("A");\r
-        // }\r
-        // break;\r
-        /*\r
-         * case KeyEvent.VK_CLOSE_BRACKET: if (viewport.cursorMode) {\r
-         * System.out.println("closing bracket"); } break;\r
-         */\r
-        case KeyEvent.VK_DELETE:\r
-        case KeyEvent.VK_BACK_SPACE:\r
-          if (!viewport.cursorMode)\r
-          {\r
-            cut_actionPerformed(null);\r
-          }\r
-          else\r
-          {\r
-            alignPanel.seqPanel.deleteGapAtCursor(evt.isControlDown()\r
-                    || evt.isShiftDown() || evt.isAltDown());\r
-          }\r
-\r
-          break;\r
-\r
-        case KeyEvent.VK_S:\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.setCursorRow();\r
-          }\r
-          break;\r
-        case KeyEvent.VK_C:\r
-          if (viewport.cursorMode && !evt.isControlDown())\r
-          {\r
-            alignPanel.seqPanel.setCursorColumn();\r
-          }\r
-          break;\r
-        case KeyEvent.VK_P:\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.setCursorPosition();\r
-          }\r
-          break;\r
-\r
-        case KeyEvent.VK_ENTER:\r
-        case KeyEvent.VK_COMMA:\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.setCursorRowAndColumn();\r
-          }\r
-          break;\r
-\r
-        case KeyEvent.VK_Q:\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.setSelectionAreaAtCursor(true);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_M:\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.setSelectionAreaAtCursor(false);\r
-          }\r
-          break;\r
-\r
-        case KeyEvent.VK_F2:\r
-          viewport.cursorMode = !viewport.cursorMode;\r
-          statusBar.setText(MessageManager.formatMessage("label.keyboard_editing_mode", new String[]{(viewport.cursorMode ? "on" : "off")}));\r
-          if (viewport.cursorMode)\r
-          {\r
-            alignPanel.seqPanel.seqCanvas.cursorX = viewport.startRes;\r
-            alignPanel.seqPanel.seqCanvas.cursorY = viewport.startSeq;\r
-          }\r
-          alignPanel.seqPanel.seqCanvas.repaint();\r
-          break;\r
-\r
-        case KeyEvent.VK_F1:\r
-          try\r
-          {\r
-            ClassLoader cl = jalview.gui.Desktop.class.getClassLoader();\r
-            java.net.URL url = javax.help.HelpSet.findHelpSet(cl,\r
-                    "help/help");\r
-            javax.help.HelpSet hs = new javax.help.HelpSet(cl, url);\r
-\r
-            javax.help.HelpBroker hb = hs.createHelpBroker();\r
-            hb.setCurrentID("home");\r
-            hb.setDisplayed(true);\r
-          } catch (Exception ex)\r
-          {\r
-            ex.printStackTrace();\r
-          }\r
-          break;\r
-        case KeyEvent.VK_H:\r
-        {\r
-          boolean toggleSeqs = !evt.isControlDown();\r
-          boolean toggleCols = !evt.isShiftDown();\r
-          toggleHiddenRegions(toggleSeqs, toggleCols);\r
-          break;\r
-        }\r
-        case KeyEvent.VK_PAGE_UP:\r
-          if (viewport.wrapAlignment)\r
-          {\r
-            alignPanel.scrollUp(true);\r
-          }\r
-          else\r
-          {\r
-            alignPanel.setScrollValues(viewport.startRes, viewport.startSeq\r
-                    - viewport.endSeq + viewport.startSeq);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_PAGE_DOWN:\r
-          if (viewport.wrapAlignment)\r
-          {\r
-            alignPanel.scrollUp(false);\r
-          }\r
-          else\r
-          {\r
-            alignPanel.setScrollValues(viewport.startRes, viewport.startSeq\r
-                    + viewport.endSeq - viewport.startSeq);\r
-          }\r
-          break;\r
-        }\r
-      }\r
-\r
-      @Override\r
-      public void keyReleased(KeyEvent evt)\r
-      {\r
-        switch (evt.getKeyCode())\r
-        {\r
-        case KeyEvent.VK_LEFT:\r
-          if (evt.isAltDown() || !viewport.cursorMode)\r
-            viewport.firePropertyChange("alignment", null, viewport\r
-                    .getAlignment().getSequences());\r
-          break;\r
-\r
-        case KeyEvent.VK_RIGHT:\r
-          if (evt.isAltDown() || !viewport.cursorMode)\r
-            viewport.firePropertyChange("alignment", null, viewport\r
-                    .getAlignment().getSequences());\r
-          break;\r
-        }\r
-      }\r
-    });\r
-  }\r
-\r
-  public void addAlignmentPanel(final AlignmentPanel ap, boolean newPanel)\r
-  {\r
-    ap.alignFrame = this;\r
-    avc = new jalview.controller.AlignViewController(viewport, alignPanel);\r
-\r
-    alignPanels.addElement(ap);\r
-\r
-    PaintRefresher.Register(ap, ap.av.getSequenceSetId());\r
-\r
-    int aSize = alignPanels.size();\r
-\r
-    tabbedPane.setVisible(aSize > 1 || ap.av.viewName != null);\r
-\r
-    if (aSize == 1 && ap.av.viewName == null)\r
-    {\r
-      this.getContentPane().add(ap, BorderLayout.CENTER);\r
-    }\r
-    else\r
-    {\r
-      if (aSize == 2)\r
-      {\r
-        setInitialTabVisible();\r
-      }\r
-\r
-      expandViews.setEnabled(true);\r
-      gatherViews.setEnabled(true);\r
-      tabbedPane.addTab(ap.av.viewName, ap);\r
-\r
-      ap.setVisible(false);\r
-    }\r
-\r
-    if (newPanel)\r
-    {\r
-      if (ap.av.isPadGaps())\r
-      {\r
-        ap.av.getAlignment().padGaps();\r
-      }\r
-      ap.av.updateConservation(ap);\r
-      ap.av.updateConsensus(ap);\r
-      ap.av.updateStrucConsensus(ap);\r
-    }\r
-  }\r
-\r
-  public void setInitialTabVisible()\r
-  {\r
-    expandViews.setEnabled(true);\r
-    gatherViews.setEnabled(true);\r
-    tabbedPane.setVisible(true);\r
-    AlignmentPanel first = (AlignmentPanel) alignPanels.firstElement();\r
-    tabbedPane.addTab(first.av.viewName, first);\r
-    this.getContentPane().add(tabbedPane, BorderLayout.CENTER);\r
-  }\r
-\r
-  public AlignViewport getViewport()\r
-  {\r
-    return viewport;\r
-  }\r
-\r
-  /* Set up intrinsic listeners for dynamically generated GUI bits. */\r
-  private void addServiceListeners()\r
-  {\r
-    final java.beans.PropertyChangeListener thisListener;\r
-    Desktop.instance.addJalviewPropertyChangeListener("services",\r
-            thisListener = new java.beans.PropertyChangeListener()\r
-            {\r
-              @Override\r
-              public void propertyChange(PropertyChangeEvent evt)\r
-              {\r
-                // // System.out.println("Discoverer property change.");\r
-                // if (evt.getPropertyName().equals("services"))\r
-                {\r
-                  SwingUtilities.invokeLater(new Runnable()\r
-                  {\r
-\r
-                    @Override\r
-                    public void run()\r
-                    {\r
-                      System.err\r
-                              .println("Rebuild WS Menu for service change");\r
-                      BuildWebServiceMenu();\r
-                    }\r
-\r
-                  });\r
-                }\r
-              }\r
-            });\r
-    addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
-    {\r
-      @Override\r
-      public void internalFrameClosed(\r
-              javax.swing.event.InternalFrameEvent evt)\r
-      {\r
-        System.out.println("deregistering discoverer listener");\r
-        Desktop.instance.removeJalviewPropertyChangeListener("services",\r
-                thisListener);\r
-        closeMenuItem_actionPerformed(true);\r
-      };\r
-    });\r
-    // Finally, build the menu once to get current service state\r
-    new Thread(new Runnable()\r
-    {\r
-      @Override\r
-      public void run()\r
-      {\r
-        BuildWebServiceMenu();\r
-      }\r
-    }).start();\r
-  }\r
-\r
-  public void setGUINucleotide(boolean nucleotide)\r
-  {\r
-    showTranslation.setVisible(nucleotide);\r
-    conservationMenuItem.setEnabled(!nucleotide);\r
-    modifyConservation.setEnabled(!nucleotide);\r
-    showGroupConservation.setEnabled(!nucleotide);\r
-    rnahelicesColour.setEnabled(nucleotide);\r
-    purinePyrimidineColour.setEnabled(nucleotide);\r
-    // Remember AlignFrame always starts as protein\r
-    // if (!nucleotide)\r
-    // {\r
-    // showTr\r
-    // calculateMenu.remove(calculateMenu.getItemCount() - 2);\r
-    // }\r
-  }\r
-\r
-  /**\r
-   * set up menus for the currently viewport. This may be called after any\r
-   * operation that affects the data in the current view (selection changed,\r
-   * etc) to update the menus to reflect the new state.\r
-   */\r
-  public void setMenusForViewport()\r
-  {\r
-    setMenusFromViewport(viewport);\r
-  }\r
-\r
-  /**\r
-   * Need to call this method when tabs are selected for multiple views, or when\r
-   * loading from Jalview2XML.java\r
-   * \r
-   * @param av\r
-   *          AlignViewport\r
-   */\r
-  void setMenusFromViewport(AlignViewport av)\r
-  {\r
-    padGapsMenuitem.setSelected(av.isPadGaps());\r
-    colourTextMenuItem.setSelected(av.showColourText);\r
-    abovePIDThreshold.setSelected(av.getAbovePIDThreshold());\r
-    conservationMenuItem.setSelected(av.getConservationSelected());\r
-    seqLimits.setSelected(av.getShowJVSuffix());\r
-    idRightAlign.setSelected(av.rightAlignIds);\r
-    centreColumnLabelsMenuItem.setState(av.centreColumnLabels);\r
-    renderGapsMenuItem.setSelected(av.renderGaps);\r
-    wrapMenuItem.setSelected(av.wrapAlignment);\r
-    scaleAbove.setVisible(av.wrapAlignment);\r
-    scaleLeft.setVisible(av.wrapAlignment);\r
-    scaleRight.setVisible(av.wrapAlignment);\r
-    annotationPanelMenuItem.setState(av.showAnnotation);\r
-    viewBoxesMenuItem.setSelected(av.showBoxes);\r
-    viewTextMenuItem.setSelected(av.showText);\r
-    showNonconservedMenuItem.setSelected(av.getShowUnconserved());\r
-    showGroupConsensus.setSelected(av.isShowGroupConsensus());\r
-    showGroupConservation.setSelected(av.isShowGroupConservation());\r
-    showConsensusHistogram.setSelected(av.isShowConsensusHistogram());\r
-    showSequenceLogo.setSelected(av.isShowSequenceLogo());\r
-    normaliseSequenceLogo.setSelected(av.isNormaliseSequenceLogo());\r
-\r
-    setColourSelected(ColourSchemeProperty.getColourName(av\r
-            .getGlobalColourScheme()));\r
-\r
-    showSeqFeatures.setSelected(av.showSequenceFeatures);\r
-    hiddenMarkers.setState(av.showHiddenMarkers);\r
-    applyToAllGroups.setState(av.getColourAppliesToAllGroups());\r
-    showNpFeatsMenuitem.setSelected(av.isShowNpFeats());\r
-    showDbRefsMenuitem.setSelected(av.isShowDbRefs());\r
-    autoCalculate.setSelected(av.autoCalculateConsensus);\r
-    sortByTree.setSelected(av.sortByTree);\r
-    listenToViewSelections.setSelected(av.followSelection);\r
-    rnahelicesColour.setEnabled(av.getAlignment().hasRNAStructure());\r
-    rnahelicesColour\r
-            .setSelected(av.getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);\r
-    setShowProductsEnabled();\r
-    updateEditMenuBar();\r
-  }\r
-\r
-  // methods for implementing IProgressIndicator\r
-  // need to refactor to a reusable stub class\r
-  Hashtable progressBars, progressBarHandlers;\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see jalview.gui.IProgressIndicator#setProgressBar(java.lang.String, long)\r
-   */\r
-  @Override\r
-  public void setProgressBar(String message, long id)\r
-  {\r
-    if (progressBars == null)\r
-    {\r
-      progressBars = new Hashtable();\r
-      progressBarHandlers = new Hashtable();\r
-    }\r
-\r
-    JPanel progressPanel;\r
-    Long lId = new Long(id);\r
-    GridLayout layout = (GridLayout) statusPanel.getLayout();\r
-    if (progressBars.get(lId) != null)\r
-    {\r
-      progressPanel = (JPanel) progressBars.get(new Long(id));\r
-      statusPanel.remove(progressPanel);\r
-      progressBars.remove(lId);\r
-      progressPanel = null;\r
-      if (message != null)\r
-      {\r
-        statusBar.setText(message);\r
-      }\r
-      if (progressBarHandlers.contains(lId))\r
-      {\r
-        progressBarHandlers.remove(lId);\r
-      }\r
-      layout.setRows(layout.getRows() - 1);\r
-    }\r
-    else\r
-    {\r
-      progressPanel = new JPanel(new BorderLayout(10, 5));\r
-\r
-      JProgressBar progressBar = new JProgressBar();\r
-      progressBar.setIndeterminate(true);\r
-\r
-      progressPanel.add(new JLabel(message), BorderLayout.WEST);\r
-      progressPanel.add(progressBar, BorderLayout.CENTER);\r
-\r
-      layout.setRows(layout.getRows() + 1);\r
-      statusPanel.add(progressPanel);\r
-\r
-      progressBars.put(lId, progressPanel);\r
-    }\r
-    // update GUI\r
-    // setMenusForViewport();\r
-    validate();\r
-  }\r
-\r
-  @Override\r
-  public void registerHandler(final long id,\r
-          final IProgressIndicatorHandler handler)\r
-  {\r
-    if (progressBarHandlers == null || !progressBars.contains(new Long(id)))\r
-    {\r
-      throw new Error(\r
-              "call setProgressBar before registering the progress bar's handler.");\r
-    }\r
-    progressBarHandlers.put(new Long(id), handler);\r
-    final JPanel progressPanel = (JPanel) progressBars.get(new Long(id));\r
-    if (handler.canCancel())\r
-    {\r
-      JButton cancel = new JButton(MessageManager.getString("action.cancel"));\r
-      final IProgressIndicator us = this;\r
-      cancel.addActionListener(new ActionListener()\r
-      {\r
-\r
-        @Override\r
-        public void actionPerformed(ActionEvent e)\r
-        {\r
-          handler.cancelActivity(id);\r
-          us.setProgressBar(\r
-                  "Cancelled "\r
-                          + ((JLabel) progressPanel.getComponent(0))\r
-                                  .getText(), id);\r
-        }\r
-      });\r
-      progressPanel.add(cancel, BorderLayout.EAST);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @return true if any progress bars are still active\r
-   */\r
-  @Override\r
-  public boolean operationInProgress()\r
-  {\r
-    if (progressBars != null && progressBars.size() > 0)\r
-    {\r
-      return true;\r
-    }\r
-    return false;\r
-  }\r
-\r
-  /*\r
-   * Added so Castor Mapping file can obtain Jalview Version\r
-   */\r
-  public String getVersion()\r
-  {\r
-    return jalview.bin.Cache.getProperty("VERSION");\r
-  }\r
-\r
-  public FeatureRenderer getFeatureRenderer()\r
-  {\r
-    return alignPanel.seqPanel.seqCanvas.getFeatureRenderer();\r
-  }\r
-\r
-  @Override\r
-  public void fetchSequence_actionPerformed(ActionEvent e)\r
-  {\r
-    new SequenceFetcher(this);\r
-  }\r
-\r
-  @Override\r
-  public void addFromFile_actionPerformed(ActionEvent e)\r
-  {\r
-    Desktop.instance.inputLocalFileMenuItem_actionPerformed(viewport);\r
-  }\r
-\r
-  @Override\r
-  public void reload_actionPerformed(ActionEvent e)\r
-  {\r
-    if (fileName != null)\r
-    {\r
-      // TODO: JAL-1108 - ensure all associated frames are closed regardless of\r
-      // originating file's format\r
-      // TODO: work out how to recover feature settings for correct view(s) when\r
-      // file is reloaded.\r
-      if (currentFileFormat.equals("Jalview"))\r
-      {\r
-        JInternalFrame[] frames = Desktop.desktop.getAllFrames();\r
-        for (int i = 0; i < frames.length; i++)\r
-        {\r
-          if (frames[i] instanceof AlignFrame && frames[i] != this\r
-                  && ((AlignFrame) frames[i]).fileName != null\r
-                  && ((AlignFrame) frames[i]).fileName.equals(fileName))\r
-          {\r
-            try\r
-            {\r
-              frames[i].setSelected(true);\r
-              Desktop.instance.closeAssociatedWindows();\r
-            } catch (java.beans.PropertyVetoException ex)\r
-            {\r
-            }\r
-          }\r
-\r
-        }\r
-        Desktop.instance.closeAssociatedWindows();\r
-\r
-        FileLoader loader = new FileLoader();\r
-        String protocol = fileName.startsWith("http:") ? "URL" : "File";\r
-        loader.LoadFile(viewport, fileName, protocol, currentFileFormat);\r
-      }\r
-      else\r
-      {\r
-        Rectangle bounds = this.getBounds();\r
-\r
-        FileLoader loader = new FileLoader();\r
-        String protocol = fileName.startsWith("http:") ? "URL" : "File";\r
-        AlignFrame newframe = loader.LoadFileWaitTillLoaded(fileName,\r
-                protocol, currentFileFormat);\r
-\r
-        newframe.setBounds(bounds);\r
-        if (featureSettings != null && featureSettings.isShowing())\r
-        {\r
-          final Rectangle fspos = featureSettings.frame.getBounds();\r
-          // TODO: need a 'show feature settings' function that takes bounds -\r
-          // need to refactor Desktop.addFrame\r
-          newframe.featureSettings_actionPerformed(null);\r
-          final FeatureSettings nfs = newframe.featureSettings;\r
-          SwingUtilities.invokeLater(new Runnable()\r
-          {\r
-            @Override\r
-            public void run()\r
-            {\r
-              nfs.frame.setBounds(fspos);\r
-            }\r
-          });\r
-          this.featureSettings.close();\r
-          this.featureSettings = null;\r
-        }\r
-        this.closeMenuItem_actionPerformed(true);\r
-      }\r
-    }\r
-  }\r
-\r
-  @Override\r
-  public void addFromText_actionPerformed(ActionEvent e)\r
-  {\r
-    Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport);\r
-  }\r
-\r
-  @Override\r
-  public void addFromURL_actionPerformed(ActionEvent e)\r
-  {\r
-    Desktop.instance.inputURLMenuItem_actionPerformed(viewport);\r
-  }\r
-\r
-  @Override\r
-  public void save_actionPerformed(ActionEvent e)\r
-  {\r
-    if (fileName == null\r
-            || (currentFileFormat == null || !jalview.io.FormatAdapter\r
-                    .isValidIOFormat(currentFileFormat, true))\r
-            || fileName.startsWith("http"))\r
-    {\r
-      saveAs_actionPerformed(null);\r
-    }\r
-    else\r
-    {\r
-      saveAlignment(fileName, currentFileFormat);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void saveAs_actionPerformed(ActionEvent e)\r
-  {\r
-    JalviewFileChooser chooser = new JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"),\r
-            jalview.io.AppletFormatAdapter.WRITABLE_EXTENSIONS,\r
-            jalview.io.AppletFormatAdapter.WRITABLE_FNAMES,\r
-            currentFileFormat, false);\r
-\r
-    chooser.setFileView(new JalviewFileView());\r
-    chooser.setDialogTitle("Save Alignment to file");\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import jalview.analysis.AAFrequency;
+import jalview.analysis.AlignmentSorter;
+import jalview.analysis.Conservation;
+import jalview.analysis.CrossRef;
+import jalview.analysis.NJTree;
+import jalview.analysis.ParseProperties;
+import jalview.analysis.SequenceIdMatcher;
+import jalview.api.AlignViewControllerI;
+import jalview.bin.Cache;
+import jalview.commands.CommandI;
+import jalview.commands.EditCommand;
+import jalview.commands.OrderCommand;
+import jalview.commands.RemoveGapColCommand;
+import jalview.commands.RemoveGapsCommand;
+import jalview.commands.SlideSequencesCommand;
+import jalview.commands.TrimRegionCommand;
+import jalview.datamodel.AlignedCodonFrame;
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentOrder;
+import jalview.datamodel.AlignmentView;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SeqCigar;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
+import jalview.io.AlignmentProperties;
+import jalview.io.AnnotationFile;
+import jalview.io.FeaturesFile;
+import jalview.io.FileLoader;
+import jalview.io.FormatAdapter;
+import jalview.io.HTMLOutput;
+import jalview.io.IdentifyFile;
+import jalview.io.JalviewFileChooser;
+import jalview.io.JalviewFileView;
+import jalview.io.JnetAnnotationMaker;
+import jalview.io.NewickFile;
+import jalview.io.TCoffeeScoreFile;
+import jalview.jbgui.GAlignFrame;
+import jalview.schemes.Blosum62ColourScheme;
+import jalview.schemes.BuriedColourScheme;
+import jalview.schemes.ClustalxColourScheme;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.ColourSchemeProperty;
+import jalview.schemes.HelixColourScheme;
+import jalview.schemes.HydrophobicColourScheme;
+import jalview.schemes.NucleotideColourScheme;
+import jalview.schemes.PIDColourScheme;
+import jalview.schemes.PurinePyrimidineColourScheme;
+import jalview.schemes.RNAHelicesColourChooser;
+import jalview.schemes.ResidueProperties;
+import jalview.schemes.StrandColourScheme;
+import jalview.schemes.TCoffeeColourScheme;
+import jalview.schemes.TaylorColourScheme;
+import jalview.schemes.TurnColourScheme;
+import jalview.schemes.UserColourScheme;
+import jalview.schemes.ZappoColourScheme;
+import jalview.util.MessageManager;
+import jalview.ws.jws1.Discoverer;
+import jalview.ws.jws2.Jws2Discoverer;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.seqfetcher.DbSourceProxy;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.GridLayout;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DropTargetDragEvent;
+import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.print.PageFormat;
+import java.awt.print.PrinterJob;
+import java.beans.PropertyChangeEvent;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
+import javax.swing.JButton;
+import javax.swing.JEditorPane;
+import javax.swing.JInternalFrame;
+import javax.swing.JLabel;
+import javax.swing.JLayeredPane;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JProgressBar;
+import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JScrollPane;
+import javax.swing.SwingUtilities;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
+public class AlignFrame extends GAlignFrame implements DropTargetListener,
+        IProgressIndicator
+{
+
+  /** DOCUMENT ME!! */
+  public static final int DEFAULT_WIDTH = 700;
+
+  /** DOCUMENT ME!! */
+  public static final int DEFAULT_HEIGHT = 500;
+
+  public AlignmentPanel alignPanel;
+
+  AlignViewport viewport;
+  public AlignViewControllerI avc;
+
+  Vector alignPanels = new Vector();
+
+  /**
+   * Last format used to load or save alignments in this window
+   */
+  String currentFileFormat = null;
+
+  /**
+   * Current filename for this alignment
+   */
+  String fileName = null;
+
+  /**
+   * Creates a new AlignFrame object with specific width and height.
+   * 
+   * @param al
+   * @param width
+   * @param height
+   */
+  public AlignFrame(AlignmentI al, int width, int height)
+  {
+    this(al, null, width, height);
+  }
+
+  /**
+   * Creates a new AlignFrame object with specific width, height and
+   * sequenceSetId
+   * 
+   * @param al
+   * @param width
+   * @param height
+   * @param sequenceSetId
+   */
+  public AlignFrame(AlignmentI al, int width, int height,
+          String sequenceSetId)
+  {
+    this(al, null, width, height, sequenceSetId);
+  }
+
+  /**
+   * Creates a new AlignFrame object with specific width, height and
+   * sequenceSetId
+   * 
+   * @param al
+   * @param width
+   * @param height
+   * @param sequenceSetId
+   * @param viewId
+   */
+  public AlignFrame(AlignmentI al, int width, int height,
+          String sequenceSetId, String viewId)
+  {
+    this(al, null, width, height, sequenceSetId, viewId);
+  }
+
+  /**
+   * new alignment window with hidden columns
+   * 
+   * @param al
+   *          AlignmentI
+   * @param hiddenColumns
+   *          ColumnSelection or null
+   * @param width
+   *          Width of alignment frame
+   * @param height
+   *          height of frame.
+   */
+  public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,
+          int width, int height)
+  {
+    this(al, hiddenColumns, width, height, null);
+  }
+
+  /**
+   * Create alignment frame for al with hiddenColumns, a specific width and
+   * height, and specific sequenceId
+   * 
+   * @param al
+   * @param hiddenColumns
+   * @param width
+   * @param height
+   * @param sequenceSetId
+   *          (may be null)
+   */
+  public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,
+          int width, int height, String sequenceSetId)
+  {
+    this(al, hiddenColumns, width, height, sequenceSetId, null);
+  }
+
+  /**
+   * Create alignment frame for al with hiddenColumns, a specific width and
+   * height, and specific sequenceId
+   * 
+   * @param al
+   * @param hiddenColumns
+   * @param width
+   * @param height
+   * @param sequenceSetId
+   *          (may be null)
+   * @param viewId
+   *          (may be null)
+   */
+  public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,
+          int width, int height, String sequenceSetId, String viewId)
+  {
+    setSize(width, height);
+    viewport = new AlignViewport(al, hiddenColumns, sequenceSetId, viewId);
+
+    alignPanel = new AlignmentPanel(this, viewport);
+
+    if (al.getDataset() == null)
+    {
+      al.setDataset(null);
+    }
+
+    addAlignmentPanel(alignPanel, true);
+    init();
+  }
+
+  /**
+   * Make a new AlignFrame from exisiting alignmentPanels
+   * 
+   * @param ap
+   *          AlignmentPanel
+   * @param av
+   *          AlignViewport
+   */
+  public AlignFrame(AlignmentPanel ap)
+  {
+    viewport = ap.av;
+    alignPanel = ap;
+    addAlignmentPanel(ap, false);
+    init();
+  }
+
+  /**
+   * initalise the alignframe from the underlying viewport data and the
+   * configurations
+   */
+  void init()
+  {
+    avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+    if (viewport.getAlignmentConservationAnnotation() == null)
+    {
+      BLOSUM62Colour.setEnabled(false);
+      conservationMenuItem.setEnabled(false);
+      modifyConservation.setEnabled(false);
+      // PIDColour.setEnabled(false);
+      // abovePIDThreshold.setEnabled(false);
+      // modifyPID.setEnabled(false);
+    }
+
+    String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT",
+            "No sort");
+
+    if (sortby.equals("Id"))
+    {
+      sortIDMenuItem_actionPerformed(null);
+    }
+    else if (sortby.equals("Pairwise Identity"))
+    {
+      sortPairwiseMenuItem_actionPerformed(null);
+    }
+
+    if (Desktop.desktop != null)
+    {
+      this.setDropTarget(new java.awt.dnd.DropTarget(this, this));
+      addServiceListeners();
+      setGUINucleotide(viewport.getAlignment().isNucleotide());
+    }
+
+    setMenusFromViewport(viewport);
+    buildSortByAnnotationScoresMenu();
+    if (viewport.wrapAlignment)
+    {
+      wrapMenuItem_actionPerformed(null);
+    }
+
+    if (jalview.bin.Cache.getDefault("SHOW_OVERVIEW", false))
+    {
+      this.overviewMenuItem_actionPerformed(null);
+    }
+
+    addKeyListener();
+    
+  }
+
+  /**
+   * Change the filename and format for the alignment, and enable the 'reload'
+   * button functionality.
+   * 
+   * @param file
+   *          valid filename
+   * @param format
+   *          format of file
+   */
+  public void setFileName(String file, String format)
+  {
+    fileName = file;
+    currentFileFormat = format;
+    reload.setEnabled(true);
+  }
+
+  void addKeyListener()
+  {
+    addKeyListener(new KeyAdapter()
+    {
+      @Override
+      public void keyPressed(KeyEvent evt)
+      {
+        if (viewport.cursorMode
+                && ((evt.getKeyCode() >= KeyEvent.VK_0 && evt.getKeyCode() <= KeyEvent.VK_9) || (evt
+                        .getKeyCode() >= KeyEvent.VK_NUMPAD0 && evt
+                        .getKeyCode() <= KeyEvent.VK_NUMPAD9))
+                && Character.isDigit(evt.getKeyChar()))
+          alignPanel.seqPanel.numberPressed(evt.getKeyChar());
+
+        switch (evt.getKeyCode())
+        {
+
+        case 27: // escape key
+          deselectAllSequenceMenuItem_actionPerformed(null);
+
+          break;
+
+        case KeyEvent.VK_DOWN:
+          if (evt.isAltDown() || !viewport.cursorMode)
+            moveSelectedSequences(false);
+          if (viewport.cursorMode)
+            alignPanel.seqPanel.moveCursor(0, 1);
+          break;
+
+        case KeyEvent.VK_UP:
+          if (evt.isAltDown() || !viewport.cursorMode)
+            moveSelectedSequences(true);
+          if (viewport.cursorMode)
+            alignPanel.seqPanel.moveCursor(0, -1);
+
+          break;
+
+        case KeyEvent.VK_LEFT:
+          if (evt.isAltDown() || !viewport.cursorMode)
+            slideSequences(false, alignPanel.seqPanel.getKeyboardNo1());
+          else
+            alignPanel.seqPanel.moveCursor(-1, 0);
+
+          break;
+
+        case KeyEvent.VK_RIGHT:
+          if (evt.isAltDown() || !viewport.cursorMode)
+            slideSequences(true, alignPanel.seqPanel.getKeyboardNo1());
+          else
+            alignPanel.seqPanel.moveCursor(1, 0);
+          break;
+
+        case KeyEvent.VK_SPACE:
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.insertGapAtCursor(evt.isControlDown()
+                    || evt.isShiftDown() || evt.isAltDown());
+          }
+          break;
+
+        // case KeyEvent.VK_A:
+        // if (viewport.cursorMode)
+        // {
+        // alignPanel.seqPanel.insertNucAtCursor(false,"A");
+        // //System.out.println("A");
+        // }
+        // break;
+        /*
+         * case KeyEvent.VK_CLOSE_BRACKET: if (viewport.cursorMode) {
+         * System.out.println("closing bracket"); } break;
+         */
+        case KeyEvent.VK_DELETE:
+        case KeyEvent.VK_BACK_SPACE:
+          if (!viewport.cursorMode)
+          {
+            cut_actionPerformed(null);
+          }
+          else
+          {
+            alignPanel.seqPanel.deleteGapAtCursor(evt.isControlDown()
+                    || evt.isShiftDown() || evt.isAltDown());
+          }
+
+          break;
+
+        case KeyEvent.VK_S:
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.setCursorRow();
+          }
+          break;
+        case KeyEvent.VK_C:
+          if (viewport.cursorMode && !evt.isControlDown())
+          {
+            alignPanel.seqPanel.setCursorColumn();
+          }
+          break;
+        case KeyEvent.VK_P:
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.setCursorPosition();
+          }
+          break;
+
+        case KeyEvent.VK_ENTER:
+        case KeyEvent.VK_COMMA:
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.setCursorRowAndColumn();
+          }
+          break;
+
+        case KeyEvent.VK_Q:
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.setSelectionAreaAtCursor(true);
+          }
+          break;
+        case KeyEvent.VK_M:
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.setSelectionAreaAtCursor(false);
+          }
+          break;
+
+        case KeyEvent.VK_F2:
+          viewport.cursorMode = !viewport.cursorMode;
+          statusBar.setText(MessageManager.formatMessage("label.keyboard_editing_mode", new String[]{(viewport.cursorMode ? "on" : "off")}));
+          if (viewport.cursorMode)
+          {
+            alignPanel.seqPanel.seqCanvas.cursorX = viewport.startRes;
+            alignPanel.seqPanel.seqCanvas.cursorY = viewport.startSeq;
+          }
+          alignPanel.seqPanel.seqCanvas.repaint();
+          break;
+
+        case KeyEvent.VK_F1:
+          try
+          {
+            ClassLoader cl = jalview.gui.Desktop.class.getClassLoader();
+            java.net.URL url = javax.help.HelpSet.findHelpSet(cl,
+                    "help/help");
+            javax.help.HelpSet hs = new javax.help.HelpSet(cl, url);
+
+            javax.help.HelpBroker hb = hs.createHelpBroker();
+            hb.setCurrentID("home");
+            hb.setDisplayed(true);
+          } catch (Exception ex)
+          {
+            ex.printStackTrace();
+          }
+          break;
+        case KeyEvent.VK_H:
+        {
+          boolean toggleSeqs = !evt.isControlDown();
+          boolean toggleCols = !evt.isShiftDown();
+          toggleHiddenRegions(toggleSeqs, toggleCols);
+          break;
+        }
+        case KeyEvent.VK_PAGE_UP:
+          if (viewport.wrapAlignment)
+          {
+            alignPanel.scrollUp(true);
+          }
+          else
+          {
+            alignPanel.setScrollValues(viewport.startRes, viewport.startSeq
+                    - viewport.endSeq + viewport.startSeq);
+          }
+          break;
+        case KeyEvent.VK_PAGE_DOWN:
+          if (viewport.wrapAlignment)
+          {
+            alignPanel.scrollUp(false);
+          }
+          else
+          {
+            alignPanel.setScrollValues(viewport.startRes, viewport.startSeq
+                    + viewport.endSeq - viewport.startSeq);
+          }
+          break;
+        }
+      }
+
+      @Override
+      public void keyReleased(KeyEvent evt)
+      {
+        switch (evt.getKeyCode())
+        {
+        case KeyEvent.VK_LEFT:
+          if (evt.isAltDown() || !viewport.cursorMode)
+            viewport.firePropertyChange("alignment", null, viewport
+                    .getAlignment().getSequences());
+          break;
+
+        case KeyEvent.VK_RIGHT:
+          if (evt.isAltDown() || !viewport.cursorMode)
+            viewport.firePropertyChange("alignment", null, viewport
+                    .getAlignment().getSequences());
+          break;
+        }
+      }
+    });
+  }
+
+  public void addAlignmentPanel(final AlignmentPanel ap, boolean newPanel)
+  {
+    ap.alignFrame = this;
+    avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+
+    alignPanels.addElement(ap);
+
+    PaintRefresher.Register(ap, ap.av.getSequenceSetId());
+
+    int aSize = alignPanels.size();
+
+    tabbedPane.setVisible(aSize > 1 || ap.av.viewName != null);
+
+    if (aSize == 1 && ap.av.viewName == null)
+    {
+      this.getContentPane().add(ap, BorderLayout.CENTER);
+    }
+    else
+    {
+      if (aSize == 2)
+      {
+        setInitialTabVisible();
+      }
+
+      expandViews.setEnabled(true);
+      gatherViews.setEnabled(true);
+      tabbedPane.addTab(ap.av.viewName, ap);
+
+      ap.setVisible(false);
+    }
+
+    if (newPanel)
+    {
+      if (ap.av.isPadGaps())
+      {
+        ap.av.getAlignment().padGaps();
+      }
+      ap.av.updateConservation(ap);
+      ap.av.updateConsensus(ap);
+      ap.av.updateStrucConsensus(ap);
+    }
+  }
+
+  public void setInitialTabVisible()
+  {
+    expandViews.setEnabled(true);
+    gatherViews.setEnabled(true);
+    tabbedPane.setVisible(true);
+    AlignmentPanel first = (AlignmentPanel) alignPanels.firstElement();
+    tabbedPane.addTab(first.av.viewName, first);
+    this.getContentPane().add(tabbedPane, BorderLayout.CENTER);
+  }
+
+  public AlignViewport getViewport()
+  {
+    return viewport;
+  }
+
+  /* Set up intrinsic listeners for dynamically generated GUI bits. */
+  private void addServiceListeners()
+  {
+    final java.beans.PropertyChangeListener thisListener;
+    Desktop.instance.addJalviewPropertyChangeListener("services",
+            thisListener = new java.beans.PropertyChangeListener()
+            {
+              @Override
+              public void propertyChange(PropertyChangeEvent evt)
+              {
+                // // System.out.println("Discoverer property change.");
+                // if (evt.getPropertyName().equals("services"))
+                {
+                  SwingUtilities.invokeLater(new Runnable()
+                  {
+
+                    @Override
+                    public void run()
+                    {
+                      System.err
+                              .println("Rebuild WS Menu for service change");
+                      BuildWebServiceMenu();
+                    }
+
+                  });
+                }
+              }
+            });
+    addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+    {
+      @Override
+      public void internalFrameClosed(
+              javax.swing.event.InternalFrameEvent evt)
+      {
+        System.out.println("deregistering discoverer listener");
+        Desktop.instance.removeJalviewPropertyChangeListener("services",
+                thisListener);
+        closeMenuItem_actionPerformed(true);
+      };
+    });
+    // Finally, build the menu once to get current service state
+    new Thread(new Runnable()
+    {
+      @Override
+      public void run()
+      {
+        BuildWebServiceMenu();
+      }
+    }).start();
+  }
+
+  public void setGUINucleotide(boolean nucleotide)
+  {
+    showTranslation.setVisible(nucleotide);
+    conservationMenuItem.setEnabled(!nucleotide);
+    modifyConservation.setEnabled(!nucleotide);
+    showGroupConservation.setEnabled(!nucleotide);
+    rnahelicesColour.setEnabled(nucleotide);
+    purinePyrimidineColour.setEnabled(nucleotide);
+    // Remember AlignFrame always starts as protein
+    // if (!nucleotide)
+    // {
+    // showTr
+    // calculateMenu.remove(calculateMenu.getItemCount() - 2);
+    // }
+  }
+
+  /**
+   * set up menus for the currently viewport. This may be called after any
+   * operation that affects the data in the current view (selection changed,
+   * etc) to update the menus to reflect the new state.
+   */
+  public void setMenusForViewport()
+  {
+    setMenusFromViewport(viewport);
+  }
+
+  /**
+   * Need to call this method when tabs are selected for multiple views, or when
+   * loading from Jalview2XML.java
+   * 
+   * @param av
+   *          AlignViewport
+   */
+  void setMenusFromViewport(AlignViewport av)
+  {
+    padGapsMenuitem.setSelected(av.isPadGaps());
+    colourTextMenuItem.setSelected(av.showColourText);
+    abovePIDThreshold.setSelected(av.getAbovePIDThreshold());
+    conservationMenuItem.setSelected(av.getConservationSelected());
+    seqLimits.setSelected(av.getShowJVSuffix());
+    idRightAlign.setSelected(av.rightAlignIds);
+    centreColumnLabelsMenuItem.setState(av.centreColumnLabels);
+    renderGapsMenuItem.setSelected(av.renderGaps);
+    wrapMenuItem.setSelected(av.wrapAlignment);
+    scaleAbove.setVisible(av.wrapAlignment);
+    scaleLeft.setVisible(av.wrapAlignment);
+    scaleRight.setVisible(av.wrapAlignment);
+    annotationPanelMenuItem.setState(av.showAnnotation);
+    viewBoxesMenuItem.setSelected(av.showBoxes);
+    viewTextMenuItem.setSelected(av.showText);
+    showNonconservedMenuItem.setSelected(av.getShowUnconserved());
+    showGroupConsensus.setSelected(av.isShowGroupConsensus());
+    showGroupConservation.setSelected(av.isShowGroupConservation());
+    showConsensusHistogram.setSelected(av.isShowConsensusHistogram());
+    showSequenceLogo.setSelected(av.isShowSequenceLogo());
+    normaliseSequenceLogo.setSelected(av.isNormaliseSequenceLogo());
+
+    setColourSelected(ColourSchemeProperty.getColourName(av
+            .getGlobalColourScheme()));
+
+    showSeqFeatures.setSelected(av.showSequenceFeatures);
+    hiddenMarkers.setState(av.showHiddenMarkers);
+    applyToAllGroups.setState(av.getColourAppliesToAllGroups());
+    showNpFeatsMenuitem.setSelected(av.isShowNpFeats());
+    showDbRefsMenuitem.setSelected(av.isShowDbRefs());
+    autoCalculate.setSelected(av.autoCalculateConsensus);
+    sortByTree.setSelected(av.sortByTree);
+    listenToViewSelections.setSelected(av.followSelection);
+    rnahelicesColour.setEnabled(av.getAlignment().hasRNAStructure());
+    rnahelicesColour
+            .setSelected(av.getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);
+    setShowProductsEnabled();
+    updateEditMenuBar();
+  }
+
+  // methods for implementing IProgressIndicator
+  // need to refactor to a reusable stub class
+  Hashtable progressBars, progressBarHandlers;
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see jalview.gui.IProgressIndicator#setProgressBar(java.lang.String, long)
+   */
+  @Override
+  public void setProgressBar(String message, long id)
+  {
+    if (progressBars == null)
+    {
+      progressBars = new Hashtable();
+      progressBarHandlers = new Hashtable();
+    }
+
+    JPanel progressPanel;
+    Long lId = new Long(id);
+    GridLayout layout = (GridLayout) statusPanel.getLayout();
+    if (progressBars.get(lId) != null)
+    {
+      progressPanel = (JPanel) progressBars.get(new Long(id));
+      statusPanel.remove(progressPanel);
+      progressBars.remove(lId);
+      progressPanel = null;
+      if (message != null)
+      {
+        statusBar.setText(message);
+      }
+      if (progressBarHandlers.contains(lId))
+      {
+        progressBarHandlers.remove(lId);
+      }
+      layout.setRows(layout.getRows() - 1);
+    }
+    else
+    {
+      progressPanel = new JPanel(new BorderLayout(10, 5));
+
+      JProgressBar progressBar = new JProgressBar();
+      progressBar.setIndeterminate(true);
+
+      progressPanel.add(new JLabel(message), BorderLayout.WEST);
+      progressPanel.add(progressBar, BorderLayout.CENTER);
+
+      layout.setRows(layout.getRows() + 1);
+      statusPanel.add(progressPanel);
+
+      progressBars.put(lId, progressPanel);
+    }
+    // update GUI
+    // setMenusForViewport();
+    validate();
+  }
+
+  @Override
+  public void registerHandler(final long id,
+          final IProgressIndicatorHandler handler)
+  {
+    if (progressBarHandlers == null || !progressBars.contains(new Long(id)))
+    {
+      throw new Error(
+              "call setProgressBar before registering the progress bar's handler.");
+    }
+    progressBarHandlers.put(new Long(id), handler);
+    final JPanel progressPanel = (JPanel) progressBars.get(new Long(id));
+    if (handler.canCancel())
+    {
+      JButton cancel = new JButton(MessageManager.getString("action.cancel"));
+      final IProgressIndicator us = this;
+      cancel.addActionListener(new ActionListener()
+      {
+
+        @Override
+        public void actionPerformed(ActionEvent e)
+        {
+          handler.cancelActivity(id);
+          us.setProgressBar(
+                  "Cancelled "
+                          + ((JLabel) progressPanel.getComponent(0))
+                                  .getText(), id);
+        }
+      });
+      progressPanel.add(cancel, BorderLayout.EAST);
+    }
+  }
+
+  /**
+   * 
+   * @return true if any progress bars are still active
+   */
+  @Override
+  public boolean operationInProgress()
+  {
+    if (progressBars != null && progressBars.size() > 0)
+    {
+      return true;
+    }
+    return false;
+  }
+
+  /*
+   * Added so Castor Mapping file can obtain Jalview Version
+   */
+  public String getVersion()
+  {
+    return jalview.bin.Cache.getProperty("VERSION");
+  }
+
+  public FeatureRenderer getFeatureRenderer()
+  {
+    return alignPanel.seqPanel.seqCanvas.getFeatureRenderer();
+  }
+
+  @Override
+  public void fetchSequence_actionPerformed(ActionEvent e)
+  {
+    new SequenceFetcher(this);
+  }
+
+  @Override
+  public void addFromFile_actionPerformed(ActionEvent e)
+  {
+    Desktop.instance.inputLocalFileMenuItem_actionPerformed(viewport);
+  }
+
+  @Override
+  public void reload_actionPerformed(ActionEvent e)
+  {
+    if (fileName != null)
+    {
+      // TODO: JAL-1108 - ensure all associated frames are closed regardless of
+      // originating file's format
+      // TODO: work out how to recover feature settings for correct view(s) when
+      // file is reloaded.
+      if (currentFileFormat.equals("Jalview"))
+      {
+        JInternalFrame[] frames = Desktop.desktop.getAllFrames();
+        for (int i = 0; i < frames.length; i++)
+        {
+          if (frames[i] instanceof AlignFrame && frames[i] != this
+                  && ((AlignFrame) frames[i]).fileName != null
+                  && ((AlignFrame) frames[i]).fileName.equals(fileName))
+          {
+            try
+            {
+              frames[i].setSelected(true);
+              Desktop.instance.closeAssociatedWindows();
+            } catch (java.beans.PropertyVetoException ex)
+            {
+            }
+          }
+
+        }
+        Desktop.instance.closeAssociatedWindows();
+
+        FileLoader loader = new FileLoader();
+        String protocol = fileName.startsWith("http:") ? "URL" : "File";
+        loader.LoadFile(viewport, fileName, protocol, currentFileFormat);
+      }
+      else
+      {
+        Rectangle bounds = this.getBounds();
+
+        FileLoader loader = new FileLoader();
+        String protocol = fileName.startsWith("http:") ? "URL" : "File";
+        AlignFrame newframe = loader.LoadFileWaitTillLoaded(fileName,
+                protocol, currentFileFormat);
+
+        newframe.setBounds(bounds);
+        if (featureSettings != null && featureSettings.isShowing())
+        {
+          final Rectangle fspos = featureSettings.frame.getBounds();
+          // TODO: need a 'show feature settings' function that takes bounds -
+          // need to refactor Desktop.addFrame
+          newframe.featureSettings_actionPerformed(null);
+          final FeatureSettings nfs = newframe.featureSettings;
+          SwingUtilities.invokeLater(new Runnable()
+          {
+            @Override
+            public void run()
+            {
+              nfs.frame.setBounds(fspos);
+            }
+          });
+          this.featureSettings.close();
+          this.featureSettings = null;
+        }
+        this.closeMenuItem_actionPerformed(true);
+      }
+    }
+  }
+
+  @Override
+  public void addFromText_actionPerformed(ActionEvent e)
+  {
+    Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport);
+  }
+
+  @Override
+  public void addFromURL_actionPerformed(ActionEvent e)
+  {
+    Desktop.instance.inputURLMenuItem_actionPerformed(viewport);
+  }
+
+  @Override
+  public void save_actionPerformed(ActionEvent e)
+  {
+    if (fileName == null
+            || (currentFileFormat == null || !jalview.io.FormatAdapter
+                    .isValidIOFormat(currentFileFormat, true))
+            || fileName.startsWith("http"))
+    {
+      saveAs_actionPerformed(null);
+    }
+    else
+    {
+      saveAlignment(fileName, currentFileFormat);
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void saveAs_actionPerformed(ActionEvent e)
+  {
+    JalviewFileChooser chooser = new JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
+            jalview.io.AppletFormatAdapter.WRITABLE_EXTENSIONS,
+            jalview.io.AppletFormatAdapter.WRITABLE_FNAMES,
+            currentFileFormat, false);
+
+    chooser.setFileView(new JalviewFileView());
+    chooser.setDialogTitle("Save Alignment to file");
     chooser.setToolTipText(MessageManager.getString("action.save"));\r
-\r
-    int value = chooser.showSaveDialog(this);\r
-\r
-    if (value == JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      currentFileFormat = chooser.getSelectedFormat();\r
-      if (currentFileFormat == null)\r
-      {\r
-        JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
-                MessageManager.getString("label.select_file_format_before_saving"),\r
-                MessageManager.getString("label.file_format_not_specified"), JOptionPane.WARNING_MESSAGE);\r
-        value = chooser.showSaveDialog(this);\r
-        return;\r
-      }\r
-\r
-      fileName = chooser.getSelectedFile().getPath();\r
-\r
-      jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT",\r
-              currentFileFormat);\r
-\r
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", fileName);\r
-      if (currentFileFormat.indexOf(" ") > -1)\r
-      {\r
-        currentFileFormat = currentFileFormat.substring(0,\r
-                currentFileFormat.indexOf(" "));\r
-      }\r
-      saveAlignment(fileName, currentFileFormat);\r
-    }\r
-  }\r
-\r
-  public boolean saveAlignment(String file, String format)\r
-  {\r
-    boolean success = true;\r
-\r
-    if (format.equalsIgnoreCase("Jalview"))\r
-    {\r
-      String shortName = title;\r
-\r
-      if (shortName.indexOf(java.io.File.separatorChar) > -1)\r
-      {\r
-        shortName = shortName.substring(shortName\r
-                .lastIndexOf(java.io.File.separatorChar) + 1);\r
-      }\r
-\r
-      success = new Jalview2XML().SaveAlignment(this, file, shortName);\r
-\r
-      statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));\r
-\r
-\r
-    }\r
-    else\r
-    {\r
-      if (!jalview.io.AppletFormatAdapter.isValidFormat(format, true))\r
-      {\r
-        warningMessage("Cannot save file " + fileName + " using format "\r
-                + format, "Alignment output format not supported");\r
-        saveAs_actionPerformed(null);\r
-        // JBPNote need to have a raise_gui flag here\r
-        return false;\r
-      }\r
-\r
-      String[] omitHidden = null;\r
-\r
-      if (viewport.hasHiddenColumns())\r
-      {\r
-        int reply = JOptionPane\r
-                .showInternalConfirmDialog(\r
-                        Desktop.desktop,\r
-                        MessageManager.getString("label.alignment_contains_hidden_columns"),\r
-                        MessageManager.getString("action.save_omit_hidden_columns"),\r
-                        JOptionPane.YES_NO_OPTION,\r
-                        JOptionPane.QUESTION_MESSAGE);\r
-\r
-        if (reply == JOptionPane.YES_OPTION)\r
-        {\r
-          omitHidden = viewport.getViewAsString(false);\r
-        }\r
-      }\r
-      FormatAdapter f = new FormatAdapter();\r
-      String output = f.formatSequences(format,\r
-              viewport.getAlignment(), // class cast exceptions will\r
-              // occur in the distant future\r
-              omitHidden, f.getCacheSuffixDefault(format),\r
-              viewport.getColumnSelection());\r
-\r
-      if (output == null)\r
-      {\r
-        success = false;\r
-      }\r
-      else\r
-      {\r
-        try\r
-        {\r
-          java.io.PrintWriter out = new java.io.PrintWriter(\r
-                  new java.io.FileWriter(file));\r
-\r
-          out.print(output);\r
-          out.close();\r
-          this.setTitle(file);\r
-          statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));\r
-        } catch (Exception ex)\r
-        {\r
-          success = false;\r
-          ex.printStackTrace();\r
-        }\r
-      }\r
-    }\r
-\r
-    if (!success)\r
-    {\r
-      JOptionPane.showInternalMessageDialog(this, MessageManager.formatMessage("label.couldnt_save_file", new String[]{fileName}),\r
-              MessageManager.getString("label.error_saving_file"), JOptionPane.WARNING_MESSAGE);\r
-    }\r
-\r
-    return success;\r
-  }\r
-\r
-  private void warningMessage(String warning, String title)\r
-  {\r
-    if (new jalview.util.Platform().isHeadless())\r
-    {\r
-      System.err.println("Warning: " + title + "\nWarning: " + warning);\r
-\r
-    }\r
-    else\r
-    {\r
-      JOptionPane.showInternalMessageDialog(this, warning, title,\r
-              JOptionPane.WARNING_MESSAGE);\r
-    }\r
-    return;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void outputText_actionPerformed(ActionEvent e)\r
-  {\r
-    String[] omitHidden = null;\r
-\r
-    if (viewport.hasHiddenColumns())\r
-    {\r
-      int reply = JOptionPane\r
-              .showInternalConfirmDialog(\r
-                      Desktop.desktop,\r
-                      MessageManager.getString("label.alignment_contains_hidden_columns"),\r
-                      MessageManager.getString("action.save_omit_hidden_columns"),\r
-                      JOptionPane.YES_NO_OPTION,\r
-                      JOptionPane.QUESTION_MESSAGE);\r
-\r
-      if (reply == JOptionPane.YES_OPTION)\r
-      {\r
-        omitHidden = viewport.getViewAsString(false);\r
-      }\r
-    }\r
-\r
-    CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
-    cap.setForInput(null);\r
-\r
-    try\r
-    {\r
-      cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),\r
-              viewport.getAlignment(), omitHidden,\r
-              viewport.getColumnSelection()));\r
-      Desktop.addInternalFrame(cap,\r
+
+    int value = chooser.showSaveDialog(this);
+
+    if (value == JalviewFileChooser.APPROVE_OPTION)
+    {
+      currentFileFormat = chooser.getSelectedFormat();
+      if (currentFileFormat == null)
+      {
+        JOptionPane.showInternalMessageDialog(Desktop.desktop,
+                MessageManager.getString("label.select_file_format_before_saving"),
+                MessageManager.getString("label.file_format_not_specified"), JOptionPane.WARNING_MESSAGE);
+        value = chooser.showSaveDialog(this);
+        return;
+      }
+
+      fileName = chooser.getSelectedFile().getPath();
+
+      jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT",
+              currentFileFormat);
+
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY", fileName);
+      if (currentFileFormat.indexOf(" ") > -1)
+      {
+        currentFileFormat = currentFileFormat.substring(0,
+                currentFileFormat.indexOf(" "));
+      }
+      saveAlignment(fileName, currentFileFormat);
+    }
+  }
+
+  public boolean saveAlignment(String file, String format)
+  {
+    boolean success = true;
+
+    if (format.equalsIgnoreCase("Jalview"))
+    {
+      String shortName = title;
+
+      if (shortName.indexOf(java.io.File.separatorChar) > -1)
+      {
+        shortName = shortName.substring(shortName
+                .lastIndexOf(java.io.File.separatorChar) + 1);
+      }
+
+      success = new Jalview2XML().SaveAlignment(this, file, shortName);
+
+      statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));
+
+
+    }
+    else
+    {
+      if (!jalview.io.AppletFormatAdapter.isValidFormat(format, true))
+      {
+        warningMessage("Cannot save file " + fileName + " using format "
+                + format, "Alignment output format not supported");
+        saveAs_actionPerformed(null);
+        // JBPNote need to have a raise_gui flag here
+        return false;
+      }
+
+      String[] omitHidden = null;
+
+      if (viewport.hasHiddenColumns())
+      {
+        int reply = JOptionPane
+                .showInternalConfirmDialog(
+                        Desktop.desktop,
+                        MessageManager.getString("label.alignment_contains_hidden_columns"),
+                        MessageManager.getString("action.save_omit_hidden_columns"),
+                        JOptionPane.YES_NO_OPTION,
+                        JOptionPane.QUESTION_MESSAGE);
+
+        if (reply == JOptionPane.YES_OPTION)
+        {
+          omitHidden = viewport.getViewAsString(false);
+        }
+      }
+      FormatAdapter f = new FormatAdapter();
+      String output = f.formatSequences(format,
+              viewport.getAlignment(), // class cast exceptions will
+              // occur in the distant future
+              omitHidden, f.getCacheSuffixDefault(format),
+              viewport.getColumnSelection());
+
+      if (output == null)
+      {
+        success = false;
+      }
+      else
+      {
+        try
+        {
+          java.io.PrintWriter out = new java.io.PrintWriter(
+                  new java.io.FileWriter(file));
+
+          out.print(output);
+          out.close();
+          this.setTitle(file);
+          statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));
+        } catch (Exception ex)
+        {
+          success = false;
+          ex.printStackTrace();
+        }
+      }
+    }
+
+    if (!success)
+    {
+      JOptionPane.showInternalMessageDialog(this, MessageManager.formatMessage("label.couldnt_save_file", new String[]{fileName}),
+              MessageManager.getString("label.error_saving_file"), JOptionPane.WARNING_MESSAGE);
+    }
+
+    return success;
+  }
+
+  private void warningMessage(String warning, String title)
+  {
+    if (new jalview.util.Platform().isHeadless())
+    {
+      System.err.println("Warning: " + title + "\nWarning: " + warning);
+
+    }
+    else
+    {
+      JOptionPane.showInternalMessageDialog(this, warning, title,
+              JOptionPane.WARNING_MESSAGE);
+    }
+    return;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void outputText_actionPerformed(ActionEvent e)
+  {
+    String[] omitHidden = null;
+
+    if (viewport.hasHiddenColumns())
+    {
+      int reply = JOptionPane
+              .showInternalConfirmDialog(
+                      Desktop.desktop,
+                      MessageManager.getString("label.alignment_contains_hidden_columns"),
+                      MessageManager.getString("action.save_omit_hidden_columns"),
+                      JOptionPane.YES_NO_OPTION,
+                      JOptionPane.QUESTION_MESSAGE);
+
+      if (reply == JOptionPane.YES_OPTION)
+      {
+        omitHidden = viewport.getViewAsString(false);
+      }
+    }
+
+    CutAndPasteTransfer cap = new CutAndPasteTransfer();
+    cap.setForInput(null);
+
+    try
+    {
+      cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
+              viewport.getAlignment(), omitHidden,
+              viewport.getColumnSelection()));
+      Desktop.addInternalFrame(cap,
               MessageManager.formatMessage("label.alignment_output_command", new String[]{e.getActionCommand()}), 600, 500);\r
-    } catch (OutOfMemoryError oom)\r
-    {\r
-      new OOMWarning("Outputting alignment as " + e.getActionCommand(), oom);\r
-      cap.dispose();\r
-    }\r
-\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void htmlMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    new HTMLOutput(alignPanel,\r
-            alignPanel.seqPanel.seqCanvas.getSequenceRenderer(),\r
-            alignPanel.seqPanel.seqCanvas.getFeatureRenderer());\r
-  }\r
-\r
-  public void createImageMap(File file, String image)\r
-  {\r
-    alignPanel.makePNGImageMap(file, image);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void createPNG(File f)\r
-  {\r
-    alignPanel.makePNG(f);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void createEPS(File f)\r
-  {\r
-    alignPanel.makeEPS(f);\r
-  }\r
-\r
-  @Override\r
-  public void pageSetup_actionPerformed(ActionEvent e)\r
-  {\r
-    PrinterJob printJob = PrinterJob.getPrinterJob();\r
-    PrintThread.pf = printJob.pageDialog(printJob.defaultPage());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void printMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    // Putting in a thread avoids Swing painting problems\r
-    PrintThread thread = new PrintThread(alignPanel);\r
-    thread.start();\r
-  }\r
-\r
-  @Override\r
-  public void exportFeatures_actionPerformed(ActionEvent e)\r
-  {\r
-    new AnnotationExporter().exportFeatures(alignPanel);\r
-  }\r
-\r
-  @Override\r
-  public void exportAnnotations_actionPerformed(ActionEvent e)\r
-  {\r
-    new AnnotationExporter().exportAnnotations(alignPanel,\r
-            viewport.showAnnotation ? viewport.getAlignment()\r
-                    .getAlignmentAnnotation() : null, viewport\r
-                    .getAlignment().getGroups(), ((Alignment) viewport\r
-                    .getAlignment()).alignmentProperties);\r
-  }\r
-\r
-  @Override\r
-  public void associatedData_actionPerformed(ActionEvent e)\r
-  {\r
-    // Pick the tree file\r
-    JalviewFileChooser chooser = new JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
-    chooser.setFileView(new JalviewFileView());\r
+    } catch (OutOfMemoryError oom)
+    {
+      new OOMWarning("Outputting alignment as " + e.getActionCommand(), oom);
+      cap.dispose();
+    }
+
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void htmlMenuItem_actionPerformed(ActionEvent e)
+  {
+    new HTMLOutput(alignPanel,
+            alignPanel.seqPanel.seqCanvas.getSequenceRenderer(),
+            alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
+  }
+
+  public void createImageMap(File file, String image)
+  {
+    alignPanel.makePNGImageMap(file, image);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void createPNG(File f)
+  {
+    alignPanel.makePNG(f);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void createEPS(File f)
+  {
+    alignPanel.makeEPS(f);
+  }
+
+  @Override
+  public void pageSetup_actionPerformed(ActionEvent e)
+  {
+    PrinterJob printJob = PrinterJob.getPrinterJob();
+    PrintThread.pf = printJob.pageDialog(printJob.defaultPage());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void printMenuItem_actionPerformed(ActionEvent e)
+  {
+    // Putting in a thread avoids Swing painting problems
+    PrintThread thread = new PrintThread(alignPanel);
+    thread.start();
+  }
+
+  @Override
+  public void exportFeatures_actionPerformed(ActionEvent e)
+  {
+    new AnnotationExporter().exportFeatures(alignPanel);
+  }
+
+  @Override
+  public void exportAnnotations_actionPerformed(ActionEvent e)
+  {
+    new AnnotationExporter().exportAnnotations(alignPanel,
+            viewport.showAnnotation ? viewport.getAlignment()
+                    .getAlignmentAnnotation() : null, viewport
+                    .getAlignment().getGroups(), ((Alignment) viewport
+                    .getAlignment()).alignmentProperties);
+  }
+
+  @Override
+  public void associatedData_actionPerformed(ActionEvent e)
+  {
+    // Pick the tree file
+    JalviewFileChooser chooser = new JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+    chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(MessageManager.getString("label.load_jalview_annotations"));\r
     chooser.setToolTipText(MessageManager.getString("label.load_jalview_annotations"));\r
-\r
-    int value = chooser.showOpenDialog(null);\r
-\r
-    if (value == JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      String choice = chooser.getSelectedFile().getPath();\r
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
-      loadJalviewDataFile(choice, null, null, null);\r
-    }\r
-\r
-  }\r
-\r
-  /**\r
-   * Close the current view or all views in the alignment frame. If the frame\r
-   * only contains one view then the alignment will be removed from memory.\r
-   * \r
-   * @param closeAllTabs\r
-   */\r
-  @Override\r
-  public void closeMenuItem_actionPerformed(boolean closeAllTabs)\r
-  {\r
-    if (alignPanels != null && alignPanels.size() < 2)\r
-    {\r
-      closeAllTabs = true;\r
-    }\r
-\r
-    try\r
-    {\r
-      if (alignPanels != null)\r
-      {\r
-        if (closeAllTabs)\r
-        {\r
-          if (this.isClosed())\r
-          {\r
-            // really close all the windows - otherwise wait till\r
-            // setClosed(true) is called\r
-            for (int i = 0; i < alignPanels.size(); i++)\r
-            {\r
-              AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);\r
-              ap.closePanel();\r
-            }\r
-          }\r
-        }\r
-        else\r
-        {\r
-          closeView(alignPanel);\r
-        }\r
-      }\r
-\r
-      if (closeAllTabs)\r
-      {\r
-        this.setClosed(true);\r
-      }\r
-    } catch (Exception ex)\r
-    {\r
-      ex.printStackTrace();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * close alignPanel2 and shuffle tabs appropriately.\r
-   * \r
-   * @param alignPanel2\r
-   */\r
-  public void closeView(AlignmentPanel alignPanel2)\r
-  {\r
-    int index = tabbedPane.getSelectedIndex();\r
-    int closedindex = tabbedPane.indexOfComponent(alignPanel2);\r
-    alignPanels.removeElement(alignPanel2);\r
-    // Unnecessary\r
-    // if (viewport == alignPanel2.av)\r
-    // {\r
-    // viewport = null;\r
-    // }\r
-    alignPanel2.closePanel();\r
-    alignPanel2 = null;\r
-\r
-    tabbedPane.removeTabAt(closedindex);\r
-    tabbedPane.validate();\r
-\r
-    if (index > closedindex || index == tabbedPane.getTabCount())\r
-    {\r
-      // modify currently selected tab index if necessary.\r
-      index--;\r
-    }\r
-\r
-    this.tabSelectionChanged(index);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   */\r
-  void updateEditMenuBar()\r
-  {\r
-\r
-    if (viewport.historyList.size() > 0)\r
-    {\r
-      undoMenuItem.setEnabled(true);\r
-      CommandI command = (CommandI) viewport.historyList.peek();\r
-      undoMenuItem.setText(MessageManager.formatMessage("label.undo_command", new String[]{command.getDescription()}));\r
-    }\r
-    else\r
-    {\r
-      undoMenuItem.setEnabled(false);\r
-      undoMenuItem.setText(MessageManager.getString("action.undo"));\r
-    }\r
-\r
-    if (viewport.redoList.size() > 0)\r
-    {\r
-      redoMenuItem.setEnabled(true);\r
-\r
-      CommandI command = (CommandI) viewport.redoList.peek();\r
-      redoMenuItem.setText(MessageManager.formatMessage("label.redo_command", new String[]{command.getDescription()}));\r
-    }\r
-    else\r
-    {\r
-      redoMenuItem.setEnabled(false);\r
-      redoMenuItem.setText(MessageManager.getString("action.redo"));\r
-    }\r
-  }\r
-\r
-  public void addHistoryItem(CommandI command)\r
-  {\r
-    if (command.getSize() > 0)\r
-    {\r
-      viewport.historyList.push(command);\r
-      viewport.redoList.clear();\r
-      updateEditMenuBar();\r
-      viewport.updateHiddenColumns();\r
-      // viewport.hasHiddenColumns = (viewport.getColumnSelection() != null\r
-      // && viewport.getColumnSelection().getHiddenColumns() != null &&\r
-      // viewport.getColumnSelection()\r
-      // .getHiddenColumns().size() > 0);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @return alignment objects for all views\r
-   */\r
-  AlignmentI[] getViewAlignments()\r
-  {\r
-    if (alignPanels != null)\r
-    {\r
-      Enumeration e = alignPanels.elements();\r
-      AlignmentI[] als = new AlignmentI[alignPanels.size()];\r
-      for (int i = 0; e.hasMoreElements(); i++)\r
-      {\r
-        als[i] = ((AlignmentPanel) e.nextElement()).av.getAlignment();\r
-      }\r
-      return als;\r
-    }\r
-    if (viewport != null)\r
-    {\r
-      return new AlignmentI[]\r
-      { viewport.getAlignment() };\r
-    }\r
-    return null;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void undoMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    if (viewport.historyList.empty())\r
-      return;\r
-    CommandI command = (CommandI) viewport.historyList.pop();\r
-    viewport.redoList.push(command);\r
-    command.undoCommand(getViewAlignments());\r
-\r
-    AlignViewport originalSource = getOriginatingSource(command);\r
-    updateEditMenuBar();\r
-\r
-    if (originalSource != null)\r
-    {\r
-      if (originalSource != viewport)\r
-      {\r
-        Cache.log\r
-                .warn("Implementation worry: mismatch of viewport origin for undo");\r
-      }\r
-      originalSource.updateHiddenColumns();\r
-      // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=\r
-      // null\r
-      // && viewport.getColumnSelection().getHiddenColumns() != null &&\r
-      // viewport.getColumnSelection()\r
-      // .getHiddenColumns().size() > 0);\r
-      originalSource.firePropertyChange("alignment", null, originalSource\r
-              .getAlignment().getSequences());\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void redoMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    if (viewport.redoList.size() < 1)\r
-    {\r
-      return;\r
-    }\r
-\r
-    CommandI command = (CommandI) viewport.redoList.pop();\r
-    viewport.historyList.push(command);\r
-    command.doCommand(getViewAlignments());\r
-\r
-    AlignViewport originalSource = getOriginatingSource(command);\r
-    updateEditMenuBar();\r
-\r
-    if (originalSource != null)\r
-    {\r
-\r
-      if (originalSource != viewport)\r
-      {\r
-        Cache.log\r
-                .warn("Implementation worry: mismatch of viewport origin for redo");\r
-      }\r
-      originalSource.updateHiddenColumns();\r
-      // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=\r
-      // null\r
-      // && viewport.getColumnSelection().getHiddenColumns() != null &&\r
-      // viewport.getColumnSelection()\r
-      // .getHiddenColumns().size() > 0);\r
-      originalSource.firePropertyChange("alignment", null, originalSource\r
-              .getAlignment().getSequences());\r
-    }\r
-  }\r
-\r
-  AlignViewport getOriginatingSource(CommandI command)\r
-  {\r
-    AlignViewport originalSource = null;\r
-    // For sequence removal and addition, we need to fire\r
-    // the property change event FROM the viewport where the\r
-    // original alignment was altered\r
-    AlignmentI al = null;\r
-    if (command instanceof EditCommand)\r
-    {\r
-      EditCommand editCommand = (EditCommand) command;\r
-      al = editCommand.getAlignment();\r
-      Vector comps = (Vector) PaintRefresher.components.get(viewport\r
-              .getSequenceSetId());\r
-\r
-      for (int i = 0; i < comps.size(); i++)\r
-      {\r
-        if (comps.elementAt(i) instanceof AlignmentPanel)\r
-        {\r
-          if (al == ((AlignmentPanel) comps.elementAt(i)).av.getAlignment())\r
-          {\r
-            originalSource = ((AlignmentPanel) comps.elementAt(i)).av;\r
-            break;\r
-          }\r
-        }\r
-      }\r
-    }\r
-\r
-    if (originalSource == null)\r
-    {\r
-      // The original view is closed, we must validate\r
-      // the current view against the closed view first\r
-      if (al != null)\r
-      {\r
-        PaintRefresher.validateSequences(al, viewport.getAlignment());\r
-      }\r
-\r
-      originalSource = viewport;\r
-    }\r
-\r
-    return originalSource;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param up\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void moveSelectedSequences(boolean up)\r
-  {\r
-    SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
-    if (sg == null)\r
-    {\r
-      return;\r
-    }\r
-    viewport.getAlignment().moveSelectedSequencesByOne(sg,\r
-            viewport.getHiddenRepSequences(), up);\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  synchronized void slideSequences(boolean right, int size)\r
-  {\r
-    List<SequenceI> sg = new Vector();\r
-    if (viewport.cursorMode)\r
-    {\r
-      sg.add(viewport.getAlignment().getSequenceAt(\r
-              alignPanel.seqPanel.seqCanvas.cursorY));\r
-    }\r
-    else if (viewport.getSelectionGroup() != null\r
-            && viewport.getSelectionGroup().getSize() != viewport\r
-                    .getAlignment().getHeight())\r
-    {\r
-      sg = viewport.getSelectionGroup().getSequences(\r
-              viewport.getHiddenRepSequences());\r
-    }\r
-\r
-    if (sg.size() < 1)\r
-    {\r
-      return;\r
-    }\r
-\r
-    Vector invertGroup = new Vector();\r
-\r
-    for (int i = 0; i < viewport.getAlignment().getHeight(); i++)\r
-    {\r
-      if (!sg.contains(viewport.getAlignment().getSequenceAt(i)))\r
-        invertGroup.add(viewport.getAlignment().getSequenceAt(i));\r
-    }\r
-\r
-    SequenceI[] seqs1 = sg.toArray(new SequenceI[0]);\r
-\r
-    SequenceI[] seqs2 = new SequenceI[invertGroup.size()];\r
-    for (int i = 0; i < invertGroup.size(); i++)\r
-      seqs2[i] = (SequenceI) invertGroup.elementAt(i);\r
-\r
-    SlideSequencesCommand ssc;\r
-    if (right)\r
-      ssc = new SlideSequencesCommand("Slide Sequences", seqs2, seqs1,\r
-              size, viewport.getGapCharacter());\r
-    else\r
-      ssc = new SlideSequencesCommand("Slide Sequences", seqs1, seqs2,\r
-              size, viewport.getGapCharacter());\r
-\r
-    int groupAdjustment = 0;\r
-    if (ssc.getGapsInsertedBegin() && right)\r
-    {\r
-      if (viewport.cursorMode)\r
-        alignPanel.seqPanel.moveCursor(size, 0);\r
-      else\r
-        groupAdjustment = size;\r
-    }\r
-    else if (!ssc.getGapsInsertedBegin() && !right)\r
-    {\r
-      if (viewport.cursorMode)\r
-        alignPanel.seqPanel.moveCursor(-size, 0);\r
-      else\r
-        groupAdjustment = -size;\r
-    }\r
-\r
-    if (groupAdjustment != 0)\r
-    {\r
-      viewport.getSelectionGroup().setStartRes(\r
-              viewport.getSelectionGroup().getStartRes() + groupAdjustment);\r
-      viewport.getSelectionGroup().setEndRes(\r
-              viewport.getSelectionGroup().getEndRes() + groupAdjustment);\r
-    }\r
-\r
-    boolean appendHistoryItem = false;\r
-    if (viewport.historyList != null && viewport.historyList.size() > 0\r
-            && viewport.historyList.peek() instanceof SlideSequencesCommand)\r
-    {\r
-      appendHistoryItem = ssc\r
-              .appendSlideCommand((SlideSequencesCommand) viewport.historyList\r
-                      .peek());\r
-    }\r
-\r
-    if (!appendHistoryItem)\r
-      addHistoryItem(ssc);\r
-\r
-    repaint();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void copy_actionPerformed(ActionEvent e)\r
-  {\r
-    System.gc();\r
-    if (viewport.getSelectionGroup() == null)\r
-    {\r
-      return;\r
-    }\r
-    // TODO: preserve the ordering of displayed alignment annotation in any\r
-    // internal paste (particularly sequence associated annotation)\r
-    SequenceI[] seqs = viewport.getSelectionAsNewSequence();\r
-    String[] omitHidden = null;\r
-\r
-    if (viewport.hasHiddenColumns())\r
-    {\r
-      omitHidden = viewport.getViewAsString(true);\r
-    }\r
-\r
-    String output = new FormatAdapter().formatSequences("Fasta", seqs,\r
-            omitHidden);\r
-\r
-    StringSelection ss = new StringSelection(output);\r
-\r
-    try\r
-    {\r
-      jalview.gui.Desktop.internalCopy = true;\r
-      // Its really worth setting the clipboard contents\r
-      // to empty before setting the large StringSelection!!\r
-      Toolkit.getDefaultToolkit().getSystemClipboard()\r
-              .setContents(new StringSelection(""), null);\r
-\r
-      Toolkit.getDefaultToolkit().getSystemClipboard()\r
-              .setContents(ss, Desktop.instance);\r
-    } catch (OutOfMemoryError er)\r
-    {\r
-      new OOMWarning("copying region", er);\r
-      return;\r
-    }\r
-\r
-    Vector hiddenColumns = null;\r
-    if (viewport.hasHiddenColumns())\r
-    {\r
-      hiddenColumns = new Vector();\r
-      int hiddenOffset = viewport.getSelectionGroup().getStartRes(), hiddenCutoff = viewport\r
-              .getSelectionGroup().getEndRes();\r
-      for (int i = 0; i < viewport.getColumnSelection().getHiddenColumns()\r
-              .size(); i++)\r
-      {\r
-        int[] region = (int[]) viewport.getColumnSelection()\r
-                .getHiddenColumns().elementAt(i);\r
-        if (region[0] >= hiddenOffset && region[1] <= hiddenCutoff)\r
-        {\r
-          hiddenColumns.addElement(new int[]\r
-          { region[0] - hiddenOffset, region[1] - hiddenOffset });\r
-        }\r
-      }\r
-    }\r
-\r
-    Desktop.jalviewClipboard = new Object[]\r
-    { seqs, viewport.getAlignment().getDataset(), hiddenColumns };\r
-    statusBar.setText(MessageManager.formatMessage("label.copied_sequences_to_clipboard", new String[]{Integer.valueOf(seqs.length).toString()}));\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void pasteNew_actionPerformed(ActionEvent e)\r
-  {\r
-    paste(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void pasteThis_actionPerformed(ActionEvent e)\r
-  {\r
-    paste(false);\r
-  }\r
-\r
-  /**\r
-   * Paste contents of Jalview clipboard\r
-   * \r
-   * @param newAlignment\r
-   *          true to paste to a new alignment, otherwise add to this.\r
-   */\r
-  void paste(boolean newAlignment)\r
-  {\r
-    boolean externalPaste = true;\r
-    try\r
-    {\r
-      Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
-      Transferable contents = c.getContents(this);\r
-\r
-      if (contents == null)\r
-      {\r
-        return;\r
-      }\r
-\r
-      String str, format;\r
-      try\r
-      {\r
-        str = (String) contents.getTransferData(DataFlavor.stringFlavor);\r
-        if (str.length() < 1)\r
-        {\r
-          return;\r
-        }\r
-\r
-        format = new IdentifyFile().Identify(str, "Paste");\r
-\r
-      } catch (OutOfMemoryError er)\r
-      {\r
-        new OOMWarning("Out of memory pasting sequences!!", er);\r
-        return;\r
-      }\r
-\r
-      SequenceI[] sequences;\r
-      boolean annotationAdded = false;\r
-      AlignmentI alignment = null;\r
-\r
-      if (Desktop.jalviewClipboard != null)\r
-      {\r
-        // The clipboard was filled from within Jalview, we must use the\r
-        // sequences\r
-        // And dataset from the copied alignment\r
-        SequenceI[] newseq = (SequenceI[]) Desktop.jalviewClipboard[0];\r
-        // be doubly sure that we create *new* sequence objects.\r
-        sequences = new SequenceI[newseq.length];\r
-        for (int i = 0; i < newseq.length; i++)\r
-        {\r
-          sequences[i] = new Sequence(newseq[i]);\r
-        }\r
-        alignment = new Alignment(sequences);\r
-        externalPaste = false;\r
-      }\r
-      else\r
-      {\r
-        // parse the clipboard as an alignment.\r
-        alignment = new FormatAdapter().readFile(str, "Paste", format);\r
-        sequences = alignment.getSequencesArray();\r
-      }\r
-\r
-      int alwidth = 0;\r
-      ArrayList<Integer> newGraphGroups = new ArrayList<Integer>();\r
-      int fgroup = -1;\r
-\r
-      if (newAlignment)\r
-      {\r
-\r
-        if (Desktop.jalviewClipboard != null)\r
-        {\r
-          // dataset is inherited\r
-          alignment.setDataset((Alignment) Desktop.jalviewClipboard[1]);\r
-        }\r
-        else\r
-        {\r
-          // new dataset is constructed\r
-          alignment.setDataset(null);\r
-        }\r
-        alwidth = alignment.getWidth() + 1;\r
-      }\r
-      else\r
-      {\r
-        AlignmentI pastedal = alignment; // preserve pasted alignment object\r
-        // Add pasted sequences and dataset into existing alignment.\r
-        alignment = viewport.getAlignment();\r
-        alwidth = alignment.getWidth() + 1;\r
-        // decide if we need to import sequences from an existing dataset\r
-        boolean importDs = Desktop.jalviewClipboard != null\r
-                && Desktop.jalviewClipboard[1] != alignment.getDataset();\r
-        // importDs==true instructs us to copy over new dataset sequences from\r
-        // an existing alignment\r
-        Vector newDs = (importDs) ? new Vector() : null; // used to create\r
-        // minimum dataset set\r
-\r
-        for (int i = 0; i < sequences.length; i++)\r
-        {\r
-          if (importDs)\r
-          {\r
-            newDs.addElement(null);\r
-          }\r
-          SequenceI ds = sequences[i].getDatasetSequence(); // null for a simple\r
-          // paste\r
-          if (importDs && ds != null)\r
-          {\r
-            if (!newDs.contains(ds))\r
-            {\r
-              newDs.setElementAt(ds, i);\r
-              ds = new Sequence(ds);\r
-              // update with new dataset sequence\r
-              sequences[i].setDatasetSequence(ds);\r
-            }\r
-            else\r
-            {\r
-              ds = sequences[newDs.indexOf(ds)].getDatasetSequence();\r
-            }\r
-          }\r
-          else\r
-          {\r
-            // copy and derive new dataset sequence\r
-            sequences[i] = sequences[i].deriveSequence();\r
-            alignment.getDataset().addSequence(\r
-                    sequences[i].getDatasetSequence());\r
-            // TODO: avoid creation of duplicate dataset sequences with a\r
-            // 'contains' method using SequenceI.equals()/SequenceI.contains()\r
-          }\r
-          alignment.addSequence(sequences[i]); // merges dataset\r
-        }\r
-        if (newDs != null)\r
-        {\r
-          newDs.clear(); // tidy up\r
-        }\r
-        if (alignment.getAlignmentAnnotation() != null)\r
-        {\r
-          for (AlignmentAnnotation alan : alignment\r
-                  .getAlignmentAnnotation())\r
-          {\r
-            if (alan.graphGroup > fgroup)\r
-            {\r
-              fgroup = alan.graphGroup;\r
-            }\r
-          }\r
-        }\r
-        if (pastedal.getAlignmentAnnotation() != null)\r
-        {\r
-          // Add any annotation attached to alignment.\r
-          AlignmentAnnotation[] alann = pastedal.getAlignmentAnnotation();\r
-          for (int i = 0; i < alann.length; i++)\r
-          {\r
-            annotationAdded = true;\r
-            if (alann[i].sequenceRef == null && !alann[i].autoCalculated)\r
-            {\r
-              AlignmentAnnotation newann = new AlignmentAnnotation(alann[i]);\r
-              if (newann.graphGroup > -1)\r
-              {\r
-                if (newGraphGroups.size() <= newann.graphGroup\r
-                        || newGraphGroups.get(newann.graphGroup) == null)\r
-                {\r
-                  for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)\r
-                  {\r
-                    newGraphGroups.add(q, null);\r
-                  }\r
-                  newGraphGroups.set(newann.graphGroup, new Integer(\r
-                          ++fgroup));\r
-                }\r
-                newann.graphGroup = newGraphGroups.get(newann.graphGroup)\r
-                        .intValue();\r
-              }\r
-\r
-              newann.padAnnotation(alwidth);\r
-              alignment.addAnnotation(newann);\r
-            }\r
-          }\r
-        }\r
-      }\r
-      if (!newAlignment)\r
-      {\r
-        // /////\r
-        // ADD HISTORY ITEM\r
-        //\r
-        addHistoryItem(new EditCommand("Add sequences", EditCommand.PASTE,\r
-                sequences, 0, alignment.getWidth(), alignment));\r
-      }\r
-      // Add any annotations attached to sequences\r
-      for (int i = 0; i < sequences.length; i++)\r
-      {\r
-        if (sequences[i].getAnnotation() != null)\r
-        {\r
-          AlignmentAnnotation newann;\r
-          for (int a = 0; a < sequences[i].getAnnotation().length; a++)\r
-          {\r
-            annotationAdded = true;\r
-            newann = sequences[i].getAnnotation()[a];\r
-            newann.adjustForAlignment();\r
-            newann.padAnnotation(alwidth);\r
-            if (newann.graphGroup > -1)\r
-            {\r
-              if (newann.graphGroup > -1)\r
-              {\r
-                if (newGraphGroups.size() <= newann.graphGroup\r
-                        || newGraphGroups.get(newann.graphGroup) == null)\r
-                {\r
-                  for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)\r
-                  {\r
-                    newGraphGroups.add(q, null);\r
-                  }\r
-                  newGraphGroups.set(newann.graphGroup, new Integer(\r
-                          ++fgroup));\r
-                }\r
-                newann.graphGroup = newGraphGroups.get(newann.graphGroup)\r
-                        .intValue();\r
-              }\r
-            }\r
-            alignment.addAnnotation(sequences[i].getAnnotation()[a]); // annotation\r
-            // was\r
-            // duplicated\r
-            // earlier\r
-            alignment\r
-                    .setAnnotationIndex(sequences[i].getAnnotation()[a], a);\r
-          }\r
-        }\r
-      }\r
-      if (!newAlignment)\r
-      {\r
-\r
-        // propagate alignment changed.\r
-        viewport.setEndSeq(alignment.getHeight());\r
-        if (annotationAdded)\r
-        {\r
-          // Duplicate sequence annotation in all views.\r
-          AlignmentI[] alview = this.getViewAlignments();\r
-          for (int i = 0; i < sequences.length; i++)\r
-          {\r
-            AlignmentAnnotation sann[] = sequences[i].getAnnotation();\r
-            if (sann == null)\r
-              continue;\r
-            for (int avnum = 0; avnum < alview.length; avnum++)\r
-            {\r
-              if (alview[avnum] != alignment)\r
-              {\r
-                // duplicate in a view other than the one with input focus\r
-                int avwidth = alview[avnum].getWidth() + 1;\r
-                // this relies on sann being preserved after we\r
-                // modify the sequence's annotation array for each duplication\r
-                for (int a = 0; a < sann.length; a++)\r
-                {\r
-                  AlignmentAnnotation newann = new AlignmentAnnotation(\r
-                          sann[a]);\r
-                  sequences[i].addAlignmentAnnotation(newann);\r
-                  newann.padAnnotation(avwidth);\r
-                  alview[avnum].addAnnotation(newann); // annotation was\r
-                  // duplicated earlier\r
-                  // TODO JAL-1145 graphGroups are not updated for sequence\r
-                  // annotation added to several views. This may cause\r
-                  // strangeness\r
-                  alview[avnum].setAnnotationIndex(newann, a);\r
-                }\r
-              }\r
-            }\r
-          }\r
-          buildSortByAnnotationScoresMenu();\r
-        }\r
-        viewport.firePropertyChange("alignment", null,\r
-                alignment.getSequences());\r
-        if (alignPanels != null)\r
-        {\r
-          for (AlignmentPanel ap : ((Vector<AlignmentPanel>) alignPanels))\r
-          {\r
-            ap.validateAnnotationDimensions(false);\r
-          }\r
-        }\r
-        else\r
-        {\r
-          alignPanel.validateAnnotationDimensions(false);\r
-        }\r
-\r
-      }\r
-      else\r
-      {\r
-        AlignFrame af = new AlignFrame(alignment, DEFAULT_WIDTH,\r
-                DEFAULT_HEIGHT);\r
-        String newtitle = new String("Copied sequences");\r
-\r
-        if (Desktop.jalviewClipboard != null\r
-                && Desktop.jalviewClipboard[2] != null)\r
-        {\r
-          Vector hc = (Vector) Desktop.jalviewClipboard[2];\r
-          for (int i = 0; i < hc.size(); i++)\r
-          {\r
-            int[] region = (int[]) hc.elementAt(i);\r
-            af.viewport.hideColumns(region[0], region[1]);\r
-          }\r
-        }\r
-\r
-        // >>>This is a fix for the moment, until a better solution is\r
-        // found!!<<<\r
-        af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer()\r
-                .transferSettings(\r
-                        alignPanel.seqPanel.seqCanvas.getFeatureRenderer());\r
-\r
-        // TODO: maintain provenance of an alignment, rather than just make the\r
-        // title a concatenation of operations.\r
-        if (!externalPaste)\r
-        {\r
-          if (title.startsWith("Copied sequences"))\r
-          {\r
-            newtitle = title;\r
-          }\r
-          else\r
-          {\r
-            newtitle = newtitle.concat("- from " + title);\r
-          }\r
-        }\r
-        else\r
-        {\r
-          newtitle = new String("Pasted sequences");\r
-        }\r
-\r
-        Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH,\r
-                DEFAULT_HEIGHT);\r
-\r
-      }\r
-\r
-    } catch (Exception ex)\r
-    {\r
-      ex.printStackTrace();\r
-      System.out.println("Exception whilst pasting: " + ex);\r
-      // could be anything being pasted in here\r
-    }\r
-\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void cut_actionPerformed(ActionEvent e)\r
-  {\r
-    copy_actionPerformed(null);\r
-    delete_actionPerformed(null);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void delete_actionPerformed(ActionEvent evt)\r
-  {\r
-\r
-    SequenceGroup sg = viewport.getSelectionGroup();\r
-    if (sg == null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    Vector seqs = new Vector();\r
-    SequenceI seq;\r
-    for (int i = 0; i < sg.getSize(); i++)\r
-    {\r
-      seq = sg.getSequenceAt(i);\r
-      seqs.addElement(seq);\r
-    }\r
-\r
-    // If the cut affects all sequences, remove highlighted columns\r
-    if (sg.getSize() == viewport.getAlignment().getHeight())\r
-    {\r
-      viewport.getColumnSelection().removeElements(sg.getStartRes(),\r
-              sg.getEndRes() + 1);\r
-    }\r
-\r
-    SequenceI[] cut = new SequenceI[seqs.size()];\r
-    for (int i = 0; i < seqs.size(); i++)\r
-    {\r
-      cut[i] = (SequenceI) seqs.elementAt(i);\r
-    }\r
-\r
-    /*\r
-     * //ADD HISTORY ITEM\r
-     */\r
-    addHistoryItem(new EditCommand("Cut Sequences", EditCommand.CUT, cut,\r
-            sg.getStartRes(), sg.getEndRes() - sg.getStartRes() + 1,\r
-            viewport.getAlignment()));\r
-\r
-    viewport.setSelectionGroup(null);\r
-    viewport.sendSelection();\r
-    viewport.getAlignment().deleteGroup(sg);\r
-\r
-    viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
-            .getSequences());\r
-    if (viewport.getAlignment().getHeight() < 1)\r
-    {\r
-      try\r
-      {\r
-        this.setClosed(true);\r
-      } catch (Exception ex)\r
-      {\r
-      }\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void deleteGroups_actionPerformed(ActionEvent e)\r
-  {\r
-    if (avc.deleteGroups()) {\r
-      PaintRefresher.Refresh(this, viewport.getSequenceSetId());\r
-      alignPanel.updateAnnotation();\r
-      alignPanel.paintAlignment(true);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceGroup sg = new SequenceGroup();\r
-\r
-    for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)\r
-    {\r
-      sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);\r
-    }\r
-\r
-    sg.setEndRes(viewport.getAlignment().getWidth() - 1);\r
-    viewport.setSelectionGroup(sg);\r
-    viewport.sendSelection();\r
-    alignPanel.paintAlignment(true);\r
-    PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    if (viewport.cursorMode)\r
-    {\r
-      alignPanel.seqPanel.keyboardNo1 = null;\r
-      alignPanel.seqPanel.keyboardNo2 = null;\r
-    }\r
-    viewport.setSelectionGroup(null);\r
-    viewport.getColumnSelection().clear();\r
-    viewport.setSelectionGroup(null);\r
-    alignPanel.seqPanel.seqCanvas.highlightSearchResults(null);\r
-    alignPanel.idPanel.idCanvas.searchResults = null;\r
-    alignPanel.paintAlignment(true);\r
-    PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());\r
-    viewport.sendSelection();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
-    if (sg == null)\r
-    {\r
-      selectAllSequenceMenuItem_actionPerformed(null);\r
-\r
-      return;\r
-    }\r
-\r
-    for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)\r
-    {\r
-      sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);\r
-    }\r
-\r
-    alignPanel.paintAlignment(true);\r
-    PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());\r
-    viewport.sendSelection();\r
-  }\r
-\r
-  @Override\r
-  public void invertColSel_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.invertColumnSelection();\r
-    alignPanel.paintAlignment(true);\r
-    viewport.sendSelection();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    trimAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    trimAlignment(false);\r
-  }\r
-\r
-  void trimAlignment(boolean trimLeft)\r
-  {\r
-    ColumnSelection colSel = viewport.getColumnSelection();\r
-    int column;\r
-\r
-    if (colSel.size() > 0)\r
-    {\r
-      if (trimLeft)\r
-      {\r
-        column = colSel.getMin();\r
-      }\r
-      else\r
-      {\r
-        column = colSel.getMax();\r
-      }\r
-\r
-      SequenceI[] seqs;\r
-      if (viewport.getSelectionGroup() != null)\r
-      {\r
-        seqs = viewport.getSelectionGroup().getSequencesAsArray(\r
-                viewport.getHiddenRepSequences());\r
-      }\r
-      else\r
-      {\r
-        seqs = viewport.getAlignment().getSequencesArray();\r
-      }\r
-\r
-      TrimRegionCommand trimRegion;\r
-      if (trimLeft)\r
-      {\r
-        trimRegion = new TrimRegionCommand("Remove Left",\r
-                TrimRegionCommand.TRIM_LEFT, seqs, column,\r
-                viewport.getAlignment(), viewport.getColumnSelection(),\r
-                viewport.getSelectionGroup());\r
-        viewport.setStartRes(0);\r
-      }\r
-      else\r
-      {\r
-        trimRegion = new TrimRegionCommand("Remove Right",\r
-                TrimRegionCommand.TRIM_RIGHT, seqs, column,\r
-                viewport.getAlignment(), viewport.getColumnSelection(),\r
-                viewport.getSelectionGroup());\r
-      }\r
-\r
-      statusBar.setText(MessageManager.formatMessage("label.removed_columns", new String[]{Integer.valueOf(trimRegion.getSize()).toString()}));\r
-\r
-      addHistoryItem(trimRegion);\r
-\r
-      for (SequenceGroup sg : viewport.getAlignment().getGroups())\r
-      {\r
-        if ((trimLeft && !sg.adjustForRemoveLeft(column))\r
-                || (!trimLeft && !sg.adjustForRemoveRight(column)))\r
-        {\r
-          viewport.getAlignment().deleteGroup(sg);\r
-        }\r
-      }\r
-\r
-      viewport.firePropertyChange("alignment", null, viewport\r
-              .getAlignment().getSequences());\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    int start = 0, end = viewport.getAlignment().getWidth() - 1;\r
-\r
-    SequenceI[] seqs;\r
-    if (viewport.getSelectionGroup() != null)\r
-    {\r
-      seqs = viewport.getSelectionGroup().getSequencesAsArray(\r
-              viewport.getHiddenRepSequences());\r
-      start = viewport.getSelectionGroup().getStartRes();\r
-      end = viewport.getSelectionGroup().getEndRes();\r
-    }\r
-    else\r
-    {\r
-      seqs = viewport.getAlignment().getSequencesArray();\r
-    }\r
-\r
-    RemoveGapColCommand removeGapCols = new RemoveGapColCommand(\r
-            "Remove Gapped Columns", seqs, start, end,\r
-            viewport.getAlignment());\r
-\r
-    addHistoryItem(removeGapCols);\r
-\r
-    statusBar.setText(MessageManager.formatMessage("label.removed_empty_columns", new String[]{Integer.valueOf(removeGapCols.getSize()).toString()}));\r
-\r
-    // This is to maintain viewport position on first residue\r
-    // of first sequence\r
-    SequenceI seq = viewport.getAlignment().getSequenceAt(0);\r
-    int startRes = seq.findPosition(viewport.startRes);\r
-    // ShiftList shifts;\r
-    // viewport.getAlignment().removeGaps(shifts=new ShiftList());\r
-    // edit.alColumnChanges=shifts.getInverse();\r
-    // if (viewport.hasHiddenColumns)\r
-    // viewport.getColumnSelection().compensateForEdits(shifts);\r
-    viewport.setStartRes(seq.findIndex(startRes) - 1);\r
-    viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
-            .getSequences());\r
-\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    int start = 0, end = viewport.getAlignment().getWidth() - 1;\r
-\r
-    SequenceI[] seqs;\r
-    if (viewport.getSelectionGroup() != null)\r
-    {\r
-      seqs = viewport.getSelectionGroup().getSequencesAsArray(\r
-              viewport.getHiddenRepSequences());\r
-      start = viewport.getSelectionGroup().getStartRes();\r
-      end = viewport.getSelectionGroup().getEndRes();\r
-    }\r
-    else\r
-    {\r
-      seqs = viewport.getAlignment().getSequencesArray();\r
-    }\r
-\r
-    // This is to maintain viewport position on first residue\r
-    // of first sequence\r
-    SequenceI seq = viewport.getAlignment().getSequenceAt(0);\r
-    int startRes = seq.findPosition(viewport.startRes);\r
-\r
-    addHistoryItem(new RemoveGapsCommand("Remove Gaps", seqs, start, end,\r
-            viewport.getAlignment()));\r
-\r
-    viewport.setStartRes(seq.findIndex(startRes) - 1);\r
-\r
-    viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
-            .getSequences());\r
-\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void padGapsMenuitem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setPadGaps(padGapsMenuitem.isSelected());\r
-    viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
-            .getSequences());\r
-  }\r
-\r
-  // else\r
-  {\r
-    // if (justifySeqs>0)\r
-    {\r
-      // alignment.justify(justifySeqs!=RIGHT_JUSTIFY);\r
-    }\r
-  }\r
-\r
-  // }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void findMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    new Finder();\r
-  }\r
-\r
-  @Override\r
-  public void newView_actionPerformed(ActionEvent e)\r
-  {\r
-    newView(true);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @param copyAnnotation\r
-   *          if true then duplicate all annnotation, groups and settings\r
-   * @return new alignment panel, already displayed.\r
-   */\r
-  public AlignmentPanel newView(boolean copyAnnotation)\r
-  {\r
-    return newView(null, copyAnnotation);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @param viewTitle\r
-   *          title of newly created view\r
-   * @return new alignment panel, already displayed.\r
-   */\r
-  public AlignmentPanel newView(String viewTitle)\r
-  {\r
-    return newView(viewTitle, true);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @param viewTitle\r
-   *          title of newly created view\r
-   * @param copyAnnotation\r
-   *          if true then duplicate all annnotation, groups and settings\r
-   * @return new alignment panel, already displayed.\r
-   */\r
-  public AlignmentPanel newView(String viewTitle, boolean copyAnnotation)\r
-  {\r
-    AlignmentPanel newap = new Jalview2XML().copyAlignPanel(alignPanel,\r
-            true);\r
-    if (!copyAnnotation)\r
-    {\r
-      // just remove all the current annotation except for the automatic stuff\r
-      newap.av.getAlignment().deleteAllGroups();\r
-      for (AlignmentAnnotation alan : newap.av.getAlignment()\r
-              .getAlignmentAnnotation())\r
-      {\r
-        if (!alan.autoCalculated)\r
-        {\r
-          newap.av.getAlignment().deleteAnnotation(alan);\r
-        }\r
-        ;\r
-      }\r
-    }\r
-\r
-    newap.av.gatherViewsHere = false;\r
-\r
-    if (viewport.viewName == null)\r
-    {\r
-      viewport.viewName = "Original";\r
-    }\r
-\r
-    newap.av.historyList = viewport.historyList;\r
-    newap.av.redoList = viewport.redoList;\r
-\r
-    int index = Desktop.getViewCount(viewport.getSequenceSetId());\r
-    // make sure the new view has a unique name - this is essential for Jalview\r
-    // 2 archives\r
-    boolean addFirstIndex = false;\r
-    if (viewTitle == null || viewTitle.trim().length() == 0)\r
-    {\r
-      viewTitle = "View";\r
-      addFirstIndex = true;\r
-    }\r
-    else\r
-    {\r
-      index = 1;// we count from 1 if given a specific name\r
-    }\r
-    String newViewName = viewTitle + ((addFirstIndex) ? " " + index : "");\r
-    Vector comps = (Vector) PaintRefresher.components.get(viewport\r
-            .getSequenceSetId());\r
-    Vector existingNames = new Vector();\r
-    for (int i = 0; i < comps.size(); i++)\r
-    {\r
-      if (comps.elementAt(i) instanceof AlignmentPanel)\r
-      {\r
-        AlignmentPanel ap = (AlignmentPanel) comps.elementAt(i);\r
-        if (!existingNames.contains(ap.av.viewName))\r
-        {\r
-          existingNames.addElement(ap.av.viewName);\r
-        }\r
-      }\r
-    }\r
-\r
-    while (existingNames.contains(newViewName))\r
-    {\r
-      newViewName = viewTitle + " " + (++index);\r
-    }\r
-\r
-    newap.av.viewName = newViewName;\r
-\r
-    addAlignmentPanel(newap, true);\r
-    newap.alignmentChanged();\r
-    \r
-    if (alignPanels.size() == 2)\r
-    {\r
-      viewport.gatherViewsHere = true;\r
-    }\r
-    tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1);\r
-    return newap;\r
-  }\r
-\r
-  @Override\r
-  public void expandViews_actionPerformed(ActionEvent e)\r
-  {\r
-    Desktop.instance.explodeViews(this);\r
-  }\r
-\r
-  @Override\r
-  public void gatherViews_actionPerformed(ActionEvent e)\r
-  {\r
-    Desktop.instance.gatherViews(this);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void font_actionPerformed(ActionEvent e)\r
-  {\r
-    new FontChooser(alignPanel);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void seqLimit_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowJVSuffix(seqLimits.isSelected());\r
-\r
-    alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel\r
-            .calculateIdWidth());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  @Override\r
-  public void idRightAlign_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.rightAlignIds = idRightAlign.isSelected();\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  @Override\r
-  public void centreColumnLabels_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.centreColumnLabels = centreColumnLabelsMenuItem.getState();\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see jalview.jbgui.GAlignFrame#followHighlight_actionPerformed()\r
-   */\r
-  @Override\r
-  protected void followHighlight_actionPerformed()\r
-  {\r
-    if (viewport.followHighlight = this.followHighlightMenuItem.getState())\r
-    {\r
-      alignPanel.scrollToPosition(\r
-              alignPanel.seqPanel.seqCanvas.searchResults, false);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setColourText(colourTextMenuItem.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void wrapMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    scaleAbove.setVisible(wrapMenuItem.isSelected());\r
-    scaleLeft.setVisible(wrapMenuItem.isSelected());\r
-    scaleRight.setVisible(wrapMenuItem.isSelected());\r
-    viewport.setWrapAlignment(wrapMenuItem.isSelected());\r
-    alignPanel.setWrapAlignment(wrapMenuItem.isSelected());\r
-  }\r
-\r
-  @Override\r
-  public void showAllSeqs_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.showAllHiddenSeqs();\r
-  }\r
-\r
-  @Override\r
-  public void showAllColumns_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.showAllHiddenColumns();\r
-    repaint();\r
-  }\r
-\r
-  @Override\r
-  public void hideSelSequences_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.hideAllSelectedSeqs();\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * called by key handler and the hide all/show all menu items\r
-   * \r
-   * @param toggleSeqs\r
-   * @param toggleCols\r
-   */\r
-  private void toggleHiddenRegions(boolean toggleSeqs, boolean toggleCols)\r
-  {\r
-\r
-    boolean hide = false;\r
-    SequenceGroup sg = viewport.getSelectionGroup();\r
-    if (!toggleSeqs && !toggleCols)\r
-    {\r
-      // Hide everything by the current selection - this is a hack - we do the\r
-      // invert and then hide\r
-      // first check that there will be visible columns after the invert.\r
-      if ((viewport.getColumnSelection() != null\r
-              && viewport.getColumnSelection().getSelected() != null && viewport\r
-              .getColumnSelection().getSelected().size() > 0)\r
-              || (sg != null && sg.getSize() > 0 && sg.getStartRes() <= sg\r
-                      .getEndRes()))\r
-      {\r
-        // now invert the sequence set, if required - empty selection implies\r
-        // that no hiding is required.\r
-        if (sg != null)\r
-        {\r
-          invertSequenceMenuItem_actionPerformed(null);\r
-          sg = viewport.getSelectionGroup();\r
-          toggleSeqs = true;\r
-\r
-        }\r
-        viewport.expandColSelection(sg, true);\r
-        // finally invert the column selection and get the new sequence\r
-        // selection.\r
-        invertColSel_actionPerformed(null);\r
-        toggleCols = true;\r
-      }\r
-    }\r
-\r
-    if (toggleSeqs)\r
-    {\r
-      if (sg != null && sg.getSize() != viewport.getAlignment().getHeight())\r
-      {\r
-        hideSelSequences_actionPerformed(null);\r
-        hide = true;\r
-      }\r
-      else if (!(toggleCols && viewport.getColumnSelection().getSelected()\r
-              .size() > 0))\r
-      {\r
-        showAllSeqs_actionPerformed(null);\r
-      }\r
-    }\r
-\r
-    if (toggleCols)\r
-    {\r
-      if (viewport.getColumnSelection().getSelected().size() > 0)\r
-      {\r
-        hideSelColumns_actionPerformed(null);\r
-        if (!toggleSeqs)\r
-        {\r
-          viewport.setSelectionGroup(sg);\r
-        }\r
-      }\r
-      else if (!hide)\r
-      {\r
-        showAllColumns_actionPerformed(null);\r
-      }\r
-    }\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#hideAllButSelection_actionPerformed(java.awt.\r
-   * event.ActionEvent)\r
-   */\r
-  @Override\r
-  public void hideAllButSelection_actionPerformed(ActionEvent e)\r
-  {\r
-    toggleHiddenRegions(false, false);\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#hideAllSelection_actionPerformed(java.awt.event\r
-   * .ActionEvent)\r
-   */\r
-  @Override\r
-  public void hideAllSelection_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceGroup sg = viewport.getSelectionGroup();\r
-    viewport.expandColSelection(sg, false);\r
-    viewport.hideAllSelectedSeqs();\r
-    viewport.hideSelectedColumns();\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showAllhidden_actionPerformed(java.awt.event.\r
-   * ActionEvent)\r
-   */\r
-  @Override\r
-  public void showAllhidden_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.showAllHiddenColumns();\r
-    viewport.showAllHiddenSeqs();\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  @Override\r
-  public void hideSelColumns_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.hideSelectedColumns();\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  @Override\r
-  public void hiddenMarkers_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowHiddenMarkers(hiddenMarkers.isSelected());\r
-    repaint();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void scaleAbove_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setScaleAboveWrapped(scaleAbove.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void scaleLeft_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setScaleLeftWrapped(scaleLeft.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void scaleRight_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setScaleRightWrapped(scaleRight.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowBoxes(viewBoxesMenuItem.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void viewTextMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowText(viewTextMenuItem.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setRenderGaps(renderGapsMenuItem.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  public FeatureSettings featureSettings;\r
-\r
-  @Override\r
-  public void featureSettings_actionPerformed(ActionEvent e)\r
-  {\r
-    if (featureSettings != null)\r
-    {\r
-      featureSettings.close();\r
-      featureSettings = null;\r
-    }\r
-    if (!showSeqFeatures.isSelected())\r
-    {\r
-      // make sure features are actually displayed\r
-      showSeqFeatures.setSelected(true);\r
-      showSeqFeatures_actionPerformed(null);\r
-    }\r
-    featureSettings = new FeatureSettings(this);\r
-  }\r
-\r
-  /**\r
-   * Set or clear 'Show Sequence Features'\r
-   * \r
-   * @param evt\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void showSeqFeatures_actionPerformed(ActionEvent evt)\r
-  {\r
-    viewport.setShowSequenceFeatures(showSeqFeatures.isSelected());\r
-    alignPanel.paintAlignment(true);\r
-    if (alignPanel.getOverviewPanel() != null)\r
-    {\r
-      alignPanel.getOverviewPanel().updateOverviewImage();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Set or clear 'Show Sequence Features'\r
-   * \r
-   * @param evt\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void showSeqFeaturesHeight_actionPerformed(ActionEvent evt)\r
-  {\r
-    viewport.setShowSequenceFeaturesHeight(showSeqFeaturesHeight\r
-            .isSelected());\r
-    if (viewport.getShowSequenceFeaturesHeight())\r
-    {\r
-      // ensure we're actually displaying features\r
-      viewport.setShowSequenceFeatures(true);\r
-      showSeqFeatures.setSelected(true);\r
-    }\r
-    alignPanel.paintAlignment(true);\r
-    if (alignPanel.getOverviewPanel() != null)\r
-    {\r
-      alignPanel.getOverviewPanel().updateOverviewImage();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());\r
-    alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());\r
-  }\r
-\r
-  @Override\r
-  public void alignmentProperties()\r
-  {\r
-    JEditorPane editPane = new JEditorPane("text/html", "");\r
-    editPane.setEditable(false);\r
-    StringBuffer contents = new AlignmentProperties(viewport.getAlignment())\r
-            .formatAsHtml();\r
-    editPane.setText(MessageManager.formatMessage("label.html_content", new String[]{contents.toString()}));\r
-    JInternalFrame frame = new JInternalFrame();\r
-    frame.getContentPane().add(new JScrollPane(editPane));\r
-\r
+
+    int value = chooser.showOpenDialog(null);
+
+    if (value == JalviewFileChooser.APPROVE_OPTION)
+    {
+      String choice = chooser.getSelectedFile().getPath();
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+      loadJalviewDataFile(choice, null, null, null);
+    }
+
+  }
+
+  /**
+   * Close the current view or all views in the alignment frame. If the frame
+   * only contains one view then the alignment will be removed from memory.
+   * 
+   * @param closeAllTabs
+   */
+  @Override
+  public void closeMenuItem_actionPerformed(boolean closeAllTabs)
+  {
+    if (alignPanels != null && alignPanels.size() < 2)
+    {
+      closeAllTabs = true;
+    }
+
+    try
+    {
+      if (alignPanels != null)
+      {
+        if (closeAllTabs)
+        {
+          if (this.isClosed())
+          {
+            // really close all the windows - otherwise wait till
+            // setClosed(true) is called
+            for (int i = 0; i < alignPanels.size(); i++)
+            {
+              AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);
+              ap.closePanel();
+            }
+          }
+        }
+        else
+        {
+          closeView(alignPanel);
+        }
+      }
+
+      if (closeAllTabs)
+      {
+        this.setClosed(true);
+      }
+    } catch (Exception ex)
+    {
+      ex.printStackTrace();
+    }
+  }
+
+  /**
+   * close alignPanel2 and shuffle tabs appropriately.
+   * 
+   * @param alignPanel2
+   */
+  public void closeView(AlignmentPanel alignPanel2)
+  {
+    int index = tabbedPane.getSelectedIndex();
+    int closedindex = tabbedPane.indexOfComponent(alignPanel2);
+    alignPanels.removeElement(alignPanel2);
+    // Unnecessary
+    // if (viewport == alignPanel2.av)
+    // {
+    // viewport = null;
+    // }
+    alignPanel2.closePanel();
+    alignPanel2 = null;
+
+    tabbedPane.removeTabAt(closedindex);
+    tabbedPane.validate();
+
+    if (index > closedindex || index == tabbedPane.getTabCount())
+    {
+      // modify currently selected tab index if necessary.
+      index--;
+    }
+
+    this.tabSelectionChanged(index);
+  }
+
+  /**
+   * DOCUMENT ME!
+   */
+  void updateEditMenuBar()
+  {
+
+    if (viewport.historyList.size() > 0)
+    {
+      undoMenuItem.setEnabled(true);
+      CommandI command = (CommandI) viewport.historyList.peek();
+      undoMenuItem.setText(MessageManager.formatMessage("label.undo_command", new String[]{command.getDescription()}));
+    }
+    else
+    {
+      undoMenuItem.setEnabled(false);
+      undoMenuItem.setText(MessageManager.getString("action.undo"));
+    }
+
+    if (viewport.redoList.size() > 0)
+    {
+      redoMenuItem.setEnabled(true);
+
+      CommandI command = (CommandI) viewport.redoList.peek();
+      redoMenuItem.setText(MessageManager.formatMessage("label.redo_command", new String[]{command.getDescription()}));
+    }
+    else
+    {
+      redoMenuItem.setEnabled(false);
+      redoMenuItem.setText(MessageManager.getString("action.redo"));
+    }
+  }
+
+  public void addHistoryItem(CommandI command)
+  {
+    if (command.getSize() > 0)
+    {
+      viewport.historyList.push(command);
+      viewport.redoList.clear();
+      updateEditMenuBar();
+      viewport.updateHiddenColumns();
+      // viewport.hasHiddenColumns = (viewport.getColumnSelection() != null
+      // && viewport.getColumnSelection().getHiddenColumns() != null &&
+      // viewport.getColumnSelection()
+      // .getHiddenColumns().size() > 0);
+    }
+  }
+
+  /**
+   * 
+   * @return alignment objects for all views
+   */
+  AlignmentI[] getViewAlignments()
+  {
+    if (alignPanels != null)
+    {
+      Enumeration e = alignPanels.elements();
+      AlignmentI[] als = new AlignmentI[alignPanels.size()];
+      for (int i = 0; e.hasMoreElements(); i++)
+      {
+        als[i] = ((AlignmentPanel) e.nextElement()).av.getAlignment();
+      }
+      return als;
+    }
+    if (viewport != null)
+    {
+      return new AlignmentI[]
+      { viewport.getAlignment() };
+    }
+    return null;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void undoMenuItem_actionPerformed(ActionEvent e)
+  {
+    if (viewport.historyList.empty())
+      return;
+    CommandI command = (CommandI) viewport.historyList.pop();
+    viewport.redoList.push(command);
+    command.undoCommand(getViewAlignments());
+
+    AlignViewport originalSource = getOriginatingSource(command);
+    updateEditMenuBar();
+
+    if (originalSource != null)
+    {
+      if (originalSource != viewport)
+      {
+        Cache.log
+                .warn("Implementation worry: mismatch of viewport origin for undo");
+      }
+      originalSource.updateHiddenColumns();
+      // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=
+      // null
+      // && viewport.getColumnSelection().getHiddenColumns() != null &&
+      // viewport.getColumnSelection()
+      // .getHiddenColumns().size() > 0);
+      originalSource.firePropertyChange("alignment", null, originalSource
+              .getAlignment().getSequences());
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void redoMenuItem_actionPerformed(ActionEvent e)
+  {
+    if (viewport.redoList.size() < 1)
+    {
+      return;
+    }
+
+    CommandI command = (CommandI) viewport.redoList.pop();
+    viewport.historyList.push(command);
+    command.doCommand(getViewAlignments());
+
+    AlignViewport originalSource = getOriginatingSource(command);
+    updateEditMenuBar();
+
+    if (originalSource != null)
+    {
+
+      if (originalSource != viewport)
+      {
+        Cache.log
+                .warn("Implementation worry: mismatch of viewport origin for redo");
+      }
+      originalSource.updateHiddenColumns();
+      // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=
+      // null
+      // && viewport.getColumnSelection().getHiddenColumns() != null &&
+      // viewport.getColumnSelection()
+      // .getHiddenColumns().size() > 0);
+      originalSource.firePropertyChange("alignment", null, originalSource
+              .getAlignment().getSequences());
+    }
+  }
+
+  AlignViewport getOriginatingSource(CommandI command)
+  {
+    AlignViewport originalSource = null;
+    // For sequence removal and addition, we need to fire
+    // the property change event FROM the viewport where the
+    // original alignment was altered
+    AlignmentI al = null;
+    if (command instanceof EditCommand)
+    {
+      EditCommand editCommand = (EditCommand) command;
+      al = editCommand.getAlignment();
+      Vector comps = (Vector) PaintRefresher.components.get(viewport
+              .getSequenceSetId());
+
+      for (int i = 0; i < comps.size(); i++)
+      {
+        if (comps.elementAt(i) instanceof AlignmentPanel)
+        {
+          if (al == ((AlignmentPanel) comps.elementAt(i)).av.getAlignment())
+          {
+            originalSource = ((AlignmentPanel) comps.elementAt(i)).av;
+            break;
+          }
+        }
+      }
+    }
+
+    if (originalSource == null)
+    {
+      // The original view is closed, we must validate
+      // the current view against the closed view first
+      if (al != null)
+      {
+        PaintRefresher.validateSequences(al, viewport.getAlignment());
+      }
+
+      originalSource = viewport;
+    }
+
+    return originalSource;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param up
+   *          DOCUMENT ME!
+   */
+  public void moveSelectedSequences(boolean up)
+  {
+    SequenceGroup sg = viewport.getSelectionGroup();
+
+    if (sg == null)
+    {
+      return;
+    }
+    viewport.getAlignment().moveSelectedSequencesByOne(sg,
+            viewport.getHiddenRepSequences(), up);
+    alignPanel.paintAlignment(true);
+  }
+
+  synchronized void slideSequences(boolean right, int size)
+  {
+    List<SequenceI> sg = new Vector();
+    if (viewport.cursorMode)
+    {
+      sg.add(viewport.getAlignment().getSequenceAt(
+              alignPanel.seqPanel.seqCanvas.cursorY));
+    }
+    else if (viewport.getSelectionGroup() != null
+            && viewport.getSelectionGroup().getSize() != viewport
+                    .getAlignment().getHeight())
+    {
+      sg = viewport.getSelectionGroup().getSequences(
+              viewport.getHiddenRepSequences());
+    }
+
+    if (sg.size() < 1)
+    {
+      return;
+    }
+
+    Vector invertGroup = new Vector();
+
+    for (int i = 0; i < viewport.getAlignment().getHeight(); i++)
+    {
+      if (!sg.contains(viewport.getAlignment().getSequenceAt(i)))
+        invertGroup.add(viewport.getAlignment().getSequenceAt(i));
+    }
+
+    SequenceI[] seqs1 = sg.toArray(new SequenceI[0]);
+
+    SequenceI[] seqs2 = new SequenceI[invertGroup.size()];
+    for (int i = 0; i < invertGroup.size(); i++)
+      seqs2[i] = (SequenceI) invertGroup.elementAt(i);
+
+    SlideSequencesCommand ssc;
+    if (right)
+      ssc = new SlideSequencesCommand("Slide Sequences", seqs2, seqs1,
+              size, viewport.getGapCharacter());
+    else
+      ssc = new SlideSequencesCommand("Slide Sequences", seqs1, seqs2,
+              size, viewport.getGapCharacter());
+
+    int groupAdjustment = 0;
+    if (ssc.getGapsInsertedBegin() && right)
+    {
+      if (viewport.cursorMode)
+        alignPanel.seqPanel.moveCursor(size, 0);
+      else
+        groupAdjustment = size;
+    }
+    else if (!ssc.getGapsInsertedBegin() && !right)
+    {
+      if (viewport.cursorMode)
+        alignPanel.seqPanel.moveCursor(-size, 0);
+      else
+        groupAdjustment = -size;
+    }
+
+    if (groupAdjustment != 0)
+    {
+      viewport.getSelectionGroup().setStartRes(
+              viewport.getSelectionGroup().getStartRes() + groupAdjustment);
+      viewport.getSelectionGroup().setEndRes(
+              viewport.getSelectionGroup().getEndRes() + groupAdjustment);
+    }
+
+    boolean appendHistoryItem = false;
+    if (viewport.historyList != null && viewport.historyList.size() > 0
+            && viewport.historyList.peek() instanceof SlideSequencesCommand)
+    {
+      appendHistoryItem = ssc
+              .appendSlideCommand((SlideSequencesCommand) viewport.historyList
+                      .peek());
+    }
+
+    if (!appendHistoryItem)
+      addHistoryItem(ssc);
+
+    repaint();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void copy_actionPerformed(ActionEvent e)
+  {
+    System.gc();
+    if (viewport.getSelectionGroup() == null)
+    {
+      return;
+    }
+    // TODO: preserve the ordering of displayed alignment annotation in any
+    // internal paste (particularly sequence associated annotation)
+    SequenceI[] seqs = viewport.getSelectionAsNewSequence();
+    String[] omitHidden = null;
+
+    if (viewport.hasHiddenColumns())
+    {
+      omitHidden = viewport.getViewAsString(true);
+    }
+
+    String output = new FormatAdapter().formatSequences("Fasta", seqs,
+            omitHidden);
+
+    StringSelection ss = new StringSelection(output);
+
+    try
+    {
+      jalview.gui.Desktop.internalCopy = true;
+      // Its really worth setting the clipboard contents
+      // to empty before setting the large StringSelection!!
+      Toolkit.getDefaultToolkit().getSystemClipboard()
+              .setContents(new StringSelection(""), null);
+
+      Toolkit.getDefaultToolkit().getSystemClipboard()
+              .setContents(ss, Desktop.instance);
+    } catch (OutOfMemoryError er)
+    {
+      new OOMWarning("copying region", er);
+      return;
+    }
+
+    Vector hiddenColumns = null;
+    if (viewport.hasHiddenColumns())
+    {
+      hiddenColumns = new Vector();
+      int hiddenOffset = viewport.getSelectionGroup().getStartRes(), hiddenCutoff = viewport
+              .getSelectionGroup().getEndRes();
+      for (int i = 0; i < viewport.getColumnSelection().getHiddenColumns()
+              .size(); i++)
+      {
+        int[] region = (int[]) viewport.getColumnSelection()
+                .getHiddenColumns().elementAt(i);
+        if (region[0] >= hiddenOffset && region[1] <= hiddenCutoff)
+        {
+          hiddenColumns.addElement(new int[]
+          { region[0] - hiddenOffset, region[1] - hiddenOffset });
+        }
+      }
+    }
+
+    Desktop.jalviewClipboard = new Object[]
+    { seqs, viewport.getAlignment().getDataset(), hiddenColumns };
+    statusBar.setText(MessageManager.formatMessage("label.copied_sequences_to_clipboard", new String[]{Integer.valueOf(seqs.length).toString()}));
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void pasteNew_actionPerformed(ActionEvent e)
+  {
+    paste(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void pasteThis_actionPerformed(ActionEvent e)
+  {
+    paste(false);
+  }
+
+  /**
+   * Paste contents of Jalview clipboard
+   * 
+   * @param newAlignment
+   *          true to paste to a new alignment, otherwise add to this.
+   */
+  void paste(boolean newAlignment)
+  {
+    boolean externalPaste = true;
+    try
+    {
+      Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
+      Transferable contents = c.getContents(this);
+
+      if (contents == null)
+      {
+        return;
+      }
+
+      String str, format;
+      try
+      {
+        str = (String) contents.getTransferData(DataFlavor.stringFlavor);
+        if (str.length() < 1)
+        {
+          return;
+        }
+
+        format = new IdentifyFile().Identify(str, "Paste");
+
+      } catch (OutOfMemoryError er)
+      {
+        new OOMWarning("Out of memory pasting sequences!!", er);
+        return;
+      }
+
+      SequenceI[] sequences;
+      boolean annotationAdded = false;
+      AlignmentI alignment = null;
+
+      if (Desktop.jalviewClipboard != null)
+      {
+        // The clipboard was filled from within Jalview, we must use the
+        // sequences
+        // And dataset from the copied alignment
+        SequenceI[] newseq = (SequenceI[]) Desktop.jalviewClipboard[0];
+        // be doubly sure that we create *new* sequence objects.
+        sequences = new SequenceI[newseq.length];
+        for (int i = 0; i < newseq.length; i++)
+        {
+          sequences[i] = new Sequence(newseq[i]);
+        }
+        alignment = new Alignment(sequences);
+        externalPaste = false;
+      }
+      else
+      {
+        // parse the clipboard as an alignment.
+        alignment = new FormatAdapter().readFile(str, "Paste", format);
+        sequences = alignment.getSequencesArray();
+      }
+
+      int alwidth = 0;
+      ArrayList<Integer> newGraphGroups = new ArrayList<Integer>();
+      int fgroup = -1;
+
+      if (newAlignment)
+      {
+
+        if (Desktop.jalviewClipboard != null)
+        {
+          // dataset is inherited
+          alignment.setDataset((Alignment) Desktop.jalviewClipboard[1]);
+        }
+        else
+        {
+          // new dataset is constructed
+          alignment.setDataset(null);
+        }
+        alwidth = alignment.getWidth() + 1;
+      }
+      else
+      {
+        AlignmentI pastedal = alignment; // preserve pasted alignment object
+        // Add pasted sequences and dataset into existing alignment.
+        alignment = viewport.getAlignment();
+        alwidth = alignment.getWidth() + 1;
+        // decide if we need to import sequences from an existing dataset
+        boolean importDs = Desktop.jalviewClipboard != null
+                && Desktop.jalviewClipboard[1] != alignment.getDataset();
+        // importDs==true instructs us to copy over new dataset sequences from
+        // an existing alignment
+        Vector newDs = (importDs) ? new Vector() : null; // used to create
+        // minimum dataset set
+
+        for (int i = 0; i < sequences.length; i++)
+        {
+          if (importDs)
+          {
+            newDs.addElement(null);
+          }
+          SequenceI ds = sequences[i].getDatasetSequence(); // null for a simple
+          // paste
+          if (importDs && ds != null)
+          {
+            if (!newDs.contains(ds))
+            {
+              newDs.setElementAt(ds, i);
+              ds = new Sequence(ds);
+              // update with new dataset sequence
+              sequences[i].setDatasetSequence(ds);
+            }
+            else
+            {
+              ds = sequences[newDs.indexOf(ds)].getDatasetSequence();
+            }
+          }
+          else
+          {
+            // copy and derive new dataset sequence
+            sequences[i] = sequences[i].deriveSequence();
+            alignment.getDataset().addSequence(
+                    sequences[i].getDatasetSequence());
+            // TODO: avoid creation of duplicate dataset sequences with a
+            // 'contains' method using SequenceI.equals()/SequenceI.contains()
+          }
+          alignment.addSequence(sequences[i]); // merges dataset
+        }
+        if (newDs != null)
+        {
+          newDs.clear(); // tidy up
+        }
+        if (alignment.getAlignmentAnnotation() != null)
+        {
+          for (AlignmentAnnotation alan : alignment
+                  .getAlignmentAnnotation())
+          {
+            if (alan.graphGroup > fgroup)
+            {
+              fgroup = alan.graphGroup;
+            }
+          }
+        }
+        if (pastedal.getAlignmentAnnotation() != null)
+        {
+          // Add any annotation attached to alignment.
+          AlignmentAnnotation[] alann = pastedal.getAlignmentAnnotation();
+          for (int i = 0; i < alann.length; i++)
+          {
+            annotationAdded = true;
+            if (alann[i].sequenceRef == null && !alann[i].autoCalculated)
+            {
+              AlignmentAnnotation newann = new AlignmentAnnotation(alann[i]);
+              if (newann.graphGroup > -1)
+              {
+                if (newGraphGroups.size() <= newann.graphGroup
+                        || newGraphGroups.get(newann.graphGroup) == null)
+                {
+                  for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)
+                  {
+                    newGraphGroups.add(q, null);
+                  }
+                  newGraphGroups.set(newann.graphGroup, new Integer(
+                          ++fgroup));
+                }
+                newann.graphGroup = newGraphGroups.get(newann.graphGroup)
+                        .intValue();
+              }
+
+              newann.padAnnotation(alwidth);
+              alignment.addAnnotation(newann);
+            }
+          }
+        }
+      }
+      if (!newAlignment)
+      {
+        // /////
+        // ADD HISTORY ITEM
+        //
+        addHistoryItem(new EditCommand("Add sequences", EditCommand.PASTE,
+                sequences, 0, alignment.getWidth(), alignment));
+      }
+      // Add any annotations attached to sequences
+      for (int i = 0; i < sequences.length; i++)
+      {
+        if (sequences[i].getAnnotation() != null)
+        {
+          AlignmentAnnotation newann;
+          for (int a = 0; a < sequences[i].getAnnotation().length; a++)
+          {
+            annotationAdded = true;
+            newann = sequences[i].getAnnotation()[a];
+            newann.adjustForAlignment();
+            newann.padAnnotation(alwidth);
+            if (newann.graphGroup > -1)
+            {
+              if (newann.graphGroup > -1)
+              {
+                if (newGraphGroups.size() <= newann.graphGroup
+                        || newGraphGroups.get(newann.graphGroup) == null)
+                {
+                  for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)
+                  {
+                    newGraphGroups.add(q, null);
+                  }
+                  newGraphGroups.set(newann.graphGroup, new Integer(
+                          ++fgroup));
+                }
+                newann.graphGroup = newGraphGroups.get(newann.graphGroup)
+                        .intValue();
+              }
+            }
+            alignment.addAnnotation(sequences[i].getAnnotation()[a]); // annotation
+            // was
+            // duplicated
+            // earlier
+            alignment
+                    .setAnnotationIndex(sequences[i].getAnnotation()[a], a);
+          }
+        }
+      }
+      if (!newAlignment)
+      {
+
+        // propagate alignment changed.
+        viewport.setEndSeq(alignment.getHeight());
+        if (annotationAdded)
+        {
+          // Duplicate sequence annotation in all views.
+          AlignmentI[] alview = this.getViewAlignments();
+          for (int i = 0; i < sequences.length; i++)
+          {
+            AlignmentAnnotation sann[] = sequences[i].getAnnotation();
+            if (sann == null)
+              continue;
+            for (int avnum = 0; avnum < alview.length; avnum++)
+            {
+              if (alview[avnum] != alignment)
+              {
+                // duplicate in a view other than the one with input focus
+                int avwidth = alview[avnum].getWidth() + 1;
+                // this relies on sann being preserved after we
+                // modify the sequence's annotation array for each duplication
+                for (int a = 0; a < sann.length; a++)
+                {
+                  AlignmentAnnotation newann = new AlignmentAnnotation(
+                          sann[a]);
+                  sequences[i].addAlignmentAnnotation(newann);
+                  newann.padAnnotation(avwidth);
+                  alview[avnum].addAnnotation(newann); // annotation was
+                  // duplicated earlier
+                  // TODO JAL-1145 graphGroups are not updated for sequence
+                  // annotation added to several views. This may cause
+                  // strangeness
+                  alview[avnum].setAnnotationIndex(newann, a);
+                }
+              }
+            }
+          }
+          buildSortByAnnotationScoresMenu();
+        }
+        viewport.firePropertyChange("alignment", null,
+                alignment.getSequences());
+        if (alignPanels != null)
+        {
+          for (AlignmentPanel ap : ((Vector<AlignmentPanel>) alignPanels))
+          {
+            ap.validateAnnotationDimensions(false);
+          }
+        }
+        else
+        {
+          alignPanel.validateAnnotationDimensions(false);
+        }
+
+      }
+      else
+      {
+        AlignFrame af = new AlignFrame(alignment, DEFAULT_WIDTH,
+                DEFAULT_HEIGHT);
+        String newtitle = new String("Copied sequences");
+
+        if (Desktop.jalviewClipboard != null
+                && Desktop.jalviewClipboard[2] != null)
+        {
+          Vector hc = (Vector) Desktop.jalviewClipboard[2];
+          for (int i = 0; i < hc.size(); i++)
+          {
+            int[] region = (int[]) hc.elementAt(i);
+            af.viewport.hideColumns(region[0], region[1]);
+          }
+        }
+
+        // >>>This is a fix for the moment, until a better solution is
+        // found!!<<<
+        af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer()
+                .transferSettings(
+                        alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
+
+        // TODO: maintain provenance of an alignment, rather than just make the
+        // title a concatenation of operations.
+        if (!externalPaste)
+        {
+          if (title.startsWith("Copied sequences"))
+          {
+            newtitle = title;
+          }
+          else
+          {
+            newtitle = newtitle.concat("- from " + title);
+          }
+        }
+        else
+        {
+          newtitle = new String("Pasted sequences");
+        }
+
+        Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH,
+                DEFAULT_HEIGHT);
+
+      }
+
+    } catch (Exception ex)
+    {
+      ex.printStackTrace();
+      System.out.println("Exception whilst pasting: " + ex);
+      // could be anything being pasted in here
+    }
+
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void cut_actionPerformed(ActionEvent e)
+  {
+    copy_actionPerformed(null);
+    delete_actionPerformed(null);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void delete_actionPerformed(ActionEvent evt)
+  {
+
+    SequenceGroup sg = viewport.getSelectionGroup();
+    if (sg == null)
+    {
+      return;
+    }
+
+    Vector seqs = new Vector();
+    SequenceI seq;
+    for (int i = 0; i < sg.getSize(); i++)
+    {
+      seq = sg.getSequenceAt(i);
+      seqs.addElement(seq);
+    }
+
+    // If the cut affects all sequences, remove highlighted columns
+    if (sg.getSize() == viewport.getAlignment().getHeight())
+    {
+      viewport.getColumnSelection().removeElements(sg.getStartRes(),
+              sg.getEndRes() + 1);
+    }
+
+    SequenceI[] cut = new SequenceI[seqs.size()];
+    for (int i = 0; i < seqs.size(); i++)
+    {
+      cut[i] = (SequenceI) seqs.elementAt(i);
+    }
+
+    /*
+     * //ADD HISTORY ITEM
+     */
+    addHistoryItem(new EditCommand("Cut Sequences", EditCommand.CUT, cut,
+            sg.getStartRes(), sg.getEndRes() - sg.getStartRes() + 1,
+            viewport.getAlignment()));
+
+    viewport.setSelectionGroup(null);
+    viewport.sendSelection();
+    viewport.getAlignment().deleteGroup(sg);
+
+    viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+            .getSequences());
+    if (viewport.getAlignment().getHeight() < 1)
+    {
+      try
+      {
+        this.setClosed(true);
+      } catch (Exception ex)
+      {
+      }
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void deleteGroups_actionPerformed(ActionEvent e)
+  {
+    if (avc.deleteGroups()) {
+      PaintRefresher.Refresh(this, viewport.getSequenceSetId());
+      alignPanel.updateAnnotation();
+      alignPanel.paintAlignment(true);
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceGroup sg = new SequenceGroup();
+
+    for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)
+    {
+      sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);
+    }
+
+    sg.setEndRes(viewport.getAlignment().getWidth() - 1);
+    viewport.setSelectionGroup(sg);
+    viewport.sendSelection();
+    alignPanel.paintAlignment(true);
+    PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
+  {
+    if (viewport.cursorMode)
+    {
+      alignPanel.seqPanel.keyboardNo1 = null;
+      alignPanel.seqPanel.keyboardNo2 = null;
+    }
+    viewport.setSelectionGroup(null);
+    viewport.getColumnSelection().clear();
+    viewport.setSelectionGroup(null);
+    alignPanel.seqPanel.seqCanvas.highlightSearchResults(null);
+    alignPanel.idPanel.idCanvas.searchResults = null;
+    alignPanel.paintAlignment(true);
+    PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
+    viewport.sendSelection();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void invertSequenceMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceGroup sg = viewport.getSelectionGroup();
+
+    if (sg == null)
+    {
+      selectAllSequenceMenuItem_actionPerformed(null);
+
+      return;
+    }
+
+    for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)
+    {
+      sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);
+    }
+
+    alignPanel.paintAlignment(true);
+    PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
+    viewport.sendSelection();
+  }
+
+  @Override
+  public void invertColSel_actionPerformed(ActionEvent e)
+  {
+    viewport.invertColumnSelection();
+    alignPanel.paintAlignment(true);
+    viewport.sendSelection();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void remove2LeftMenuItem_actionPerformed(ActionEvent e)
+  {
+    trimAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void remove2RightMenuItem_actionPerformed(ActionEvent e)
+  {
+    trimAlignment(false);
+  }
+
+  void trimAlignment(boolean trimLeft)
+  {
+    ColumnSelection colSel = viewport.getColumnSelection();
+    int column;
+
+    if (colSel.size() > 0)
+    {
+      if (trimLeft)
+      {
+        column = colSel.getMin();
+      }
+      else
+      {
+        column = colSel.getMax();
+      }
+
+      SequenceI[] seqs;
+      if (viewport.getSelectionGroup() != null)
+      {
+        seqs = viewport.getSelectionGroup().getSequencesAsArray(
+                viewport.getHiddenRepSequences());
+      }
+      else
+      {
+        seqs = viewport.getAlignment().getSequencesArray();
+      }
+
+      TrimRegionCommand trimRegion;
+      if (trimLeft)
+      {
+        trimRegion = new TrimRegionCommand("Remove Left",
+                TrimRegionCommand.TRIM_LEFT, seqs, column,
+                viewport.getAlignment(), viewport.getColumnSelection(),
+                viewport.getSelectionGroup());
+        viewport.setStartRes(0);
+      }
+      else
+      {
+        trimRegion = new TrimRegionCommand("Remove Right",
+                TrimRegionCommand.TRIM_RIGHT, seqs, column,
+                viewport.getAlignment(), viewport.getColumnSelection(),
+                viewport.getSelectionGroup());
+      }
+
+      statusBar.setText(MessageManager.formatMessage("label.removed_columns", new String[]{Integer.valueOf(trimRegion.getSize()).toString()}));
+
+      addHistoryItem(trimRegion);
+
+      for (SequenceGroup sg : viewport.getAlignment().getGroups())
+      {
+        if ((trimLeft && !sg.adjustForRemoveLeft(column))
+                || (!trimLeft && !sg.adjustForRemoveRight(column)))
+        {
+          viewport.getAlignment().deleteGroup(sg);
+        }
+      }
+
+      viewport.firePropertyChange("alignment", null, viewport
+              .getAlignment().getSequences());
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
+  {
+    int start = 0, end = viewport.getAlignment().getWidth() - 1;
+
+    SequenceI[] seqs;
+    if (viewport.getSelectionGroup() != null)
+    {
+      seqs = viewport.getSelectionGroup().getSequencesAsArray(
+              viewport.getHiddenRepSequences());
+      start = viewport.getSelectionGroup().getStartRes();
+      end = viewport.getSelectionGroup().getEndRes();
+    }
+    else
+    {
+      seqs = viewport.getAlignment().getSequencesArray();
+    }
+
+    RemoveGapColCommand removeGapCols = new RemoveGapColCommand(
+            "Remove Gapped Columns", seqs, start, end,
+            viewport.getAlignment());
+
+    addHistoryItem(removeGapCols);
+
+    statusBar.setText(MessageManager.formatMessage("label.removed_empty_columns", new String[]{Integer.valueOf(removeGapCols.getSize()).toString()}));
+
+    // This is to maintain viewport position on first residue
+    // of first sequence
+    SequenceI seq = viewport.getAlignment().getSequenceAt(0);
+    int startRes = seq.findPosition(viewport.startRes);
+    // ShiftList shifts;
+    // viewport.getAlignment().removeGaps(shifts=new ShiftList());
+    // edit.alColumnChanges=shifts.getInverse();
+    // if (viewport.hasHiddenColumns)
+    // viewport.getColumnSelection().compensateForEdits(shifts);
+    viewport.setStartRes(seq.findIndex(startRes) - 1);
+    viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+            .getSequences());
+
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
+  {
+    int start = 0, end = viewport.getAlignment().getWidth() - 1;
+
+    SequenceI[] seqs;
+    if (viewport.getSelectionGroup() != null)
+    {
+      seqs = viewport.getSelectionGroup().getSequencesAsArray(
+              viewport.getHiddenRepSequences());
+      start = viewport.getSelectionGroup().getStartRes();
+      end = viewport.getSelectionGroup().getEndRes();
+    }
+    else
+    {
+      seqs = viewport.getAlignment().getSequencesArray();
+    }
+
+    // This is to maintain viewport position on first residue
+    // of first sequence
+    SequenceI seq = viewport.getAlignment().getSequenceAt(0);
+    int startRes = seq.findPosition(viewport.startRes);
+
+    addHistoryItem(new RemoveGapsCommand("Remove Gaps", seqs, start, end,
+            viewport.getAlignment()));
+
+    viewport.setStartRes(seq.findIndex(startRes) - 1);
+
+    viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+            .getSequences());
+
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void padGapsMenuitem_actionPerformed(ActionEvent e)
+  {
+    viewport.setPadGaps(padGapsMenuitem.isSelected());
+    viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+            .getSequences());
+  }
+
+  // else
+  {
+    // if (justifySeqs>0)
+    {
+      // alignment.justify(justifySeqs!=RIGHT_JUSTIFY);
+    }
+  }
+
+  // }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void findMenuItem_actionPerformed(ActionEvent e)
+  {
+    new Finder();
+  }
+
+  @Override
+  public void newView_actionPerformed(ActionEvent e)
+  {
+    newView(true);
+  }
+
+  /**
+   * 
+   * @param copyAnnotation
+   *          if true then duplicate all annnotation, groups and settings
+   * @return new alignment panel, already displayed.
+   */
+  public AlignmentPanel newView(boolean copyAnnotation)
+  {
+    return newView(null, copyAnnotation);
+  }
+
+  /**
+   * 
+   * @param viewTitle
+   *          title of newly created view
+   * @return new alignment panel, already displayed.
+   */
+  public AlignmentPanel newView(String viewTitle)
+  {
+    return newView(viewTitle, true);
+  }
+
+  /**
+   * 
+   * @param viewTitle
+   *          title of newly created view
+   * @param copyAnnotation
+   *          if true then duplicate all annnotation, groups and settings
+   * @return new alignment panel, already displayed.
+   */
+  public AlignmentPanel newView(String viewTitle, boolean copyAnnotation)
+  {
+    AlignmentPanel newap = new Jalview2XML().copyAlignPanel(alignPanel,
+            true);
+    if (!copyAnnotation)
+    {
+      // just remove all the current annotation except for the automatic stuff
+      newap.av.getAlignment().deleteAllGroups();
+      for (AlignmentAnnotation alan : newap.av.getAlignment()
+              .getAlignmentAnnotation())
+      {
+        if (!alan.autoCalculated)
+        {
+          newap.av.getAlignment().deleteAnnotation(alan);
+        }
+        ;
+      }
+    }
+
+    newap.av.gatherViewsHere = false;
+
+    if (viewport.viewName == null)
+    {
+      viewport.viewName = "Original";
+    }
+
+    newap.av.historyList = viewport.historyList;
+    newap.av.redoList = viewport.redoList;
+
+    int index = Desktop.getViewCount(viewport.getSequenceSetId());
+    // make sure the new view has a unique name - this is essential for Jalview
+    // 2 archives
+    boolean addFirstIndex = false;
+    if (viewTitle == null || viewTitle.trim().length() == 0)
+    {
+      viewTitle = "View";
+      addFirstIndex = true;
+    }
+    else
+    {
+      index = 1;// we count from 1 if given a specific name
+    }
+    String newViewName = viewTitle + ((addFirstIndex) ? " " + index : "");
+    Vector comps = (Vector) PaintRefresher.components.get(viewport
+            .getSequenceSetId());
+    Vector existingNames = new Vector();
+    for (int i = 0; i < comps.size(); i++)
+    {
+      if (comps.elementAt(i) instanceof AlignmentPanel)
+      {
+        AlignmentPanel ap = (AlignmentPanel) comps.elementAt(i);
+        if (!existingNames.contains(ap.av.viewName))
+        {
+          existingNames.addElement(ap.av.viewName);
+        }
+      }
+    }
+
+    while (existingNames.contains(newViewName))
+    {
+      newViewName = viewTitle + " " + (++index);
+    }
+
+    newap.av.viewName = newViewName;
+
+    addAlignmentPanel(newap, true);
+    newap.alignmentChanged();
+    
+    if (alignPanels.size() == 2)
+    {
+      viewport.gatherViewsHere = true;
+    }
+    tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1);
+    return newap;
+  }
+
+  @Override
+  public void expandViews_actionPerformed(ActionEvent e)
+  {
+    Desktop.instance.explodeViews(this);
+  }
+
+  @Override
+  public void gatherViews_actionPerformed(ActionEvent e)
+  {
+    Desktop.instance.gatherViews(this);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void font_actionPerformed(ActionEvent e)
+  {
+    new FontChooser(alignPanel);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void seqLimit_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowJVSuffix(seqLimits.isSelected());
+
+    alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel
+            .calculateIdWidth());
+    alignPanel.paintAlignment(true);
+  }
+
+  @Override
+  public void idRightAlign_actionPerformed(ActionEvent e)
+  {
+    viewport.rightAlignIds = idRightAlign.isSelected();
+    alignPanel.paintAlignment(true);
+  }
+
+  @Override
+  public void centreColumnLabels_actionPerformed(ActionEvent e)
+  {
+    viewport.centreColumnLabels = centreColumnLabelsMenuItem.getState();
+    alignPanel.paintAlignment(true);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see jalview.jbgui.GAlignFrame#followHighlight_actionPerformed()
+   */
+  @Override
+  protected void followHighlight_actionPerformed()
+  {
+    if (viewport.followHighlight = this.followHighlightMenuItem.getState())
+    {
+      alignPanel.scrollToPosition(
+              alignPanel.seqPanel.seqCanvas.searchResults, false);
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void colourTextMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setColourText(colourTextMenuItem.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void wrapMenuItem_actionPerformed(ActionEvent e)
+  {
+    scaleAbove.setVisible(wrapMenuItem.isSelected());
+    scaleLeft.setVisible(wrapMenuItem.isSelected());
+    scaleRight.setVisible(wrapMenuItem.isSelected());
+    viewport.setWrapAlignment(wrapMenuItem.isSelected());
+    alignPanel.setWrapAlignment(wrapMenuItem.isSelected());
+  }
+
+  @Override
+  public void showAllSeqs_actionPerformed(ActionEvent e)
+  {
+    viewport.showAllHiddenSeqs();
+  }
+
+  @Override
+  public void showAllColumns_actionPerformed(ActionEvent e)
+  {
+    viewport.showAllHiddenColumns();
+    repaint();
+  }
+
+  @Override
+  public void hideSelSequences_actionPerformed(ActionEvent e)
+  {
+    viewport.hideAllSelectedSeqs();
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * called by key handler and the hide all/show all menu items
+   * 
+   * @param toggleSeqs
+   * @param toggleCols
+   */
+  private void toggleHiddenRegions(boolean toggleSeqs, boolean toggleCols)
+  {
+
+    boolean hide = false;
+    SequenceGroup sg = viewport.getSelectionGroup();
+    if (!toggleSeqs && !toggleCols)
+    {
+      // Hide everything by the current selection - this is a hack - we do the
+      // invert and then hide
+      // first check that there will be visible columns after the invert.
+      if ((viewport.getColumnSelection() != null
+              && viewport.getColumnSelection().getSelected() != null && viewport
+              .getColumnSelection().getSelected().size() > 0)
+              || (sg != null && sg.getSize() > 0 && sg.getStartRes() <= sg
+                      .getEndRes()))
+      {
+        // now invert the sequence set, if required - empty selection implies
+        // that no hiding is required.
+        if (sg != null)
+        {
+          invertSequenceMenuItem_actionPerformed(null);
+          sg = viewport.getSelectionGroup();
+          toggleSeqs = true;
+
+        }
+        viewport.expandColSelection(sg, true);
+        // finally invert the column selection and get the new sequence
+        // selection.
+        invertColSel_actionPerformed(null);
+        toggleCols = true;
+      }
+    }
+
+    if (toggleSeqs)
+    {
+      if (sg != null && sg.getSize() != viewport.getAlignment().getHeight())
+      {
+        hideSelSequences_actionPerformed(null);
+        hide = true;
+      }
+      else if (!(toggleCols && viewport.getColumnSelection().getSelected()
+              .size() > 0))
+      {
+        showAllSeqs_actionPerformed(null);
+      }
+    }
+
+    if (toggleCols)
+    {
+      if (viewport.getColumnSelection().getSelected().size() > 0)
+      {
+        hideSelColumns_actionPerformed(null);
+        if (!toggleSeqs)
+        {
+          viewport.setSelectionGroup(sg);
+        }
+      }
+      else if (!hide)
+      {
+        showAllColumns_actionPerformed(null);
+      }
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#hideAllButSelection_actionPerformed(java.awt.
+   * event.ActionEvent)
+   */
+  @Override
+  public void hideAllButSelection_actionPerformed(ActionEvent e)
+  {
+    toggleHiddenRegions(false, false);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#hideAllSelection_actionPerformed(java.awt.event
+   * .ActionEvent)
+   */
+  @Override
+  public void hideAllSelection_actionPerformed(ActionEvent e)
+  {
+    SequenceGroup sg = viewport.getSelectionGroup();
+    viewport.expandColSelection(sg, false);
+    viewport.hideAllSelectedSeqs();
+    viewport.hideSelectedColumns();
+    alignPanel.paintAlignment(true);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showAllhidden_actionPerformed(java.awt.event.
+   * ActionEvent)
+   */
+  @Override
+  public void showAllhidden_actionPerformed(ActionEvent e)
+  {
+    viewport.showAllHiddenColumns();
+    viewport.showAllHiddenSeqs();
+    alignPanel.paintAlignment(true);
+  }
+
+  @Override
+  public void hideSelColumns_actionPerformed(ActionEvent e)
+  {
+    viewport.hideSelectedColumns();
+    alignPanel.paintAlignment(true);
+  }
+
+  @Override
+  public void hiddenMarkers_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowHiddenMarkers(hiddenMarkers.isSelected());
+    repaint();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void scaleAbove_actionPerformed(ActionEvent e)
+  {
+    viewport.setScaleAboveWrapped(scaleAbove.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void scaleLeft_actionPerformed(ActionEvent e)
+  {
+    viewport.setScaleLeftWrapped(scaleLeft.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void scaleRight_actionPerformed(ActionEvent e)
+  {
+    viewport.setScaleRightWrapped(scaleRight.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void viewBoxesMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowBoxes(viewBoxesMenuItem.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void viewTextMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowText(viewTextMenuItem.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setRenderGaps(renderGapsMenuItem.isSelected());
+    alignPanel.paintAlignment(true);
+  }
+
+  public FeatureSettings featureSettings;
+
+  @Override
+  public void featureSettings_actionPerformed(ActionEvent e)
+  {
+    if (featureSettings != null)
+    {
+      featureSettings.close();
+      featureSettings = null;
+    }
+    if (!showSeqFeatures.isSelected())
+    {
+      // make sure features are actually displayed
+      showSeqFeatures.setSelected(true);
+      showSeqFeatures_actionPerformed(null);
+    }
+    featureSettings = new FeatureSettings(this);
+  }
+
+  /**
+   * Set or clear 'Show Sequence Features'
+   * 
+   * @param evt
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void showSeqFeatures_actionPerformed(ActionEvent evt)
+  {
+    viewport.setShowSequenceFeatures(showSeqFeatures.isSelected());
+    alignPanel.paintAlignment(true);
+    if (alignPanel.getOverviewPanel() != null)
+    {
+      alignPanel.getOverviewPanel().updateOverviewImage();
+    }
+  }
+
+  /**
+   * Set or clear 'Show Sequence Features'
+   * 
+   * @param evt
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void showSeqFeaturesHeight_actionPerformed(ActionEvent evt)
+  {
+    viewport.setShowSequenceFeaturesHeight(showSeqFeaturesHeight
+            .isSelected());
+    if (viewport.getShowSequenceFeaturesHeight())
+    {
+      // ensure we're actually displaying features
+      viewport.setShowSequenceFeatures(true);
+      showSeqFeatures.setSelected(true);
+    }
+    alignPanel.paintAlignment(true);
+    if (alignPanel.getOverviewPanel() != null)
+    {
+      alignPanel.getOverviewPanel().updateOverviewImage();
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void annotationPanelMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());
+    alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());
+  }
+
+  @Override
+  public void alignmentProperties()
+  {
+    JEditorPane editPane = new JEditorPane("text/html", "");
+    editPane.setEditable(false);
+    StringBuffer contents = new AlignmentProperties(viewport.getAlignment())
+            .formatAsHtml();
+    editPane.setText(MessageManager.formatMessage("label.html_content", new String[]{contents.toString()}));
+    JInternalFrame frame = new JInternalFrame();
+    frame.getContentPane().add(new JScrollPane(editPane));
+
     Desktop.instance.addInternalFrame(frame, MessageManager.formatMessage("label.alignment_properties", new String[]{getTitle()}), 500, 400);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void overviewMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    if (alignPanel.overviewPanel != null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    JInternalFrame frame = new JInternalFrame();\r
-    OverviewPanel overview = new OverviewPanel(alignPanel);\r
-    frame.setContentPane(overview);\r
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void overviewMenuItem_actionPerformed(ActionEvent e)
+  {
+    if (alignPanel.overviewPanel != null)
+    {
+      return;
+    }
+
+    JInternalFrame frame = new JInternalFrame();
+    OverviewPanel overview = new OverviewPanel(alignPanel);
+    frame.setContentPane(overview);
     Desktop.addInternalFrame(frame, MessageManager.formatMessage("label.overview_params", new String[]{this.getTitle()}),\r
-            frame.getWidth(), frame.getHeight());\r
-    frame.pack();\r
-    frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
-    frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
-    {\r
-      @Override\r
-      public void internalFrameClosed(\r
-              javax.swing.event.InternalFrameEvent evt)\r
-      {\r
-        alignPanel.setOverviewPanel(null);\r
-      };\r
-    });\r
-\r
-    alignPanel.setOverviewPanel(overview);\r
-  }\r
-\r
-  @Override\r
-  public void textColour_actionPerformed(ActionEvent e)\r
-  {\r
-    new TextColourChooser().chooseColour(alignPanel, null);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(null);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void clustalColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new ClustalxColourScheme(viewport.getAlignment(),\r
-            viewport.getHiddenRepSequences()));\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void zappoColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new ZappoColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void taylorColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new TaylorColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void hydrophobicityColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new HydrophobicColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void helixColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new HelixColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void strandColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new StrandColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void turnColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new TurnColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void buriedColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new BuriedColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void nucleotideColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new NucleotideColourScheme());\r
-  }\r
-\r
-  @Override\r
-  public void purinePyrimidineColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new PurinePyrimidineColourScheme());\r
-  }\r
-\r
-  /*\r
-   * public void covariationColour_actionPerformed(ActionEvent e) {\r
-   * changeColour(new\r
-   * CovariationColourScheme(viewport.getAlignment().getAlignmentAnnotation\r
-   * ()[0])); }\r
-   */\r
-  @Override\r
-  public void annotationColour_actionPerformed(ActionEvent e)\r
-  {\r
-    new AnnotationColourChooser(viewport, alignPanel);\r
-  }\r
-\r
-  @Override\r
-  public void rnahelicesColour_actionPerformed(ActionEvent e)\r
-  {\r
-    new RNAHelicesColourChooser(viewport, alignPanel);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param cs\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void changeColour(ColourSchemeI cs)\r
-  {\r
-    // TODO: compare with applet and pull up to model method\r
-    int threshold = 0;\r
-\r
-    if (cs != null)\r
-    {\r
-      if (viewport.getAbovePIDThreshold())\r
-      {\r
-        threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,\r
-                "Background");\r
-\r
-        cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
-\r
-        viewport.setGlobalColourScheme(cs);\r
-      }\r
-      else\r
-      {\r
-        cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
-      }\r
-\r
-      if (viewport.getConservationSelected())\r
-      {\r
-\r
-        Alignment al = (Alignment) viewport.getAlignment();\r
-        Conservation c = new Conservation("All",\r
-                ResidueProperties.propHash, 3, al.getSequences(), 0,\r
-                al.getWidth() - 1);\r
-\r
-        c.calculate();\r
-        c.verdict(false, viewport.getConsPercGaps());\r
-\r
-        cs.setConservation(c);\r
-\r
-        cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,\r
-                cs, "Background"));\r
-      }\r
-      else\r
-      {\r
-        cs.setConservation(null);\r
-      }\r
-\r
-      cs.setConsensus(viewport.getSequenceConsensusHash());\r
-    }\r
-\r
-    viewport.setGlobalColourScheme(cs);\r
-\r
-    if (viewport.getColourAppliesToAllGroups())\r
-    {\r
-\r
-      for (SequenceGroup sg : viewport.getAlignment().getGroups())\r
-      {\r
-        if (cs == null)\r
-        {\r
-          sg.cs = null;\r
-          continue;\r
-        }\r
-\r
-        if (cs instanceof ClustalxColourScheme)\r
-        {\r
-          sg.cs = new ClustalxColourScheme(sg,\r
-                  viewport.getHiddenRepSequences());\r
-        }\r
-        else if (cs instanceof UserColourScheme)\r
-        {\r
-          sg.cs = new UserColourScheme(((UserColourScheme) cs).getColours());\r
-        }\r
-        else\r
-        {\r
-          try\r
-          {\r
-            sg.cs = cs.getClass().newInstance();\r
-          } catch (Exception ex)\r
-          {\r
-          }\r
-        }\r
-\r
-        if (viewport.getAbovePIDThreshold()\r
-                || cs instanceof PIDColourScheme\r
-                || cs instanceof Blosum62ColourScheme)\r
-        {\r
-          sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
-\r
-          sg.cs.setConsensus(AAFrequency.calculate(\r
-                  sg.getSequences(viewport.getHiddenRepSequences()),\r
-                  sg.getStartRes(), sg.getEndRes() + 1));\r
-        }\r
-        else\r
-        {\r
-          sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
-        }\r
-\r
-        if (viewport.getConservationSelected())\r
-        {\r
-          Conservation c = new Conservation("Group",\r
-                  ResidueProperties.propHash, 3, sg.getSequences(viewport\r
-                          .getHiddenRepSequences()), sg.getStartRes(),\r
-                  sg.getEndRes() + 1);\r
-          c.calculate();\r
-          c.verdict(false, viewport.getConsPercGaps());\r
-          sg.cs.setConservation(c);\r
-        }\r
-        else\r
-        {\r
-          sg.cs.setConservation(null);\r
-        }\r
-      }\r
-    }\r
-\r
-    if (alignPanel.getOverviewPanel() != null)\r
-    {\r
-      alignPanel.getOverviewPanel().updateOverviewImage();\r
-    }\r
-\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void modifyPID_actionPerformed(ActionEvent e)\r
-  {\r
-    if (viewport.getAbovePIDThreshold()\r
-            && viewport.getGlobalColourScheme() != null)\r
-    {\r
-      SliderPanel.setPIDSliderSource(alignPanel,\r
-              viewport.getGlobalColourScheme(), "Background");\r
-      SliderPanel.showPIDSlider();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void modifyConservation_actionPerformed(ActionEvent e)\r
-  {\r
-    if (viewport.getConservationSelected()\r
-            && viewport.getGlobalColourScheme() != null)\r
-    {\r
-      SliderPanel.setConservationSlider(alignPanel,\r
-              viewport.getGlobalColourScheme(), "Background");\r
-      SliderPanel.showConservationSlider();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void conservationMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setConservationSelected(conservationMenuItem.isSelected());\r
-\r
-    viewport.setAbovePIDThreshold(false);\r
-    abovePIDThreshold.setSelected(false);\r
-\r
-    changeColour(viewport.getGlobalColourScheme());\r
-\r
-    modifyConservation_actionPerformed(null);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void abovePIDThreshold_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setAbovePIDThreshold(abovePIDThreshold.isSelected());\r
-\r
-    conservationMenuItem.setSelected(false);\r
-    viewport.setConservationSelected(false);\r
-\r
-    changeColour(viewport.getGlobalColourScheme());\r
-\r
-    modifyPID_actionPerformed(null);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void userDefinedColour_actionPerformed(ActionEvent e)\r
-  {\r
+            frame.getWidth(), frame.getHeight());
+    frame.pack();
+    frame.setLayer(JLayeredPane.PALETTE_LAYER);
+    frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+    {
+      @Override
+      public void internalFrameClosed(
+              javax.swing.event.InternalFrameEvent evt)
+      {
+        alignPanel.setOverviewPanel(null);
+      };
+    });
+
+    alignPanel.setOverviewPanel(overview);
+  }
+
+  @Override
+  public void textColour_actionPerformed(ActionEvent e)
+  {
+    new TextColourChooser().chooseColour(alignPanel, null);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void noColourmenuItem_actionPerformed(ActionEvent e)
+  {
+    changeColour(null);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void clustalColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new ClustalxColourScheme(viewport.getAlignment(),
+            viewport.getHiddenRepSequences()));
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void zappoColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new ZappoColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void taylorColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new TaylorColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void hydrophobicityColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new HydrophobicColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void helixColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new HelixColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void strandColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new StrandColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void turnColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new TurnColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void buriedColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new BuriedColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void nucleotideColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new NucleotideColourScheme());
+  }
+
+  @Override
+  public void purinePyrimidineColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new PurinePyrimidineColourScheme());
+  }
+
+  /*
+   * public void covariationColour_actionPerformed(ActionEvent e) {
+   * changeColour(new
+   * CovariationColourScheme(viewport.getAlignment().getAlignmentAnnotation
+   * ()[0])); }
+   */
+  @Override
+  public void annotationColour_actionPerformed(ActionEvent e)
+  {
+    new AnnotationColourChooser(viewport, alignPanel);
+  }
+
+  @Override
+  public void rnahelicesColour_actionPerformed(ActionEvent e)
+  {
+    new RNAHelicesColourChooser(viewport, alignPanel);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void applyToAllGroups_actionPerformed(ActionEvent e)
+  {
+    viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param cs
+   *          DOCUMENT ME!
+   */
+  public void changeColour(ColourSchemeI cs)
+  {
+    // TODO: compare with applet and pull up to model method
+    int threshold = 0;
+
+    if (cs != null)
+    {
+      if (viewport.getAbovePIDThreshold())
+      {
+        threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,
+                "Background");
+
+        cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());
+
+        viewport.setGlobalColourScheme(cs);
+      }
+      else
+      {
+        cs.setThreshold(0, viewport.getIgnoreGapsConsensus());
+      }
+
+      if (viewport.getConservationSelected())
+      {
+
+        Alignment al = (Alignment) viewport.getAlignment();
+        Conservation c = new Conservation("All",
+                ResidueProperties.propHash, 3, al.getSequences(), 0,
+                al.getWidth() - 1);
+
+        c.calculate();
+        c.verdict(false, viewport.getConsPercGaps());
+
+        cs.setConservation(c);
+
+        cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,
+                cs, "Background"));
+      }
+      else
+      {
+        cs.setConservation(null);
+      }
+
+      cs.setConsensus(viewport.getSequenceConsensusHash());
+    }
+
+    viewport.setGlobalColourScheme(cs);
+
+    if (viewport.getColourAppliesToAllGroups())
+    {
+
+      for (SequenceGroup sg : viewport.getAlignment().getGroups())
+      {
+        if (cs == null)
+        {
+          sg.cs = null;
+          continue;
+        }
+
+        if (cs instanceof ClustalxColourScheme)
+        {
+          sg.cs = new ClustalxColourScheme(sg,
+                  viewport.getHiddenRepSequences());
+        }
+        else if (cs instanceof UserColourScheme)
+        {
+          sg.cs = new UserColourScheme(((UserColourScheme) cs).getColours());
+        }
+        else
+        {
+          try
+          {
+            sg.cs = cs.getClass().newInstance();
+          } catch (Exception ex)
+          {
+          }
+        }
+
+        if (viewport.getAbovePIDThreshold()
+                || cs instanceof PIDColourScheme
+                || cs instanceof Blosum62ColourScheme)
+        {
+          sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());
+
+          sg.cs.setConsensus(AAFrequency.calculate(
+                  sg.getSequences(viewport.getHiddenRepSequences()),
+                  sg.getStartRes(), sg.getEndRes() + 1));
+        }
+        else
+        {
+          sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());
+        }
+
+        if (viewport.getConservationSelected())
+        {
+          Conservation c = new Conservation("Group",
+                  ResidueProperties.propHash, 3, sg.getSequences(viewport
+                          .getHiddenRepSequences()), sg.getStartRes(),
+                  sg.getEndRes() + 1);
+          c.calculate();
+          c.verdict(false, viewport.getConsPercGaps());
+          sg.cs.setConservation(c);
+        }
+        else
+        {
+          sg.cs.setConservation(null);
+        }
+      }
+    }
+
+    if (alignPanel.getOverviewPanel() != null)
+    {
+      alignPanel.getOverviewPanel().updateOverviewImage();
+    }
+
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void modifyPID_actionPerformed(ActionEvent e)
+  {
+    if (viewport.getAbovePIDThreshold()
+            && viewport.getGlobalColourScheme() != null)
+    {
+      SliderPanel.setPIDSliderSource(alignPanel,
+              viewport.getGlobalColourScheme(), "Background");
+      SliderPanel.showPIDSlider();
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void modifyConservation_actionPerformed(ActionEvent e)
+  {
+    if (viewport.getConservationSelected()
+            && viewport.getGlobalColourScheme() != null)
+    {
+      SliderPanel.setConservationSlider(alignPanel,
+              viewport.getGlobalColourScheme(), "Background");
+      SliderPanel.showConservationSlider();
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void conservationMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setConservationSelected(conservationMenuItem.isSelected());
+
+    viewport.setAbovePIDThreshold(false);
+    abovePIDThreshold.setSelected(false);
+
+    changeColour(viewport.getGlobalColourScheme());
+
+    modifyConservation_actionPerformed(null);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void abovePIDThreshold_actionPerformed(ActionEvent e)
+  {
+    viewport.setAbovePIDThreshold(abovePIDThreshold.isSelected());
+
+    conservationMenuItem.setSelected(false);
+    viewport.setConservationSelected(false);
+
+    changeColour(viewport.getGlobalColourScheme());
+
+    modifyPID_actionPerformed(null);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void userDefinedColour_actionPerformed(ActionEvent e)
+  {
     if (e.getActionCommand().equals(MessageManager.getString("action.user_defined")))\r
-    {\r
-      new UserDefinedColours(alignPanel, null);\r
-    }\r
-    else\r
-    {\r
-      UserColourScheme udc = (UserColourScheme) UserDefinedColours\r
-              .getUserColourSchemes().get(e.getActionCommand());\r
-\r
-      changeColour(udc);\r
-    }\r
-  }\r
-\r
-  public void updateUserColourMenu()\r
-  {\r
-\r
-    Component[] menuItems = colourMenu.getMenuComponents();\r
-    int i, iSize = menuItems.length;\r
-    for (i = 0; i < iSize; i++)\r
-    {\r
-      if (menuItems[i].getName() != null\r
-              && menuItems[i].getName().equals("USER_DEFINED"))\r
-      {\r
-        colourMenu.remove(menuItems[i]);\r
-        iSize--;\r
-      }\r
-    }\r
-    if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)\r
-    {\r
-      java.util.Enumeration userColours = jalview.gui.UserDefinedColours\r
-              .getUserColourSchemes().keys();\r
-\r
-      while (userColours.hasMoreElements())\r
-      {\r
-        final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(\r
-                userColours.nextElement().toString());\r
-        radioItem.setName("USER_DEFINED");\r
-        radioItem.addMouseListener(new MouseAdapter()\r
-        {\r
-          @Override\r
-          public void mousePressed(MouseEvent evt)\r
-          {\r
-            if (evt.isControlDown()\r
-                    || SwingUtilities.isRightMouseButton(evt))\r
-            {\r
-              radioItem.removeActionListener(radioItem.getActionListeners()[0]);\r
-\r
-              int option = JOptionPane.showInternalConfirmDialog(\r
-                      jalview.gui.Desktop.desktop,\r
-                      MessageManager.getString("label.remove_from_default_list"),\r
-                      MessageManager.getString("label.remove_user_defined_colour"),\r
-                      JOptionPane.YES_NO_OPTION);\r
-              if (option == JOptionPane.YES_OPTION)\r
-              {\r
-                jalview.gui.UserDefinedColours\r
-                        .removeColourFromDefaults(radioItem.getText());\r
-                colourMenu.remove(radioItem);\r
-              }\r
-              else\r
-              {\r
-                radioItem.addActionListener(new ActionListener()\r
-                {\r
-                  @Override\r
-                  public void actionPerformed(ActionEvent evt)\r
-                  {\r
-                    userDefinedColour_actionPerformed(evt);\r
-                  }\r
-                });\r
-              }\r
-            }\r
-          }\r
-        });\r
-        radioItem.addActionListener(new ActionListener()\r
-        {\r
-          @Override\r
-          public void actionPerformed(ActionEvent evt)\r
-          {\r
-            userDefinedColour_actionPerformed(evt);\r
-          }\r
-        });\r
-\r
-        colourMenu.insert(radioItem, 15);\r
-        colours.add(radioItem);\r
-      }\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void PIDColour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new PIDColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new Blosum62ColourScheme());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-    AlignmentSorter.sortByPID(viewport.getAlignment(), viewport\r
-            .getAlignment().getSequenceAt(0), null);\r
-    addHistoryItem(new OrderCommand("Pairwise Sort", oldOrder,\r
-            viewport.getAlignment()));\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void sortIDMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-    AlignmentSorter.sortByID(viewport.getAlignment());\r
-    addHistoryItem(new OrderCommand("ID Sort", oldOrder,\r
-            viewport.getAlignment()));\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void sortLengthMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-    AlignmentSorter.sortByLength(viewport.getAlignment());\r
-    addHistoryItem(new OrderCommand("Length Sort", oldOrder,\r
-            viewport.getAlignment()));\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-    AlignmentSorter.sortByGroup(viewport.getAlignment());\r
-    addHistoryItem(new OrderCommand("Group Sort", oldOrder,\r
-            viewport.getAlignment()));\r
-\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    new RedundancyPanel(alignPanel, this);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    if ((viewport.getSelectionGroup() == null)\r
-            || (viewport.getSelectionGroup().getSize() < 2))\r
-    {\r
-      JOptionPane.showInternalMessageDialog(this,\r
-              MessageManager.getString("label.you_must_select_least_two_sequences"), MessageManager.getString("label.invalid_selection"),\r
-              JOptionPane.WARNING_MESSAGE);\r
-    }\r
-    else\r
-    {\r
-      JInternalFrame frame = new JInternalFrame();\r
-      frame.setContentPane(new PairwiseAlignPanel(viewport));\r
+    {
+      new UserDefinedColours(alignPanel, null);
+    }
+    else
+    {
+      UserColourScheme udc = (UserColourScheme) UserDefinedColours
+              .getUserColourSchemes().get(e.getActionCommand());
+
+      changeColour(udc);
+    }
+  }
+
+  public void updateUserColourMenu()
+  {
+
+    Component[] menuItems = colourMenu.getMenuComponents();
+    int i, iSize = menuItems.length;
+    for (i = 0; i < iSize; i++)
+    {
+      if (menuItems[i].getName() != null
+              && menuItems[i].getName().equals("USER_DEFINED"))
+      {
+        colourMenu.remove(menuItems[i]);
+        iSize--;
+      }
+    }
+    if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
+    {
+      java.util.Enumeration userColours = jalview.gui.UserDefinedColours
+              .getUserColourSchemes().keys();
+
+      while (userColours.hasMoreElements())
+      {
+        final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
+                userColours.nextElement().toString());
+        radioItem.setName("USER_DEFINED");
+        radioItem.addMouseListener(new MouseAdapter()
+        {
+          @Override
+          public void mousePressed(MouseEvent evt)
+          {
+            if (evt.isControlDown()
+                    || SwingUtilities.isRightMouseButton(evt))
+            {
+              radioItem.removeActionListener(radioItem.getActionListeners()[0]);
+
+              int option = JOptionPane.showInternalConfirmDialog(
+                      jalview.gui.Desktop.desktop,
+                      MessageManager.getString("label.remove_from_default_list"),
+                      MessageManager.getString("label.remove_user_defined_colour"),
+                      JOptionPane.YES_NO_OPTION);
+              if (option == JOptionPane.YES_OPTION)
+              {
+                jalview.gui.UserDefinedColours
+                        .removeColourFromDefaults(radioItem.getText());
+                colourMenu.remove(radioItem);
+              }
+              else
+              {
+                radioItem.addActionListener(new ActionListener()
+                {
+                  @Override
+                  public void actionPerformed(ActionEvent evt)
+                  {
+                    userDefinedColour_actionPerformed(evt);
+                  }
+                });
+              }
+            }
+          }
+        });
+        radioItem.addActionListener(new ActionListener()
+        {
+          @Override
+          public void actionPerformed(ActionEvent evt)
+          {
+            userDefinedColour_actionPerformed(evt);
+          }
+        });
+
+        colourMenu.insert(radioItem, 15);
+        colours.add(radioItem);
+      }
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void PIDColour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new PIDColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void BLOSUM62Colour_actionPerformed(ActionEvent e)
+  {
+    changeColour(new Blosum62ColourScheme());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByPID(viewport.getAlignment(), viewport
+            .getAlignment().getSequenceAt(0), null);
+    addHistoryItem(new OrderCommand("Pairwise Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void sortIDMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByID(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("ID Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void sortLengthMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByLength(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Length Sort", oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void sortGroupMenuItem_actionPerformed(ActionEvent e)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortByGroup(viewport.getAlignment());
+    addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+            viewport.getAlignment()));
+
+    alignPanel.paintAlignment(true);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
+  {
+    new RedundancyPanel(alignPanel, this);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
+  {
+    if ((viewport.getSelectionGroup() == null)
+            || (viewport.getSelectionGroup().getSize() < 2))
+    {
+      JOptionPane.showInternalMessageDialog(this,
+              MessageManager.getString("label.you_must_select_least_two_sequences"), MessageManager.getString("label.invalid_selection"),
+              JOptionPane.WARNING_MESSAGE);
+    }
+    else
+    {
+      JInternalFrame frame = new JInternalFrame();
+      frame.setContentPane(new PairwiseAlignPanel(viewport));
       Desktop.addInternalFrame(frame, MessageManager.getString("action.pairwise_alignment"), 600, 500);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void PCAMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    if (((viewport.getSelectionGroup() != null)\r
-            && (viewport.getSelectionGroup().getSize() < 4) && (viewport\r
-            .getSelectionGroup().getSize() > 0))\r
-            || (viewport.getAlignment().getHeight() < 4))\r
-    {\r
-      JOptionPane.showInternalMessageDialog(this,\r
-              MessageManager.getString("label.principal_component_analysis_must_take_least_four_input_sequences"),\r
-              MessageManager.getString("label.sequence_selection_insufficient"),\r
-              JOptionPane.WARNING_MESSAGE);\r
-\r
-      return;\r
-    }\r
-\r
-    new PCAPanel(alignPanel);\r
-  }\r
-\r
-  @Override\r
-  public void autoCalculate_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.autoCalculateConsensus = autoCalculate.isSelected();\r
-    if (viewport.autoCalculateConsensus)\r
-    {\r
-      viewport.firePropertyChange("alignment", null, viewport\r
-              .getAlignment().getSequences());\r
-    }\r
-  }\r
-\r
-  @Override\r
-  public void sortByTreeOption_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.sortByTree = sortByTree.isSelected();\r
-  }\r
-\r
-  @Override\r
-  protected void listenToViewSelections_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.followSelection = listenToViewSelections.isSelected();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    NewTreePanel("AV", "PID", "Average distance tree using PID");\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  public void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    NewTreePanel("NJ", "PID", "Neighbour joining tree using PID");\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    NewTreePanel("NJ", "BL", "Neighbour joining tree using BLOSUM62");\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62");\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param type\r
-   *          DOCUMENT ME!\r
-   * @param pwType\r
-   *          DOCUMENT ME!\r
-   * @param title\r
-   *          DOCUMENT ME!\r
-   */\r
-  void NewTreePanel(String type, String pwType, String title)\r
-  {\r
-    TreePanel tp;\r
-\r
-    if (viewport.getSelectionGroup() != null\r
-            && viewport.getSelectionGroup().getSize() > 0)\r
-    {\r
-      if (viewport.getSelectionGroup().getSize() < 3)\r
-      {\r
-        JOptionPane\r
-                .showMessageDialog(\r
-                        Desktop.desktop,\r
-                        MessageManager.getString("label.you_need_more_two_sequences_selected_build_tree"),\r
-                        MessageManager.getString("label.not_enough_sequences"), JOptionPane.WARNING_MESSAGE);\r
-        return;\r
-      }\r
-\r
-      SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
-      /* Decide if the selection is a column region */\r
-      for (SequenceI _s : sg.getSequences())\r
-      {\r
-        if (_s.getLength() < sg.getEndRes())\r
-        {\r
-          JOptionPane\r
-                  .showMessageDialog(\r
-                          Desktop.desktop,\r
-                          MessageManager.getString("label.selected_region_to_tree_may_only_contain_residues_or_gaps"),\r
-                          MessageManager.getString("label.sequences_selection_not_aligned"),\r
-                          JOptionPane.WARNING_MESSAGE);\r
-\r
-          return;\r
-        }\r
-      }\r
-\r
-      title = title + " on region";\r
-      tp = new TreePanel(alignPanel, type, pwType);\r
-    }\r
-    else\r
-    {\r
-      // are the visible sequences aligned?\r
-      if (!viewport.getAlignment().isAligned(false))\r
-      {\r
-        JOptionPane\r
-                .showMessageDialog(\r
-                        Desktop.desktop,\r
-                        MessageManager.getString("label.sequences_must_be_aligned_before_creating_tree"),\r
-                        MessageManager.getString("label.sequences_not_aligned"),\r
-                        JOptionPane.WARNING_MESSAGE);\r
-\r
-        return;\r
-      }\r
-\r
-      if (viewport.getAlignment().getHeight() < 2)\r
-      {\r
-        return;\r
-      }\r
-\r
-      tp = new TreePanel(alignPanel, type, pwType);\r
-    }\r
-\r
-    title += " from ";\r
-\r
-    if (viewport.viewName != null)\r
-    {\r
-      title += viewport.viewName + " of ";\r
-    }\r
-\r
-    title += this.title;\r
-\r
-    Desktop.addInternalFrame(tp, title, 600, 500);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param title\r
-   *          DOCUMENT ME!\r
-   * @param order\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void addSortByOrderMenuItem(String title,\r
-          final AlignmentOrder order)\r
-  {\r
-    final JMenuItem item = new JMenuItem("by " + title);\r
-    sort.add(item);\r
-    item.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      @Override\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-\r
-        // TODO: JBPNote - have to map order entries to curent SequenceI\r
-        // pointers\r
-        AlignmentSorter.sortBy(viewport.getAlignment(), order);\r
-\r
-        addHistoryItem(new OrderCommand(order.getName(), oldOrder, viewport\r
-                .getAlignment()));\r
-\r
-        alignPanel.paintAlignment(true);\r
-      }\r
-    });\r
-  }\r
-\r
-  /**\r
-   * Add a new sort by annotation score menu item\r
-   * \r
-   * @param sort\r
-   *          the menu to add the option to\r
-   * @param scoreLabel\r
-   *          the label used to retrieve scores for each sequence on the\r
-   *          alignment\r
-   */\r
-  public void addSortByAnnotScoreMenuItem(JMenu sort,\r
-          final String scoreLabel)\r
-  {\r
-    final JMenuItem item = new JMenuItem(scoreLabel);\r
-    sort.add(item);\r
-    item.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      @Override\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-        AlignmentSorter.sortByAnnotationScore(scoreLabel,\r
-                viewport.getAlignment());// ,viewport.getSelectionGroup());\r
-        addHistoryItem(new OrderCommand("Sort by " + scoreLabel, oldOrder,\r
-                viewport.getAlignment()));\r
-        alignPanel.paintAlignment(true);\r
-      }\r
-    });\r
-  }\r
-\r
-  /**\r
-   * last hash for alignment's annotation array - used to minimise cost of\r
-   * rebuild.\r
-   */\r
-  protected int _annotationScoreVectorHash;\r
-\r
-  /**\r
-   * search the alignment and rebuild the sort by annotation score submenu the\r
-   * last alignment annotation vector hash is stored to minimize cost of\r
-   * rebuilding in subsequence calls.\r
-   * \r
-   */\r
-  @Override\r
-  public void buildSortByAnnotationScoresMenu()\r
-  {\r
-    if (viewport.getAlignment().getAlignmentAnnotation() == null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    if (viewport.getAlignment().getAlignmentAnnotation().hashCode() != _annotationScoreVectorHash)\r
-    {\r
-      sortByAnnotScore.removeAll();\r
-      // almost certainly a quicker way to do this - but we keep it simple\r
-      Hashtable scoreSorts = new Hashtable();\r
-      AlignmentAnnotation aann[];\r
-      for (SequenceI sqa : viewport.getAlignment().getSequences())\r
-      {\r
-        aann = sqa.getAnnotation();\r
-        for (int i = 0; aann != null && i < aann.length; i++)\r
-        {\r
-          if (aann[i].hasScore() && aann[i].sequenceRef != null)\r
-          {\r
-            scoreSorts.put(aann[i].label, aann[i].label);\r
-          }\r
-        }\r
-      }\r
-      Enumeration labels = scoreSorts.keys();\r
-      while (labels.hasMoreElements())\r
-      {\r
-        addSortByAnnotScoreMenuItem(sortByAnnotScore,\r
-                (String) labels.nextElement());\r
-      }\r
-      sortByAnnotScore.setVisible(scoreSorts.size() > 0);\r
-      scoreSorts.clear();\r
-\r
-      _annotationScoreVectorHash = viewport.getAlignment()\r
-              .getAlignmentAnnotation().hashCode();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Maintain the Order by->Displayed Tree menu. Creates a new menu item for a\r
-   * TreePanel with an appropriate <code>jalview.analysis.AlignmentSorter</code>\r
-   * call. Listeners are added to remove the menu item when the treePanel is\r
-   * closed, and adjust the tree leaf to sequence mapping when the alignment is\r
-   * modified.\r
-   * \r
-   * @param treePanel\r
-   *          Displayed tree window.\r
-   * @param title\r
-   *          SortBy menu item title.\r
-   */\r
-  @Override\r
-  public void buildTreeMenu()\r
-  {\r
-    sortByTreeMenu.removeAll();\r
-\r
-    Vector comps = (Vector) PaintRefresher.components.get(viewport\r
-            .getSequenceSetId());\r
-    Vector treePanels = new Vector();\r
-    int i, iSize = comps.size();\r
-    for (i = 0; i < iSize; i++)\r
-    {\r
-      if (comps.elementAt(i) instanceof TreePanel)\r
-      {\r
-        treePanels.add(comps.elementAt(i));\r
-      }\r
-    }\r
-\r
-    iSize = treePanels.size();\r
-\r
-    if (iSize < 1)\r
-    {\r
-      sortByTreeMenu.setVisible(false);\r
-      return;\r
-    }\r
-\r
-    sortByTreeMenu.setVisible(true);\r
-\r
-    for (i = 0; i < treePanels.size(); i++)\r
-    {\r
-      final TreePanel tp = (TreePanel) treePanels.elementAt(i);\r
-      final JMenuItem item = new JMenuItem(tp.getTitle());\r
-      final NJTree tree = ((TreePanel) treePanels.elementAt(i)).getTree();\r
-      item.addActionListener(new java.awt.event.ActionListener()\r
-      {\r
-        @Override\r
-        public void actionPerformed(ActionEvent e)\r
-        {\r
-          tp.sortByTree_actionPerformed(null);\r
-          addHistoryItem(tp.sortAlignmentIn(alignPanel));\r
-\r
-        }\r
-      });\r
-\r
-      sortByTreeMenu.add(item);\r
-    }\r
-  }\r
-\r
-  public boolean sortBy(AlignmentOrder alorder, String undoname)\r
-  {\r
-    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-    AlignmentSorter.sortBy(viewport.getAlignment(), alorder);\r
-    if (undoname != null)\r
-    {\r
-      addHistoryItem(new OrderCommand(undoname, oldOrder,\r
-              viewport.getAlignment()));\r
-    }\r
-    alignPanel.paintAlignment(true);\r
-    return true;\r
-  }\r
-\r
-  /**\r
-   * Work out whether the whole set of sequences or just the selected set will\r
-   * be submitted for multiple alignment.\r
-   * \r
-   */\r
-  public jalview.datamodel.AlignmentView gatherSequencesForAlignment()\r
-  {\r
-    // Now, check we have enough sequences\r
-    AlignmentView msa = null;\r
-\r
-    if ((viewport.getSelectionGroup() != null)\r
-            && (viewport.getSelectionGroup().getSize() > 1))\r
-    {\r
-      // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to\r
-      // some common interface!\r
-      /*\r
-       * SequenceGroup seqs = viewport.getSelectionGroup(); int sz; msa = new\r
-       * SequenceI[sz = seqs.getSize(false)];\r
-       * \r
-       * for (int i = 0; i < sz; i++) { msa[i] = (SequenceI)\r
-       * seqs.getSequenceAt(i); }\r
-       */\r
-      msa = viewport.getAlignmentView(true);\r
-    }\r
-    else\r
-    {\r
-      /*\r
-       * Vector seqs = viewport.getAlignment().getSequences();\r
-       * \r
-       * if (seqs.size() > 1) { msa = new SequenceI[seqs.size()];\r
-       * \r
-       * for (int i = 0; i < seqs.size(); i++) { msa[i] = (SequenceI)\r
-       * seqs.elementAt(i); } }\r
-       */\r
-      msa = viewport.getAlignmentView(false);\r
-    }\r
-    return msa;\r
-  }\r
-\r
-  /**\r
-   * Decides what is submitted to a secondary structure prediction service: the\r
-   * first sequence in the alignment, or in the current selection, or, if the\r
-   * alignment is 'aligned' (ie padded with gaps), then the currently selected\r
-   * region or the whole alignment. (where the first sequence in the set is the\r
-   * one that the prediction will be for).\r
-   */\r
-  public AlignmentView gatherSeqOrMsaForSecStrPrediction()\r
-  {\r
-    AlignmentView seqs = null;\r
-\r
-    if ((viewport.getSelectionGroup() != null)\r
-            && (viewport.getSelectionGroup().getSize() > 0))\r
-    {\r
-      seqs = viewport.getAlignmentView(true);\r
-    }\r
-    else\r
-    {\r
-      seqs = viewport.getAlignmentView(false);\r
-    }\r
-    // limit sequences - JBPNote in future - could spawn multiple prediction\r
-    // jobs\r
-    // TODO: viewport.getAlignment().isAligned is a global state - the local\r
-    // selection may well be aligned - we preserve 2.0.8 behaviour for moment.\r
-    if (!viewport.getAlignment().isAligned(false))\r
-    {\r
-      seqs.setSequences(new SeqCigar[]\r
-      { seqs.getSequences()[0] });\r
-      // TODO: if seqs.getSequences().length>1 then should really have warned\r
-      // user!\r
-\r
-    }\r
-    return seqs;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  @Override\r
-  protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    // Pick the tree file\r
-    JalviewFileChooser chooser = new JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
-    chooser.setFileView(new JalviewFileView());\r
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void PCAMenuItem_actionPerformed(ActionEvent e)
+  {
+    if (((viewport.getSelectionGroup() != null)
+            && (viewport.getSelectionGroup().getSize() < 4) && (viewport
+            .getSelectionGroup().getSize() > 0))
+            || (viewport.getAlignment().getHeight() < 4))
+    {
+      JOptionPane.showInternalMessageDialog(this,
+              MessageManager.getString("label.principal_component_analysis_must_take_least_four_input_sequences"),
+              MessageManager.getString("label.sequence_selection_insufficient"),
+              JOptionPane.WARNING_MESSAGE);
+
+      return;
+    }
+
+    new PCAPanel(alignPanel);
+  }
+
+  @Override
+  public void autoCalculate_actionPerformed(ActionEvent e)
+  {
+    viewport.autoCalculateConsensus = autoCalculate.isSelected();
+    if (viewport.autoCalculateConsensus)
+    {
+      viewport.firePropertyChange("alignment", null, viewport
+              .getAlignment().getSequences());
+    }
+  }
+
+  @Override
+  public void sortByTreeOption_actionPerformed(ActionEvent e)
+  {
+    viewport.sortByTree = sortByTree.isSelected();
+  }
+
+  @Override
+  protected void listenToViewSelections_actionPerformed(ActionEvent e)
+  {
+    viewport.followSelection = listenToViewSelections.isSelected();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
+  {
+    NewTreePanel("AV", "PID", "Average distance tree using PID");
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  public void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
+  {
+    NewTreePanel("NJ", "PID", "Neighbour joining tree using PID");
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
+  {
+    NewTreePanel("NJ", "BL", "Neighbour joining tree using BLOSUM62");
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
+  {
+    NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62");
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param type
+   *          DOCUMENT ME!
+   * @param pwType
+   *          DOCUMENT ME!
+   * @param title
+   *          DOCUMENT ME!
+   */
+  void NewTreePanel(String type, String pwType, String title)
+  {
+    TreePanel tp;
+
+    if (viewport.getSelectionGroup() != null
+            && viewport.getSelectionGroup().getSize() > 0)
+    {
+      if (viewport.getSelectionGroup().getSize() < 3)
+      {
+        JOptionPane
+                .showMessageDialog(
+                        Desktop.desktop,
+                        MessageManager.getString("label.you_need_more_two_sequences_selected_build_tree"),
+                        MessageManager.getString("label.not_enough_sequences"), JOptionPane.WARNING_MESSAGE);
+        return;
+      }
+
+      SequenceGroup sg = viewport.getSelectionGroup();
+
+      /* Decide if the selection is a column region */
+      for (SequenceI _s : sg.getSequences())
+      {
+        if (_s.getLength() < sg.getEndRes())
+        {
+          JOptionPane
+                  .showMessageDialog(
+                          Desktop.desktop,
+                          MessageManager.getString("label.selected_region_to_tree_may_only_contain_residues_or_gaps"),
+                          MessageManager.getString("label.sequences_selection_not_aligned"),
+                          JOptionPane.WARNING_MESSAGE);
+
+          return;
+        }
+      }
+
+      title = title + " on region";
+      tp = new TreePanel(alignPanel, type, pwType);
+    }
+    else
+    {
+      // are the visible sequences aligned?
+      if (!viewport.getAlignment().isAligned(false))
+      {
+        JOptionPane
+                .showMessageDialog(
+                        Desktop.desktop,
+                        MessageManager.getString("label.sequences_must_be_aligned_before_creating_tree"),
+                        MessageManager.getString("label.sequences_not_aligned"),
+                        JOptionPane.WARNING_MESSAGE);
+
+        return;
+      }
+
+      if (viewport.getAlignment().getHeight() < 2)
+      {
+        return;
+      }
+
+      tp = new TreePanel(alignPanel, type, pwType);
+    }
+
+    title += " from ";
+
+    if (viewport.viewName != null)
+    {
+      title += viewport.viewName + " of ";
+    }
+
+    title += this.title;
+
+    Desktop.addInternalFrame(tp, title, 600, 500);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param title
+   *          DOCUMENT ME!
+   * @param order
+   *          DOCUMENT ME!
+   */
+  public void addSortByOrderMenuItem(String title,
+          final AlignmentOrder order)
+  {
+    final JMenuItem item = new JMenuItem("by " + title);
+    sort.add(item);
+    item.addActionListener(new java.awt.event.ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+
+        // TODO: JBPNote - have to map order entries to curent SequenceI
+        // pointers
+        AlignmentSorter.sortBy(viewport.getAlignment(), order);
+
+        addHistoryItem(new OrderCommand(order.getName(), oldOrder, viewport
+                .getAlignment()));
+
+        alignPanel.paintAlignment(true);
+      }
+    });
+  }
+
+  /**
+   * Add a new sort by annotation score menu item
+   * 
+   * @param sort
+   *          the menu to add the option to
+   * @param scoreLabel
+   *          the label used to retrieve scores for each sequence on the
+   *          alignment
+   */
+  public void addSortByAnnotScoreMenuItem(JMenu sort,
+          final String scoreLabel)
+  {
+    final JMenuItem item = new JMenuItem(scoreLabel);
+    sort.add(item);
+    item.addActionListener(new java.awt.event.ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+        AlignmentSorter.sortByAnnotationScore(scoreLabel,
+                viewport.getAlignment());// ,viewport.getSelectionGroup());
+        addHistoryItem(new OrderCommand("Sort by " + scoreLabel, oldOrder,
+                viewport.getAlignment()));
+        alignPanel.paintAlignment(true);
+      }
+    });
+  }
+
+  /**
+   * last hash for alignment's annotation array - used to minimise cost of
+   * rebuild.
+   */
+  protected int _annotationScoreVectorHash;
+
+  /**
+   * search the alignment and rebuild the sort by annotation score submenu the
+   * last alignment annotation vector hash is stored to minimize cost of
+   * rebuilding in subsequence calls.
+   * 
+   */
+  @Override
+  public void buildSortByAnnotationScoresMenu()
+  {
+    if (viewport.getAlignment().getAlignmentAnnotation() == null)
+    {
+      return;
+    }
+
+    if (viewport.getAlignment().getAlignmentAnnotation().hashCode() != _annotationScoreVectorHash)
+    {
+      sortByAnnotScore.removeAll();
+      // almost certainly a quicker way to do this - but we keep it simple
+      Hashtable scoreSorts = new Hashtable();
+      AlignmentAnnotation aann[];
+      for (SequenceI sqa : viewport.getAlignment().getSequences())
+      {
+        aann = sqa.getAnnotation();
+        for (int i = 0; aann != null && i < aann.length; i++)
+        {
+          if (aann[i].hasScore() && aann[i].sequenceRef != null)
+          {
+            scoreSorts.put(aann[i].label, aann[i].label);
+          }
+        }
+      }
+      Enumeration labels = scoreSorts.keys();
+      while (labels.hasMoreElements())
+      {
+        addSortByAnnotScoreMenuItem(sortByAnnotScore,
+                (String) labels.nextElement());
+      }
+      sortByAnnotScore.setVisible(scoreSorts.size() > 0);
+      scoreSorts.clear();
+
+      _annotationScoreVectorHash = viewport.getAlignment()
+              .getAlignmentAnnotation().hashCode();
+    }
+  }
+
+  /**
+   * Maintain the Order by->Displayed Tree menu. Creates a new menu item for a
+   * TreePanel with an appropriate <code>jalview.analysis.AlignmentSorter</code>
+   * call. Listeners are added to remove the menu item when the treePanel is
+   * closed, and adjust the tree leaf to sequence mapping when the alignment is
+   * modified.
+   * 
+   * @param treePanel
+   *          Displayed tree window.
+   * @param title
+   *          SortBy menu item title.
+   */
+  @Override
+  public void buildTreeMenu()
+  {
+    sortByTreeMenu.removeAll();
+
+    Vector comps = (Vector) PaintRefresher.components.get(viewport
+            .getSequenceSetId());
+    Vector treePanels = new Vector();
+    int i, iSize = comps.size();
+    for (i = 0; i < iSize; i++)
+    {
+      if (comps.elementAt(i) instanceof TreePanel)
+      {
+        treePanels.add(comps.elementAt(i));
+      }
+    }
+
+    iSize = treePanels.size();
+
+    if (iSize < 1)
+    {
+      sortByTreeMenu.setVisible(false);
+      return;
+    }
+
+    sortByTreeMenu.setVisible(true);
+
+    for (i = 0; i < treePanels.size(); i++)
+    {
+      final TreePanel tp = (TreePanel) treePanels.elementAt(i);
+      final JMenuItem item = new JMenuItem(tp.getTitle());
+      final NJTree tree = ((TreePanel) treePanels.elementAt(i)).getTree();
+      item.addActionListener(new java.awt.event.ActionListener()
+      {
+        @Override
+        public void actionPerformed(ActionEvent e)
+        {
+          tp.sortByTree_actionPerformed(null);
+          addHistoryItem(tp.sortAlignmentIn(alignPanel));
+
+        }
+      });
+
+      sortByTreeMenu.add(item);
+    }
+  }
+
+  public boolean sortBy(AlignmentOrder alorder, String undoname)
+  {
+    SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+    AlignmentSorter.sortBy(viewport.getAlignment(), alorder);
+    if (undoname != null)
+    {
+      addHistoryItem(new OrderCommand(undoname, oldOrder,
+              viewport.getAlignment()));
+    }
+    alignPanel.paintAlignment(true);
+    return true;
+  }
+
+  /**
+   * Work out whether the whole set of sequences or just the selected set will
+   * be submitted for multiple alignment.
+   * 
+   */
+  public jalview.datamodel.AlignmentView gatherSequencesForAlignment()
+  {
+    // Now, check we have enough sequences
+    AlignmentView msa = null;
+
+    if ((viewport.getSelectionGroup() != null)
+            && (viewport.getSelectionGroup().getSize() > 1))
+    {
+      // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to
+      // some common interface!
+      /*
+       * SequenceGroup seqs = viewport.getSelectionGroup(); int sz; msa = new
+       * SequenceI[sz = seqs.getSize(false)];
+       * 
+       * for (int i = 0; i < sz; i++) { msa[i] = (SequenceI)
+       * seqs.getSequenceAt(i); }
+       */
+      msa = viewport.getAlignmentView(true);
+    }
+    else
+    {
+      /*
+       * Vector seqs = viewport.getAlignment().getSequences();
+       * 
+       * if (seqs.size() > 1) { msa = new SequenceI[seqs.size()];
+       * 
+       * for (int i = 0; i < seqs.size(); i++) { msa[i] = (SequenceI)
+       * seqs.elementAt(i); } }
+       */
+      msa = viewport.getAlignmentView(false);
+    }
+    return msa;
+  }
+
+  /**
+   * Decides what is submitted to a secondary structure prediction service: the
+   * first sequence in the alignment, or in the current selection, or, if the
+   * alignment is 'aligned' (ie padded with gaps), then the currently selected
+   * region or the whole alignment. (where the first sequence in the set is the
+   * one that the prediction will be for).
+   */
+  public AlignmentView gatherSeqOrMsaForSecStrPrediction()
+  {
+    AlignmentView seqs = null;
+
+    if ((viewport.getSelectionGroup() != null)
+            && (viewport.getSelectionGroup().getSize() > 0))
+    {
+      seqs = viewport.getAlignmentView(true);
+    }
+    else
+    {
+      seqs = viewport.getAlignmentView(false);
+    }
+    // limit sequences - JBPNote in future - could spawn multiple prediction
+    // jobs
+    // TODO: viewport.getAlignment().isAligned is a global state - the local
+    // selection may well be aligned - we preserve 2.0.8 behaviour for moment.
+    if (!viewport.getAlignment().isAligned(false))
+    {
+      seqs.setSequences(new SeqCigar[]
+      { seqs.getSequences()[0] });
+      // TODO: if seqs.getSequences().length>1 then should really have warned
+      // user!
+
+    }
+    return seqs;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  @Override
+  protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
+  {
+    // Pick the tree file
+    JalviewFileChooser chooser = new JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+    chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(MessageManager.getString("label.select_newick_like_tree_file"));\r
     chooser.setToolTipText(MessageManager.getString("label.load_tree_file"));\r
-\r
-    int value = chooser.showOpenDialog(null);\r
-\r
-    if (value == JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      String choice = chooser.getSelectedFile().getPath();\r
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
-      jalview.io.NewickFile fin = null;\r
-      try\r
-      {\r
-        fin = new jalview.io.NewickFile(choice, "File");\r
-        viewport.setCurrentTree(ShowNewickTree(fin, choice).getTree());\r
-      } catch (Exception ex)\r
-      {\r
-        JOptionPane.showMessageDialog(Desktop.desktop, ex.getMessage(),\r
-                MessageManager.getString("label.problem_reading_tree_file"), JOptionPane.WARNING_MESSAGE);\r
-        ex.printStackTrace();\r
-      }\r
-      if (fin != null && fin.hasWarningMessage())\r
-      {\r
-        JOptionPane.showMessageDialog(Desktop.desktop,\r
-                fin.getWarningMessage(), MessageManager.getString("label.possible_problem_with_tree_file"),\r
-                JOptionPane.WARNING_MESSAGE);\r
-      }\r
-    }\r
-  }\r
-\r
-  @Override\r
-  protected void tcoffeeColorScheme_actionPerformed(ActionEvent e)\r
-  {\r
-    changeColour(new TCoffeeColourScheme(alignPanel.getAlignment()));\r
-  }\r
-\r
-  public TreePanel ShowNewickTree(NewickFile nf, String title)\r
-  {\r
-    return ShowNewickTree(nf, title, 600, 500, 4, 5);\r
-  }\r
-\r
-  public TreePanel ShowNewickTree(NewickFile nf, String title,\r
-          AlignmentView input)\r
-  {\r
-    return ShowNewickTree(nf, title, input, 600, 500, 4, 5);\r
-  }\r
-\r
-  public TreePanel ShowNewickTree(NewickFile nf, String title, int w,\r
-          int h, int x, int y)\r
-  {\r
-    return ShowNewickTree(nf, title, null, w, h, x, y);\r
-  }\r
-\r
-  /**\r
-   * Add a treeviewer for the tree extracted from a newick file object to the\r
-   * current alignment view\r
-   * \r
-   * @param nf\r
-   *          the tree\r
-   * @param title\r
-   *          tree viewer title\r
-   * @param input\r
-   *          Associated alignment input data (or null)\r
-   * @param w\r
-   *          width\r
-   * @param h\r
-   *          height\r
-   * @param x\r
-   *          position\r
-   * @param y\r
-   *          position\r
-   * @return TreePanel handle\r
-   */\r
-  public TreePanel ShowNewickTree(NewickFile nf, String title,\r
-          AlignmentView input, int w, int h, int x, int y)\r
-  {\r
-    TreePanel tp = null;\r
-\r
-    try\r
-    {\r
-      nf.parse();\r
-\r
-      if (nf.getTree() != null)\r
-      {\r
-        tp = new TreePanel(alignPanel, "FromFile", title, nf, input);\r
-\r
-        tp.setSize(w, h);\r
-\r
-        if (x > 0 && y > 0)\r
-        {\r
-          tp.setLocation(x, y);\r
-        }\r
-\r
-        Desktop.addInternalFrame(tp, title, w, h);\r
-      }\r
-    } catch (Exception ex)\r
-    {\r
-      ex.printStackTrace();\r
-    }\r
-\r
-    return tp;\r
-  }\r
-\r
-  private boolean buildingMenu = false;\r
-\r
-  /**\r
-   * Generates menu items and listener event actions for web service clients\r
-   * \r
-   */\r
-  public void BuildWebServiceMenu()\r
-  {\r
-    while (buildingMenu)\r
-    {\r
-      try\r
-      {\r
-        System.err.println("Waiting for building menu to finish.");\r
-        Thread.sleep(10);\r
-      } catch (Exception e)\r
-      {\r
-      }\r
-      ;\r
-    }\r
-    final AlignFrame me = this;\r
-    buildingMenu = true;\r
-    new Thread(new Runnable()\r
-    {\r
-      @Override\r
-      public void run()\r
-      {\r
-        final List<JMenuItem> legacyItems=new ArrayList<JMenuItem>();\r
-        try\r
-        {\r
-          System.err.println("Building ws menu again "\r
-                  + Thread.currentThread());\r
-          // TODO: add support for context dependent disabling of services based\r
-          // on\r
-          // alignment and current selection\r
-          // TODO: add additional serviceHandle parameter to specify abstract\r
-          // handler\r
-          // class independently of AbstractName\r
-          // TODO: add in rediscovery GUI function to restart discoverer\r
-          // TODO: group services by location as well as function and/or\r
-          // introduce\r
-          // object broker mechanism.\r
-          final Vector<JMenu> wsmenu = new Vector<JMenu>();\r
-          final IProgressIndicator af = me;\r
-          final JMenu msawsmenu = new JMenu("Alignment");\r
-          final JMenu secstrmenu = new JMenu(\r
-                  "Secondary Structure Prediction");\r
-          final JMenu seqsrchmenu = new JMenu("Sequence Database Search");\r
-          final JMenu analymenu = new JMenu("Analysis");\r
-          final JMenu dismenu = new JMenu("Protein Disorder");\r
-          // JAL-940 - only show secondary structure prediction services from\r
-          // the legacy server\r
-          if (// Cache.getDefault("SHOW_JWS1_SERVICES", true)\r
-              // &&\r
-          Discoverer.services != null && (Discoverer.services.size() > 0))\r
-          {\r
-            // TODO: refactor to allow list of AbstractName/Handler bindings to\r
-            // be\r
-            // stored or retrieved from elsewhere\r
-            // No MSAWS used any more:\r
-            // Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS");\r
-            Vector secstrpr = (Vector) Discoverer.services\r
-                    .get("SecStrPred");\r
-            if (secstrpr != null)\r
-            {\r
-              // Add any secondary structure prediction services\r
-              for (int i = 0, j = secstrpr.size(); i < j; i++)\r
-              {\r
-                final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr\r
-                        .get(i);\r
-                jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer\r
-                        .getServiceClient(sh);\r
-                int p=secstrmenu.getItemCount();\r
-                impl.attachWSMenuEntry(secstrmenu, me);\r
-                int q=secstrmenu.getItemCount();\r
-                for (int litm=p;litm<q; litm++)\r
-                {\r
-                  legacyItems.add(secstrmenu.getItem(litm));\r
-                }\r
-              }\r
-            }\r
-          }\r
-          \r
-          // Add all submenus in the order they should appear on the web\r
-          // services menu\r
-          wsmenu.add(msawsmenu);\r
-          wsmenu.add(secstrmenu);\r
-          wsmenu.add(dismenu);\r
-          wsmenu.add(analymenu);\r
-          // No search services yet\r
-          // wsmenu.add(seqsrchmenu);\r
-\r
-          javax.swing.SwingUtilities.invokeLater(new Runnable()\r
-          {\r
-            @Override\r
-            public void run()\r
-            {\r
-              try\r
-              {\r
-                webService.removeAll();\r
-                // first, add discovered services onto the webservices menu\r
-                if (wsmenu.size() > 0)\r
-                {\r
-                  for (int i = 0, j = wsmenu.size(); i < j; i++)\r
-                  {\r
-                    webService.add(wsmenu.get(i));\r
-                  }\r
-                }\r
-                else\r
-                {\r
-                  webService.add(me.webServiceNoServices);\r
-                }\r
-                // TODO: move into separate menu builder class.\r
-                boolean new_sspred=false;\r
-                if (Cache.getDefault("SHOW_JWS2_SERVICES", true))\r
-                {\r
-                  Jws2Discoverer jws2servs = Jws2Discoverer.getDiscoverer();\r
-                  if (jws2servs != null)\r
-                  {\r
-                    if (jws2servs.hasServices())\r
-                    {\r
-                      jws2servs.attachWSMenuEntry(webService, me);\r
-                      for (Jws2Instance sv:jws2servs.getServices()) {\r
-                        if (sv.description.toLowerCase().contains("jpred"))\r
-                        {\r
-                          for (JMenuItem jmi:legacyItems)\r
-                          {\r
-                            jmi.setVisible(false);\r
-                          }\r
-                        }\r
-                      }\r
-                      \r
-                    }\r
-                    if (jws2servs.isRunning())\r
-                    {\r
-                      JMenuItem tm = new JMenuItem(\r
-                              "Still discovering JABA Services");\r
-                      tm.setEnabled(false);\r
-                      webService.add(tm);\r
-                    }\r
-                  }\r
-                }\r
-                build_urlServiceMenu(me.webService);\r
-                build_fetchdbmenu(webService);\r
-                for (JMenu item : wsmenu)\r
-                {\r
-                  if (item.getItemCount() == 0)\r
-                  {\r
-                    item.setEnabled(false);\r
-                  }\r
-                  else\r
-                  {\r
-                    item.setEnabled(true);\r
-                  }\r
-                }\r
-              } catch (Exception e)\r
-              {\r
-                Cache.log\r
-                        .debug("Exception during web service menu building process.",\r
-                                e);\r
-              }\r
-              ;\r
-            }\r
-          });\r
-        } catch (Exception e)\r
-        {\r
-        }\r
-        ;\r
-\r
-        buildingMenu = false;\r
-      }\r
-    }).start();\r
-\r
-  }\r
-\r
-  /**\r
-   * construct any groupURL type service menu entries.\r
-   * \r
-   * @param webService\r
-   */\r
-  private void build_urlServiceMenu(JMenu webService)\r
-  {\r
-    // TODO: remove this code when 2.7 is released\r
-    // DEBUG - alignmentView\r
-    /*\r
-     * JMenuItem testAlView = new JMenuItem("Test AlignmentView"); final\r
-     * AlignFrame af = this; testAlView.addActionListener(new ActionListener() {\r
-     * \r
-     * @Override public void actionPerformed(ActionEvent e) {\r
-     * jalview.datamodel.AlignmentView\r
-     * .testSelectionViews(af.viewport.getAlignment(),\r
-     * af.viewport.getColumnSelection(), af.viewport.selectionGroup); }\r
-     * \r
-     * }); webService.add(testAlView);\r
-     */\r
-    // TODO: refactor to RestClient discoverer and merge menu entries for\r
-    // rest-style services with other types of analysis/calculation service\r
-    // SHmmr test client - still being implemented.\r
-    // DEBUG - alignmentView\r
-\r
-    for (jalview.ws.rest.RestClient client : jalview.ws.rest.RestClient\r
-            .getRestClients())\r
-    {\r
-      client.attachWSMenuEntry(\r
-              JvSwingUtils.findOrCreateMenu(webService, client.getAction()),\r
-              this);\r
-    }\r
-\r
-    if (Cache.getDefault("SHOW_ENFIN_SERVICES", true))\r
-    {\r
-      jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry(\r
-              webService, this);\r
-    }\r
-  }\r
-\r
-  /*\r
-   * public void vamsasStore_actionPerformed(ActionEvent e) { JalviewFileChooser\r
-   * chooser = new JalviewFileChooser(jalview.bin.Cache.\r
-   * getProperty("LAST_DIRECTORY"));\r
-   * \r
-   * chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Export\r
-   * to Vamsas file"); chooser.setToolTipText("Export");\r
-   * \r
-   * int value = chooser.showSaveDialog(this);\r
-   * \r
-   * if (value == JalviewFileChooser.APPROVE_OPTION) {\r
-   * jalview.io.VamsasDatastore vs = new jalview.io.VamsasDatastore(viewport);\r
-   * //vs.store(chooser.getSelectedFile().getAbsolutePath() ); vs.storeJalview(\r
-   * chooser.getSelectedFile().getAbsolutePath(), this); } }\r
-   */\r
-  /**\r
-   * prototype of an automatically enabled/disabled analysis function\r
-   * \r
-   */\r
-  protected void setShowProductsEnabled()\r
-  {\r
-    SequenceI[] selection = viewport.getSequenceSelection();\r
-    if (canShowProducts(selection, viewport.getSelectionGroup() != null,\r
-            viewport.getAlignment().getDataset()))\r
-    {\r
-      showProducts.setEnabled(true);\r
-\r
-    }\r
-    else\r
-    {\r
-      showProducts.setEnabled(false);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * search selection for sequence xRef products and build the show products\r
-   * menu.\r
-   * \r
-   * @param selection\r
-   * @param dataset\r
-   * @return true if showProducts menu should be enabled.\r
-   */\r
-  public boolean canShowProducts(SequenceI[] selection,\r
-          boolean isRegionSelection, Alignment dataset)\r
-  {\r
-    boolean showp = false;\r
-    try\r
-    {\r
-      showProducts.removeAll();\r
-      final boolean dna = viewport.getAlignment().isNucleotide();\r
-      final Alignment ds = dataset;\r
-      String[] ptypes = (selection == null || selection.length == 0) ? null\r
-              : CrossRef.findSequenceXrefTypes(dna, selection, dataset);\r
-      // Object[] prods =\r
-      // CrossRef.buildXProductsList(viewport.getAlignment().isNucleotide(),\r
-      // selection, dataset, true);\r
-      final SequenceI[] sel = selection;\r
-      for (int t = 0; ptypes != null && t < ptypes.length; t++)\r
-      {\r
-        showp = true;\r
-        final boolean isRegSel = isRegionSelection;\r
-        final AlignFrame af = this;\r
-        final String source = ptypes[t];\r
-        JMenuItem xtype = new JMenuItem(ptypes[t]);\r
-        xtype.addActionListener(new ActionListener()\r
-        {\r
-\r
-          @Override\r
-          public void actionPerformed(ActionEvent e)\r
-          {\r
-            // TODO: new thread for this call with vis-delay\r
-            af.showProductsFor(af.viewport.getSequenceSelection(), ds,\r
-                    isRegSel, dna, source);\r
-          }\r
-\r
-        });\r
-        showProducts.add(xtype);\r
-      }\r
-      showProducts.setVisible(showp);\r
-      showProducts.setEnabled(showp);\r
-    } catch (Exception e)\r
-    {\r
-      jalview.bin.Cache.log\r
-              .warn("canTranslate threw an exception - please report to help@jalview.org",\r
-                      e);\r
-      return false;\r
-    }\r
-    return showp;\r
-  }\r
-\r
-  protected void showProductsFor(SequenceI[] sel, Alignment ds,\r
-          boolean isRegSel, boolean dna, String source)\r
-  {\r
-    final boolean fisRegSel = isRegSel;\r
-    final boolean fdna = dna;\r
-    final String fsrc = source;\r
-    final AlignFrame ths = this;\r
-    final SequenceI[] fsel = sel;\r
-    Runnable foo = new Runnable()\r
-    {\r
-\r
-      @Override\r
-      public void run()\r
-      {\r
-        final long sttime = System.currentTimeMillis();\r
-        ths.setProgressBar("Searching for sequences from " + fsrc, sttime);\r
-        try\r
-        {\r
-          Alignment ds = ths.getViewport().getAlignment().getDataset(); // update\r
-          // our local\r
-          // dataset\r
-          // reference\r
-          Alignment prods = CrossRef\r
-                  .findXrefSequences(fsel, fdna, fsrc, ds);\r
-          if (prods != null)\r
-          {\r
-            SequenceI[] sprods = new SequenceI[prods.getHeight()];\r
-            for (int s = 0; s < sprods.length; s++)\r
-            {\r
-              sprods[s] = (prods.getSequenceAt(s)).deriveSequence();\r
-              if (ds.getSequences() == null\r
-                      || !ds.getSequences().contains(\r
-                              sprods[s].getDatasetSequence()))\r
-                ds.addSequence(sprods[s].getDatasetSequence());\r
-              sprods[s].updatePDBIds();\r
-            }\r
-            Alignment al = new Alignment(sprods);\r
-            AlignedCodonFrame[] cf = prods.getCodonFrames();\r
-            al.setDataset(ds);\r
-            for (int s = 0; cf != null && s < cf.length; s++)\r
-            {\r
-              al.addCodonFrame(cf[s]);\r
-              cf[s] = null;\r
-            }\r
-            AlignFrame naf = new AlignFrame(al, DEFAULT_WIDTH,\r
-                    DEFAULT_HEIGHT);\r
-            String newtitle = "" + ((fdna) ? "Proteins " : "Nucleotides ")\r
-                    + " for " + ((fisRegSel) ? "selected region of " : "")\r
-                    + getTitle();\r
-            Desktop.addInternalFrame(naf, newtitle, DEFAULT_WIDTH,\r
-                    DEFAULT_HEIGHT);\r
-          }\r
-          else\r
-          {\r
-            System.err.println("No Sequences generated for xRef type "\r
-                    + fsrc);\r
-          }\r
-        } catch (Exception e)\r
-        {\r
-          jalview.bin.Cache.log.error(\r
-                  "Exception when finding crossreferences", e);\r
-        } catch (OutOfMemoryError e)\r
-        {\r
-          new OOMWarning("whilst fetching crossreferences", e);\r
-        } catch (Error e)\r
-        {\r
-          jalview.bin.Cache.log.error("Error when finding crossreferences",\r
-                  e);\r
-        }\r
-        ths.setProgressBar("Finished searching for sequences from " + fsrc,\r
-                sttime);\r
-      }\r
-\r
-    };\r
-    Thread frunner = new Thread(foo);\r
-    frunner.start();\r
-  }\r
-\r
-  public boolean canShowTranslationProducts(SequenceI[] selection,\r
-          AlignmentI alignment)\r
-  {\r
-    // old way\r
-    try\r
-    {\r
-      return (jalview.analysis.Dna.canTranslate(selection,\r
-              viewport.getViewAsVisibleContigs(true)));\r
-    } catch (Exception e)\r
-    {\r
-      jalview.bin.Cache.log\r
-              .warn("canTranslate threw an exception - please report to help@jalview.org",\r
-                      e);\r
-      return false;\r
-    }\r
-  }\r
-\r
-  @Override\r
-  public void showProducts_actionPerformed(ActionEvent e)\r
-  {\r
-    // /////////////////////////////\r
-    // Collect Data to be translated/transferred\r
-\r
-    SequenceI[] selection = viewport.getSequenceSelection();\r
-    AlignmentI al = null;\r
-    try\r
-    {\r
-      al = jalview.analysis.Dna.CdnaTranslate(selection, viewport\r
-              .getViewAsVisibleContigs(true), viewport.getGapCharacter(),\r
-              viewport.getAlignment().getDataset());\r
-    } catch (Exception ex)\r
-    {\r
-      al = null;\r
-      jalview.bin.Cache.log.debug("Exception during translation.", ex);\r
-    }\r
-    if (al == null)\r
-    {\r
-      JOptionPane\r
-              .showMessageDialog(\r
-                      Desktop.desktop,\r
-                      MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),\r
-                      MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);\r
-    }\r
-    else\r
-    {\r
-      AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
+
+    int value = chooser.showOpenDialog(null);
+
+    if (value == JalviewFileChooser.APPROVE_OPTION)
+    {
+      String choice = chooser.getSelectedFile().getPath();
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+      jalview.io.NewickFile fin = null;
+      try
+      {
+        fin = new jalview.io.NewickFile(choice, "File");
+        viewport.setCurrentTree(ShowNewickTree(fin, choice).getTree());
+      } catch (Exception ex)
+      {
+        JOptionPane.showMessageDialog(Desktop.desktop, ex.getMessage(),
+                MessageManager.getString("label.problem_reading_tree_file"), JOptionPane.WARNING_MESSAGE);
+        ex.printStackTrace();
+      }
+      if (fin != null && fin.hasWarningMessage())
+      {
+        JOptionPane.showMessageDialog(Desktop.desktop,
+                fin.getWarningMessage(), MessageManager.getString("label.possible_problem_with_tree_file"),
+                JOptionPane.WARNING_MESSAGE);
+      }
+    }
+  }
+
+  @Override
+  protected void tcoffeeColorScheme_actionPerformed(ActionEvent e)
+  {
+    changeColour(new TCoffeeColourScheme(alignPanel.getAlignment()));
+  }
+
+  public TreePanel ShowNewickTree(NewickFile nf, String title)
+  {
+    return ShowNewickTree(nf, title, 600, 500, 4, 5);
+  }
+
+  public TreePanel ShowNewickTree(NewickFile nf, String title,
+          AlignmentView input)
+  {
+    return ShowNewickTree(nf, title, input, 600, 500, 4, 5);
+  }
+
+  public TreePanel ShowNewickTree(NewickFile nf, String title, int w,
+          int h, int x, int y)
+  {
+    return ShowNewickTree(nf, title, null, w, h, x, y);
+  }
+
+  /**
+   * Add a treeviewer for the tree extracted from a newick file object to the
+   * current alignment view
+   * 
+   * @param nf
+   *          the tree
+   * @param title
+   *          tree viewer title
+   * @param input
+   *          Associated alignment input data (or null)
+   * @param w
+   *          width
+   * @param h
+   *          height
+   * @param x
+   *          position
+   * @param y
+   *          position
+   * @return TreePanel handle
+   */
+  public TreePanel ShowNewickTree(NewickFile nf, String title,
+          AlignmentView input, int w, int h, int x, int y)
+  {
+    TreePanel tp = null;
+
+    try
+    {
+      nf.parse();
+
+      if (nf.getTree() != null)
+      {
+        tp = new TreePanel(alignPanel, "FromFile", title, nf, input);
+
+        tp.setSize(w, h);
+
+        if (x > 0 && y > 0)
+        {
+          tp.setLocation(x, y);
+        }
+
+        Desktop.addInternalFrame(tp, title, w, h);
+      }
+    } catch (Exception ex)
+    {
+      ex.printStackTrace();
+    }
+
+    return tp;
+  }
+
+  private boolean buildingMenu = false;
+
+  /**
+   * Generates menu items and listener event actions for web service clients
+   * 
+   */
+  public void BuildWebServiceMenu()
+  {
+    while (buildingMenu)
+    {
+      try
+      {
+        System.err.println("Waiting for building menu to finish.");
+        Thread.sleep(10);
+      } catch (Exception e)
+      {
+      }
+      ;
+    }
+    final AlignFrame me = this;
+    buildingMenu = true;
+    new Thread(new Runnable()
+    {
+      @Override
+      public void run()
+      {
+        final List<JMenuItem> legacyItems=new ArrayList<JMenuItem>();
+        try
+        {
+          System.err.println("Building ws menu again "
+                  + Thread.currentThread());
+          // TODO: add support for context dependent disabling of services based
+          // on
+          // alignment and current selection
+          // TODO: add additional serviceHandle parameter to specify abstract
+          // handler
+          // class independently of AbstractName
+          // TODO: add in rediscovery GUI function to restart discoverer
+          // TODO: group services by location as well as function and/or
+          // introduce
+          // object broker mechanism.
+          final Vector<JMenu> wsmenu = new Vector<JMenu>();
+          final IProgressIndicator af = me;
+          final JMenu msawsmenu = new JMenu("Alignment");
+          final JMenu secstrmenu = new JMenu(
+                  "Secondary Structure Prediction");
+          final JMenu seqsrchmenu = new JMenu("Sequence Database Search");
+          final JMenu analymenu = new JMenu("Analysis");
+          final JMenu dismenu = new JMenu("Protein Disorder");
+          // JAL-940 - only show secondary structure prediction services from
+          // the legacy server
+          if (// Cache.getDefault("SHOW_JWS1_SERVICES", true)
+              // &&
+          Discoverer.services != null && (Discoverer.services.size() > 0))
+          {
+            // TODO: refactor to allow list of AbstractName/Handler bindings to
+            // be
+            // stored or retrieved from elsewhere
+            // No MSAWS used any more:
+            // Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS");
+            Vector secstrpr = (Vector) Discoverer.services
+                    .get("SecStrPred");
+            if (secstrpr != null)
+            {
+              // Add any secondary structure prediction services
+              for (int i = 0, j = secstrpr.size(); i < j; i++)
+              {
+                final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr
+                        .get(i);
+                jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer
+                        .getServiceClient(sh);
+                int p=secstrmenu.getItemCount();
+                impl.attachWSMenuEntry(secstrmenu, me);
+                int q=secstrmenu.getItemCount();
+                for (int litm=p;litm<q; litm++)
+                {
+                  legacyItems.add(secstrmenu.getItem(litm));
+                }
+              }
+            }
+          }
+          
+          // Add all submenus in the order they should appear on the web
+          // services menu
+          wsmenu.add(msawsmenu);
+          wsmenu.add(secstrmenu);
+          wsmenu.add(dismenu);
+          wsmenu.add(analymenu);
+          // No search services yet
+          // wsmenu.add(seqsrchmenu);
+
+          javax.swing.SwingUtilities.invokeLater(new Runnable()
+          {
+            @Override
+            public void run()
+            {
+              try
+              {
+                webService.removeAll();
+                // first, add discovered services onto the webservices menu
+                if (wsmenu.size() > 0)
+                {
+                  for (int i = 0, j = wsmenu.size(); i < j; i++)
+                  {
+                    webService.add(wsmenu.get(i));
+                  }
+                }
+                else
+                {
+                  webService.add(me.webServiceNoServices);
+                }
+                // TODO: move into separate menu builder class.
+                boolean new_sspred=false;
+                if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
+                {
+                  Jws2Discoverer jws2servs = Jws2Discoverer.getDiscoverer();
+                  if (jws2servs != null)
+                  {
+                    if (jws2servs.hasServices())
+                    {
+                      jws2servs.attachWSMenuEntry(webService, me);
+                      for (Jws2Instance sv:jws2servs.getServices()) {
+                        if (sv.description.toLowerCase().contains("jpred"))
+                        {
+                          for (JMenuItem jmi:legacyItems)
+                          {
+                            jmi.setVisible(false);
+                          }
+                        }
+                      }
+                      
+                    }
+                    if (jws2servs.isRunning())
+                    {
+                      JMenuItem tm = new JMenuItem(
+                              "Still discovering JABA Services");
+                      tm.setEnabled(false);
+                      webService.add(tm);
+                    }
+                  }
+                }
+                build_urlServiceMenu(me.webService);
+                build_fetchdbmenu(webService);
+                for (JMenu item : wsmenu)
+                {
+                  if (item.getItemCount() == 0)
+                  {
+                    item.setEnabled(false);
+                  }
+                  else
+                  {
+                    item.setEnabled(true);
+                  }
+                }
+              } catch (Exception e)
+              {
+                Cache.log
+                        .debug("Exception during web service menu building process.",
+                                e);
+              }
+              ;
+            }
+          });
+        } catch (Exception e)
+        {
+        }
+        ;
+
+        buildingMenu = false;
+      }
+    }).start();
+
+  }
+
+  /**
+   * construct any groupURL type service menu entries.
+   * 
+   * @param webService
+   */
+  private void build_urlServiceMenu(JMenu webService)
+  {
+    // TODO: remove this code when 2.7 is released
+    // DEBUG - alignmentView
+    /*
+     * JMenuItem testAlView = new JMenuItem("Test AlignmentView"); final
+     * AlignFrame af = this; testAlView.addActionListener(new ActionListener() {
+     * 
+     * @Override public void actionPerformed(ActionEvent e) {
+     * jalview.datamodel.AlignmentView
+     * .testSelectionViews(af.viewport.getAlignment(),
+     * af.viewport.getColumnSelection(), af.viewport.selectionGroup); }
+     * 
+     * }); webService.add(testAlView);
+     */
+    // TODO: refactor to RestClient discoverer and merge menu entries for
+    // rest-style services with other types of analysis/calculation service
+    // SHmmr test client - still being implemented.
+    // DEBUG - alignmentView
+
+    for (jalview.ws.rest.RestClient client : jalview.ws.rest.RestClient
+            .getRestClients())
+    {
+      client.attachWSMenuEntry(
+              JvSwingUtils.findOrCreateMenu(webService, client.getAction()),
+              this);
+    }
+
+    if (Cache.getDefault("SHOW_ENFIN_SERVICES", true))
+    {
+      jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry(
+              webService, this);
+    }
+  }
+
+  /*
+   * public void vamsasStore_actionPerformed(ActionEvent e) { JalviewFileChooser
+   * chooser = new JalviewFileChooser(jalview.bin.Cache.
+   * getProperty("LAST_DIRECTORY"));
+   * 
+   * chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Export
+   * to Vamsas file"); chooser.setToolTipText("Export");
+   * 
+   * int value = chooser.showSaveDialog(this);
+   * 
+   * if (value == JalviewFileChooser.APPROVE_OPTION) {
+   * jalview.io.VamsasDatastore vs = new jalview.io.VamsasDatastore(viewport);
+   * //vs.store(chooser.getSelectedFile().getAbsolutePath() ); vs.storeJalview(
+   * chooser.getSelectedFile().getAbsolutePath(), this); } }
+   */
+  /**
+   * prototype of an automatically enabled/disabled analysis function
+   * 
+   */
+  protected void setShowProductsEnabled()
+  {
+    SequenceI[] selection = viewport.getSequenceSelection();
+    if (canShowProducts(selection, viewport.getSelectionGroup() != null,
+            viewport.getAlignment().getDataset()))
+    {
+      showProducts.setEnabled(true);
+
+    }
+    else
+    {
+      showProducts.setEnabled(false);
+    }
+  }
+
+  /**
+   * search selection for sequence xRef products and build the show products
+   * menu.
+   * 
+   * @param selection
+   * @param dataset
+   * @return true if showProducts menu should be enabled.
+   */
+  public boolean canShowProducts(SequenceI[] selection,
+          boolean isRegionSelection, Alignment dataset)
+  {
+    boolean showp = false;
+    try
+    {
+      showProducts.removeAll();
+      final boolean dna = viewport.getAlignment().isNucleotide();
+      final Alignment ds = dataset;
+      String[] ptypes = (selection == null || selection.length == 0) ? null
+              : CrossRef.findSequenceXrefTypes(dna, selection, dataset);
+      // Object[] prods =
+      // CrossRef.buildXProductsList(viewport.getAlignment().isNucleotide(),
+      // selection, dataset, true);
+      final SequenceI[] sel = selection;
+      for (int t = 0; ptypes != null && t < ptypes.length; t++)
+      {
+        showp = true;
+        final boolean isRegSel = isRegionSelection;
+        final AlignFrame af = this;
+        final String source = ptypes[t];
+        JMenuItem xtype = new JMenuItem(ptypes[t]);
+        xtype.addActionListener(new ActionListener()
+        {
+
+          @Override
+          public void actionPerformed(ActionEvent e)
+          {
+            // TODO: new thread for this call with vis-delay
+            af.showProductsFor(af.viewport.getSequenceSelection(), ds,
+                    isRegSel, dna, source);
+          }
+
+        });
+        showProducts.add(xtype);
+      }
+      showProducts.setVisible(showp);
+      showProducts.setEnabled(showp);
+    } catch (Exception e)
+    {
+      jalview.bin.Cache.log
+              .warn("canTranslate threw an exception - please report to help@jalview.org",
+                      e);
+      return false;
+    }
+    return showp;
+  }
+
+  protected void showProductsFor(SequenceI[] sel, Alignment ds,
+          boolean isRegSel, boolean dna, String source)
+  {
+    final boolean fisRegSel = isRegSel;
+    final boolean fdna = dna;
+    final String fsrc = source;
+    final AlignFrame ths = this;
+    final SequenceI[] fsel = sel;
+    Runnable foo = new Runnable()
+    {
+
+      @Override
+      public void run()
+      {
+        final long sttime = System.currentTimeMillis();
+        ths.setProgressBar("Searching for sequences from " + fsrc, sttime);
+        try
+        {
+          Alignment ds = ths.getViewport().getAlignment().getDataset(); // update
+          // our local
+          // dataset
+          // reference
+          Alignment prods = CrossRef
+                  .findXrefSequences(fsel, fdna, fsrc, ds);
+          if (prods != null)
+          {
+            SequenceI[] sprods = new SequenceI[prods.getHeight()];
+            for (int s = 0; s < sprods.length; s++)
+            {
+              sprods[s] = (prods.getSequenceAt(s)).deriveSequence();
+              if (ds.getSequences() == null
+                      || !ds.getSequences().contains(
+                              sprods[s].getDatasetSequence()))
+                ds.addSequence(sprods[s].getDatasetSequence());
+              sprods[s].updatePDBIds();
+            }
+            Alignment al = new Alignment(sprods);
+            AlignedCodonFrame[] cf = prods.getCodonFrames();
+            al.setDataset(ds);
+            for (int s = 0; cf != null && s < cf.length; s++)
+            {
+              al.addCodonFrame(cf[s]);
+              cf[s] = null;
+            }
+            AlignFrame naf = new AlignFrame(al, DEFAULT_WIDTH,
+                    DEFAULT_HEIGHT);
+            String newtitle = "" + ((fdna) ? "Proteins " : "Nucleotides ")
+                    + " for " + ((fisRegSel) ? "selected region of " : "")
+                    + getTitle();
+            Desktop.addInternalFrame(naf, newtitle, DEFAULT_WIDTH,
+                    DEFAULT_HEIGHT);
+          }
+          else
+          {
+            System.err.println("No Sequences generated for xRef type "
+                    + fsrc);
+          }
+        } catch (Exception e)
+        {
+          jalview.bin.Cache.log.error(
+                  "Exception when finding crossreferences", e);
+        } catch (OutOfMemoryError e)
+        {
+          new OOMWarning("whilst fetching crossreferences", e);
+        } catch (Error e)
+        {
+          jalview.bin.Cache.log.error("Error when finding crossreferences",
+                  e);
+        }
+        ths.setProgressBar("Finished searching for sequences from " + fsrc,
+                sttime);
+      }
+
+    };
+    Thread frunner = new Thread(foo);
+    frunner.start();
+  }
+
+  public boolean canShowTranslationProducts(SequenceI[] selection,
+          AlignmentI alignment)
+  {
+    // old way
+    try
+    {
+      return (jalview.analysis.Dna.canTranslate(selection,
+              viewport.getViewAsVisibleContigs(true)));
+    } catch (Exception e)
+    {
+      jalview.bin.Cache.log
+              .warn("canTranslate threw an exception - please report to help@jalview.org",
+                      e);
+      return false;
+    }
+  }
+
+  @Override
+  public void showProducts_actionPerformed(ActionEvent e)
+  {
+    // /////////////////////////////
+    // Collect Data to be translated/transferred
+
+    SequenceI[] selection = viewport.getSequenceSelection();
+    AlignmentI al = null;
+    try
+    {
+      al = jalview.analysis.Dna.CdnaTranslate(selection, viewport
+              .getViewAsVisibleContigs(true), viewport.getGapCharacter(),
+              viewport.getAlignment().getDataset());
+    } catch (Exception ex)
+    {
+      al = null;
+      jalview.bin.Cache.log.debug("Exception during translation.", ex);
+    }
+    if (al == null)
+    {
+      JOptionPane
+              .showMessageDialog(
+                      Desktop.desktop,
+                      MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),
+                      MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);
+    }
+    else
+    {
+      AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);
       Desktop.addInternalFrame(af, MessageManager.formatMessage("label.translation_of_params", new String[]{this.getTitle()}),\r
-              DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
-    }\r
-  }\r
-\r
-  @Override\r
-  public void showTranslation_actionPerformed(ActionEvent e)\r
-  {\r
-    // /////////////////////////////\r
-    // Collect Data to be translated/transferred\r
-\r
-    SequenceI[] selection = viewport.getSequenceSelection();\r
-    String[] seqstring = viewport.getViewAsString(true);\r
-    AlignmentI al = null;\r
-    try\r
-    {\r
-      al = jalview.analysis.Dna.CdnaTranslate(selection, seqstring,\r
-              viewport.getViewAsVisibleContigs(true), viewport\r
-                      .getGapCharacter(), viewport.getAlignment()\r
-                      .getAlignmentAnnotation(), viewport.getAlignment()\r
-                      .getWidth(), viewport.getAlignment().getDataset());\r
-    } catch (Exception ex)\r
-    {\r
-      al = null;\r
-      jalview.bin.Cache.log.error("Exception during translation. Please report this !", ex);\r
-      JOptionPane\r
-      .showMessageDialog(\r
-              Desktop.desktop,\r
-              MessageManager.getString("label.error_when_translating_sequences_submit_bug_report"),\r
-              MessageManager.getString("label.implementation_error") + MessageManager.getString("translation_failed"), JOptionPane.ERROR_MESSAGE);\r
-      return;\r
-    }\r
-    if (al == null)\r
-    {\r
-      JOptionPane\r
-              .showMessageDialog(\r
-                      Desktop.desktop,\r
-                      MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),\r
-                      MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);\r
-    }\r
-    else\r
-    {\r
-      AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
+              DEFAULT_WIDTH, DEFAULT_HEIGHT);
+    }
+  }
+
+  @Override
+  public void showTranslation_actionPerformed(ActionEvent e)
+  {
+    // /////////////////////////////
+    // Collect Data to be translated/transferred
+
+    SequenceI[] selection = viewport.getSequenceSelection();
+    String[] seqstring = viewport.getViewAsString(true);
+    AlignmentI al = null;
+    try
+    {
+      al = jalview.analysis.Dna.CdnaTranslate(selection, seqstring,
+              viewport.getViewAsVisibleContigs(true), viewport
+                      .getGapCharacter(), viewport.getAlignment()
+                      .getAlignmentAnnotation(), viewport.getAlignment()
+                      .getWidth(), viewport.getAlignment().getDataset());
+    } catch (Exception ex)
+    {
+      al = null;
+      jalview.bin.Cache.log.error("Exception during translation. Please report this !", ex);
+      JOptionPane
+      .showMessageDialog(
+              Desktop.desktop,
+              MessageManager.getString("label.error_when_translating_sequences_submit_bug_report"),
+              MessageManager.getString("label.implementation_error") + MessageManager.getString("translation_failed"), JOptionPane.ERROR_MESSAGE);
+      return;
+    }
+    if (al == null)
+    {
+      JOptionPane
+              .showMessageDialog(
+                      Desktop.desktop,
+                      MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),
+                      MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);
+    }
+    else
+    {
+      AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);
       Desktop.addInternalFrame(af, MessageManager.formatMessage("label.translation_of_params", new String[]{this.getTitle()}),\r
-              DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Try to load a features file onto the alignment.\r
-   * \r
-   * @param file\r
-   *          contents or path to retrieve file\r
-   * @param type\r
-   *          access mode of file (see jalview.io.AlignFile)\r
-   * @return true if features file was parsed corectly.\r
-   */\r
-  public boolean parseFeaturesFile(String file, String type)\r
-  {\r
-    boolean featuresFile = false;\r
-    try\r
-    {\r
-      featuresFile = new FeaturesFile(file, type).parse(viewport\r
-              .getAlignment().getDataset(), alignPanel.seqPanel.seqCanvas\r
-              .getFeatureRenderer().featureColours, false,\r
-              jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false));\r
-    } catch (Exception ex)\r
-    {\r
-      ex.printStackTrace();\r
-    }\r
-\r
-    if (featuresFile)\r
-    {\r
-      viewport.showSequenceFeatures = true;\r
-      showSeqFeatures.setSelected(true);\r
-      if (alignPanel.seqPanel.seqCanvas.fr != null)\r
-      {\r
-        // update the min/max ranges where necessary\r
-        alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true);\r
-      }\r
-      if (featureSettings != null)\r
-      {\r
-        featureSettings.setTableData();\r
-      }\r
-      alignPanel.paintAlignment(true);\r
-    }\r
-\r
-    return featuresFile;\r
-  }\r
-\r
-  @Override\r
-  public void dragEnter(DropTargetDragEvent evt)\r
-  {\r
-  }\r
-\r
-  @Override\r
-  public void dragExit(DropTargetEvent evt)\r
-  {\r
-  }\r
-\r
-  @Override\r
-  public void dragOver(DropTargetDragEvent evt)\r
-  {\r
-  }\r
-\r
-  @Override\r
-  public void dropActionChanged(DropTargetDragEvent evt)\r
-  {\r
-  }\r
-\r
-  @Override\r
-  public void drop(DropTargetDropEvent evt)\r
-  {\r
-    Transferable t = evt.getTransferable();\r
-    java.util.List files = null;\r
-\r
-    try\r
-    {\r
-      DataFlavor uriListFlavor = new DataFlavor(\r
-              "text/uri-list;class=java.lang.String");\r
-      if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor))\r
-      {\r
-        // Works on Windows and MacOSX\r
-        evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);\r
-        files = (java.util.List) t\r
-                .getTransferData(DataFlavor.javaFileListFlavor);\r
-      }\r
-      else if (t.isDataFlavorSupported(uriListFlavor))\r
-      {\r
-        // This is used by Unix drag system\r
-        evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);\r
-        String data = (String) t.getTransferData(uriListFlavor);\r
-        files = new java.util.ArrayList(1);\r
-        for (java.util.StringTokenizer st = new java.util.StringTokenizer(\r
-                data, "\r\n"); st.hasMoreTokens();)\r
-        {\r
-          String s = st.nextToken();\r
-          if (s.startsWith("#"))\r
-          {\r
-            // the line is a comment (as per the RFC 2483)\r
-            continue;\r
-          }\r
-\r
-          java.net.URI uri = new java.net.URI(s);\r
-          // check to see if we can handle this kind of URI\r
-          if (uri.getScheme().toLowerCase().startsWith("http"))\r
-          {\r
-            files.add(uri.toString());\r
-          }\r
-          else\r
-          {\r
-            // otherwise preserve old behaviour: catch all for file objects\r
-            java.io.File file = new java.io.File(uri);\r
-            files.add(file.toString());\r
-          }\r
-        }\r
-      }\r
-    } catch (Exception e)\r
-    {\r
-      e.printStackTrace();\r
-    }\r
-    if (files != null)\r
-    {\r
-      try\r
-      {\r
-        // check to see if any of these files have names matching sequences in\r
-        // the alignment\r
-        SequenceIdMatcher idm = new SequenceIdMatcher(viewport\r
-                .getAlignment().getSequencesArray());\r
-        /**\r
-         * Object[] { String,SequenceI}\r
-         */\r
-        ArrayList<Object[]> filesmatched = new ArrayList<Object[]>();\r
-        ArrayList<String> filesnotmatched = new ArrayList<String>();\r
-        for (int i = 0; i < files.size(); i++)\r
-        {\r
-          String file = files.get(i).toString();\r
-          String pdbfn = "";\r
-          String protocol = FormatAdapter.checkProtocol(file);\r
-          if (protocol == jalview.io.FormatAdapter.FILE)\r
-          {\r
-            File fl = new File(file);\r
-            pdbfn = fl.getName();\r
-          }\r
-          else if (protocol == jalview.io.FormatAdapter.URL)\r
-          {\r
-            URL url = new URL(file);\r
-            pdbfn = url.getFile();\r
-          }\r
-          if (pdbfn.length() > 0)\r
-          {\r
-            // attempt to find a match in the alignment\r
-            SequenceI[] mtch = idm.findAllIdMatches(pdbfn);\r
-            int l = 0, c = pdbfn.indexOf(".");\r
-            while (mtch == null && c != -1)\r
-            {\r
-              do\r
-              {\r
-                l = c;\r
-              } while ((c = pdbfn.indexOf(".", l)) > l);\r
-              if (l > -1)\r
-              {\r
-                pdbfn = pdbfn.substring(0, l);\r
-              }\r
-              mtch = idm.findAllIdMatches(pdbfn);\r
-            }\r
-            if (mtch != null)\r
-            {\r
-              String type = null;\r
-              try\r
-              {\r
-                type = new IdentifyFile().Identify(file, protocol);\r
-              } catch (Exception ex)\r
-              {\r
-                type = null;\r
-              }\r
-              if (type != null)\r
-              {\r
-                if (type.equalsIgnoreCase("PDB"))\r
-                {\r
-                  filesmatched.add(new Object[]\r
-                  { file, protocol, mtch });\r
-                  continue;\r
-                }\r
-              }\r
-            }\r
-            // File wasn't named like one of the sequences or wasn't a PDB file.\r
-            filesnotmatched.add(file);\r
-          }\r
-        }\r
-        int assocfiles = 0;\r
-        if (filesmatched.size() > 0)\r
-        {\r
-          if (Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false)\r
-                  || JOptionPane\r
-                          .showConfirmDialog(\r
-                                  this,\r
-                                  MessageManager.formatMessage("label.automatically_associate_pdb_files_with_sequences_same_name",\r
-                                                 new String[]{Integer.valueOf(filesmatched.size()).toString()}),\r
-                                  MessageManager.getString("label.automatically_associate_pdb_files_by_name"),\r
-                                  JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)\r
-\r
-          {\r
-            for (Object[] fm : filesmatched)\r
-            {\r
-              // try and associate\r
-              // TODO: may want to set a standard ID naming formalism for\r
-              // associating PDB files which have no IDs.\r
-              for (SequenceI toassoc : (SequenceI[]) fm[2])\r
-              {\r
-                PDBEntry pe = new AssociatePdbFileWithSeq()\r
-                        .associatePdbWithSeq((String) fm[0],\r
-                                (String) fm[1], toassoc, false);\r
-                if (pe != null)\r
-                {\r
-                  System.err.println("Associated file : "\r
-                          + ((String) fm[0]) + " with "\r
-                          + toassoc.getDisplayId(true));\r
-                  assocfiles++;\r
-                }\r
-              }\r
-              alignPanel.paintAlignment(true);\r
-            }\r
-          }\r
-        }\r
-        if (filesnotmatched.size() > 0)\r
-        {\r
-          if (assocfiles > 0\r
-                  && (Cache.getDefault(\r
-                          "AUTOASSOCIATE_PDBANDSEQS_IGNOREOTHERS", false) || JOptionPane\r
-                          .showConfirmDialog(\r
-                                  this,\r
-                                  MessageManager.formatMessage("label.ignore_unmatched_dropped_files_info", new String[]{Integer.valueOf(filesnotmatched.size()).toString()}),\r
-                                  MessageManager.getString("label.ignore_unmatched_dropped_files"),\r
-                                  JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION))\r
-          {\r
-            return;\r
-          }\r
-          for (String fn : filesnotmatched)\r
-          {\r
-            loadJalviewDataFile(fn, null, null, null);\r
-          }\r
-\r
-        }\r
-      } catch (Exception ex)\r
-      {\r
-        ex.printStackTrace();\r
-      }\r
-    }\r
-  }\r
-\r
-  /**\r
-   * Attempt to load a "dropped" file or URL string: First by testing whether\r
-   * it's and Annotation file, then a JNet file, and finally a features file. If\r
-   * all are false then the user may have dropped an alignment file onto this\r
-   * AlignFrame.\r
-   * \r
-   * @param file\r
-   *          either a filename or a URL string.\r
-   */\r
-  public void loadJalviewDataFile(String file, String protocol,\r
-          String format, SequenceI assocSeq)\r
-  {\r
-    try\r
-    {\r
-      if (protocol == null)\r
-      {\r
-        protocol = jalview.io.FormatAdapter.checkProtocol(file);\r
-      }\r
-      // if the file isn't identified, or not positively identified as some\r
-      // other filetype (PFAM is default unidentified alignment file type) then\r
-      // try to parse as annotation.\r
-      boolean isAnnotation = (format == null || format\r
-              .equalsIgnoreCase("PFAM")) ? new AnnotationFile()\r
-              .readAnnotationFile(viewport.getAlignment(), file, protocol)\r
-              : false;\r
-\r
-      if (!isAnnotation)\r
-      {\r
-        // first see if its a T-COFFEE score file\r
-        TCoffeeScoreFile tcf = null;\r
-        try\r
-        {\r
-          tcf = new TCoffeeScoreFile(file, protocol);\r
-          if (tcf.isValid())\r
-          {\r
-            if (tcf.annotateAlignment(viewport.getAlignment(), true))\r
-            {\r
-              tcoffeeColour.setEnabled(true);\r
-              tcoffeeColour.setSelected(true);\r
-              changeColour(new TCoffeeColourScheme(viewport.getAlignment()));\r
-              isAnnotation = true;\r
-              statusBar.setText(MessageManager.getString("label.successfully_pasted_tcoffee_scores_to_alignment"));\r
-            }\r
-            else\r
-            {\r
-              // some problem - if no warning its probable that the ID matching\r
-              // process didn't work\r
-              JOptionPane\r
-                      .showMessageDialog(\r
-                              Desktop.desktop,\r
-                              tcf.getWarningMessage() == null ? MessageManager.getString("label.check_file_matches_sequence_ids_alignment")\r
-                                      : tcf.getWarningMessage(),\r
-                              MessageManager.getString("label.problem_reading_tcoffee_score_file"),\r
-                              JOptionPane.WARNING_MESSAGE);\r
-            }\r
-          }\r
-          else\r
-          {\r
-            tcf = null;\r
-          }\r
-        } catch (Exception x)\r
-        {\r
-          Cache.log\r
-                  .debug("Exception when processing data source as T-COFFEE score file",\r
-                          x);\r
-          tcf = null;\r
-        }\r
-        if (tcf == null)\r
-        {\r
-          // try to see if its a JNet 'concise' style annotation file *before*\r
-          // we\r
-          // try to parse it as a features file\r
-          if (format == null)\r
-          {\r
-            format = new IdentifyFile().Identify(file, protocol);\r
-          }\r
-          if (format.equalsIgnoreCase("JnetFile"))\r
-          {\r
-            jalview.io.JPredFile predictions = new jalview.io.JPredFile(\r
-                    file, protocol);\r
-            new JnetAnnotationMaker().add_annotation(predictions,\r
-                    viewport.getAlignment(), 0, false);\r
-            isAnnotation = true;\r
-          }\r
-          else\r
-          {\r
-            /*\r
-             * if (format.equalsIgnoreCase("PDB")) {\r
-             * \r
-             * String pdbfn = ""; // try to match up filename with sequence id\r
-             * try { if (protocol == jalview.io.FormatAdapter.FILE) { File fl =\r
-             * new File(file); pdbfn = fl.getName(); } else if (protocol ==\r
-             * jalview.io.FormatAdapter.URL) { URL url = new URL(file); pdbfn =\r
-             * url.getFile(); } } catch (Exception e) { } ; if (assocSeq ==\r
-             * null) { SequenceIdMatcher idm = new SequenceIdMatcher(viewport\r
-             * .getAlignment().getSequencesArray()); if (pdbfn.length() > 0) {\r
-             * // attempt to find a match in the alignment SequenceI mtch =\r
-             * idm.findIdMatch(pdbfn); int l = 0, c = pdbfn.indexOf("."); while\r
-             * (mtch == null && c != -1) { while ((c = pdbfn.indexOf(".", l)) >\r
-             * l) { l = c; } if (l > -1) { pdbfn = pdbfn.substring(0, l); } mtch\r
-             * = idm.findIdMatch(pdbfn); } if (mtch != null) { // try and\r
-             * associate // prompt ? PDBEntry pe = new AssociatePdbFileWithSeq()\r
-             * .associatePdbWithSeq(file, protocol, mtch, true); if (pe != null)\r
-             * { System.err.println("Associated file : " + file + " with " +\r
-             * mtch.getDisplayId(true)); alignPanel.paintAlignment(true); } } //\r
-             * TODO: maybe need to load as normal otherwise return; } }\r
-             */\r
-            // try to parse it as a features file\r
-            boolean isGroupsFile = parseFeaturesFile(file, protocol);\r
-            // if it wasn't a features file then we just treat it as a general\r
-            // alignment file to load into the current view.\r
-            if (!isGroupsFile)\r
-            {\r
-              new FileLoader().LoadFile(viewport, file, protocol, format);\r
-            }\r
-            else\r
-            {\r
-              alignPanel.paintAlignment(true);\r
-            }\r
-          }\r
-        }\r
-      }\r
-      if (isAnnotation)\r
-      {\r
-\r
-        alignPanel.adjustAnnotationHeight();\r
-        viewport.updateSequenceIdColours();\r
-        buildSortByAnnotationScoresMenu();\r
-        alignPanel.paintAlignment(true);\r
-      }\r
-    } catch (Exception ex)\r
-    {\r
-      ex.printStackTrace();\r
-    } catch (OutOfMemoryError oom)\r
-    {\r
-      try\r
-      {\r
-        System.gc();\r
-      } catch (Exception x)\r
-      {\r
-      }\r
-      ;\r
-      new OOMWarning(\r
-              "loading data "\r
-                      + (protocol != null ? (protocol.equals(FormatAdapter.PASTE) ? "from clipboard."\r
-                              : "using " + protocol + " from " + file)\r
-                              : ".")\r
-                      + (format != null ? "(parsing as '" + format\r
-                              + "' file)" : ""), oom, Desktop.desktop);\r
-    }\r
-  }\r
-\r
-  @Override\r
-  public void tabSelectionChanged(int index)\r
-  {\r
-    if (index > -1)\r
-    {\r
-      alignPanel = (AlignmentPanel) alignPanels.elementAt(index);\r
-      viewport = alignPanel.av;\r
-      avc.setViewportAndAlignmentPanel(viewport, alignPanel);\r
-      setMenusFromViewport(viewport);\r
-    }\r
-  }\r
-\r
-  @Override\r
-  public void tabbedPane_mousePressed(MouseEvent e)\r
-  {\r
-    if (SwingUtilities.isRightMouseButton(e))\r
-    {\r
-      String reply = JOptionPane.showInternalInputDialog(this,\r
-              MessageManager.getString("label.enter_view_name"), MessageManager.getString("label.enter_view_name"),\r
-              JOptionPane.QUESTION_MESSAGE);\r
-\r
-      if (reply != null)\r
-      {\r
-        viewport.viewName = reply;\r
-        tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), reply);\r
-      }\r
-    }\r
-  }\r
-\r
-  public AlignViewport getCurrentView()\r
-  {\r
-    return viewport;\r
-  }\r
-\r
-  /**\r
-   * Open the dialog for regex description parsing.\r
-   */\r
-  @Override\r
-  protected void extractScores_actionPerformed(ActionEvent e)\r
-  {\r
-    ParseProperties pp = new jalview.analysis.ParseProperties(\r
-            viewport.getAlignment());\r
-    // TODO: verify regex and introduce GUI dialog for version 2.5\r
-    // if (pp.getScoresFromDescription("col", "score column ",\r
-    // "\\W*([-+]?\\d*\\.?\\d*e?-?\\d*)\\W+([-+]?\\d*\\.?\\d*e?-?\\d*)",\r
-    // true)>0)\r
-    if (pp.getScoresFromDescription("description column",\r
-            "score in description column ", "\\W*([-+eE0-9.]+)", true) > 0)\r
-    {\r
-      buildSortByAnnotationScoresMenu();\r
-    }\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showDbRefs_actionPerformed(java.awt.event.ActionEvent\r
-   * )\r
-   */\r
-  @Override\r
-  protected void showDbRefs_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowDbRefs(showDbRefsMenuitem.isSelected());\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @seejalview.jbgui.GAlignFrame#showNpFeats_actionPerformed(java.awt.event.\r
-   * ActionEvent)\r
-   */\r
-  @Override\r
-  protected void showNpFeats_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowNpFeats(showNpFeatsMenuitem.isSelected());\r
-  }\r
-\r
-  /**\r
-   * find the viewport amongst the tabs in this alignment frame and close that\r
-   * tab\r
-   * \r
-   * @param av\r
-   */\r
-  public boolean closeView(AlignViewport av)\r
-  {\r
-    if (viewport == av)\r
-    {\r
-      this.closeMenuItem_actionPerformed(false);\r
-      return true;\r
-    }\r
-    Component[] comp = tabbedPane.getComponents();\r
-    for (int i = 0; comp != null && i < comp.length; i++)\r
-    {\r
-      if (comp[i] instanceof AlignmentPanel)\r
-      {\r
-        if (((AlignmentPanel) comp[i]).av == av)\r
-        {\r
-          // close the view.\r
-          closeView((AlignmentPanel) comp[i]);\r
-          return true;\r
-        }\r
-      }\r
-    }\r
-    return false;\r
-  }\r
-\r
-  protected void build_fetchdbmenu(JMenu webService)\r
-  {\r
-    // Temporary hack - DBRef Fetcher always top level ws entry.\r
-    // TODO We probably want to store a sequence database checklist in\r
-    // preferences and have checkboxes.. rather than individual sources selected\r
-    // here\r
+              DEFAULT_WIDTH, DEFAULT_HEIGHT);
+    }
+  }
+
+  /**
+   * Try to load a features file onto the alignment.
+   * 
+   * @param file
+   *          contents or path to retrieve file
+   * @param type
+   *          access mode of file (see jalview.io.AlignFile)
+   * @return true if features file was parsed corectly.
+   */
+  public boolean parseFeaturesFile(String file, String type)
+  {
+    boolean featuresFile = false;
+    try
+    {
+      featuresFile = new FeaturesFile(file, type).parse(viewport
+              .getAlignment().getDataset(), alignPanel.seqPanel.seqCanvas
+              .getFeatureRenderer().featureColours, false,
+              jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false));
+    } catch (Exception ex)
+    {
+      ex.printStackTrace();
+    }
+
+    if (featuresFile)
+    {
+      viewport.showSequenceFeatures = true;
+      showSeqFeatures.setSelected(true);
+      if (alignPanel.seqPanel.seqCanvas.fr != null)
+      {
+        // update the min/max ranges where necessary
+        alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true);
+      }
+      if (featureSettings != null)
+      {
+        featureSettings.setTableData();
+      }
+      alignPanel.paintAlignment(true);
+    }
+
+    return featuresFile;
+  }
+
+  @Override
+  public void dragEnter(DropTargetDragEvent evt)
+  {
+  }
+
+  @Override
+  public void dragExit(DropTargetEvent evt)
+  {
+  }
+
+  @Override
+  public void dragOver(DropTargetDragEvent evt)
+  {
+  }
+
+  @Override
+  public void dropActionChanged(DropTargetDragEvent evt)
+  {
+  }
+
+  @Override
+  public void drop(DropTargetDropEvent evt)
+  {
+    Transferable t = evt.getTransferable();
+    java.util.List files = null;
+
+    try
+    {
+      DataFlavor uriListFlavor = new DataFlavor(
+              "text/uri-list;class=java.lang.String");
+      if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
+      {
+        // Works on Windows and MacOSX
+        evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
+        files = (java.util.List) t
+                .getTransferData(DataFlavor.javaFileListFlavor);
+      }
+      else if (t.isDataFlavorSupported(uriListFlavor))
+      {
+        // This is used by Unix drag system
+        evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
+        String data = (String) t.getTransferData(uriListFlavor);
+        files = new java.util.ArrayList(1);
+        for (java.util.StringTokenizer st = new java.util.StringTokenizer(
+                data, "\r\n"); st.hasMoreTokens();)
+        {
+          String s = st.nextToken();
+          if (s.startsWith("#"))
+          {
+            // the line is a comment (as per the RFC 2483)
+            continue;
+          }
+
+          java.net.URI uri = new java.net.URI(s);
+          // check to see if we can handle this kind of URI
+          if (uri.getScheme().toLowerCase().startsWith("http"))
+          {
+            files.add(uri.toString());
+          }
+          else
+          {
+            // otherwise preserve old behaviour: catch all for file objects
+            java.io.File file = new java.io.File(uri);
+            files.add(file.toString());
+          }
+        }
+      }
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    if (files != null)
+    {
+      try
+      {
+        // check to see if any of these files have names matching sequences in
+        // the alignment
+        SequenceIdMatcher idm = new SequenceIdMatcher(viewport
+                .getAlignment().getSequencesArray());
+        /**
+         * Object[] { String,SequenceI}
+         */
+        ArrayList<Object[]> filesmatched = new ArrayList<Object[]>();
+        ArrayList<String> filesnotmatched = new ArrayList<String>();
+        for (int i = 0; i < files.size(); i++)
+        {
+          String file = files.get(i).toString();
+          String pdbfn = "";
+          String protocol = FormatAdapter.checkProtocol(file);
+          if (protocol == jalview.io.FormatAdapter.FILE)
+          {
+            File fl = new File(file);
+            pdbfn = fl.getName();
+          }
+          else if (protocol == jalview.io.FormatAdapter.URL)
+          {
+            URL url = new URL(file);
+            pdbfn = url.getFile();
+          }
+          if (pdbfn.length() > 0)
+          {
+            // attempt to find a match in the alignment
+            SequenceI[] mtch = idm.findAllIdMatches(pdbfn);
+            int l = 0, c = pdbfn.indexOf(".");
+            while (mtch == null && c != -1)
+            {
+              do
+              {
+                l = c;
+              } while ((c = pdbfn.indexOf(".", l)) > l);
+              if (l > -1)
+              {
+                pdbfn = pdbfn.substring(0, l);
+              }
+              mtch = idm.findAllIdMatches(pdbfn);
+            }
+            if (mtch != null)
+            {
+              String type = null;
+              try
+              {
+                type = new IdentifyFile().Identify(file, protocol);
+              } catch (Exception ex)
+              {
+                type = null;
+              }
+              if (type != null)
+              {
+                if (type.equalsIgnoreCase("PDB"))
+                {
+                  filesmatched.add(new Object[]
+                  { file, protocol, mtch });
+                  continue;
+                }
+              }
+            }
+            // File wasn't named like one of the sequences or wasn't a PDB file.
+            filesnotmatched.add(file);
+          }
+        }
+        int assocfiles = 0;
+        if (filesmatched.size() > 0)
+        {
+          if (Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false)
+                  || JOptionPane
+                          .showConfirmDialog(
+                                  this,
+                                  MessageManager.formatMessage("label.automatically_associate_pdb_files_with_sequences_same_name",
+                                                 new String[]{Integer.valueOf(filesmatched.size()).toString()}),
+                                  MessageManager.getString("label.automatically_associate_pdb_files_by_name"),
+                                  JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
+
+          {
+            for (Object[] fm : filesmatched)
+            {
+              // try and associate
+              // TODO: may want to set a standard ID naming formalism for
+              // associating PDB files which have no IDs.
+              for (SequenceI toassoc : (SequenceI[]) fm[2])
+              {
+                PDBEntry pe = new AssociatePdbFileWithSeq()
+                        .associatePdbWithSeq((String) fm[0],
+                                (String) fm[1], toassoc, false);
+                if (pe != null)
+                {
+                  System.err.println("Associated file : "
+                          + ((String) fm[0]) + " with "
+                          + toassoc.getDisplayId(true));
+                  assocfiles++;
+                }
+              }
+              alignPanel.paintAlignment(true);
+            }
+          }
+        }
+        if (filesnotmatched.size() > 0)
+        {
+          if (assocfiles > 0
+                  && (Cache.getDefault(
+                          "AUTOASSOCIATE_PDBANDSEQS_IGNOREOTHERS", false) || JOptionPane
+                          .showConfirmDialog(
+                                  this,
+                                  MessageManager.formatMessage("label.ignore_unmatched_dropped_files_info", new String[]{Integer.valueOf(filesnotmatched.size()).toString()}),
+                                  MessageManager.getString("label.ignore_unmatched_dropped_files"),
+                                  JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION))
+          {
+            return;
+          }
+          for (String fn : filesnotmatched)
+          {
+            loadJalviewDataFile(fn, null, null, null);
+          }
+
+        }
+      } catch (Exception ex)
+      {
+        ex.printStackTrace();
+      }
+    }
+  }
+
+  /**
+   * Attempt to load a "dropped" file or URL string: First by testing whether
+   * it's and Annotation file, then a JNet file, and finally a features file. If
+   * all are false then the user may have dropped an alignment file onto this
+   * AlignFrame.
+   * 
+   * @param file
+   *          either a filename or a URL string.
+   */
+  public void loadJalviewDataFile(String file, String protocol,
+          String format, SequenceI assocSeq)
+  {
+    try
+    {
+      if (protocol == null)
+      {
+        protocol = jalview.io.FormatAdapter.checkProtocol(file);
+      }
+      // if the file isn't identified, or not positively identified as some
+      // other filetype (PFAM is default unidentified alignment file type) then
+      // try to parse as annotation.
+      boolean isAnnotation = (format == null || format
+              .equalsIgnoreCase("PFAM")) ? new AnnotationFile()
+              .readAnnotationFile(viewport.getAlignment(), file, protocol)
+              : false;
+
+      if (!isAnnotation)
+      {
+        // first see if its a T-COFFEE score file
+        TCoffeeScoreFile tcf = null;
+        try
+        {
+          tcf = new TCoffeeScoreFile(file, protocol);
+          if (tcf.isValid())
+          {
+            if (tcf.annotateAlignment(viewport.getAlignment(), true))
+            {
+              tcoffeeColour.setEnabled(true);
+              tcoffeeColour.setSelected(true);
+              changeColour(new TCoffeeColourScheme(viewport.getAlignment()));
+              isAnnotation = true;
+              statusBar.setText(MessageManager.getString("label.successfully_pasted_tcoffee_scores_to_alignment"));
+            }
+            else
+            {
+              // some problem - if no warning its probable that the ID matching
+              // process didn't work
+              JOptionPane
+                      .showMessageDialog(
+                              Desktop.desktop,
+                              tcf.getWarningMessage() == null ? MessageManager.getString("label.check_file_matches_sequence_ids_alignment")
+                                      : tcf.getWarningMessage(),
+                              MessageManager.getString("label.problem_reading_tcoffee_score_file"),
+                              JOptionPane.WARNING_MESSAGE);
+            }
+          }
+          else
+          {
+            tcf = null;
+          }
+        } catch (Exception x)
+        {
+          Cache.log
+                  .debug("Exception when processing data source as T-COFFEE score file",
+                          x);
+          tcf = null;
+        }
+        if (tcf == null)
+        {
+          // try to see if its a JNet 'concise' style annotation file *before*
+          // we
+          // try to parse it as a features file
+          if (format == null)
+          {
+            format = new IdentifyFile().Identify(file, protocol);
+          }
+          if (format.equalsIgnoreCase("JnetFile"))
+          {
+            jalview.io.JPredFile predictions = new jalview.io.JPredFile(
+                    file, protocol);
+            new JnetAnnotationMaker().add_annotation(predictions,
+                    viewport.getAlignment(), 0, false);
+            isAnnotation = true;
+          }
+          else
+          {
+            /*
+             * if (format.equalsIgnoreCase("PDB")) {
+             * 
+             * String pdbfn = ""; // try to match up filename with sequence id
+             * try { if (protocol == jalview.io.FormatAdapter.FILE) { File fl =
+             * new File(file); pdbfn = fl.getName(); } else if (protocol ==
+             * jalview.io.FormatAdapter.URL) { URL url = new URL(file); pdbfn =
+             * url.getFile(); } } catch (Exception e) { } ; if (assocSeq ==
+             * null) { SequenceIdMatcher idm = new SequenceIdMatcher(viewport
+             * .getAlignment().getSequencesArray()); if (pdbfn.length() > 0) {
+             * // attempt to find a match in the alignment SequenceI mtch =
+             * idm.findIdMatch(pdbfn); int l = 0, c = pdbfn.indexOf("."); while
+             * (mtch == null && c != -1) { while ((c = pdbfn.indexOf(".", l)) >
+             * l) { l = c; } if (l > -1) { pdbfn = pdbfn.substring(0, l); } mtch
+             * = idm.findIdMatch(pdbfn); } if (mtch != null) { // try and
+             * associate // prompt ? PDBEntry pe = new AssociatePdbFileWithSeq()
+             * .associatePdbWithSeq(file, protocol, mtch, true); if (pe != null)
+             * { System.err.println("Associated file : " + file + " with " +
+             * mtch.getDisplayId(true)); alignPanel.paintAlignment(true); } } //
+             * TODO: maybe need to load as normal otherwise return; } }
+             */
+            // try to parse it as a features file
+            boolean isGroupsFile = parseFeaturesFile(file, protocol);
+            // if it wasn't a features file then we just treat it as a general
+            // alignment file to load into the current view.
+            if (!isGroupsFile)
+            {
+              new FileLoader().LoadFile(viewport, file, protocol, format);
+            }
+            else
+            {
+              alignPanel.paintAlignment(true);
+            }
+          }
+        }
+      }
+      if (isAnnotation)
+      {
+
+        alignPanel.adjustAnnotationHeight();
+        viewport.updateSequenceIdColours();
+        buildSortByAnnotationScoresMenu();
+        alignPanel.paintAlignment(true);
+      }
+    } catch (Exception ex)
+    {
+      ex.printStackTrace();
+    } catch (OutOfMemoryError oom)
+    {
+      try
+      {
+        System.gc();
+      } catch (Exception x)
+      {
+      }
+      ;
+      new OOMWarning(
+              "loading data "
+                      + (protocol != null ? (protocol.equals(FormatAdapter.PASTE) ? "from clipboard."
+                              : "using " + protocol + " from " + file)
+                              : ".")
+                      + (format != null ? "(parsing as '" + format
+                              + "' file)" : ""), oom, Desktop.desktop);
+    }
+  }
+
+  @Override
+  public void tabSelectionChanged(int index)
+  {
+    if (index > -1)
+    {
+      alignPanel = (AlignmentPanel) alignPanels.elementAt(index);
+      viewport = alignPanel.av;
+      avc.setViewportAndAlignmentPanel(viewport, alignPanel);
+      setMenusFromViewport(viewport);
+    }
+  }
+
+  @Override
+  public void tabbedPane_mousePressed(MouseEvent e)
+  {
+    if (SwingUtilities.isRightMouseButton(e))
+    {
+      String reply = JOptionPane.showInternalInputDialog(this,
+              MessageManager.getString("label.enter_view_name"), MessageManager.getString("label.enter_view_name"),
+              JOptionPane.QUESTION_MESSAGE);
+
+      if (reply != null)
+      {
+        viewport.viewName = reply;
+        tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), reply);
+      }
+    }
+  }
+
+  public AlignViewport getCurrentView()
+  {
+    return viewport;
+  }
+
+  /**
+   * Open the dialog for regex description parsing.
+   */
+  @Override
+  protected void extractScores_actionPerformed(ActionEvent e)
+  {
+    ParseProperties pp = new jalview.analysis.ParseProperties(
+            viewport.getAlignment());
+    // TODO: verify regex and introduce GUI dialog for version 2.5
+    // if (pp.getScoresFromDescription("col", "score column ",
+    // "\\W*([-+]?\\d*\\.?\\d*e?-?\\d*)\\W+([-+]?\\d*\\.?\\d*e?-?\\d*)",
+    // true)>0)
+    if (pp.getScoresFromDescription("description column",
+            "score in description column ", "\\W*([-+eE0-9.]+)", true) > 0)
+    {
+      buildSortByAnnotationScoresMenu();
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showDbRefs_actionPerformed(java.awt.event.ActionEvent
+   * )
+   */
+  @Override
+  protected void showDbRefs_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowDbRefs(showDbRefsMenuitem.isSelected());
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @seejalview.jbgui.GAlignFrame#showNpFeats_actionPerformed(java.awt.event.
+   * ActionEvent)
+   */
+  @Override
+  protected void showNpFeats_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowNpFeats(showNpFeatsMenuitem.isSelected());
+  }
+
+  /**
+   * find the viewport amongst the tabs in this alignment frame and close that
+   * tab
+   * 
+   * @param av
+   */
+  public boolean closeView(AlignViewport av)
+  {
+    if (viewport == av)
+    {
+      this.closeMenuItem_actionPerformed(false);
+      return true;
+    }
+    Component[] comp = tabbedPane.getComponents();
+    for (int i = 0; comp != null && i < comp.length; i++)
+    {
+      if (comp[i] instanceof AlignmentPanel)
+      {
+        if (((AlignmentPanel) comp[i]).av == av)
+        {
+          // close the view.
+          closeView((AlignmentPanel) comp[i]);
+          return true;
+        }
+      }
+    }
+    return false;
+  }
+
+  protected void build_fetchdbmenu(JMenu webService)
+  {
+    // Temporary hack - DBRef Fetcher always top level ws entry.
+    // TODO We probably want to store a sequence database checklist in
+    // preferences and have checkboxes.. rather than individual sources selected
+    // here
     final JMenu rfetch = new JMenu(MessageManager.getString("action.fetch_db_references"));\r
     rfetch.setToolTipText(MessageManager.getString("label.retrieve_parse_sequence_database_records_alignment_or_selected_sequences"));\r
-    webService.add(rfetch);\r
-\r
+    webService.add(rfetch);
+
     JMenuItem fetchr = new JMenuItem(MessageManager.getString("label.standard_databases"));\r
     fetchr.setToolTipText(MessageManager.getString("label.fetch_embl_uniprot"));\r
-    fetchr.addActionListener(new ActionListener()\r
-    {\r
-\r
-      @Override\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        new Thread(new Runnable()\r
-        {\r
-\r
-          @Override\r
-          public void run()\r
-          {\r
-            new jalview.ws.DBRefFetcher(alignPanel.av\r
-                    .getSequenceSelection(), alignPanel.alignFrame)\r
-                    .fetchDBRefs(false);\r
-          }\r
-        }).start();\r
-\r
-      }\r
-\r
-    });\r
-    rfetch.add(fetchr);\r
-    final AlignFrame me = this;\r
-    new Thread(new Runnable()\r
-    {\r
-      @Override\r
-      public void run()\r
-      {\r
-        final jalview.ws.SequenceFetcher sf = SequenceFetcher\r
-                .getSequenceFetcherSingleton(me);\r
-        javax.swing.SwingUtilities.invokeLater(new Runnable()\r
-        {\r
-          @Override\r
-          public void run()\r
-          {\r
-            String[] dbclasses = sf.getOrderedSupportedSources();\r
-            // sf.getDbInstances(jalview.ws.dbsources.DasSequenceSource.class);\r
-            // jalview.util.QuickSort.sort(otherdb, otherdb);\r
-            List<DbSourceProxy> otherdb;\r
-            JMenu dfetch = new JMenu();\r
-            JMenu ifetch = new JMenu();\r
-            JMenuItem fetchr = null;\r
-            int comp = 0, icomp = 0, mcomp = 15;\r
-            String mname = null;\r
-            int dbi = 0;\r
-            for (String dbclass : dbclasses)\r
-            {\r
-              otherdb = sf.getSourceProxy(dbclass);\r
-              // add a single entry for this class, or submenu allowing 'fetch\r
-              // all' or pick one\r
-              if (otherdb == null || otherdb.size() < 1)\r
-              {\r
-                continue;\r
-              }\r
-              // List<DbSourceProxy> dbs=otherdb;\r
-              // otherdb=new ArrayList<DbSourceProxy>();\r
-              // for (DbSourceProxy db:dbs)\r
-              // {\r
-              // if (!db.isA(DBRefSource.ALIGNMENTDB)\r
-              // }\r
-              if (mname == null)\r
-              {\r
-                mname = "From " + dbclass;\r
-              }\r
-              if (otherdb.size() == 1)\r
-              {\r
-                final DbSourceProxy[] dassource = otherdb\r
-                        .toArray(new DbSourceProxy[0]);\r
-                DbSourceProxy src = otherdb.get(0);\r
-                fetchr = new JMenuItem(src.getDbSource());\r
-                fetchr.addActionListener(new ActionListener()\r
-                {\r
-\r
-                  @Override\r
-                  public void actionPerformed(ActionEvent e)\r
-                  {\r
-                    new Thread(new Runnable()\r
-                    {\r
-\r
-                      @Override\r
-                      public void run()\r
-                      {\r
-                        new jalview.ws.DBRefFetcher(alignPanel.av\r
-                                .getSequenceSelection(),\r
-                                alignPanel.alignFrame, dassource)\r
-                                .fetchDBRefs(false);\r
-                      }\r
-                    }).start();\r
-                  }\r
-\r
-                });\r
-                fetchr.setToolTipText("<html>"\r
-                        + JvSwingUtils.wrapTooltip("Retrieve from "\r
-                                + src.getDbName()) + "<html>");\r
-                dfetch.add(fetchr);\r
-                comp++;\r
-              }\r
-              else\r
-              {\r
-                final DbSourceProxy[] dassource = otherdb\r
-                        .toArray(new DbSourceProxy[0]);\r
-                // fetch all entry\r
-                DbSourceProxy src = otherdb.get(0);\r
+    fetchr.addActionListener(new ActionListener()
+    {
+
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        new Thread(new Runnable()
+        {
+
+          @Override
+          public void run()
+          {
+            new jalview.ws.DBRefFetcher(alignPanel.av
+                    .getSequenceSelection(), alignPanel.alignFrame)
+                    .fetchDBRefs(false);
+          }
+        }).start();
+
+      }
+
+    });
+    rfetch.add(fetchr);
+    final AlignFrame me = this;
+    new Thread(new Runnable()
+    {
+      @Override
+      public void run()
+      {
+        final jalview.ws.SequenceFetcher sf = SequenceFetcher
+                .getSequenceFetcherSingleton(me);
+        javax.swing.SwingUtilities.invokeLater(new Runnable()
+        {
+          @Override
+          public void run()
+          {
+            String[] dbclasses = sf.getOrderedSupportedSources();
+            // sf.getDbInstances(jalview.ws.dbsources.DasSequenceSource.class);
+            // jalview.util.QuickSort.sort(otherdb, otherdb);
+            List<DbSourceProxy> otherdb;
+            JMenu dfetch = new JMenu();
+            JMenu ifetch = new JMenu();
+            JMenuItem fetchr = null;
+            int comp = 0, icomp = 0, mcomp = 15;
+            String mname = null;
+            int dbi = 0;
+            for (String dbclass : dbclasses)
+            {
+              otherdb = sf.getSourceProxy(dbclass);
+              // add a single entry for this class, or submenu allowing 'fetch
+              // all' or pick one
+              if (otherdb == null || otherdb.size() < 1)
+              {
+                continue;
+              }
+              // List<DbSourceProxy> dbs=otherdb;
+              // otherdb=new ArrayList<DbSourceProxy>();
+              // for (DbSourceProxy db:dbs)
+              // {
+              // if (!db.isA(DBRefSource.ALIGNMENTDB)
+              // }
+              if (mname == null)
+              {
+                mname = "From " + dbclass;
+              }
+              if (otherdb.size() == 1)
+              {
+                final DbSourceProxy[] dassource = otherdb
+                        .toArray(new DbSourceProxy[0]);
+                DbSourceProxy src = otherdb.get(0);
+                fetchr = new JMenuItem(src.getDbSource());
+                fetchr.addActionListener(new ActionListener()
+                {
+
+                  @Override
+                  public void actionPerformed(ActionEvent e)
+                  {
+                    new Thread(new Runnable()
+                    {
+
+                      @Override
+                      public void run()
+                      {
+                        new jalview.ws.DBRefFetcher(alignPanel.av
+                                .getSequenceSelection(),
+                                alignPanel.alignFrame, dassource)
+                                .fetchDBRefs(false);
+                      }
+                    }).start();
+                  }
+
+                });
+                fetchr.setToolTipText("<html>"
+                        + JvSwingUtils.wrapTooltip("Retrieve from "
+                                + src.getDbName()) + "<html>");
+                dfetch.add(fetchr);
+                comp++;
+              }
+              else
+              {
+                final DbSourceProxy[] dassource = otherdb
+                        .toArray(new DbSourceProxy[0]);
+                // fetch all entry
+                DbSourceProxy src = otherdb.get(0);
                 fetchr = new JMenuItem(MessageManager.formatMessage("label.fetch_all_param", new String[]{src.getDbSource()}));\r
-                fetchr.addActionListener(new ActionListener()\r
-                {\r
-                  @Override\r
-                  public void actionPerformed(ActionEvent e)\r
-                  {\r
-                    new Thread(new Runnable()\r
-                    {\r
-\r
-                      @Override\r
-                      public void run()\r
-                      {\r
-                        new jalview.ws.DBRefFetcher(alignPanel.av\r
-                                .getSequenceSelection(),\r
-                                alignPanel.alignFrame, dassource)\r
-                                .fetchDBRefs(false);\r
-                      }\r
-                    }).start();\r
-                  }\r
-                });\r
-\r
-                fetchr.setToolTipText("<html>"\r
-                        + JvSwingUtils.wrapTooltip("Retrieve from all "\r
-                                + otherdb.size() + " sources in "\r
-                                + src.getDbSource() + "<br>First is :"\r
-                                + src.getDbName()) + "<html>");\r
-                dfetch.add(fetchr);\r
-                comp++;\r
-                // and then build the rest of the individual menus\r
-                ifetch = new JMenu("Sources from " + src.getDbSource());\r
-                icomp = 0;\r
-                String imname = null;\r
-                int i = 0;\r
-                for (DbSourceProxy sproxy : otherdb)\r
-                {\r
-                  String dbname = sproxy.getDbName();\r
-                  String sname = dbname.length() > 5 ? dbname.substring(0,\r
-                          5) + "..." : dbname;\r
-                  String msname = dbname.length() > 10 ? dbname.substring(\r
-                          0, 10) + "..." : dbname;\r
-                  if (imname == null)\r
-                  {\r
-                    imname = "from '" + sname + "'";\r
-                  }\r
-                  fetchr = new JMenuItem(msname);\r
-                  final DbSourceProxy[] dassrc =\r
-                  { sproxy };\r
-                  fetchr.addActionListener(new ActionListener()\r
-                  {\r
-\r
-                    @Override\r
-                    public void actionPerformed(ActionEvent e)\r
-                    {\r
-                      new Thread(new Runnable()\r
-                      {\r
-\r
-                        @Override\r
-                        public void run()\r
-                        {\r
-                          new jalview.ws.DBRefFetcher(alignPanel.av\r
-                                  .getSequenceSelection(),\r
-                                  alignPanel.alignFrame, dassrc)\r
-                                  .fetchDBRefs(false);\r
-                        }\r
-                      }).start();\r
-                    }\r
-\r
-                  });\r
-                  fetchr.setToolTipText("<html>"\r
-                          + JvSwingUtils.wrapTooltip("Retrieve from "\r
-                                  + dbname) + "</html>");\r
-                  ifetch.add(fetchr);\r
-                  ++i;\r
-                  if (++icomp >= mcomp || i == (otherdb.size()))\r
-                  {\r
-                    ifetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{imname,sname}));\r
-                    dfetch.add(ifetch);\r
-                    ifetch = new JMenu();\r
-                    imname = null;\r
-                    icomp = 0;\r
-                    comp++;\r
-                  }\r
-                }\r
-              }\r
-              ++dbi;\r
-              if (comp >= mcomp || dbi >= (dbclasses.length))\r
-              {\r
-                dfetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{mname,dbclass}));\r
-                rfetch.add(dfetch);\r
-                dfetch = new JMenu();\r
-                mname = null;\r
-                comp = 0;\r
-              }\r
-            }\r
-          }\r
-        });\r
-      }\r
-    }).start();\r
-\r
-  }\r
-\r
-  /**\r
-   * Left justify the whole alignment.\r
-   */\r
-  @Override\r
-  protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    AlignmentI al = viewport.getAlignment();\r
-    al.justify(false);\r
-    viewport.firePropertyChange("alignment", null, al);\r
-  }\r
-\r
-  /**\r
-   * Right justify the whole alignment.\r
-   */\r
-  @Override\r
-  protected void justifyRightMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    AlignmentI al = viewport.getAlignment();\r
-    al.justify(true);\r
-    viewport.firePropertyChange("alignment", null, al);\r
-  }\r
-\r
-  public void setShowSeqFeatures(boolean b)\r
-  {\r
-    showSeqFeatures.setSelected(true);\r
-    viewport.setShowSequenceFeatures(true);\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showUnconservedMenuItem_actionPerformed(java.\r
-   * awt.event.ActionEvent)\r
-   */\r
-  @Override\r
-  protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowUnconserved(showNonconservedMenuItem.getState());\r
-    alignPanel.paintAlignment(true);\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showGroupConsensus_actionPerformed(java.awt.event\r
-   * .ActionEvent)\r
-   */\r
-  @Override\r
-  protected void showGroupConsensus_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowGroupConsensus(showGroupConsensus.getState());\r
-    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showGroupConservation_actionPerformed(java.awt\r
-   * .event.ActionEvent)\r
-   */\r
-  @Override\r
-  protected void showGroupConservation_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowGroupConservation(showGroupConservation.getState());\r
-    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showConsensusHistogram_actionPerformed(java.awt\r
-   * .event.ActionEvent)\r
-   */\r
-  @Override\r
-  protected void showConsensusHistogram_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowConsensusHistogram(showConsensusHistogram.getState());\r
-    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#showConsensusProfile_actionPerformed(java.awt\r
-   * .event.ActionEvent)\r
-   */\r
-  @Override\r
-  protected void showSequenceLogo_actionPerformed(ActionEvent e)\r
-  {\r
-    viewport.setShowSequenceLogo(showSequenceLogo.getState());\r
-    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-  }\r
-\r
-  @Override\r
-  protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)\r
-  {\r
-    showSequenceLogo.setState(true);\r
-    viewport.setShowSequenceLogo(true);\r
-    viewport.setNormaliseSequenceLogo(normaliseSequenceLogo.getState());\r
-    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-  }\r
-\r
-  @Override\r
-  protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)\r
-  {\r
-    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GAlignFrame#makeGrpsFromSelection_actionPerformed(java.awt\r
-   * .event.ActionEvent)\r
-   */\r
-  @Override\r
-  protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)\r
-  {\r
-    if (avc.makeGroupsFromSelection()) {\r
-      PaintRefresher.Refresh(this, viewport.getSequenceSetId());\r
-      alignPanel.updateAnnotation();\r
-      alignPanel.paintAlignment(true);\r
-    }\r
-  }\r
-\r
-  @Override\r
-  protected void createGroup_actionPerformed(ActionEvent e)\r
-  {\r
-    if (avc.createGroup())\r
-    {\r
-      alignPanel.alignmentChanged();\r
-    }\r
-  }\r
-\r
-  @Override\r
-  protected void unGroup_actionPerformed(ActionEvent e)\r
-  {\r
-    if (avc.unGroup())\r
-    {\r
-      alignPanel.alignmentChanged();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * make the given alignmentPanel the currently selected tab\r
-   * \r
-   * @param alignmentPanel\r
-   */\r
-  public void setDisplayedView(AlignmentPanel alignmentPanel)\r
-  {\r
-    if (!viewport.getSequenceSetId().equals(\r
-            alignmentPanel.av.getSequenceSetId()))\r
-    {\r
-      throw new Error(\r
-              "Implementation error: cannot show a view from another alignment in an AlignFrame.");\r
-    }\r
-    if (tabbedPane != null\r
-            & alignPanels.indexOf(alignmentPanel) != tabbedPane\r
-                    .getSelectedIndex())\r
-    {\r
-      tabbedPane.setSelectedIndex(alignPanels.indexOf(alignmentPanel));\r
-    }\r
-  }\r
-}\r
-\r
-class PrintThread extends Thread\r
-{\r
-  AlignmentPanel ap;\r
-\r
-  public PrintThread(AlignmentPanel ap)\r
-  {\r
-    this.ap = ap;\r
-  }\r
-\r
-  static PageFormat pf;\r
-\r
-  @Override\r
-  public void run()\r
-  {\r
-    PrinterJob printJob = PrinterJob.getPrinterJob();\r
-\r
-    if (pf != null)\r
-    {\r
-      printJob.setPrintable(ap, pf);\r
-    }\r
-    else\r
-    {\r
-      printJob.setPrintable(ap);\r
-    }\r
-\r
-    if (printJob.printDialog())\r
-    {\r
-      try\r
-      {\r
-        printJob.print();\r
-      } catch (Exception PrintException)\r
-      {\r
-        PrintException.printStackTrace();\r
-      }\r
-    }\r
-  }\r
-}\r
+                fetchr.addActionListener(new ActionListener()
+                {
+                  @Override
+                  public void actionPerformed(ActionEvent e)
+                  {
+                    new Thread(new Runnable()
+                    {
+
+                      @Override
+                      public void run()
+                      {
+                        new jalview.ws.DBRefFetcher(alignPanel.av
+                                .getSequenceSelection(),
+                                alignPanel.alignFrame, dassource)
+                                .fetchDBRefs(false);
+                      }
+                    }).start();
+                  }
+                });
+
+                fetchr.setToolTipText("<html>"
+                        + JvSwingUtils.wrapTooltip("Retrieve from all "
+                                + otherdb.size() + " sources in "
+                                + src.getDbSource() + "<br>First is :"
+                                + src.getDbName()) + "<html>");
+                dfetch.add(fetchr);
+                comp++;
+                // and then build the rest of the individual menus
+                ifetch = new JMenu("Sources from " + src.getDbSource());
+                icomp = 0;
+                String imname = null;
+                int i = 0;
+                for (DbSourceProxy sproxy : otherdb)
+                {
+                  String dbname = sproxy.getDbName();
+                  String sname = dbname.length() > 5 ? dbname.substring(0,
+                          5) + "..." : dbname;
+                  String msname = dbname.length() > 10 ? dbname.substring(
+                          0, 10) + "..." : dbname;
+                  if (imname == null)
+                  {
+                    imname = "from '" + sname + "'";
+                  }
+                  fetchr = new JMenuItem(msname);
+                  final DbSourceProxy[] dassrc =
+                  { sproxy };
+                  fetchr.addActionListener(new ActionListener()
+                  {
+
+                    @Override
+                    public void actionPerformed(ActionEvent e)
+                    {
+                      new Thread(new Runnable()
+                      {
+
+                        @Override
+                        public void run()
+                        {
+                          new jalview.ws.DBRefFetcher(alignPanel.av
+                                  .getSequenceSelection(),
+                                  alignPanel.alignFrame, dassrc)
+                                  .fetchDBRefs(false);
+                        }
+                      }).start();
+                    }
+
+                  });
+                  fetchr.setToolTipText("<html>"
+                          + JvSwingUtils.wrapTooltip("Retrieve from "
+                                  + dbname) + "</html>");
+                  ifetch.add(fetchr);
+                  ++i;
+                  if (++icomp >= mcomp || i == (otherdb.size()))
+                  {
+                    ifetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{imname,sname}));
+                    dfetch.add(ifetch);
+                    ifetch = new JMenu();
+                    imname = null;
+                    icomp = 0;
+                    comp++;
+                  }
+                }
+              }
+              ++dbi;
+              if (comp >= mcomp || dbi >= (dbclasses.length))
+              {
+                dfetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{mname,dbclass}));
+                rfetch.add(dfetch);
+                dfetch = new JMenu();
+                mname = null;
+                comp = 0;
+              }
+            }
+          }
+        });
+      }
+    }).start();
+
+  }
+
+  /**
+   * Left justify the whole alignment.
+   */
+  @Override
+  protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
+  {
+    AlignmentI al = viewport.getAlignment();
+    al.justify(false);
+    viewport.firePropertyChange("alignment", null, al);
+  }
+
+  /**
+   * Right justify the whole alignment.
+   */
+  @Override
+  protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
+  {
+    AlignmentI al = viewport.getAlignment();
+    al.justify(true);
+    viewport.firePropertyChange("alignment", null, al);
+  }
+
+  public void setShowSeqFeatures(boolean b)
+  {
+    showSeqFeatures.setSelected(true);
+    viewport.setShowSequenceFeatures(true);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showUnconservedMenuItem_actionPerformed(java.
+   * awt.event.ActionEvent)
+   */
+  @Override
+  protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowUnconserved(showNonconservedMenuItem.getState());
+    alignPanel.paintAlignment(true);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showGroupConsensus_actionPerformed(java.awt.event
+   * .ActionEvent)
+   */
+  @Override
+  protected void showGroupConsensus_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowGroupConsensus(showGroupConsensus.getState());
+    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showGroupConservation_actionPerformed(java.awt
+   * .event.ActionEvent)
+   */
+  @Override
+  protected void showGroupConservation_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowGroupConservation(showGroupConservation.getState());
+    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showConsensusHistogram_actionPerformed(java.awt
+   * .event.ActionEvent)
+   */
+  @Override
+  protected void showConsensusHistogram_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowConsensusHistogram(showConsensusHistogram.getState());
+    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#showConsensusProfile_actionPerformed(java.awt
+   * .event.ActionEvent)
+   */
+  @Override
+  protected void showSequenceLogo_actionPerformed(ActionEvent e)
+  {
+    viewport.setShowSequenceLogo(showSequenceLogo.getState());
+    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+  }
+
+  @Override
+  protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
+  {
+    showSequenceLogo.setState(true);
+    viewport.setShowSequenceLogo(true);
+    viewport.setNormaliseSequenceLogo(normaliseSequenceLogo.getState());
+    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+  }
+
+  @Override
+  protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
+  {
+    alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GAlignFrame#makeGrpsFromSelection_actionPerformed(java.awt
+   * .event.ActionEvent)
+   */
+  @Override
+  protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
+  {
+    if (avc.makeGroupsFromSelection()) {
+      PaintRefresher.Refresh(this, viewport.getSequenceSetId());
+      alignPanel.updateAnnotation();
+      alignPanel.paintAlignment(true);
+    }
+  }
+
+  @Override
+  protected void createGroup_actionPerformed(ActionEvent e)
+  {
+    if (avc.createGroup())
+    {
+      alignPanel.alignmentChanged();
+    }
+  }
+
+  @Override
+  protected void unGroup_actionPerformed(ActionEvent e)
+  {
+    if (avc.unGroup())
+    {
+      alignPanel.alignmentChanged();
+    }
+  }
+
+  /**
+   * make the given alignmentPanel the currently selected tab
+   * 
+   * @param alignmentPanel
+   */
+  public void setDisplayedView(AlignmentPanel alignmentPanel)
+  {
+    if (!viewport.getSequenceSetId().equals(
+            alignmentPanel.av.getSequenceSetId()))
+    {
+      throw new Error(
+              "Implementation error: cannot show a view from another alignment in an AlignFrame.");
+    }
+    if (tabbedPane != null
+            & alignPanels.indexOf(alignmentPanel) != tabbedPane
+                    .getSelectedIndex())
+    {
+      tabbedPane.setSelectedIndex(alignPanels.indexOf(alignmentPanel));
+    }
+  }
+}
+
+class PrintThread extends Thread
+{
+  AlignmentPanel ap;
+
+  public PrintThread(AlignmentPanel ap)
+  {
+    this.ap = ap;
+  }
+
+  static PageFormat pf;
+
+  @Override
+  public void run()
+  {
+    PrinterJob printJob = PrinterJob.getPrinterJob();
+
+    if (pf != null)
+    {
+      printJob.setPrintable(ap, pf);
+    }
+    else
+    {
+      printJob.setPrintable(ap);
+    }
+
+    if (printJob.printDialog())
+    {
+      try
+      {
+        printJob.print();
+      } catch (Exception PrintException)
+      {
+        PrintException.printStackTrace();
+      }
+    }
+  }
+}
index 407fa94..e9829bb 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /*
  * Jalview - A Sequence Alignment Editor and Viewer
index 4a679b6..541c7c2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 9b0ce7a..da7a176 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 3f14544..56c6e2d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 1b90a31..ae7596d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 92cd407..e587586 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index ef0e1b9..cc37b66 100644 (file)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import java.util.*;\r
-import java.awt.*;\r
-import javax.swing.*;\r
-import javax.swing.event.*;\r
-\r
-import java.awt.event.*;\r
-import java.io.*;\r
-\r
-import jalview.jbgui.GStructureViewer;\r
-import jalview.api.SequenceStructureBinding;\r
-import jalview.bin.Cache;\r
-import jalview.datamodel.*;\r
-import jalview.gui.ViewSelectionMenu.ViewSetProvider;\r
-import jalview.datamodel.PDBEntry;\r
-import jalview.io.*;\r
-import jalview.schemes.*;\r
-import jalview.util.MessageManager;\r
-import jalview.util.Platform;\r
-\r
-public class AppJmol extends GStructureViewer implements Runnable,\r
-        SequenceStructureBinding, ViewSetProvider\r
-\r
-{\r
-  AppJmolBinding jmb;\r
-\r
-  JPanel scriptWindow;\r
-\r
-  JSplitPane splitPane;\r
-\r
-  RenderPanel renderPanel;\r
-\r
-  AlignmentPanel ap;\r
-\r
-  Vector atomsPicked = new Vector();\r
-\r
-  private boolean addingStructures = false;\r
-\r
-  /**\r
-   * \r
-   * @param file\r
-   * @param id\r
-   * @param seq\r
-   * @param ap\r
-   * @param loadStatus\r
-   * @param bounds\r
-   * @deprecated defaults to AppJmol(String[] files, ... , viewid);\r
-   */\r
-  public AppJmol(String file, String id, SequenceI[] seq,\r
-          AlignmentPanel ap, String loadStatus, Rectangle bounds)\r
-  {\r
-    this(file, id, seq, ap, loadStatus, bounds, null);\r
-  }\r
-\r
-  /**\r
-   * @deprecated\r
-   */\r
-  public AppJmol(String file, String id, SequenceI[] seq,\r
-          AlignmentPanel ap, String loadStatus, Rectangle bounds,\r
-          String viewid)\r
-  {\r
-    this(new String[]\r
-    { file }, new String[]\r
-    { id }, new SequenceI[][]\r
-    { seq }, ap, true, true, false, loadStatus, bounds, viewid);\r
-  }\r
-\r
-  ViewSelectionMenu seqColourBy;\r
-\r
-  /**\r
-   * \r
-   * @param files\r
-   * @param ids\r
-   * @param seqs\r
-   * @param ap\r
-   * @param usetoColour\r
-   *          - add the alignment panel to the list used for colouring these\r
-   *          structures\r
-   * @param useToAlign\r
-   *          - add the alignment panel to the list used for aligning these\r
-   *          structures\r
-   * @param leaveColouringToJmol\r
-   *          - do not update the colours from any other source. Jmol is\r
-   *          handling them\r
-   * @param loadStatus\r
-   * @param bounds\r
-   * @param viewid\r
-   */\r
-  public AppJmol(String[] files, String[] ids, SequenceI[][] seqs,\r
-          AlignmentPanel ap, boolean usetoColour, boolean useToAlign,\r
-          boolean leaveColouringToJmol, String loadStatus,\r
-          Rectangle bounds, String viewid)\r
-  {\r
-    PDBEntry[] pdbentrys = new PDBEntry[files.length];\r
-    for (int i = 0; i < pdbentrys.length; i++)\r
-    {\r
-      PDBEntry pdbentry = new PDBEntry();\r
-      pdbentry.setFile(files[i]);\r
-      pdbentry.setId(ids[i]);\r
-      pdbentrys[i] = pdbentry;\r
-    }\r
-    // / TODO: check if protocol is needed to be set, and if chains are\r
-    // autodiscovered.\r
-    jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),\r
-            pdbentrys, seqs, null, null);\r
-\r
-    jmb.setLoadingFromArchive(true);\r
-    addAlignmentPanel(ap);\r
-    if (useToAlign)\r
-    {\r
-      useAlignmentPanelForSuperposition(ap);\r
-    }\r
-    if (leaveColouringToJmol || !usetoColour)\r
-    {\r
-      jmb.setColourBySequence(false);\r
-      seqColour.setSelected(false);\r
-      jmolColour.setSelected(true);\r
-    }\r
-    if (usetoColour)\r
-    {\r
-      useAlignmentPanelForColourbyseq(ap);\r
-      jmb.setColourBySequence(true);\r
-      seqColour.setSelected(true);\r
-      jmolColour.setSelected(false);\r
-    }\r
-    this.setBounds(bounds);\r
-    initMenus();\r
-    viewId = viewid;\r
-    // jalview.gui.Desktop.addInternalFrame(this, "Loading File",\r
-    // bounds.width,bounds.height);\r
-\r
-    this.addInternalFrameListener(new InternalFrameAdapter()\r
-    {\r
-      public void internalFrameClosing(InternalFrameEvent internalFrameEvent)\r
-      {\r
-        closeViewer();\r
-      }\r
-    });\r
-    initJmol(loadStatus); // pdbentry, seq, JBPCHECK!\r
-\r
-  }\r
-\r
-  private void initMenus()\r
-  {\r
-    seqColour.setSelected(jmb.isColourBySequence());\r
-    jmolColour.setSelected(!jmb.isColourBySequence());\r
-    if (_colourwith == null)\r
-    {\r
-      _colourwith = new Vector<AlignmentPanel>();\r
-    }\r
-    if (_alignwith == null)\r
-    {\r
-      _alignwith = new Vector<AlignmentPanel>();\r
-    }\r
-\r
-    seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith,\r
-            new ItemListener()\r
-            {\r
-\r
-              @Override\r
-              public void itemStateChanged(ItemEvent e)\r
-              {\r
-                if (!seqColour.isSelected())\r
-                {\r
-                  seqColour.doClick();\r
-                }\r
-                else\r
-                {\r
-                  // update the jmol display now.\r
-                  seqColour_actionPerformed(null);\r
-                }\r
-              }\r
-            });\r
-    viewMenu.add(seqColourBy);\r
-    final ItemListener handler;\r
-    JMenu alpanels = new ViewSelectionMenu("Superpose with ..", this,\r
-            _alignwith, handler = new ItemListener()\r
-            {\r
-\r
-              @Override\r
-              public void itemStateChanged(ItemEvent e)\r
-              {\r
-                alignStructs.setEnabled(_alignwith.size() > 0);\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import java.util.*;
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.event.*;
+
+import java.awt.event.*;
+import java.io.*;
+
+import jalview.jbgui.GStructureViewer;
+import jalview.api.SequenceStructureBinding;
+import jalview.bin.Cache;
+import jalview.datamodel.*;
+import jalview.gui.ViewSelectionMenu.ViewSetProvider;
+import jalview.datamodel.PDBEntry;
+import jalview.io.*;
+import jalview.schemes.*;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
+
+public class AppJmol extends GStructureViewer implements Runnable,
+        SequenceStructureBinding, ViewSetProvider
+
+{
+  AppJmolBinding jmb;
+
+  JPanel scriptWindow;
+
+  JSplitPane splitPane;
+
+  RenderPanel renderPanel;
+
+  AlignmentPanel ap;
+
+  Vector atomsPicked = new Vector();
+
+  private boolean addingStructures = false;
+
+  /**
+   * 
+   * @param file
+   * @param id
+   * @param seq
+   * @param ap
+   * @param loadStatus
+   * @param bounds
+   * @deprecated defaults to AppJmol(String[] files, ... , viewid);
+   */
+  public AppJmol(String file, String id, SequenceI[] seq,
+          AlignmentPanel ap, String loadStatus, Rectangle bounds)
+  {
+    this(file, id, seq, ap, loadStatus, bounds, null);
+  }
+
+  /**
+   * @deprecated
+   */
+  public AppJmol(String file, String id, SequenceI[] seq,
+          AlignmentPanel ap, String loadStatus, Rectangle bounds,
+          String viewid)
+  {
+    this(new String[]
+    { file }, new String[]
+    { id }, new SequenceI[][]
+    { seq }, ap, true, true, false, loadStatus, bounds, viewid);
+  }
+
+  ViewSelectionMenu seqColourBy;
+
+  /**
+   * 
+   * @param files
+   * @param ids
+   * @param seqs
+   * @param ap
+   * @param usetoColour
+   *          - add the alignment panel to the list used for colouring these
+   *          structures
+   * @param useToAlign
+   *          - add the alignment panel to the list used for aligning these
+   *          structures
+   * @param leaveColouringToJmol
+   *          - do not update the colours from any other source. Jmol is
+   *          handling them
+   * @param loadStatus
+   * @param bounds
+   * @param viewid
+   */
+  public AppJmol(String[] files, String[] ids, SequenceI[][] seqs,
+          AlignmentPanel ap, boolean usetoColour, boolean useToAlign,
+          boolean leaveColouringToJmol, String loadStatus,
+          Rectangle bounds, String viewid)
+  {
+    PDBEntry[] pdbentrys = new PDBEntry[files.length];
+    for (int i = 0; i < pdbentrys.length; i++)
+    {
+      PDBEntry pdbentry = new PDBEntry();
+      pdbentry.setFile(files[i]);
+      pdbentry.setId(ids[i]);
+      pdbentrys[i] = pdbentry;
+    }
+    // / TODO: check if protocol is needed to be set, and if chains are
+    // autodiscovered.
+    jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),
+            pdbentrys, seqs, null, null);
+
+    jmb.setLoadingFromArchive(true);
+    addAlignmentPanel(ap);
+    if (useToAlign)
+    {
+      useAlignmentPanelForSuperposition(ap);
+    }
+    if (leaveColouringToJmol || !usetoColour)
+    {
+      jmb.setColourBySequence(false);
+      seqColour.setSelected(false);
+      jmolColour.setSelected(true);
+    }
+    if (usetoColour)
+    {
+      useAlignmentPanelForColourbyseq(ap);
+      jmb.setColourBySequence(true);
+      seqColour.setSelected(true);
+      jmolColour.setSelected(false);
+    }
+    this.setBounds(bounds);
+    initMenus();
+    viewId = viewid;
+    // jalview.gui.Desktop.addInternalFrame(this, "Loading File",
+    // bounds.width,bounds.height);
+
+    this.addInternalFrameListener(new InternalFrameAdapter()
+    {
+      public void internalFrameClosing(InternalFrameEvent internalFrameEvent)
+      {
+        closeViewer();
+      }
+    });
+    initJmol(loadStatus); // pdbentry, seq, JBPCHECK!
+
+  }
+
+  private void initMenus()
+  {
+    seqColour.setSelected(jmb.isColourBySequence());
+    jmolColour.setSelected(!jmb.isColourBySequence());
+    if (_colourwith == null)
+    {
+      _colourwith = new Vector<AlignmentPanel>();
+    }
+    if (_alignwith == null)
+    {
+      _alignwith = new Vector<AlignmentPanel>();
+    }
+
+    seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith,
+            new ItemListener()
+            {
+
+              @Override
+              public void itemStateChanged(ItemEvent e)
+              {
+                if (!seqColour.isSelected())
+                {
+                  seqColour.doClick();
+                }
+                else
+                {
+                  // update the jmol display now.
+                  seqColour_actionPerformed(null);
+                }
+              }
+            });
+    viewMenu.add(seqColourBy);
+    final ItemListener handler;
+    JMenu alpanels = new ViewSelectionMenu("Superpose with ..", this,
+            _alignwith, handler = new ItemListener()
+            {
+
+              @Override
+              public void itemStateChanged(ItemEvent e)
+              {
+                alignStructs.setEnabled(_alignwith.size() > 0);
                 alignStructs.setToolTipText(MessageManager.formatMessage("label.align_structures_using_linked_alignment_views", new String[] {new Integer(_alignwith.size()).toString()}));\r
-              }\r
-            });\r
-    handler.itemStateChanged(null);\r
-    jmolActionMenu.add(alpanels);\r
-    jmolActionMenu.addMenuListener(new MenuListener()\r
-    {\r
-\r
-      @Override\r
-      public void menuSelected(MenuEvent e)\r
-      {\r
-        handler.itemStateChanged(null);\r
-      }\r
-\r
-      @Override\r
-      public void menuDeselected(MenuEvent e)\r
-      {\r
-        // TODO Auto-generated method stub\r
-\r
-      }\r
-\r
-      @Override\r
-      public void menuCanceled(MenuEvent e)\r
-      {\r
-        // TODO Auto-generated method stub\r
-\r
-      }\r
-    });\r
-  }\r
-\r
-  IProgressIndicator progressBar = null;\r
-\r
-  /**\r
-   * add a single PDB structure to a new or existing Jmol view\r
-   * \r
-   * @param pdbentry\r
-   * @param seq\r
-   * @param chains\r
-   * @param ap\r
-   */\r
-  public AppJmol(PDBEntry pdbentry, SequenceI[] seq, String[] chains,\r
-          final AlignmentPanel ap)\r
-  {\r
-    progressBar = ap.alignFrame;\r
-    // ////////////////////////////////\r
-    // Is the pdb file already loaded?\r
-    String alreadyMapped = ap.getStructureSelectionManager()\r
-            .alreadyMappedToFile(pdbentry.getId());\r
-\r
-    if (alreadyMapped != null)\r
-    {\r
-      int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,\r
-                 MessageManager.formatMessage("label.pdb_entry_is_already_displayed",  new String[]{pdbentry.getId()}),\r
-              MessageManager.formatMessage("label.map_sequences_to_visible_window", new String[]{pdbentry.getId()}),\r
-              JOptionPane.YES_NO_OPTION);\r
-\r
-      if (option == JOptionPane.YES_OPTION)\r
-      {\r
-        // TODO : Fix multiple seq to one chain issue here.\r
-        ap.getStructureSelectionManager().setMapping(seq, chains,\r
-                alreadyMapped, AppletFormatAdapter.FILE);\r
-        if (ap.seqPanel.seqCanvas.fr != null)\r
-        {\r
-          ap.seqPanel.seqCanvas.fr.featuresAdded();\r
-          ap.paintAlignment(true);\r
-        }\r
-\r
-        // Now this AppJmol is mapped to new sequences. We must add them to\r
-        // the exisiting array\r
-        JInternalFrame[] frames = Desktop.instance.getAllFrames();\r
-\r
-        for (int i = 0; i < frames.length; i++)\r
-        {\r
-          if (frames[i] instanceof AppJmol)\r
-          {\r
-            final AppJmol topJmol = ((AppJmol) frames[i]);\r
-            // JBPNOTE: this looks like a binding routine, rather than a gui\r
-            // routine\r
-            for (int pe = 0; pe < topJmol.jmb.pdbentry.length; pe++)\r
-            {\r
-              if (topJmol.jmb.pdbentry[pe].getFile().equals(alreadyMapped))\r
-              {\r
-                topJmol.jmb.addSequence(pe, seq);\r
-                topJmol.addAlignmentPanel(ap);\r
-                // add it to the set used for colouring\r
-                topJmol.useAlignmentPanelForColourbyseq(ap);\r
-                topJmol.buildJmolActionMenu();\r
-                ap.getStructureSelectionManager()\r
-                        .sequenceColoursChanged(ap);\r
-                break;\r
-              }\r
-            }\r
-          }\r
-        }\r
-\r
-        return;\r
-      }\r
-    }\r
-    // /////////////////////////////////\r
-    // Check if there are other Jmol views involving this alignment\r
-    // and prompt user about adding this molecule to one of them\r
-    Vector existingViews = getJmolsFor(ap);\r
-    if (existingViews.size() > 0)\r
-    {\r
-      Enumeration jm = existingViews.elements();\r
-      while (jm.hasMoreElements())\r
-      {\r
-        AppJmol topJmol = (AppJmol) jm.nextElement();\r
-        // TODO: highlight topJmol in view somehow\r
-        int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,\r
-                       MessageManager.formatMessage("label.add_pdbentry_to_view", new String[]{pdbentry.getId(),topJmol.getTitle()}),\r
-                       MessageManager.getString("label.align_to_existing_structure_view"),\r
-                JOptionPane.YES_NO_OPTION);\r
-        if (option == JOptionPane.YES_OPTION)\r
-        {\r
-          topJmol.useAlignmentPanelForSuperposition(ap);\r
-          topJmol.addStructure(pdbentry, seq, chains, true, ap.alignFrame);\r
-          return;\r
-        }\r
-      }\r
-    }\r
-    // /////////////////////////////////\r
-    openNewJmol(ap, new PDBEntry[]\r
-    { pdbentry }, new SequenceI[][]\r
-    { seq });\r
-  }\r
-\r
-  private void openNewJmol(AlignmentPanel ap, PDBEntry[] pdbentrys,\r
-          SequenceI[][] seqs)\r
-  {\r
-    progressBar = ap.alignFrame;\r
-    jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),\r
-            pdbentrys, seqs, null, null);\r
-    addAlignmentPanel(ap);\r
-    useAlignmentPanelForColourbyseq(ap);\r
-    if (pdbentrys.length > 1)\r
-    {\r
-      alignAddedStructures = true;\r
-      useAlignmentPanelForSuperposition(ap);\r
-    }\r
-    jmb.setColourBySequence(true);\r
-    setSize(400, 400); // probably should be a configurable/dynamic default here\r
-    initMenus();\r
-    worker = null;\r
-    {\r
-      addingStructures = false;\r
-      worker = new Thread(this);\r
-      worker.start();\r
-    }\r
-    this.addInternalFrameListener(new InternalFrameAdapter()\r
-    {\r
-      public void internalFrameClosing(InternalFrameEvent internalFrameEvent)\r
-      {\r
-        closeViewer();\r
-      }\r
-    });\r
-\r
-  }\r
-\r
-  /**\r
-   * create a new Jmol containing several structures superimposed using the\r
-   * given alignPanel.\r
-   * \r
-   * @param ap\r
-   * @param pe\r
-   * @param seqs\r
-   */\r
-  public AppJmol(AlignmentPanel ap, PDBEntry[] pe, SequenceI[][] seqs)\r
-  {\r
-    openNewJmol(ap, pe, seqs);\r
-  }\r
-\r
-  /**\r
-   * list of sequenceSet ids associated with the view\r
-   */\r
-  ArrayList<String> _aps = new ArrayList();\r
-\r
-  public AlignmentPanel[] getAllAlignmentPanels()\r
-  {\r
-    AlignmentPanel[] t, list = new AlignmentPanel[0];\r
-    for (String setid : _aps)\r
-    {\r
-      AlignmentPanel[] panels = PaintRefresher.getAssociatedPanels(setid);\r
-      if (panels != null)\r
-      {\r
-        t = new AlignmentPanel[list.length + panels.length];\r
-        System.arraycopy(list, 0, t, 0, list.length);\r
-        System.arraycopy(panels, 0, t, list.length, panels.length);\r
-        list = t;\r
-      }\r
-    }\r
-\r
-    return list;\r
-  }\r
-\r
-  /**\r
-   * list of alignment panels to use for superposition\r
-   */\r
-  Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();\r
-\r
-  /**\r
-   * list of alignment panels that are used for colouring structures by aligned\r
-   * sequences\r
-   */\r
-  Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();\r
-\r
-  /**\r
-   * set the primary alignmentPanel reference and add another alignPanel to the\r
-   * list of ones to use for colouring and aligning\r
-   * \r
-   * @param nap\r
-   */\r
-  public void addAlignmentPanel(AlignmentPanel nap)\r
-  {\r
-    if (ap == null)\r
-    {\r
-      ap = nap;\r
-    }\r
-    if (!_aps.contains(nap.av.getSequenceSetId()))\r
-    {\r
-      _aps.add(nap.av.getSequenceSetId());\r
-    }\r
-  }\r
-\r
-  /**\r
-   * remove any references held to the given alignment panel\r
-   * \r
-   * @param nap\r
-   */\r
-  public void removeAlignmentPanel(AlignmentPanel nap)\r
-  {\r
-    try\r
-    {\r
-      _alignwith.remove(nap);\r
-      _colourwith.remove(nap);\r
-      if (ap == nap)\r
-      {\r
-        ap = null;\r
-        for (AlignmentPanel aps : getAllAlignmentPanels())\r
-        {\r
-          if (aps != nap)\r
-          {\r
-            ap = aps;\r
-            break;\r
-          }\r
-        }\r
-      }\r
-    } catch (Exception ex)\r
-    {\r
-    }\r
-    if (ap != null)\r
-    {\r
-      buildJmolActionMenu();\r
-    }\r
-  }\r
-\r
-  public void useAlignmentPanelForSuperposition(AlignmentPanel nap)\r
-  {\r
-    addAlignmentPanel(nap);\r
-    if (!_alignwith.contains(nap))\r
-    {\r
-      _alignwith.add(nap);\r
-    }\r
-  }\r
-\r
-  public void excludeAlignmentPanelForSuperposition(AlignmentPanel nap)\r
-  {\r
-    if (_alignwith.contains(nap))\r
-    {\r
-      _alignwith.remove(nap);\r
-    }\r
-  }\r
-\r
-  public void useAlignmentPanelForColourbyseq(AlignmentPanel nap,\r
-          boolean enableColourBySeq)\r
-  {\r
-    useAlignmentPanelForColourbyseq(nap);\r
-    jmb.setColourBySequence(enableColourBySeq);\r
-    seqColour.setSelected(enableColourBySeq);\r
-    jmolColour.setSelected(!enableColourBySeq);\r
-  }\r
-\r
-  public void useAlignmentPanelForColourbyseq(AlignmentPanel nap)\r
-  {\r
-    addAlignmentPanel(nap);\r
-    if (!_colourwith.contains(nap))\r
-    {\r
-      _colourwith.add(nap);\r
-    }\r
-  }\r
-\r
-  public void excludeAlignmentPanelForColourbyseq(AlignmentPanel nap)\r
-  {\r
-    if (_colourwith.contains(nap))\r
-    {\r
-      _colourwith.remove(nap);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * pdb retrieval thread.\r
-   */\r
-  private Thread worker = null;\r
-\r
-  /**\r
-   * add a new structure (with associated sequences and chains) to this viewer,\r
-   * retrieving it if necessary first.\r
-   * \r
-   * @param pdbentry\r
-   * @param seq\r
-   * @param chains\r
-   * @param alignFrame\r
-   * @param align\r
-   *          if true, new structure(s) will be align using associated alignment\r
-   */\r
-  private void addStructure(final PDBEntry pdbentry, final SequenceI[] seq,\r
-          final String[] chains, final boolean b,\r
-          final IProgressIndicator alignFrame)\r
-  {\r
-    if (pdbentry.getFile() == null)\r
-    {\r
-      if (worker != null && worker.isAlive())\r
-      {\r
-        // a retrieval is in progress, wait around and add ourselves to the\r
-        // queue.\r
-        new Thread(new Runnable()\r
-        {\r
-          public void run()\r
-          {\r
-            while (worker != null && worker.isAlive() && _started)\r
-            {\r
-              try\r
-              {\r
-                Thread.sleep(100 + ((int) Math.random() * 100));\r
-\r
-              } catch (Exception e)\r
-              {\r
-              }\r
-\r
-            }\r
-            // and call ourselves again.\r
-            addStructure(pdbentry, seq, chains, b, alignFrame);\r
-          }\r
-        }).start();\r
-        return;\r
-      }\r
-    }\r
-    // otherwise, start adding the structure.\r
-    jmb.addSequenceAndChain(new PDBEntry[]\r
-    { pdbentry }, new SequenceI[][]\r
-    { seq }, new String[][]\r
-    { chains });\r
-    addingStructures = true;\r
-    _started = false;\r
-    alignAddedStructures = b;\r
-    progressBar = alignFrame; // visual indication happens on caller frame.\r
-    (worker = new Thread(this)).start();\r
-    return;\r
-  }\r
-\r
-  private Vector getJmolsFor(AlignmentPanel ap2)\r
-  {\r
-    Vector otherJmols = new Vector();\r
-    // Now this AppJmol is mapped to new sequences. We must add them to\r
-    // the exisiting array\r
-    JInternalFrame[] frames = Desktop.instance.getAllFrames();\r
-\r
-    for (int i = 0; i < frames.length; i++)\r
-    {\r
-      if (frames[i] instanceof AppJmol)\r
-      {\r
-        AppJmol topJmol = ((AppJmol) frames[i]);\r
-        if (topJmol.isLinkedWith(ap2))\r
-        {\r
-          otherJmols.addElement(topJmol);\r
-        }\r
-      }\r
-    }\r
-    return otherJmols;\r
-  }\r
-\r
-  void initJmol(String command)\r
-  {\r
-    jmb.setFinishedInit(false);\r
-    renderPanel = new RenderPanel();\r
-    // TODO: consider waiting until the structure/view is fully loaded before\r
-    // displaying\r
-    this.getContentPane().add(renderPanel, java.awt.BorderLayout.CENTER);\r
-    jalview.gui.Desktop.addInternalFrame(this, jmb.getViewerTitle(),\r
-            getBounds().width, getBounds().height);\r
-    if (scriptWindow == null)\r
-    {\r
-      BorderLayout bl = new BorderLayout();\r
-      bl.setHgap(0);\r
-      bl.setVgap(0);\r
-      scriptWindow = new JPanel(bl);\r
-      scriptWindow.setVisible(false);\r
-    }\r
-    ;\r
-    jmb.allocateViewer(renderPanel, true, "", null, null, "", scriptWindow,\r
-            null);\r
-    jmb.newJmolPopup(true, "Jmol", true);\r
-    if (command == null)\r
-    {\r
-      command = "";\r
-    }\r
-    jmb.evalStateCommand(command);\r
-    jmb.setFinishedInit(true);\r
-  }\r
-\r
-  void setChainMenuItems(Vector chains)\r
-  {\r
-    chainMenu.removeAll();\r
-    if (chains == null)\r
-    {\r
-      return;\r
-    }\r
+              }
+            });
+    handler.itemStateChanged(null);
+    jmolActionMenu.add(alpanels);
+    jmolActionMenu.addMenuListener(new MenuListener()
+    {
+
+      @Override
+      public void menuSelected(MenuEvent e)
+      {
+        handler.itemStateChanged(null);
+      }
+
+      @Override
+      public void menuDeselected(MenuEvent e)
+      {
+        // TODO Auto-generated method stub
+
+      }
+
+      @Override
+      public void menuCanceled(MenuEvent e)
+      {
+        // TODO Auto-generated method stub
+
+      }
+    });
+  }
+
+  IProgressIndicator progressBar = null;
+
+  /**
+   * add a single PDB structure to a new or existing Jmol view
+   * 
+   * @param pdbentry
+   * @param seq
+   * @param chains
+   * @param ap
+   */
+  public AppJmol(PDBEntry pdbentry, SequenceI[] seq, String[] chains,
+          final AlignmentPanel ap)
+  {
+    progressBar = ap.alignFrame;
+    // ////////////////////////////////
+    // Is the pdb file already loaded?
+    String alreadyMapped = ap.getStructureSelectionManager()
+            .alreadyMappedToFile(pdbentry.getId());
+
+    if (alreadyMapped != null)
+    {
+      int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
+                 MessageManager.formatMessage("label.pdb_entry_is_already_displayed",  new String[]{pdbentry.getId()}),
+              MessageManager.formatMessage("label.map_sequences_to_visible_window", new String[]{pdbentry.getId()}),
+              JOptionPane.YES_NO_OPTION);
+
+      if (option == JOptionPane.YES_OPTION)
+      {
+        // TODO : Fix multiple seq to one chain issue here.
+        ap.getStructureSelectionManager().setMapping(seq, chains,
+                alreadyMapped, AppletFormatAdapter.FILE);
+        if (ap.seqPanel.seqCanvas.fr != null)
+        {
+          ap.seqPanel.seqCanvas.fr.featuresAdded();
+          ap.paintAlignment(true);
+        }
+
+        // Now this AppJmol is mapped to new sequences. We must add them to
+        // the exisiting array
+        JInternalFrame[] frames = Desktop.instance.getAllFrames();
+
+        for (int i = 0; i < frames.length; i++)
+        {
+          if (frames[i] instanceof AppJmol)
+          {
+            final AppJmol topJmol = ((AppJmol) frames[i]);
+            // JBPNOTE: this looks like a binding routine, rather than a gui
+            // routine
+            for (int pe = 0; pe < topJmol.jmb.pdbentry.length; pe++)
+            {
+              if (topJmol.jmb.pdbentry[pe].getFile().equals(alreadyMapped))
+              {
+                topJmol.jmb.addSequence(pe, seq);
+                topJmol.addAlignmentPanel(ap);
+                // add it to the set used for colouring
+                topJmol.useAlignmentPanelForColourbyseq(ap);
+                topJmol.buildJmolActionMenu();
+                ap.getStructureSelectionManager()
+                        .sequenceColoursChanged(ap);
+                break;
+              }
+            }
+          }
+        }
+
+        return;
+      }
+    }
+    // /////////////////////////////////
+    // Check if there are other Jmol views involving this alignment
+    // and prompt user about adding this molecule to one of them
+    Vector existingViews = getJmolsFor(ap);
+    if (existingViews.size() > 0)
+    {
+      Enumeration jm = existingViews.elements();
+      while (jm.hasMoreElements())
+      {
+        AppJmol topJmol = (AppJmol) jm.nextElement();
+        // TODO: highlight topJmol in view somehow
+        int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
+                       MessageManager.formatMessage("label.add_pdbentry_to_view", new String[]{pdbentry.getId(),topJmol.getTitle()}),
+                       MessageManager.getString("label.align_to_existing_structure_view"),
+                JOptionPane.YES_NO_OPTION);
+        if (option == JOptionPane.YES_OPTION)
+        {
+          topJmol.useAlignmentPanelForSuperposition(ap);
+          topJmol.addStructure(pdbentry, seq, chains, true, ap.alignFrame);
+          return;
+        }
+      }
+    }
+    // /////////////////////////////////
+    openNewJmol(ap, new PDBEntry[]
+    { pdbentry }, new SequenceI[][]
+    { seq });
+  }
+
+  private void openNewJmol(AlignmentPanel ap, PDBEntry[] pdbentrys,
+          SequenceI[][] seqs)
+  {
+    progressBar = ap.alignFrame;
+    jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),
+            pdbentrys, seqs, null, null);
+    addAlignmentPanel(ap);
+    useAlignmentPanelForColourbyseq(ap);
+    if (pdbentrys.length > 1)
+    {
+      alignAddedStructures = true;
+      useAlignmentPanelForSuperposition(ap);
+    }
+    jmb.setColourBySequence(true);
+    setSize(400, 400); // probably should be a configurable/dynamic default here
+    initMenus();
+    worker = null;
+    {
+      addingStructures = false;
+      worker = new Thread(this);
+      worker.start();
+    }
+    this.addInternalFrameListener(new InternalFrameAdapter()
+    {
+      public void internalFrameClosing(InternalFrameEvent internalFrameEvent)
+      {
+        closeViewer();
+      }
+    });
+
+  }
+
+  /**
+   * create a new Jmol containing several structures superimposed using the
+   * given alignPanel.
+   * 
+   * @param ap
+   * @param pe
+   * @param seqs
+   */
+  public AppJmol(AlignmentPanel ap, PDBEntry[] pe, SequenceI[][] seqs)
+  {
+    openNewJmol(ap, pe, seqs);
+  }
+
+  /**
+   * list of sequenceSet ids associated with the view
+   */
+  ArrayList<String> _aps = new ArrayList();
+
+  public AlignmentPanel[] getAllAlignmentPanels()
+  {
+    AlignmentPanel[] t, list = new AlignmentPanel[0];
+    for (String setid : _aps)
+    {
+      AlignmentPanel[] panels = PaintRefresher.getAssociatedPanels(setid);
+      if (panels != null)
+      {
+        t = new AlignmentPanel[list.length + panels.length];
+        System.arraycopy(list, 0, t, 0, list.length);
+        System.arraycopy(panels, 0, t, list.length, panels.length);
+        list = t;
+      }
+    }
+
+    return list;
+  }
+
+  /**
+   * list of alignment panels to use for superposition
+   */
+  Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();
+
+  /**
+   * list of alignment panels that are used for colouring structures by aligned
+   * sequences
+   */
+  Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();
+
+  /**
+   * set the primary alignmentPanel reference and add another alignPanel to the
+   * list of ones to use for colouring and aligning
+   * 
+   * @param nap
+   */
+  public void addAlignmentPanel(AlignmentPanel nap)
+  {
+    if (ap == null)
+    {
+      ap = nap;
+    }
+    if (!_aps.contains(nap.av.getSequenceSetId()))
+    {
+      _aps.add(nap.av.getSequenceSetId());
+    }
+  }
+
+  /**
+   * remove any references held to the given alignment panel
+   * 
+   * @param nap
+   */
+  public void removeAlignmentPanel(AlignmentPanel nap)
+  {
+    try
+    {
+      _alignwith.remove(nap);
+      _colourwith.remove(nap);
+      if (ap == nap)
+      {
+        ap = null;
+        for (AlignmentPanel aps : getAllAlignmentPanels())
+        {
+          if (aps != nap)
+          {
+            ap = aps;
+            break;
+          }
+        }
+      }
+    } catch (Exception ex)
+    {
+    }
+    if (ap != null)
+    {
+      buildJmolActionMenu();
+    }
+  }
+
+  public void useAlignmentPanelForSuperposition(AlignmentPanel nap)
+  {
+    addAlignmentPanel(nap);
+    if (!_alignwith.contains(nap))
+    {
+      _alignwith.add(nap);
+    }
+  }
+
+  public void excludeAlignmentPanelForSuperposition(AlignmentPanel nap)
+  {
+    if (_alignwith.contains(nap))
+    {
+      _alignwith.remove(nap);
+    }
+  }
+
+  public void useAlignmentPanelForColourbyseq(AlignmentPanel nap,
+          boolean enableColourBySeq)
+  {
+    useAlignmentPanelForColourbyseq(nap);
+    jmb.setColourBySequence(enableColourBySeq);
+    seqColour.setSelected(enableColourBySeq);
+    jmolColour.setSelected(!enableColourBySeq);
+  }
+
+  public void useAlignmentPanelForColourbyseq(AlignmentPanel nap)
+  {
+    addAlignmentPanel(nap);
+    if (!_colourwith.contains(nap))
+    {
+      _colourwith.add(nap);
+    }
+  }
+
+  public void excludeAlignmentPanelForColourbyseq(AlignmentPanel nap)
+  {
+    if (_colourwith.contains(nap))
+    {
+      _colourwith.remove(nap);
+    }
+  }
+
+  /**
+   * pdb retrieval thread.
+   */
+  private Thread worker = null;
+
+  /**
+   * add a new structure (with associated sequences and chains) to this viewer,
+   * retrieving it if necessary first.
+   * 
+   * @param pdbentry
+   * @param seq
+   * @param chains
+   * @param alignFrame
+   * @param align
+   *          if true, new structure(s) will be align using associated alignment
+   */
+  private void addStructure(final PDBEntry pdbentry, final SequenceI[] seq,
+          final String[] chains, final boolean b,
+          final IProgressIndicator alignFrame)
+  {
+    if (pdbentry.getFile() == null)
+    {
+      if (worker != null && worker.isAlive())
+      {
+        // a retrieval is in progress, wait around and add ourselves to the
+        // queue.
+        new Thread(new Runnable()
+        {
+          public void run()
+          {
+            while (worker != null && worker.isAlive() && _started)
+            {
+              try
+              {
+                Thread.sleep(100 + ((int) Math.random() * 100));
+
+              } catch (Exception e)
+              {
+              }
+
+            }
+            // and call ourselves again.
+            addStructure(pdbentry, seq, chains, b, alignFrame);
+          }
+        }).start();
+        return;
+      }
+    }
+    // otherwise, start adding the structure.
+    jmb.addSequenceAndChain(new PDBEntry[]
+    { pdbentry }, new SequenceI[][]
+    { seq }, new String[][]
+    { chains });
+    addingStructures = true;
+    _started = false;
+    alignAddedStructures = b;
+    progressBar = alignFrame; // visual indication happens on caller frame.
+    (worker = new Thread(this)).start();
+    return;
+  }
+
+  private Vector getJmolsFor(AlignmentPanel ap2)
+  {
+    Vector otherJmols = new Vector();
+    // Now this AppJmol is mapped to new sequences. We must add them to
+    // the exisiting array
+    JInternalFrame[] frames = Desktop.instance.getAllFrames();
+
+    for (int i = 0; i < frames.length; i++)
+    {
+      if (frames[i] instanceof AppJmol)
+      {
+        AppJmol topJmol = ((AppJmol) frames[i]);
+        if (topJmol.isLinkedWith(ap2))
+        {
+          otherJmols.addElement(topJmol);
+        }
+      }
+    }
+    return otherJmols;
+  }
+
+  void initJmol(String command)
+  {
+    jmb.setFinishedInit(false);
+    renderPanel = new RenderPanel();
+    // TODO: consider waiting until the structure/view is fully loaded before
+    // displaying
+    this.getContentPane().add(renderPanel, java.awt.BorderLayout.CENTER);
+    jalview.gui.Desktop.addInternalFrame(this, jmb.getViewerTitle(),
+            getBounds().width, getBounds().height);
+    if (scriptWindow == null)
+    {
+      BorderLayout bl = new BorderLayout();
+      bl.setHgap(0);
+      bl.setVgap(0);
+      scriptWindow = new JPanel(bl);
+      scriptWindow.setVisible(false);
+    }
+    ;
+    jmb.allocateViewer(renderPanel, true, "", null, null, "", scriptWindow,
+            null);
+    jmb.newJmolPopup(true, "Jmol", true);
+    if (command == null)
+    {
+      command = "";
+    }
+    jmb.evalStateCommand(command);
+    jmb.setFinishedInit(true);
+  }
+
+  void setChainMenuItems(Vector chains)
+  {
+    chainMenu.removeAll();
+    if (chains == null)
+    {
+      return;
+    }
     JMenuItem menuItem = new JMenuItem(MessageManager.getString("label.all"));\r
-    menuItem.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent evt)\r
-      {\r
-        allChainsSelected = true;\r
-        for (int i = 0; i < chainMenu.getItemCount(); i++)\r
-        {\r
-          if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)\r
-            ((JCheckBoxMenuItem) chainMenu.getItem(i)).setSelected(true);\r
-        }\r
-        centerViewer();\r
-        allChainsSelected = false;\r
-      }\r
-    });\r
-\r
-    chainMenu.add(menuItem);\r
-\r
-    for (int c = 0; c < chains.size(); c++)\r
-    {\r
-      menuItem = new JCheckBoxMenuItem(chains.elementAt(c).toString(), true);\r
-      menuItem.addItemListener(new ItemListener()\r
-      {\r
-        public void itemStateChanged(ItemEvent evt)\r
-        {\r
-          if (!allChainsSelected)\r
-            centerViewer();\r
-        }\r
-      });\r
-\r
-      chainMenu.add(menuItem);\r
-    }\r
-  }\r
-\r
-  boolean allChainsSelected = false;\r
-\r
-  private boolean alignAddedStructures = false;\r
-\r
-  void centerViewer()\r
-  {\r
-    Vector toshow = new Vector();\r
-    String lbl;\r
-    int mlength, p, mnum;\r
-    for (int i = 0; i < chainMenu.getItemCount(); i++)\r
-    {\r
-      if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)\r
-      {\r
-        JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i);\r
-        if (item.isSelected())\r
-        {\r
-          toshow.addElement(item.getText());\r
-        }\r
-      }\r
-    }\r
-    jmb.centerViewer(toshow);\r
-  }\r
-\r
-  void closeViewer()\r
-  {\r
-    jmb.closeViewer();\r
-    ap = null;\r
-    _aps.clear();\r
-    _alignwith.clear();\r
-    _colourwith.clear();\r
-    // TODO: check for memory leaks where instance isn't finalised because jmb\r
-    // holds a reference to the window\r
-    jmb = null;\r
-  }\r
-\r
-  /**\r
-   * state flag for PDB retrieval thread\r
-   */\r
-  private boolean _started = false;\r
-\r
-  public void run()\r
-  {\r
-    _started = true;\r
-    String pdbid = "";\r
-    // todo - record which pdbids were successfuly imported.\r
-    StringBuffer errormsgs = new StringBuffer(), files = new StringBuffer();\r
-    try\r
-    {\r
-      String[] curfiles = jmb.getPdbFile(); // files currently in viewer\r
-      // TODO: replace with reference fetching/transfer code (validate PDBentry\r
-      // as a DBRef?)\r
-      jalview.ws.dbsources.Pdb pdbclient = new jalview.ws.dbsources.Pdb();\r
-      for (int pi = 0; pi < jmb.pdbentry.length; pi++)\r
-      {\r
-        String file = jmb.pdbentry[pi].getFile();\r
-        if (file == null)\r
-        {\r
-          // retrieve the pdb and store it locally\r
-          AlignmentI pdbseq = null;\r
-          pdbid = jmb.pdbentry[pi].getId();\r
-          long hdl = pdbid.hashCode() - System.currentTimeMillis();\r
-          if (progressBar != null)\r
-          {\r
-            progressBar.setProgressBar("Fetching PDB " + pdbid, hdl);\r
-          }\r
-          try\r
-          {\r
-            pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi]\r
-                    .getId());\r
-          } catch (OutOfMemoryError oomerror)\r
-          {\r
-            new OOMWarning("Retrieving PDB id " + pdbid, oomerror);\r
-          } catch (Exception ex)\r
-          {\r
-            ex.printStackTrace();\r
-            errormsgs.append("'" + pdbid + "'");\r
-          }\r
-          if (progressBar != null)\r
-          {\r
-            progressBar.setProgressBar("Finished.", hdl);\r
-          }\r
-          if (pdbseq != null)\r
-          {\r
-            // just transfer the file name from the first sequence's first\r
-            // PDBEntry\r
-            file = new File(((PDBEntry) pdbseq.getSequenceAt(0).getPDBId()\r
-                    .elementAt(0)).getFile()).getAbsolutePath();\r
-            jmb.pdbentry[pi].setFile(file);\r
-\r
-            files.append(" \"" + Platform.escapeString(file) + "\"");\r
-          }\r
-          else\r
-          {\r
-            errormsgs.append("'" + pdbid + "' ");\r
-          }\r
-        }\r
-        else\r
-        {\r
-          if (curfiles != null && curfiles.length > 0)\r
-          {\r
-            addingStructures = true; // already files loaded.\r
-            for (int c = 0; c < curfiles.length; c++)\r
-            {\r
-              if (curfiles[c].equals(file))\r
-              {\r
-                file = null;\r
-                break;\r
-              }\r
-            }\r
-          }\r
-          if (file != null)\r
-          {\r
-            files.append(" \"" + Platform.escapeString(file) + "\"");\r
-          }\r
-        }\r
-      }\r
-    } catch (OutOfMemoryError oomerror)\r
-    {\r
-      new OOMWarning("Retrieving PDB files: " + pdbid, oomerror);\r
-    } catch (Exception ex)\r
-    {\r
-      ex.printStackTrace();\r
-      errormsgs.append("When retrieving pdbfiles : current was: '" + pdbid\r
-              + "'");\r
-    }\r
-    if (errormsgs.length() > 0)\r
-    {\r
-\r
-      JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
-                 MessageManager.formatMessage("label.pdb_entries_couldnt_be_retrieved", new String[]{errormsgs.toString()}),\r
-              MessageManager.getString("label.couldnt_load_file"), JOptionPane.ERROR_MESSAGE);\r
-\r
-    }\r
-    long lastnotify = jmb.getLoadNotifiesHandled();\r
-    if (files.length() > 0)\r
-    {\r
-      if (!addingStructures)\r
-      {\r
-\r
-        try\r
-        {\r
-          initJmol("load FILES " + files.toString());\r
-        } catch (OutOfMemoryError oomerror)\r
-        {\r
-          new OOMWarning("When trying to open the Jmol viewer!", oomerror);\r
-          Cache.log.debug("File locations are " + files);\r
-        } catch (Exception ex)\r
-        {\r
-          Cache.log.error("Couldn't open Jmol viewer!", ex);\r
-        }\r
-      }\r
-      else\r
-      {\r
-        StringBuffer cmd = new StringBuffer();\r
-        cmd.append("loadingJalviewdata=true\nload APPEND ");\r
-        cmd.append(files.toString());\r
-        cmd.append("\nloadingJalviewdata=null");\r
-        final String command = cmd.toString();\r
-        cmd = null;\r
-        lastnotify = jmb.getLoadNotifiesHandled();\r
-\r
-        try\r
-        {\r
-          jmb.evalStateCommand(command);\r
-        } catch (OutOfMemoryError oomerror)\r
-        {\r
-          new OOMWarning(\r
-                  "When trying to add structures to the Jmol viewer!",\r
-                  oomerror);\r
-          Cache.log.debug("File locations are " + files);\r
-        } catch (Exception ex)\r
-        {\r
-          Cache.log.error("Couldn't add files to Jmol viewer!", ex);\r
-        }\r
-      }\r
-\r
-      // need to wait around until script has finished\r
-      while (addingStructures ? lastnotify >= jmb.getLoadNotifiesHandled()\r
-              : (jmb.isFinishedInit() && jmb.getPdbFile().length != jmb.pdbentry.length))\r
-      {\r
-        try\r
-        {\r
-          Cache.log.debug("Waiting around for jmb notify.");\r
-          Thread.sleep(35);\r
-        } catch (Exception e)\r
-        {\r
-        }\r
-      }\r
-      // refresh the sequence colours for the new structure(s)\r
-      for (AlignmentPanel ap : _colourwith)\r
-      {\r
-        jmb.updateColours(ap);\r
-      }\r
-      // do superposition if asked to\r
-      if (alignAddedStructures)\r
-      {\r
-        javax.swing.SwingUtilities.invokeLater(new Runnable()\r
-        {\r
-          public void run()\r
-          {\r
-            alignStructs_withAllAlignPanels();\r
-            // jmb.superposeStructures(ap.av.getAlignment(), -1, null);\r
-          }\r
-        });\r
-        alignAddedStructures = false;\r
-      }\r
-      addingStructures = false;\r
-\r
-    }\r
-    _started = false;\r
-    worker = null;\r
-  }\r
-\r
-  public void pdbFile_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    JalviewFileChooser chooser = new JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
-\r
-    chooser.setFileView(new JalviewFileView());\r
-    chooser.setDialogTitle("Save PDB File");\r
+    menuItem.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent evt)
+      {
+        allChainsSelected = true;
+        for (int i = 0; i < chainMenu.getItemCount(); i++)
+        {
+          if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
+            ((JCheckBoxMenuItem) chainMenu.getItem(i)).setSelected(true);
+        }
+        centerViewer();
+        allChainsSelected = false;
+      }
+    });
+
+    chainMenu.add(menuItem);
+
+    for (int c = 0; c < chains.size(); c++)
+    {
+      menuItem = new JCheckBoxMenuItem(chains.elementAt(c).toString(), true);
+      menuItem.addItemListener(new ItemListener()
+      {
+        public void itemStateChanged(ItemEvent evt)
+        {
+          if (!allChainsSelected)
+            centerViewer();
+        }
+      });
+
+      chainMenu.add(menuItem);
+    }
+  }
+
+  boolean allChainsSelected = false;
+
+  private boolean alignAddedStructures = false;
+
+  void centerViewer()
+  {
+    Vector toshow = new Vector();
+    String lbl;
+    int mlength, p, mnum;
+    for (int i = 0; i < chainMenu.getItemCount(); i++)
+    {
+      if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
+      {
+        JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i);
+        if (item.isSelected())
+        {
+          toshow.addElement(item.getText());
+        }
+      }
+    }
+    jmb.centerViewer(toshow);
+  }
+
+  void closeViewer()
+  {
+    jmb.closeViewer();
+    ap = null;
+    _aps.clear();
+    _alignwith.clear();
+    _colourwith.clear();
+    // TODO: check for memory leaks where instance isn't finalised because jmb
+    // holds a reference to the window
+    jmb = null;
+  }
+
+  /**
+   * state flag for PDB retrieval thread
+   */
+  private boolean _started = false;
+
+  public void run()
+  {
+    _started = true;
+    String pdbid = "";
+    // todo - record which pdbids were successfuly imported.
+    StringBuffer errormsgs = new StringBuffer(), files = new StringBuffer();
+    try
+    {
+      String[] curfiles = jmb.getPdbFile(); // files currently in viewer
+      // TODO: replace with reference fetching/transfer code (validate PDBentry
+      // as a DBRef?)
+      jalview.ws.dbsources.Pdb pdbclient = new jalview.ws.dbsources.Pdb();
+      for (int pi = 0; pi < jmb.pdbentry.length; pi++)
+      {
+        String file = jmb.pdbentry[pi].getFile();
+        if (file == null)
+        {
+          // retrieve the pdb and store it locally
+          AlignmentI pdbseq = null;
+          pdbid = jmb.pdbentry[pi].getId();
+          long hdl = pdbid.hashCode() - System.currentTimeMillis();
+          if (progressBar != null)
+          {
+            progressBar.setProgressBar("Fetching PDB " + pdbid, hdl);
+          }
+          try
+          {
+            pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi]
+                    .getId());
+          } catch (OutOfMemoryError oomerror)
+          {
+            new OOMWarning("Retrieving PDB id " + pdbid, oomerror);
+          } catch (Exception ex)
+          {
+            ex.printStackTrace();
+            errormsgs.append("'" + pdbid + "'");
+          }
+          if (progressBar != null)
+          {
+            progressBar.setProgressBar("Finished.", hdl);
+          }
+          if (pdbseq != null)
+          {
+            // just transfer the file name from the first sequence's first
+            // PDBEntry
+            file = new File(((PDBEntry) pdbseq.getSequenceAt(0).getPDBId()
+                    .elementAt(0)).getFile()).getAbsolutePath();
+            jmb.pdbentry[pi].setFile(file);
+
+            files.append(" \"" + Platform.escapeString(file) + "\"");
+          }
+          else
+          {
+            errormsgs.append("'" + pdbid + "' ");
+          }
+        }
+        else
+        {
+          if (curfiles != null && curfiles.length > 0)
+          {
+            addingStructures = true; // already files loaded.
+            for (int c = 0; c < curfiles.length; c++)
+            {
+              if (curfiles[c].equals(file))
+              {
+                file = null;
+                break;
+              }
+            }
+          }
+          if (file != null)
+          {
+            files.append(" \"" + Platform.escapeString(file) + "\"");
+          }
+        }
+      }
+    } catch (OutOfMemoryError oomerror)
+    {
+      new OOMWarning("Retrieving PDB files: " + pdbid, oomerror);
+    } catch (Exception ex)
+    {
+      ex.printStackTrace();
+      errormsgs.append("When retrieving pdbfiles : current was: '" + pdbid
+              + "'");
+    }
+    if (errormsgs.length() > 0)
+    {
+
+      JOptionPane.showInternalMessageDialog(Desktop.desktop,
+                 MessageManager.formatMessage("label.pdb_entries_couldnt_be_retrieved", new String[]{errormsgs.toString()}),
+              MessageManager.getString("label.couldnt_load_file"), JOptionPane.ERROR_MESSAGE);
+
+    }
+    long lastnotify = jmb.getLoadNotifiesHandled();
+    if (files.length() > 0)
+    {
+      if (!addingStructures)
+      {
+
+        try
+        {
+          initJmol("load FILES " + files.toString());
+        } catch (OutOfMemoryError oomerror)
+        {
+          new OOMWarning("When trying to open the Jmol viewer!", oomerror);
+          Cache.log.debug("File locations are " + files);
+        } catch (Exception ex)
+        {
+          Cache.log.error("Couldn't open Jmol viewer!", ex);
+        }
+      }
+      else
+      {
+        StringBuffer cmd = new StringBuffer();
+        cmd.append("loadingJalviewdata=true\nload APPEND ");
+        cmd.append(files.toString());
+        cmd.append("\nloadingJalviewdata=null");
+        final String command = cmd.toString();
+        cmd = null;
+        lastnotify = jmb.getLoadNotifiesHandled();
+
+        try
+        {
+          jmb.evalStateCommand(command);
+        } catch (OutOfMemoryError oomerror)
+        {
+          new OOMWarning(
+                  "When trying to add structures to the Jmol viewer!",
+                  oomerror);
+          Cache.log.debug("File locations are " + files);
+        } catch (Exception ex)
+        {
+          Cache.log.error("Couldn't add files to Jmol viewer!", ex);
+        }
+      }
+
+      // need to wait around until script has finished
+      while (addingStructures ? lastnotify >= jmb.getLoadNotifiesHandled()
+              : (jmb.isFinishedInit() && jmb.getPdbFile().length != jmb.pdbentry.length))
+      {
+        try
+        {
+          Cache.log.debug("Waiting around for jmb notify.");
+          Thread.sleep(35);
+        } catch (Exception e)
+        {
+        }
+      }
+      // refresh the sequence colours for the new structure(s)
+      for (AlignmentPanel ap : _colourwith)
+      {
+        jmb.updateColours(ap);
+      }
+      // do superposition if asked to
+      if (alignAddedStructures)
+      {
+        javax.swing.SwingUtilities.invokeLater(new Runnable()
+        {
+          public void run()
+          {
+            alignStructs_withAllAlignPanels();
+            // jmb.superposeStructures(ap.av.getAlignment(), -1, null);
+          }
+        });
+        alignAddedStructures = false;
+      }
+      addingStructures = false;
+
+    }
+    _started = false;
+    worker = null;
+  }
+
+  public void pdbFile_actionPerformed(ActionEvent actionEvent)
+  {
+    JalviewFileChooser chooser = new JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+
+    chooser.setFileView(new JalviewFileView());
+    chooser.setDialogTitle("Save PDB File");
     chooser.setToolTipText(MessageManager.getString("action.save"));\r
-\r
-    int value = chooser.showSaveDialog(this);\r
-\r
-    if (value == JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      try\r
-      {\r
-        // TODO: cope with multiple PDB files in view\r
-        BufferedReader in = new BufferedReader(new FileReader(\r
-                jmb.getPdbFile()[0]));\r
-        File outFile = chooser.getSelectedFile();\r
-\r
-        PrintWriter out = new PrintWriter(new FileOutputStream(outFile));\r
-        String data;\r
-        while ((data = in.readLine()) != null)\r
-        {\r
-          if (!(data.indexOf("<PRE>") > -1 || data.indexOf("</PRE>") > -1))\r
-          {\r
-            out.println(data);\r
-          }\r
-        }\r
-        out.close();\r
-      } catch (Exception ex)\r
-      {\r
-        ex.printStackTrace();\r
-      }\r
-    }\r
-  }\r
-\r
-  public void viewMapping_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer();\r
-    try\r
-    {\r
-      for (int pdbe = 0; pdbe < jmb.pdbentry.length; pdbe++)\r
-      {\r
-        cap.appendText(jmb.printMapping(jmb.pdbentry[pdbe].getFile()));\r
-        cap.appendText("\n");\r
-      }\r
-    } catch (OutOfMemoryError e)\r
-    {\r
-      new OOMWarning(\r
-              "composing sequence-structure alignments for display in text box.",\r
-              e);\r
-      cap.dispose();\r
-      return;\r
-    }\r
+
+    int value = chooser.showSaveDialog(this);
+
+    if (value == JalviewFileChooser.APPROVE_OPTION)
+    {
+      try
+      {
+        // TODO: cope with multiple PDB files in view
+        BufferedReader in = new BufferedReader(new FileReader(
+                jmb.getPdbFile()[0]));
+        File outFile = chooser.getSelectedFile();
+
+        PrintWriter out = new PrintWriter(new FileOutputStream(outFile));
+        String data;
+        while ((data = in.readLine()) != null)
+        {
+          if (!(data.indexOf("<PRE>") > -1 || data.indexOf("</PRE>") > -1))
+          {
+            out.println(data);
+          }
+        }
+        out.close();
+      } catch (Exception ex)
+      {
+        ex.printStackTrace();
+      }
+    }
+  }
+
+  public void viewMapping_actionPerformed(ActionEvent actionEvent)
+  {
+    jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer();
+    try
+    {
+      for (int pdbe = 0; pdbe < jmb.pdbentry.length; pdbe++)
+      {
+        cap.appendText(jmb.printMapping(jmb.pdbentry[pdbe].getFile()));
+        cap.appendText("\n");
+      }
+    } catch (OutOfMemoryError e)
+    {
+      new OOMWarning(
+              "composing sequence-structure alignments for display in text box.",
+              e);
+      cap.dispose();
+      return;
+    }
     jalview.gui.Desktop.addInternalFrame(cap, MessageManager.getString("label.pdb_sequence_mapping"),\r
-            550, 600);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void eps_actionPerformed(ActionEvent e)\r
-  {\r
-    makePDBImage(jalview.util.ImageMaker.EPS);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void png_actionPerformed(ActionEvent e)\r
-  {\r
-    makePDBImage(jalview.util.ImageMaker.PNG);\r
-  }\r
-\r
-  void makePDBImage(int type)\r
-  {\r
-    int width = getWidth();\r
-    int height = getHeight();\r
-\r
-    jalview.util.ImageMaker im;\r
-\r
-    if (type == jalview.util.ImageMaker.PNG)\r
-    {\r
-      im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.PNG,\r
-              "Make PNG image from view", width, height, null, null);\r
-    }\r
-    else\r
-    {\r
-      im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.EPS,\r
-              "Make EPS file from view", width, height, null,\r
-              this.getTitle());\r
-    }\r
-\r
-    if (im.getGraphics() != null)\r
-    {\r
-      Rectangle rect = new Rectangle(width, height);\r
-      jmb.viewer.renderScreenImage(im.getGraphics(), rect.getSize(), rect);\r
-      im.writeImage();\r
-    }\r
-  }\r
-\r
-  public void jmolColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    if (jmolColour.isSelected())\r
-    {\r
-      // disable automatic sequence colouring.\r
-      jmb.setColourBySequence(false);\r
-    }\r
-  }\r
-\r
-  public void seqColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    jmb.setColourBySequence(seqColour.isSelected());\r
-    if (_colourwith == null)\r
-    {\r
-      _colourwith = new Vector<AlignmentPanel>();\r
-    }\r
-    if (jmb.isColourBySequence())\r
-    {\r
-      if (!jmb.isLoadingFromArchive())\r
-      {\r
-        if (_colourwith.size() == 0 && ap != null)\r
-        {\r
-          // Make the currently displayed alignment panel the associated view\r
-          _colourwith.add(ap.alignFrame.alignPanel);\r
-        }\r
-      }\r
-      // Set the colour using the current view for the associated alignframe\r
-      for (AlignmentPanel ap : _colourwith)\r
-      {\r
-        jmb.colourBySequence(ap.av.showSequenceFeatures, ap);\r
-      }\r
-    }\r
-  }\r
-\r
-  public void chainColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    chainColour.setSelected(true);\r
-    jmb.colourByChain();\r
-  }\r
-\r
-  public void chargeColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    chargeColour.setSelected(true);\r
-    jmb.colourByCharge();\r
-  }\r
-\r
-  public void zappoColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    zappoColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new ZappoColourScheme());\r
-  }\r
-\r
-  public void taylorColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    taylorColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new TaylorColourScheme());\r
-  }\r
-\r
-  public void hydroColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    hydroColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new HydrophobicColourScheme());\r
-  }\r
-\r
-  public void helixColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    helixColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new HelixColourScheme());\r
-  }\r
-\r
-  public void strandColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    strandColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new StrandColourScheme());\r
-  }\r
-\r
-  public void turnColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    turnColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new TurnColourScheme());\r
-  }\r
-\r
-  public void buriedColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    buriedColour.setSelected(true);\r
-    jmb.setJalviewColourScheme(new BuriedColourScheme());\r
-  }\r
-\r
-  public void purinePyrimidineColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    setJalviewColourScheme(new PurinePyrimidineColourScheme());\r
-  }\r
-\r
-  public void userColour_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    userColour.setSelected(true);\r
-    new UserDefinedColours(this, null);\r
-  }\r
-\r
-  public void backGround_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    java.awt.Color col = JColorChooser.showDialog(this,\r
-            "Select Background Colour", null);\r
-    if (col != null)\r
-    {\r
-      jmb.setBackgroundColour(col);\r
-    }\r
-  }\r
-\r
-  public void jmolHelp_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    try\r
-    {\r
-      jalview.util.BrowserLauncher\r
-              .openURL("http://jmol.sourceforge.net/docs/JmolUserGuide/");\r
-    } catch (Exception ex)\r
-    {\r
-    }\r
-  }\r
-\r
-  public void showConsole(boolean showConsole)\r
-  {\r
-\r
-    if (showConsole)\r
-    {\r
-      if (splitPane == null)\r
-      {\r
-        splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);\r
-        splitPane.setTopComponent(renderPanel);\r
-        splitPane.setBottomComponent(scriptWindow);\r
-        this.getContentPane().add(splitPane, BorderLayout.CENTER);\r
-        splitPane.setDividerLocation(getHeight() - 200);\r
-        scriptWindow.setVisible(true);\r
-        scriptWindow.validate();\r
-        splitPane.validate();\r
-      }\r
-\r
-    }\r
-    else\r
-    {\r
-      if (splitPane != null)\r
-      {\r
-        splitPane.setVisible(false);\r
-      }\r
-\r
-      splitPane = null;\r
-\r
-      this.getContentPane().add(renderPanel, BorderLayout.CENTER);\r
-    }\r
-\r
-    validate();\r
-  }\r
-\r
-  class RenderPanel extends JPanel\r
-  {\r
-    final Dimension currentSize = new Dimension();\r
-\r
-    final Rectangle rectClip = new Rectangle();\r
-\r
-    public void paintComponent(Graphics g)\r
-    {\r
-      getSize(currentSize);\r
-      g.getClipBounds(rectClip);\r
-\r
-      if (jmb.fileLoadingError != null)\r
-      {\r
-        g.setColor(Color.black);\r
-        g.fillRect(0, 0, currentSize.width, currentSize.height);\r
-        g.setColor(Color.white);\r
-        g.setFont(new Font("Verdana", Font.BOLD, 14));\r
-        g.drawString(MessageManager.getString("label.error_loading_file") + "...", 20, currentSize.height / 2);\r
-        StringBuffer sb = new StringBuffer();\r
-        int lines = 0;\r
-        for (int e = 0; e < jmb.pdbentry.length; e++)\r
-        {\r
-          sb.append(jmb.pdbentry[e].getId());\r
-          if (e < jmb.pdbentry.length - 1)\r
-          {\r
-            sb.append(",");\r
-          }\r
-\r
-          if (e == jmb.pdbentry.length - 1 || sb.length() > 20)\r
-          {\r
-            lines++;\r
-            g.drawString(sb.toString(), 20, currentSize.height / 2 - lines\r
-                    * g.getFontMetrics().getHeight());\r
-          }\r
-        }\r
-      }\r
-      else if (jmb == null || jmb.viewer == null || !jmb.isFinishedInit())\r
-      {\r
-        g.setColor(Color.black);\r
-        g.fillRect(0, 0, currentSize.width, currentSize.height);\r
-        g.setColor(Color.white);\r
-        g.setFont(new Font("Verdana", Font.BOLD, 14));\r
-        g.drawString(MessageManager.getString("label.retrieving_pdb_data"), 20, currentSize.height / 2);\r
-      }\r
-      else\r
-      {\r
-        jmb.viewer.renderScreenImage(g, currentSize, rectClip);\r
-      }\r
-    }\r
-  }\r
-\r
-  String viewId = null;\r
-\r
-  public String getViewId()\r
-  {\r
-    if (viewId == null)\r
-    {\r
-      viewId = System.currentTimeMillis() + "." + this.hashCode();\r
-    }\r
-    return viewId;\r
-  }\r
-\r
-  public void updateTitleAndMenus()\r
-  {\r
-    if (jmb.fileLoadingError != null && jmb.fileLoadingError.length() > 0)\r
-    {\r
-      repaint();\r
-      return;\r
-    }\r
-    setChainMenuItems(jmb.chainNames);\r
-\r
-    this.setTitle(jmb.getViewerTitle());\r
-    if (jmb.getPdbFile().length > 1 && jmb.sequence.length > 1)\r
-    {\r
-      jmolActionMenu.setVisible(true);\r
-    }\r
-    if (!jmb.isLoadingFromArchive())\r
-    {\r
-      seqColour_actionPerformed(null);\r
-    }\r
-  }\r
-\r
-  protected void buildJmolActionMenu()\r
-  {\r
-    if (_alignwith == null)\r
-    {\r
-      _alignwith = new Vector<AlignmentPanel>();\r
-    }\r
-    if (_alignwith.size() == 0 && ap != null)\r
-    {\r
-      _alignwith.add(ap);\r
-    }\r
-    ;\r
-    for (Component c : jmolActionMenu.getMenuComponents())\r
-    {\r
-      if (c != alignStructs)\r
-      {\r
-        jmolActionMenu.remove((JMenuItem) c);\r
-      }\r
-    }\r
-    final ItemListener handler;\r
-  }\r
-\r
-  /*\r
-   * (non-Javadoc)\r
-   * \r
-   * @see\r
-   * jalview.jbgui.GStructureViewer#alignStructs_actionPerformed(java.awt.event\r
-   * .ActionEvent)\r
-   */\r
-  @Override\r
-  protected void alignStructs_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    alignStructs_withAllAlignPanels();\r
-  }\r
-\r
-  private void alignStructs_withAllAlignPanels()\r
-  {\r
-    if (ap == null)\r
-    {\r
-      return;\r
-    }\r
-    ;\r
-    if (_alignwith.size() == 0)\r
-    {\r
-      _alignwith.add(ap);\r
-    }\r
-    ;\r
-    try\r
-    {\r
-      AlignmentI[] als = new Alignment[_alignwith.size()];\r
-      ColumnSelection[] alc = new ColumnSelection[_alignwith.size()];\r
-      int[] alm = new int[_alignwith.size()];\r
-      int a = 0;\r
-\r
-      for (AlignmentPanel ap : _alignwith)\r
-      {\r
-        als[a] = ap.av.getAlignment();\r
-        alm[a] = -1;\r
-        alc[a++] = ap.av.getColumnSelection();\r
-      }\r
-      jmb.superposeStructures(als, alm, alc);\r
-    } catch (Exception e)\r
-    {\r
-      StringBuffer sp = new StringBuffer();\r
-      for (AlignmentPanel ap : _alignwith)\r
-      {\r
-        sp.append("'" + ap.alignFrame.getTitle() + "' ");\r
-      }\r
-      Cache.log.info("Couldn't align structures with the " + sp.toString()\r
-              + "associated alignment panels.", e);\r
-\r
-    }\r
-\r
-  }\r
-\r
-  public void setJalviewColourScheme(ColourSchemeI ucs)\r
-  {\r
-    jmb.setJalviewColourScheme(ucs);\r
-\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @param alignment\r
-   * @return first alignment panel displaying given alignment, or the default\r
-   *         alignment panel\r
-   */\r
-  public AlignmentPanel getAlignmentPanelFor(AlignmentI alignment)\r
-  {\r
-    for (AlignmentPanel ap : getAllAlignmentPanels())\r
-    {\r
-      if (ap.av.getAlignment() == alignment)\r
-      {\r
-        return ap;\r
-      }\r
-    }\r
-    return ap;\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @param ap2\r
-   * @return true if this Jmol instance is linked with the given alignPanel\r
-   */\r
-  public boolean isLinkedWith(AlignmentPanel ap2)\r
-  {\r
-    return _aps.contains(ap2.av.getSequenceSetId());\r
-  }\r
-\r
-  public boolean isUsedforaligment(AlignmentPanel ap2)\r
-  {\r
-\r
-    return (_alignwith != null) && _alignwith.contains(ap2);\r
-  }\r
-\r
-  public boolean isUsedforcolourby(AlignmentPanel ap2)\r
-  {\r
-    return (_colourwith != null) && _colourwith.contains(ap2);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @return TRUE if the view is NOT being coloured by sequence associations.\r
-   */\r
-  public boolean isColouredByJmol()\r
-  {\r
-    return !jmb.isColourBySequence();\r
-  }\r
-\r
-}\r
+            550, 600);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void eps_actionPerformed(ActionEvent e)
+  {
+    makePDBImage(jalview.util.ImageMaker.EPS);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void png_actionPerformed(ActionEvent e)
+  {
+    makePDBImage(jalview.util.ImageMaker.PNG);
+  }
+
+  void makePDBImage(int type)
+  {
+    int width = getWidth();
+    int height = getHeight();
+
+    jalview.util.ImageMaker im;
+
+    if (type == jalview.util.ImageMaker.PNG)
+    {
+      im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.PNG,
+              "Make PNG image from view", width, height, null, null);
+    }
+    else
+    {
+      im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.EPS,
+              "Make EPS file from view", width, height, null,
+              this.getTitle());
+    }
+
+    if (im.getGraphics() != null)
+    {
+      Rectangle rect = new Rectangle(width, height);
+      jmb.viewer.renderScreenImage(im.getGraphics(), rect.getSize(), rect);
+      im.writeImage();
+    }
+  }
+
+  public void jmolColour_actionPerformed(ActionEvent actionEvent)
+  {
+    if (jmolColour.isSelected())
+    {
+      // disable automatic sequence colouring.
+      jmb.setColourBySequence(false);
+    }
+  }
+
+  public void seqColour_actionPerformed(ActionEvent actionEvent)
+  {
+    jmb.setColourBySequence(seqColour.isSelected());
+    if (_colourwith == null)
+    {
+      _colourwith = new Vector<AlignmentPanel>();
+    }
+    if (jmb.isColourBySequence())
+    {
+      if (!jmb.isLoadingFromArchive())
+      {
+        if (_colourwith.size() == 0 && ap != null)
+        {
+          // Make the currently displayed alignment panel the associated view
+          _colourwith.add(ap.alignFrame.alignPanel);
+        }
+      }
+      // Set the colour using the current view for the associated alignframe
+      for (AlignmentPanel ap : _colourwith)
+      {
+        jmb.colourBySequence(ap.av.showSequenceFeatures, ap);
+      }
+    }
+  }
+
+  public void chainColour_actionPerformed(ActionEvent actionEvent)
+  {
+    chainColour.setSelected(true);
+    jmb.colourByChain();
+  }
+
+  public void chargeColour_actionPerformed(ActionEvent actionEvent)
+  {
+    chargeColour.setSelected(true);
+    jmb.colourByCharge();
+  }
+
+  public void zappoColour_actionPerformed(ActionEvent actionEvent)
+  {
+    zappoColour.setSelected(true);
+    jmb.setJalviewColourScheme(new ZappoColourScheme());
+  }
+
+  public void taylorColour_actionPerformed(ActionEvent actionEvent)
+  {
+    taylorColour.setSelected(true);
+    jmb.setJalviewColourScheme(new TaylorColourScheme());
+  }
+
+  public void hydroColour_actionPerformed(ActionEvent actionEvent)
+  {
+    hydroColour.setSelected(true);
+    jmb.setJalviewColourScheme(new HydrophobicColourScheme());
+  }
+
+  public void helixColour_actionPerformed(ActionEvent actionEvent)
+  {
+    helixColour.setSelected(true);
+    jmb.setJalviewColourScheme(new HelixColourScheme());
+  }
+
+  public void strandColour_actionPerformed(ActionEvent actionEvent)
+  {
+    strandColour.setSelected(true);
+    jmb.setJalviewColourScheme(new StrandColourScheme());
+  }
+
+  public void turnColour_actionPerformed(ActionEvent actionEvent)
+  {
+    turnColour.setSelected(true);
+    jmb.setJalviewColourScheme(new TurnColourScheme());
+  }
+
+  public void buriedColour_actionPerformed(ActionEvent actionEvent)
+  {
+    buriedColour.setSelected(true);
+    jmb.setJalviewColourScheme(new BuriedColourScheme());
+  }
+
+  public void purinePyrimidineColour_actionPerformed(ActionEvent actionEvent)
+  {
+    setJalviewColourScheme(new PurinePyrimidineColourScheme());
+  }
+
+  public void userColour_actionPerformed(ActionEvent actionEvent)
+  {
+    userColour.setSelected(true);
+    new UserDefinedColours(this, null);
+  }
+
+  public void backGround_actionPerformed(ActionEvent actionEvent)
+  {
+    java.awt.Color col = JColorChooser.showDialog(this,
+            "Select Background Colour", null);
+    if (col != null)
+    {
+      jmb.setBackgroundColour(col);
+    }
+  }
+
+  public void jmolHelp_actionPerformed(ActionEvent actionEvent)
+  {
+    try
+    {
+      jalview.util.BrowserLauncher
+              .openURL("http://jmol.sourceforge.net/docs/JmolUserGuide/");
+    } catch (Exception ex)
+    {
+    }
+  }
+
+  public void showConsole(boolean showConsole)
+  {
+
+    if (showConsole)
+    {
+      if (splitPane == null)
+      {
+        splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+        splitPane.setTopComponent(renderPanel);
+        splitPane.setBottomComponent(scriptWindow);
+        this.getContentPane().add(splitPane, BorderLayout.CENTER);
+        splitPane.setDividerLocation(getHeight() - 200);
+        scriptWindow.setVisible(true);
+        scriptWindow.validate();
+        splitPane.validate();
+      }
+
+    }
+    else
+    {
+      if (splitPane != null)
+      {
+        splitPane.setVisible(false);
+      }
+
+      splitPane = null;
+
+      this.getContentPane().add(renderPanel, BorderLayout.CENTER);
+    }
+
+    validate();
+  }
+
+  class RenderPanel extends JPanel
+  {
+    final Dimension currentSize = new Dimension();
+
+    final Rectangle rectClip = new Rectangle();
+
+    public void paintComponent(Graphics g)
+    {
+      getSize(currentSize);
+      g.getClipBounds(rectClip);
+
+      if (jmb.fileLoadingError != null)
+      {
+        g.setColor(Color.black);
+        g.fillRect(0, 0, currentSize.width, currentSize.height);
+        g.setColor(Color.white);
+        g.setFont(new Font("Verdana", Font.BOLD, 14));
+        g.drawString(MessageManager.getString("label.error_loading_file") + "...", 20, currentSize.height / 2);
+        StringBuffer sb = new StringBuffer();
+        int lines = 0;
+        for (int e = 0; e < jmb.pdbentry.length; e++)
+        {
+          sb.append(jmb.pdbentry[e].getId());
+          if (e < jmb.pdbentry.length - 1)
+          {
+            sb.append(",");
+          }
+
+          if (e == jmb.pdbentry.length - 1 || sb.length() > 20)
+          {
+            lines++;
+            g.drawString(sb.toString(), 20, currentSize.height / 2 - lines
+                    * g.getFontMetrics().getHeight());
+          }
+        }
+      }
+      else if (jmb == null || jmb.viewer == null || !jmb.isFinishedInit())
+      {
+        g.setColor(Color.black);
+        g.fillRect(0, 0, currentSize.width, currentSize.height);
+        g.setColor(Color.white);
+        g.setFont(new Font("Verdana", Font.BOLD, 14));
+        g.drawString(MessageManager.getString("label.retrieving_pdb_data"), 20, currentSize.height / 2);
+      }
+      else
+      {
+        jmb.viewer.renderScreenImage(g, currentSize, rectClip);
+      }
+    }
+  }
+
+  String viewId = null;
+
+  public String getViewId()
+  {
+    if (viewId == null)
+    {
+      viewId = System.currentTimeMillis() + "." + this.hashCode();
+    }
+    return viewId;
+  }
+
+  public void updateTitleAndMenus()
+  {
+    if (jmb.fileLoadingError != null && jmb.fileLoadingError.length() > 0)
+    {
+      repaint();
+      return;
+    }
+    setChainMenuItems(jmb.chainNames);
+
+    this.setTitle(jmb.getViewerTitle());
+    if (jmb.getPdbFile().length > 1 && jmb.sequence.length > 1)
+    {
+      jmolActionMenu.setVisible(true);
+    }
+    if (!jmb.isLoadingFromArchive())
+    {
+      seqColour_actionPerformed(null);
+    }
+  }
+
+  protected void buildJmolActionMenu()
+  {
+    if (_alignwith == null)
+    {
+      _alignwith = new Vector<AlignmentPanel>();
+    }
+    if (_alignwith.size() == 0 && ap != null)
+    {
+      _alignwith.add(ap);
+    }
+    ;
+    for (Component c : jmolActionMenu.getMenuComponents())
+    {
+      if (c != alignStructs)
+      {
+        jmolActionMenu.remove((JMenuItem) c);
+      }
+    }
+    final ItemListener handler;
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * jalview.jbgui.GStructureViewer#alignStructs_actionPerformed(java.awt.event
+   * .ActionEvent)
+   */
+  @Override
+  protected void alignStructs_actionPerformed(ActionEvent actionEvent)
+  {
+    alignStructs_withAllAlignPanels();
+  }
+
+  private void alignStructs_withAllAlignPanels()
+  {
+    if (ap == null)
+    {
+      return;
+    }
+    ;
+    if (_alignwith.size() == 0)
+    {
+      _alignwith.add(ap);
+    }
+    ;
+    try
+    {
+      AlignmentI[] als = new Alignment[_alignwith.size()];
+      ColumnSelection[] alc = new ColumnSelection[_alignwith.size()];
+      int[] alm = new int[_alignwith.size()];
+      int a = 0;
+
+      for (AlignmentPanel ap : _alignwith)
+      {
+        als[a] = ap.av.getAlignment();
+        alm[a] = -1;
+        alc[a++] = ap.av.getColumnSelection();
+      }
+      jmb.superposeStructures(als, alm, alc);
+    } catch (Exception e)
+    {
+      StringBuffer sp = new StringBuffer();
+      for (AlignmentPanel ap : _alignwith)
+      {
+        sp.append("'" + ap.alignFrame.getTitle() + "' ");
+      }
+      Cache.log.info("Couldn't align structures with the " + sp.toString()
+              + "associated alignment panels.", e);
+
+    }
+
+  }
+
+  public void setJalviewColourScheme(ColourSchemeI ucs)
+  {
+    jmb.setJalviewColourScheme(ucs);
+
+  }
+
+  /**
+   * 
+   * @param alignment
+   * @return first alignment panel displaying given alignment, or the default
+   *         alignment panel
+   */
+  public AlignmentPanel getAlignmentPanelFor(AlignmentI alignment)
+  {
+    for (AlignmentPanel ap : getAllAlignmentPanels())
+    {
+      if (ap.av.getAlignment() == alignment)
+      {
+        return ap;
+      }
+    }
+    return ap;
+  }
+
+  /**
+   * 
+   * @param ap2
+   * @return true if this Jmol instance is linked with the given alignPanel
+   */
+  public boolean isLinkedWith(AlignmentPanel ap2)
+  {
+    return _aps.contains(ap2.av.getSequenceSetId());
+  }
+
+  public boolean isUsedforaligment(AlignmentPanel ap2)
+  {
+
+    return (_alignwith != null) && _alignwith.contains(ap2);
+  }
+
+  public boolean isUsedforcolourby(AlignmentPanel ap2)
+  {
+    return (_colourwith != null) && _colourwith.contains(ap2);
+  }
+
+  /**
+   * 
+   * @return TRUE if the view is NOT being coloured by sequence associations.
+   */
+  public boolean isColouredByJmol()
+  {
+    return !jmb.isColourBySequence();
+  }
+
+}
index 6734200..80a7b9e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index efa9a8a..1de0cf2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index d19a711..b287b8e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index bf0957e..1fa9e71 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index c0cfb78..da92179 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 965d010..4fe45c8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 897c0ca..ca554a0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 1805c3b..6ccc5ff 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 293f9db..340e134 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 7ca6338..6715537 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 89e34f7..551129e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index f3aefe4..cd440cd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index b17eced..d6ddd16 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 57bd59e..c07fdcf 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 963209c..689a402 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index f63f74f..b1e9907 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 1504f41..5e1897d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 95b3ced..a39d5f2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 2fa56db..183facf 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 5b589bb..c4c68c2 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index b5fd0c1..97e3366 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 4fc8d95..c62ab91 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index e747055..b7ec5a9 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 45e8102..28ac886 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 3b6678d..9d838f8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 3797c51..40a0ac4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 3983992..050b02f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 7356f3a..cfdf313 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 1eb151d..641ac62 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 41d986f..261fae8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 4b96cb2..3bc99dd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 98f4d16..841e99e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 0b97682..614326d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 35af1ef..5c8d08b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 21a2224..dabf8db 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index e9e5c1c..6738556 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.gui;
 
 import java.util.*;
-
 import java.awt.event.*;
 
 import jalview.analysis.*;
 import jalview.datamodel.*;
 import jalview.jbgui.*;
+import jalview.util.MessageManager;
 
 /**
  * DOCUMENT ME!
index a7f070d..0e39f34 100644 (file)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import java.util.*;\r
-\r
-import java.awt.*;\r
-import java.awt.event.*;\r
-\r
-import javax.swing.*;\r
-\r
-import jalview.analysis.*;\r
-import jalview.commands.*;\r
-import jalview.datamodel.*;\r
-import jalview.io.*;\r
-import jalview.schemes.*;\r
-import jalview.util.GroupUrlLink;\r
-import jalview.util.GroupUrlLink.UrlStringTooLongException;\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import java.util.*;
+
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.*;
+
+import jalview.analysis.*;
+import jalview.commands.*;
+import jalview.datamodel.*;
+import jalview.io.*;
+import jalview.schemes.*;
+import jalview.util.GroupUrlLink;
+import jalview.util.GroupUrlLink.UrlStringTooLongException;
 import jalview.util.MessageManager;\r
-import jalview.util.UrlLink;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision: 1.118 $\r
- */\r
-public class PopupMenu extends JPopupMenu\r
-{\r
-  JMenu groupMenu = new JMenu();\r
-\r
-  JMenuItem groupName = new JMenuItem();\r
-\r
-  protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();\r
-\r
-  protected JCheckBoxMenuItem abovePIDColour = new JCheckBoxMenuItem();\r
-\r
-  protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();\r
-\r
-  protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();\r
-\r
-  // protected JRadioButtonMenuItem covariationColour = new\r
-  // JRadioButtonMenuItem();\r
-\r
-  JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();\r
-\r
-  protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();\r
-\r
-  AlignmentPanel ap;\r
-\r
-  JMenu sequenceMenu = new JMenu();\r
-\r
-  JMenuItem sequenceName = new JMenuItem();\r
-\r
-  JMenuItem sequenceDetails = new JMenuItem();\r
-\r
-  JMenuItem sequenceSelDetails = new JMenuItem();\r
-\r
-  SequenceI sequence;\r
-  JMenuItem createGroupMenuItem = new JMenuItem();\r
-  JMenuItem unGroupMenuItem = new JMenuItem();\r
-\r
-  JMenuItem outline = new JMenuItem();\r
-\r
-  JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem();\r
-\r
-  JMenu colourMenu = new JMenu();\r
-\r
-  JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem();\r
-\r
-  JCheckBoxMenuItem showText = new JCheckBoxMenuItem();\r
-\r
-  JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem();\r
-\r
-  JCheckBoxMenuItem displayNonconserved = new JCheckBoxMenuItem();\r
-\r
-  JMenu editMenu = new JMenu();\r
-\r
-  JMenuItem cut = new JMenuItem();\r
-\r
-  JMenuItem copy = new JMenuItem();\r
-\r
-  JMenuItem upperCase = new JMenuItem();\r
-\r
-  JMenuItem lowerCase = new JMenuItem();\r
-\r
-  JMenuItem toggle = new JMenuItem();\r
-\r
-  JMenu pdbMenu = new JMenu();\r
-\r
-  JMenuItem pdbFromFile = new JMenuItem();\r
-\r
-  JMenuItem enterPDB = new JMenuItem();\r
-\r
-  JMenuItem discoverPDB = new JMenuItem();\r
-\r
-  JMenu outputMenu = new JMenu();\r
-\r
-  JMenuItem sequenceFeature = new JMenuItem();\r
-\r
-  JMenuItem textColour = new JMenuItem();\r
-\r
-  JMenu jMenu1 = new JMenu();\r
-\r
-  JMenu structureMenu = new JMenu();\r
-\r
-  JMenu viewStructureMenu = new JMenu();\r
-\r
-  // JMenu colStructureMenu = new JMenu();\r
-  JMenuItem editSequence = new JMenuItem();\r
-\r
-  // JMenuItem annotationMenuItem = new JMenuItem();\r
-\r
-  JMenu groupLinksMenu;\r
-\r
-  /**\r
-   * Creates a new PopupMenu object.\r
-   * \r
-   * @param ap\r
-   *          DOCUMENT ME!\r
-   * @param seq\r
-   *          DOCUMENT ME!\r
-   */\r
-  public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)\r
-  {\r
-    this(ap, seq, links, null);\r
-  }\r
-\r
-  /**\r
-   * \r
-   * @param ap\r
-   * @param seq\r
-   * @param links\r
-   * @param groupLinks\r
-   */\r
-  public PopupMenu(final AlignmentPanel ap, final SequenceI seq,\r
-          Vector links, Vector groupLinks)\r
-  {\r
-    // /////////////////////////////////////////////////////////\r
-    // If this is activated from the sequence panel, the user may want to\r
-    // edit or annotate a particular residue. Therefore display the residue menu\r
-    //\r
-    // If from the IDPanel, we must display the sequence menu\r
-    // ////////////////////////////////////////////////////////\r
-    this.ap = ap;\r
-    sequence = seq;\r
-\r
-    ButtonGroup colours = new ButtonGroup();\r
-    colours.add(noColourmenuItem);\r
-    colours.add(clustalColour);\r
-    colours.add(zappoColour);\r
-    colours.add(taylorColour);\r
-    colours.add(hydrophobicityColour);\r
-    colours.add(helixColour);\r
-    colours.add(strandColour);\r
-    colours.add(turnColour);\r
-    colours.add(buriedColour);\r
-    colours.add(abovePIDColour);\r
-    colours.add(userDefinedColour);\r
-    colours.add(PIDColour);\r
-    colours.add(BLOSUM62Colour);\r
-    colours.add(purinePyrimidineColour);\r
-    // colours.add(covariationColour);\r
-\r
-    for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)\r
-    {\r
-      JMenuItem item = new JMenuItem(\r
-              jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);\r
-\r
-      item.addActionListener(new java.awt.event.ActionListener()\r
-      {\r
-        public void actionPerformed(ActionEvent e)\r
-        {\r
-          outputText_actionPerformed(e);\r
-        }\r
-      });\r
-\r
-      outputMenu.add(item);\r
-    }\r
-\r
-    try\r
-    {\r
-      jbInit();\r
-    } catch (Exception e)\r
-    {\r
-      e.printStackTrace();\r
-    }\r
-\r
-    JMenuItem menuItem;\r
-    if (seq != null)\r
-    {\r
-      sequenceMenu.setText(sequence.getName());\r
-\r
-      if (seq.getDatasetSequence().getPDBId() != null\r
-              && seq.getDatasetSequence().getPDBId().size() > 0)\r
-      {\r
-        java.util.Enumeration e = seq.getDatasetSequence().getPDBId()\r
-                .elements();\r
-\r
-        while (e.hasMoreElements())\r
-        {\r
-          final PDBEntry pdb = (PDBEntry) e.nextElement();\r
-\r
-          menuItem = new JMenuItem();\r
-          menuItem.setText(pdb.getId());\r
-          menuItem.addActionListener(new java.awt.event.ActionListener()\r
-          {\r
-            public void actionPerformed(ActionEvent e)\r
-            {\r
-              // TODO re JAL-860: optionally open dialog or provide a menu entry\r
-              // allowing user to open just one structure per sequence\r
-              new AppJmol(pdb, ap.av.collateForPDB(new PDBEntry[]\r
-              { pdb })[0], null, ap);\r
-              // new PDBViewer(pdb, seqs2, null, ap, AppletFormatAdapter.FILE);\r
-            }\r
-\r
-          });\r
-          viewStructureMenu.add(menuItem);\r
-\r
-          /*\r
-           * menuItem = new JMenuItem(); menuItem.setText(pdb.getId());\r
-           * menuItem.addActionListener(new java.awt.event.ActionListener() {\r
-           * public void actionPerformed(ActionEvent e) {\r
-           * colourByStructure(pdb.getId()); } });\r
-           * colStructureMenu.add(menuItem);\r
-           */\r
-        }\r
-      }\r
-      else\r
-      {\r
-        if (ap.av.getAlignment().isNucleotide() == false)\r
-        {\r
-          structureMenu.remove(viewStructureMenu);\r
-        }\r
-        // structureMenu.remove(colStructureMenu);\r
-      }\r
-\r
-      if (ap.av.getAlignment().isNucleotide() == true)\r
-      {\r
-        AlignmentAnnotation[] aa = ap.av.getAlignment()\r
-                .getAlignmentAnnotation();\r
-        for (int i = 0; i < aa.length; i++)\r
-        {\r
-          if (aa[i].getRNAStruc() != null)\r
-          {\r
-            final String rnastruc = aa[i].getRNAStruc();\r
-            final String structureLine = aa[i].label;\r
-            menuItem = new JMenuItem();\r
+import jalview.util.UrlLink;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author $author$
+ * @version $Revision: 1.118 $
+ */
+public class PopupMenu extends JPopupMenu
+{
+  JMenu groupMenu = new JMenu();
+
+  JMenuItem groupName = new JMenuItem();
+
+  protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
+
+  protected JCheckBoxMenuItem abovePIDColour = new JCheckBoxMenuItem();
+
+  protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
+
+  protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
+
+  // protected JRadioButtonMenuItem covariationColour = new
+  // JRadioButtonMenuItem();
+
+  JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
+
+  protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
+
+  AlignmentPanel ap;
+
+  JMenu sequenceMenu = new JMenu();
+
+  JMenuItem sequenceName = new JMenuItem();
+
+  JMenuItem sequenceDetails = new JMenuItem();
+
+  JMenuItem sequenceSelDetails = new JMenuItem();
+
+  SequenceI sequence;
+  JMenuItem createGroupMenuItem = new JMenuItem();
+  JMenuItem unGroupMenuItem = new JMenuItem();
+
+  JMenuItem outline = new JMenuItem();
+
+  JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem();
+
+  JMenu colourMenu = new JMenu();
+
+  JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem();
+
+  JCheckBoxMenuItem showText = new JCheckBoxMenuItem();
+
+  JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem();
+
+  JCheckBoxMenuItem displayNonconserved = new JCheckBoxMenuItem();
+
+  JMenu editMenu = new JMenu();
+
+  JMenuItem cut = new JMenuItem();
+
+  JMenuItem copy = new JMenuItem();
+
+  JMenuItem upperCase = new JMenuItem();
+
+  JMenuItem lowerCase = new JMenuItem();
+
+  JMenuItem toggle = new JMenuItem();
+
+  JMenu pdbMenu = new JMenu();
+
+  JMenuItem pdbFromFile = new JMenuItem();
+
+  JMenuItem enterPDB = new JMenuItem();
+
+  JMenuItem discoverPDB = new JMenuItem();
+
+  JMenu outputMenu = new JMenu();
+
+  JMenuItem sequenceFeature = new JMenuItem();
+
+  JMenuItem textColour = new JMenuItem();
+
+  JMenu jMenu1 = new JMenu();
+
+  JMenu structureMenu = new JMenu();
+
+  JMenu viewStructureMenu = new JMenu();
+
+  // JMenu colStructureMenu = new JMenu();
+  JMenuItem editSequence = new JMenuItem();
+
+  // JMenuItem annotationMenuItem = new JMenuItem();
+
+  JMenu groupLinksMenu;
+
+  /**
+   * Creates a new PopupMenu object.
+   * 
+   * @param ap
+   *          DOCUMENT ME!
+   * @param seq
+   *          DOCUMENT ME!
+   */
+  public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)
+  {
+    this(ap, seq, links, null);
+  }
+
+  /**
+   * 
+   * @param ap
+   * @param seq
+   * @param links
+   * @param groupLinks
+   */
+  public PopupMenu(final AlignmentPanel ap, final SequenceI seq,
+          Vector links, Vector groupLinks)
+  {
+    // /////////////////////////////////////////////////////////
+    // If this is activated from the sequence panel, the user may want to
+    // edit or annotate a particular residue. Therefore display the residue menu
+    //
+    // If from the IDPanel, we must display the sequence menu
+    // ////////////////////////////////////////////////////////
+    this.ap = ap;
+    sequence = seq;
+
+    ButtonGroup colours = new ButtonGroup();
+    colours.add(noColourmenuItem);
+    colours.add(clustalColour);
+    colours.add(zappoColour);
+    colours.add(taylorColour);
+    colours.add(hydrophobicityColour);
+    colours.add(helixColour);
+    colours.add(strandColour);
+    colours.add(turnColour);
+    colours.add(buriedColour);
+    colours.add(abovePIDColour);
+    colours.add(userDefinedColour);
+    colours.add(PIDColour);
+    colours.add(BLOSUM62Colour);
+    colours.add(purinePyrimidineColour);
+    // colours.add(covariationColour);
+
+    for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
+    {
+      JMenuItem item = new JMenuItem(
+              jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
+
+      item.addActionListener(new java.awt.event.ActionListener()
+      {
+        public void actionPerformed(ActionEvent e)
+        {
+          outputText_actionPerformed(e);
+        }
+      });
+
+      outputMenu.add(item);
+    }
+
+    try
+    {
+      jbInit();
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+
+    JMenuItem menuItem;
+    if (seq != null)
+    {
+      sequenceMenu.setText(sequence.getName());
+
+      if (seq.getDatasetSequence().getPDBId() != null
+              && seq.getDatasetSequence().getPDBId().size() > 0)
+      {
+        java.util.Enumeration e = seq.getDatasetSequence().getPDBId()
+                .elements();
+
+        while (e.hasMoreElements())
+        {
+          final PDBEntry pdb = (PDBEntry) e.nextElement();
+
+          menuItem = new JMenuItem();
+          menuItem.setText(pdb.getId());
+          menuItem.addActionListener(new java.awt.event.ActionListener()
+          {
+            public void actionPerformed(ActionEvent e)
+            {
+              // TODO re JAL-860: optionally open dialog or provide a menu entry
+              // allowing user to open just one structure per sequence
+              new AppJmol(pdb, ap.av.collateForPDB(new PDBEntry[]
+              { pdb })[0], null, ap);
+              // new PDBViewer(pdb, seqs2, null, ap, AppletFormatAdapter.FILE);
+            }
+
+          });
+          viewStructureMenu.add(menuItem);
+
+          /*
+           * menuItem = new JMenuItem(); menuItem.setText(pdb.getId());
+           * menuItem.addActionListener(new java.awt.event.ActionListener() {
+           * public void actionPerformed(ActionEvent e) {
+           * colourByStructure(pdb.getId()); } });
+           * colStructureMenu.add(menuItem);
+           */
+        }
+      }
+      else
+      {
+        if (ap.av.getAlignment().isNucleotide() == false)
+        {
+          structureMenu.remove(viewStructureMenu);
+        }
+        // structureMenu.remove(colStructureMenu);
+      }
+
+      if (ap.av.getAlignment().isNucleotide() == true)
+      {
+        AlignmentAnnotation[] aa = ap.av.getAlignment()
+                .getAlignmentAnnotation();
+        for (int i = 0; i < aa.length; i++)
+        {
+          if (aa[i].getRNAStruc() != null)
+          {
+            final String rnastruc = aa[i].getRNAStruc();
+            final String structureLine = aa[i].label;
+            menuItem = new JMenuItem();
             menuItem.setText(MessageManager.formatMessage("label.2d_rna_structure_line", new String[]{structureLine}));\r
-            menuItem.addActionListener(new java.awt.event.ActionListener()\r
-            {\r
-              public void actionPerformed(ActionEvent e)\r
-              {\r
-                new AppVarna(structureLine, seq, seq.getSequenceAsString(),\r
-                        rnastruc, seq.getName(), ap);\r
-              }\r
-            });\r
-            viewStructureMenu.add(menuItem);\r
-          }\r
-        }\r
-\r
-        // SequenceFeatures[] test = seq.getSequenceFeatures();\r
-\r
-        if (seq.getAnnotation() != null)\r
-        {\r
-          AlignmentAnnotation seqAnno[] = seq.getAnnotation();\r
-          for (int i = 0; i < seqAnno.length; i++)\r
-          {\r
-            if (seqAnno[i].getRNAStruc() != null)\r
-            {\r
-              final String rnastruc = seqAnno[i].getRNAStruc();\r
-\r
-              // TODO: make rnastrucF a bit more nice\r
-              menuItem = new JMenuItem();\r
+            menuItem.addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                new AppVarna(structureLine, seq, seq.getSequenceAsString(),
+                        rnastruc, seq.getName(), ap);
+              }
+            });
+            viewStructureMenu.add(menuItem);
+          }
+        }
+
+        // SequenceFeatures[] test = seq.getSequenceFeatures();
+
+        if (seq.getAnnotation() != null)
+        {
+          AlignmentAnnotation seqAnno[] = seq.getAnnotation();
+          for (int i = 0; i < seqAnno.length; i++)
+          {
+            if (seqAnno[i].getRNAStruc() != null)
+            {
+              final String rnastruc = seqAnno[i].getRNAStruc();
+
+              // TODO: make rnastrucF a bit more nice
+              menuItem = new JMenuItem();
               menuItem.setText(MessageManager.formatMessage("label.2d_rna_sequence_name", new String[]{seq.getName()}));\r
-              menuItem.addActionListener(new java.awt.event.ActionListener()\r
-              {\r
-                public void actionPerformed(ActionEvent e)\r
-                {\r
-                  // TODO: VARNA does'nt print gaps in the sequence\r
-                  new AppVarna(seq.getName() + " structure", seq, seq\r
-                          .getSequenceAsString(), rnastruc, seq.getName(),\r
-                          ap);\r
-                }\r
-              });\r
-              viewStructureMenu.add(menuItem);\r
-            }\r
-          }\r
-        }\r
-\r
-      }\r
-\r
+              menuItem.addActionListener(new java.awt.event.ActionListener()
+              {
+                public void actionPerformed(ActionEvent e)
+                {
+                  // TODO: VARNA does'nt print gaps in the sequence
+                  new AppVarna(seq.getName() + " structure", seq, seq
+                          .getSequenceAsString(), rnastruc, seq.getName(),
+                          ap);
+                }
+              });
+              viewStructureMenu.add(menuItem);
+            }
+          }
+        }
+
+      }
+
       menuItem = new JMenuItem(MessageManager.getString("action.hide_sequences"));\r
-      menuItem.addActionListener(new java.awt.event.ActionListener()\r
-      {\r
-        public void actionPerformed(ActionEvent e)\r
-        {\r
-          hideSequences(false);\r
-        }\r
-      });\r
-      add(menuItem);\r
-\r
-      if (ap.av.getSelectionGroup() != null\r
-              && ap.av.getSelectionGroup().getSize() > 1)\r
-      {\r
+      menuItem.addActionListener(new java.awt.event.ActionListener()
+      {
+        public void actionPerformed(ActionEvent e)
+        {
+          hideSequences(false);
+        }
+      });
+      add(menuItem);
+
+      if (ap.av.getSelectionGroup() != null
+              && ap.av.getSelectionGroup().getSize() > 1)
+      {
         menuItem = new JMenuItem(MessageManager.formatMessage("label.represent_group_with", new String[]{seq.getName()}));\r
-        menuItem.addActionListener(new java.awt.event.ActionListener()\r
-        {\r
-          public void actionPerformed(ActionEvent e)\r
-          {\r
-            hideSequences(true);\r
-          }\r
-        });\r
-        sequenceMenu.add(menuItem);\r
-      }\r
-\r
-      if (ap.av.hasHiddenRows())\r
-      {\r
-        final int index = ap.av.getAlignment().findIndex(seq);\r
-\r
-        if (ap.av.adjustForHiddenSeqs(index)\r
-                - ap.av.adjustForHiddenSeqs(index - 1) > 1)\r
-        {\r
+        menuItem.addActionListener(new java.awt.event.ActionListener()
+        {
+          public void actionPerformed(ActionEvent e)
+          {
+            hideSequences(true);
+          }
+        });
+        sequenceMenu.add(menuItem);
+      }
+
+      if (ap.av.hasHiddenRows())
+      {
+        final int index = ap.av.getAlignment().findIndex(seq);
+
+        if (ap.av.adjustForHiddenSeqs(index)
+                - ap.av.adjustForHiddenSeqs(index - 1) > 1)
+        {
           menuItem = new JMenuItem(MessageManager.getString("action.reveal_sequences"));\r
-          menuItem.addActionListener(new ActionListener()\r
-          {\r
-            public void actionPerformed(ActionEvent e)\r
-            {\r
-              ap.av.showSequence(index);\r
-              if (ap.overviewPanel != null)\r
-              {\r
-                ap.overviewPanel.updateOverviewImage();\r
-              }\r
-            }\r
-          });\r
-          add(menuItem);\r
-        }\r
-      }\r
-    }\r
-    // for the case when no sequences are even visible\r
-    if (ap.av.hasHiddenRows())\r
-    {\r
-      {\r
+          menuItem.addActionListener(new ActionListener()
+          {
+            public void actionPerformed(ActionEvent e)
+            {
+              ap.av.showSequence(index);
+              if (ap.overviewPanel != null)
+              {
+                ap.overviewPanel.updateOverviewImage();
+              }
+            }
+          });
+          add(menuItem);
+        }
+      }
+    }
+    // for the case when no sequences are even visible
+    if (ap.av.hasHiddenRows())
+    {
+      {
         menuItem = new JMenuItem(MessageManager.getString("action.reveal_all"));\r
-        menuItem.addActionListener(new ActionListener()\r
-        {\r
-          public void actionPerformed(ActionEvent e)\r
-          {\r
-            ap.av.showAllHiddenSeqs();\r
-            if (ap.overviewPanel != null)\r
-            {\r
-              ap.overviewPanel.updateOverviewImage();\r
-            }\r
-          }\r
-        });\r
-\r
-        add(menuItem);\r
-      }\r
-\r
-    }\r
-\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-    boolean isDefinedGroup = (sg!=null) ? ap.av.getAlignment().getGroups().contains(sg) : false;\r
-\r
-    if (sg != null && sg.getSize() > 0)\r
-    {      \r
+        menuItem.addActionListener(new ActionListener()
+        {
+          public void actionPerformed(ActionEvent e)
+          {
+            ap.av.showAllHiddenSeqs();
+            if (ap.overviewPanel != null)
+            {
+              ap.overviewPanel.updateOverviewImage();
+            }
+          }
+        });
+
+        add(menuItem);
+      }
+
+    }
+
+    SequenceGroup sg = ap.av.getSelectionGroup();
+    boolean isDefinedGroup = (sg!=null) ? ap.av.getAlignment().getGroups().contains(sg) : false;
+
+    if (sg != null && sg.getSize() > 0)
+    {      
       groupName.setText(MessageManager.formatMessage("label.name_param", new String[]{sg.getName()}));\r
       groupName.setText(MessageManager.getString("label.edit_name_and_description_current_group"));\r
-\r
-      if (sg.cs instanceof ZappoColourScheme)\r
-      {\r
-        zappoColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof TaylorColourScheme)\r
-      {\r
-        taylorColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof PIDColourScheme)\r
-      {\r
-        PIDColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof Blosum62ColourScheme)\r
-      {\r
-        BLOSUM62Colour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof UserColourScheme)\r
-      {\r
-        userDefinedColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof HydrophobicColourScheme)\r
-      {\r
-        hydrophobicityColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof HelixColourScheme)\r
-      {\r
-        helixColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof StrandColourScheme)\r
-      {\r
-        strandColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof TurnColourScheme)\r
-      {\r
-        turnColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof BuriedColourScheme)\r
-      {\r
-        buriedColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof ClustalxColourScheme)\r
-      {\r
-        clustalColour.setSelected(true);\r
-      }\r
-      else if (sg.cs instanceof PurinePyrimidineColourScheme)\r
-      {\r
-        purinePyrimidineColour.setSelected(true);\r
-      }\r
-      /*\r
-       * else if (sg.cs instanceof CovariationColourScheme) {\r
-       * covariationColour.setSelected(true); }\r
-       */\r
-      else\r
-      {\r
-        noColourmenuItem.setSelected(true);\r
-      }\r
-\r
-      if (sg.cs != null && sg.cs.conservationApplied())\r
-      {\r
-        conservationMenuItem.setSelected(true);\r
-      }\r
-      displayNonconserved.setSelected(sg.getShowNonconserved());\r
-      showText.setSelected(sg.getDisplayText());\r
-      showColourText.setSelected(sg.getColourText());\r
-      showBoxes.setSelected(sg.getDisplayBoxes());\r
-      // add any groupURLs to the groupURL submenu and make it visible\r
-      if (groupLinks != null && groupLinks.size() > 0)\r
-      {\r
-        buildGroupURLMenu(sg, groupLinks);\r
-      }\r
-      // Add a 'show all structures' for the current selection\r
-      Hashtable<String, PDBEntry> pdbe = new Hashtable<String, PDBEntry>();\r
-      SequenceI sqass = null;\r
-      for (SequenceI sq : ap.av.getSequenceSelection())\r
-      {\r
-        Vector<PDBEntry> pes = (Vector<PDBEntry>) sq.getDatasetSequence()\r
-                .getPDBId();\r
-        if (pes != null)\r
-        {\r
-          for (PDBEntry pe : pes)\r
-          {\r
-            pdbe.put(pe.getId(), pe);\r
-            if (sqass == null)\r
-            {\r
-              sqass = sq;\r
-            }\r
-          }\r
-        }\r
-      }\r
-      if (pdbe.size() > 0)\r
-      {\r
-        final PDBEntry[] pe = pdbe.values().toArray(\r
-                new PDBEntry[pdbe.size()]);\r
-        final JMenuItem gpdbview;\r
-        if (pdbe.size() == 1)\r
-        {\r
+
+      if (sg.cs instanceof ZappoColourScheme)
+      {
+        zappoColour.setSelected(true);
+      }
+      else if (sg.cs instanceof TaylorColourScheme)
+      {
+        taylorColour.setSelected(true);
+      }
+      else if (sg.cs instanceof PIDColourScheme)
+      {
+        PIDColour.setSelected(true);
+      }
+      else if (sg.cs instanceof Blosum62ColourScheme)
+      {
+        BLOSUM62Colour.setSelected(true);
+      }
+      else if (sg.cs instanceof UserColourScheme)
+      {
+        userDefinedColour.setSelected(true);
+      }
+      else if (sg.cs instanceof HydrophobicColourScheme)
+      {
+        hydrophobicityColour.setSelected(true);
+      }
+      else if (sg.cs instanceof HelixColourScheme)
+      {
+        helixColour.setSelected(true);
+      }
+      else if (sg.cs instanceof StrandColourScheme)
+      {
+        strandColour.setSelected(true);
+      }
+      else if (sg.cs instanceof TurnColourScheme)
+      {
+        turnColour.setSelected(true);
+      }
+      else if (sg.cs instanceof BuriedColourScheme)
+      {
+        buriedColour.setSelected(true);
+      }
+      else if (sg.cs instanceof ClustalxColourScheme)
+      {
+        clustalColour.setSelected(true);
+      }
+      else if (sg.cs instanceof PurinePyrimidineColourScheme)
+      {
+        purinePyrimidineColour.setSelected(true);
+      }
+      /*
+       * else if (sg.cs instanceof CovariationColourScheme) {
+       * covariationColour.setSelected(true); }
+       */
+      else
+      {
+        noColourmenuItem.setSelected(true);
+      }
+
+      if (sg.cs != null && sg.cs.conservationApplied())
+      {
+        conservationMenuItem.setSelected(true);
+      }
+      displayNonconserved.setSelected(sg.getShowNonconserved());
+      showText.setSelected(sg.getDisplayText());
+      showColourText.setSelected(sg.getColourText());
+      showBoxes.setSelected(sg.getDisplayBoxes());
+      // add any groupURLs to the groupURL submenu and make it visible
+      if (groupLinks != null && groupLinks.size() > 0)
+      {
+        buildGroupURLMenu(sg, groupLinks);
+      }
+      // Add a 'show all structures' for the current selection
+      Hashtable<String, PDBEntry> pdbe = new Hashtable<String, PDBEntry>();
+      SequenceI sqass = null;
+      for (SequenceI sq : ap.av.getSequenceSelection())
+      {
+        Vector<PDBEntry> pes = (Vector<PDBEntry>) sq.getDatasetSequence()
+                .getPDBId();
+        if (pes != null)
+        {
+          for (PDBEntry pe : pes)
+          {
+            pdbe.put(pe.getId(), pe);
+            if (sqass == null)
+            {
+              sqass = sq;
+            }
+          }
+        }
+      }
+      if (pdbe.size() > 0)
+      {
+        final PDBEntry[] pe = pdbe.values().toArray(
+                new PDBEntry[pdbe.size()]);
+        final JMenuItem gpdbview;
+        if (pdbe.size() == 1)
+        {
           structureMenu.add(gpdbview = new JMenuItem(MessageManager.formatMessage("label.view_structure_for", new String[]{sqass.getDisplayId(false)})));\r
-        }\r
-        else\r
-        {\r
+        }
+        else
+        {
           structureMenu.add(gpdbview = new JMenuItem(MessageManager.formatMessage("label.view_all_structures", new String[]{new Integer(pdbe.size()).toString()})));\r
-        }\r
+        }
         gpdbview.setToolTipText(MessageManager.getString("label.open_new_jmol_view_with_all_structures_associated_current_selection_superimpose_using_alignment"));\r
-        gpdbview.addActionListener(new ActionListener()\r
-        {\r
-\r
-          @Override\r
-          public void actionPerformed(ActionEvent e)\r
-          {\r
-            new AppJmol(ap, pe, ap.av.collateForPDB(pe));\r
-          }\r
-        });\r
-      }\r
-    }\r
-    else\r
-    {\r
-      groupMenu.setVisible(false);\r
-      editMenu.setVisible(false);\r
-    }\r
-\r
-    if (!isDefinedGroup)\r
-    {\r
-      createGroupMenuItem.setVisible(true);\r
-      unGroupMenuItem.setVisible(false);\r
+        gpdbview.addActionListener(new ActionListener()
+        {
+
+          @Override
+          public void actionPerformed(ActionEvent e)
+          {
+            new AppJmol(ap, pe, ap.av.collateForPDB(pe));
+          }
+        });
+      }
+    }
+    else
+    {
+      groupMenu.setVisible(false);
+      editMenu.setVisible(false);
+    }
+
+    if (!isDefinedGroup)
+    {
+      createGroupMenuItem.setVisible(true);
+      unGroupMenuItem.setVisible(false);
       jMenu1.setText(MessageManager.getString("action.edit_new_group"));\r
-    } else {\r
-      createGroupMenuItem.setVisible(false);\r
-      unGroupMenuItem.setVisible(true);\r
+    } else {
+      createGroupMenuItem.setVisible(false);
+      unGroupMenuItem.setVisible(true);
       jMenu1.setText(MessageManager.getString("action.edit_group"));\r
-    }\r
-\r
-    if (seq == null)\r
-    {\r
-      sequenceMenu.setVisible(false);\r
-      structureMenu.setVisible(false);\r
-    }\r
-\r
-    if (links != null && links.size() > 0)\r
-    {\r
-\r
+    }
+
+    if (seq == null)
+    {
+      sequenceMenu.setVisible(false);
+      structureMenu.setVisible(false);
+    }
+
+    if (links != null && links.size() > 0)
+    {
+
       JMenu linkMenu = new JMenu(MessageManager.getString("action.link"));\r
-      Vector linkset = new Vector();\r
-      for (int i = 0; i < links.size(); i++)\r
-      {\r
-        String link = links.elementAt(i).toString();\r
-        UrlLink urlLink = null;\r
-        try\r
-        {\r
-          urlLink = new UrlLink(link);\r
-        } catch (Exception foo)\r
-        {\r
-          jalview.bin.Cache.log.error("Exception for URLLink '" + link\r
-                  + "'", foo);\r
-          continue;\r
-        }\r
-        ;\r
-        if (!urlLink.isValid())\r
-        {\r
-          jalview.bin.Cache.log.error(urlLink.getInvalidMessage());\r
-          continue;\r
-        }\r
-        final String label = urlLink.getLabel();\r
-        if (seq != null && urlLink.isDynamic())\r
-        {\r
-\r
-          // collect matching db-refs\r
-          DBRefEntry[] dbr = jalview.util.DBRefUtils.selectRefs(\r
-                  seq.getDBRef(), new String[]\r
-                  { urlLink.getTarget() });\r
-          // collect id string too\r
-          String id = seq.getName();\r
-          String descr = seq.getDescription();\r
-          if (descr != null && descr.length() < 1)\r
-          {\r
-            descr = null;\r
-          }\r
-\r
-          if (dbr != null)\r
-          {\r
-            for (int r = 0; r < dbr.length; r++)\r
-            {\r
-              if (id != null && dbr[r].getAccessionId().equals(id))\r
-              {\r
-                // suppress duplicate link creation for the bare sequence ID\r
-                // string with this link\r
-                id = null;\r
-              }\r
-              // create Bare ID link for this RUL\r
-              String[] urls = urlLink.makeUrls(dbr[r].getAccessionId(),\r
-                      true);\r
-              if (urls != null)\r
-              {\r
-                for (int u = 0; u < urls.length; u += 2)\r
-                {\r
-                  if (!linkset.contains(urls[u] + "|" + urls[u + 1]))\r
-                  {\r
-                    linkset.addElement(urls[u] + "|" + urls[u + 1]);\r
-                    addshowLink(linkMenu, label + "|" + urls[u],\r
-                            urls[u + 1]);\r
-                  }\r
-                }\r
-              }\r
-            }\r
-          }\r
-          if (id != null)\r
-          {\r
-            // create Bare ID link for this RUL\r
-            String[] urls = urlLink.makeUrls(id, true);\r
-            if (urls != null)\r
-            {\r
-              for (int u = 0; u < urls.length; u += 2)\r
-              {\r
-                if (!linkset.contains(urls[u] + "|" + urls[u + 1]))\r
-                {\r
-                  linkset.addElement(urls[u] + "|" + urls[u + 1]);\r
-                  addshowLink(linkMenu, label, urls[u + 1]);\r
-                }\r
-              }\r
-            }\r
-          }\r
-          // Create urls from description but only for URL links which are regex\r
-          // links\r
-          if (descr != null && urlLink.getRegexReplace() != null)\r
-          {\r
-            // create link for this URL from description where regex matches\r
-            String[] urls = urlLink.makeUrls(descr, true);\r
-            if (urls != null)\r
-            {\r
-              for (int u = 0; u < urls.length; u += 2)\r
-              {\r
-                if (!linkset.contains(urls[u] + "|" + urls[u + 1]))\r
-                {\r
-                  linkset.addElement(urls[u] + "|" + urls[u + 1]);\r
-                  addshowLink(linkMenu, label, urls[u + 1]);\r
-                }\r
-              }\r
-            }\r
-          }\r
-        }\r
-        else\r
-        {\r
-          if (!linkset.contains(label + "|" + urlLink.getUrl_prefix()))\r
-          {\r
-            linkset.addElement(label + "|" + urlLink.getUrl_prefix());\r
-            // Add a non-dynamic link\r
-            addshowLink(linkMenu, label, urlLink.getUrl_prefix());\r
-          }\r
-        }\r
-      }\r
-      if (sequence != null)\r
-      {\r
-        sequenceMenu.add(linkMenu);\r
-      }\r
-      else\r
-      {\r
-        add(linkMenu);\r
-      }\r
-    }\r
-  }\r
-\r
-  private void buildGroupURLMenu(SequenceGroup sg, Vector groupLinks)\r
-  {\r
-\r
-    // TODO: usability: thread off the generation of group url content so root\r
-    // menu appears asap\r
-    // sequence only URLs\r
-    // ID/regex match URLs\r
+      Vector linkset = new Vector();
+      for (int i = 0; i < links.size(); i++)
+      {
+        String link = links.elementAt(i).toString();
+        UrlLink urlLink = null;
+        try
+        {
+          urlLink = new UrlLink(link);
+        } catch (Exception foo)
+        {
+          jalview.bin.Cache.log.error("Exception for URLLink '" + link
+                  + "'", foo);
+          continue;
+        }
+        ;
+        if (!urlLink.isValid())
+        {
+          jalview.bin.Cache.log.error(urlLink.getInvalidMessage());
+          continue;
+        }
+        final String label = urlLink.getLabel();
+        if (seq != null && urlLink.isDynamic())
+        {
+
+          // collect matching db-refs
+          DBRefEntry[] dbr = jalview.util.DBRefUtils.selectRefs(
+                  seq.getDBRef(), new String[]
+                  { urlLink.getTarget() });
+          // collect id string too
+          String id = seq.getName();
+          String descr = seq.getDescription();
+          if (descr != null && descr.length() < 1)
+          {
+            descr = null;
+          }
+
+          if (dbr != null)
+          {
+            for (int r = 0; r < dbr.length; r++)
+            {
+              if (id != null && dbr[r].getAccessionId().equals(id))
+              {
+                // suppress duplicate link creation for the bare sequence ID
+                // string with this link
+                id = null;
+              }
+              // create Bare ID link for this RUL
+              String[] urls = urlLink.makeUrls(dbr[r].getAccessionId(),
+                      true);
+              if (urls != null)
+              {
+                for (int u = 0; u < urls.length; u += 2)
+                {
+                  if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
+                  {
+                    linkset.addElement(urls[u] + "|" + urls[u + 1]);
+                    addshowLink(linkMenu, label + "|" + urls[u],
+                            urls[u + 1]);
+                  }
+                }
+              }
+            }
+          }
+          if (id != null)
+          {
+            // create Bare ID link for this RUL
+            String[] urls = urlLink.makeUrls(id, true);
+            if (urls != null)
+            {
+              for (int u = 0; u < urls.length; u += 2)
+              {
+                if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
+                {
+                  linkset.addElement(urls[u] + "|" + urls[u + 1]);
+                  addshowLink(linkMenu, label, urls[u + 1]);
+                }
+              }
+            }
+          }
+          // Create urls from description but only for URL links which are regex
+          // links
+          if (descr != null && urlLink.getRegexReplace() != null)
+          {
+            // create link for this URL from description where regex matches
+            String[] urls = urlLink.makeUrls(descr, true);
+            if (urls != null)
+            {
+              for (int u = 0; u < urls.length; u += 2)
+              {
+                if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
+                {
+                  linkset.addElement(urls[u] + "|" + urls[u + 1]);
+                  addshowLink(linkMenu, label, urls[u + 1]);
+                }
+              }
+            }
+          }
+        }
+        else
+        {
+          if (!linkset.contains(label + "|" + urlLink.getUrl_prefix()))
+          {
+            linkset.addElement(label + "|" + urlLink.getUrl_prefix());
+            // Add a non-dynamic link
+            addshowLink(linkMenu, label, urlLink.getUrl_prefix());
+          }
+        }
+      }
+      if (sequence != null)
+      {
+        sequenceMenu.add(linkMenu);
+      }
+      else
+      {
+        add(linkMenu);
+      }
+    }
+  }
+
+  private void buildGroupURLMenu(SequenceGroup sg, Vector groupLinks)
+  {
+
+    // TODO: usability: thread off the generation of group url content so root
+    // menu appears asap
+    // sequence only URLs
+    // ID/regex match URLs
     groupLinksMenu = new JMenu(MessageManager.getString("action.group_link"));\r
-    JMenu[] linkMenus = new JMenu[]\r
+    JMenu[] linkMenus = new JMenu[]
     { null, new JMenu(MessageManager.getString("action.ids")), new JMenu(MessageManager.getString("action.sequences")),\r
         new JMenu(MessageManager.getString("action.ids_sequences")) }; // three types of url that might be\r
-                                          // created.\r
-    SequenceI[] seqs = ap.av.getSelectionAsNewSequence();\r
-    String[][] idandseqs = GroupUrlLink.formStrings(seqs);\r
-    Hashtable commonDbrefs = new Hashtable();\r
-    for (int sq = 0; sq < seqs.length; sq++)\r
-    {\r
-\r
-      int start = seqs[sq].findPosition(sg.getStartRes()), end = seqs[sq]\r
-              .findPosition(sg.getEndRes());\r
-      // just collect ids from dataset sequence\r
-      // TODO: check if IDs collected from selecton group intersects with the\r
-      // current selection, too\r
-      SequenceI sqi = seqs[sq];\r
-      while (sqi.getDatasetSequence() != null)\r
-      {\r
-        sqi = sqi.getDatasetSequence();\r
-      }\r
-      DBRefEntry[] dbr = sqi.getDBRef();\r
-      if (dbr != null && dbr.length > 0)\r
-      {\r
-        for (int d = 0; d < dbr.length; d++)\r
-        {\r
-          String src = dbr[d].getSource(); // jalview.util.DBRefUtils.getCanonicalName(dbr[d].getSource()).toUpperCase();\r
-          Object[] sarray = (Object[]) commonDbrefs.get(src);\r
-          if (sarray == null)\r
-          {\r
-            sarray = new Object[2];\r
-            sarray[0] = new int[]\r
-            { 0 };\r
-            sarray[1] = new String[seqs.length];\r
-\r
-            commonDbrefs.put(src, sarray);\r
-          }\r
-\r
-          if (((String[]) sarray[1])[sq] == null)\r
-          {\r
-            if (!dbr[d].hasMap()\r
-                    || (dbr[d].getMap().locateMappedRange(start, end) != null))\r
-            {\r
-              ((String[]) sarray[1])[sq] = dbr[d].getAccessionId();\r
-              ((int[]) sarray[0])[0]++;\r
-            }\r
-          }\r
-        }\r
-      }\r
-    }\r
-    // now create group links for all distinct ID/sequence sets.\r
-    boolean addMenu = false; // indicates if there are any group links to give\r
-                             // to user\r
-    for (int i = 0; i < groupLinks.size(); i++)\r
-    {\r
-      String link = groupLinks.elementAt(i).toString();\r
-      GroupUrlLink urlLink = null;\r
-      try\r
-      {\r
-        urlLink = new GroupUrlLink(link);\r
-      } catch (Exception foo)\r
-      {\r
-        jalview.bin.Cache.log.error("Exception for GroupURLLink '" + link\r
-                + "'", foo);\r
-        continue;\r
-      }\r
-      ;\r
-      if (!urlLink.isValid())\r
-      {\r
-        jalview.bin.Cache.log.error(urlLink.getInvalidMessage());\r
-        continue;\r
-      }\r
-      final String label = urlLink.getLabel();\r
-      boolean usingNames = false;\r
-      // Now see which parts of the group apply for this URL\r
-      String ltarget = urlLink.getTarget(); // jalview.util.DBRefUtils.getCanonicalName(urlLink.getTarget());\r
-      Object[] idset = (Object[]) commonDbrefs.get(ltarget.toUpperCase());\r
-      String[] seqstr, ids; // input to makeUrl\r
-      if (idset != null)\r
-      {\r
-        int numinput = ((int[]) idset[0])[0];\r
-        String[] allids = ((String[]) idset[1]);\r
-        seqstr = new String[numinput];\r
-        ids = new String[numinput];\r
-        for (int sq = 0, idcount = 0; sq < seqs.length; sq++)\r
-        {\r
-          if (allids[sq] != null)\r
-          {\r
-            ids[idcount] = allids[sq];\r
-            seqstr[idcount++] = idandseqs[1][sq];\r
-          }\r
-        }\r
-      }\r
-      else\r
-      {\r
-        // just use the id/seq set\r
-        seqstr = idandseqs[1];\r
-        ids = idandseqs[0];\r
-        usingNames = true;\r
-      }\r
-      // and try and make the groupURL!\r
-\r
-      Object[] urlset = null;\r
-      try\r
-      {\r
-        urlset = urlLink.makeUrlStubs(ids, seqstr,\r
-                "FromJalview" + System.currentTimeMillis(), false);\r
-      } catch (UrlStringTooLongException e)\r
-      {\r
-      }\r
-      if (urlset != null)\r
-      {\r
-        int type = urlLink.getGroupURLType() & 3;\r
-        // System.out.println(urlLink.getGroupURLType()\r
-        // +" "+((String[])urlset[3])[0]);\r
-        // first two bits ofurlLink type bitfield are sequenceids and sequences\r
-        // TODO: FUTURE: ensure the groupURL menu structure can be generalised\r
-        addshowLink(linkMenus[type], label\r
-                + (((type & 1) == 1) ? ("("\r
-                        + (usingNames ? "Names" : ltarget) + ")") : ""),\r
-                urlLink, urlset);\r
-        addMenu = true;\r
-      }\r
-    }\r
-    if (addMenu)\r
-    {\r
+                                          // created.
+    SequenceI[] seqs = ap.av.getSelectionAsNewSequence();
+    String[][] idandseqs = GroupUrlLink.formStrings(seqs);
+    Hashtable commonDbrefs = new Hashtable();
+    for (int sq = 0; sq < seqs.length; sq++)
+    {
+
+      int start = seqs[sq].findPosition(sg.getStartRes()), end = seqs[sq]
+              .findPosition(sg.getEndRes());
+      // just collect ids from dataset sequence
+      // TODO: check if IDs collected from selecton group intersects with the
+      // current selection, too
+      SequenceI sqi = seqs[sq];
+      while (sqi.getDatasetSequence() != null)
+      {
+        sqi = sqi.getDatasetSequence();
+      }
+      DBRefEntry[] dbr = sqi.getDBRef();
+      if (dbr != null && dbr.length > 0)
+      {
+        for (int d = 0; d < dbr.length; d++)
+        {
+          String src = dbr[d].getSource(); // jalview.util.DBRefUtils.getCanonicalName(dbr[d].getSource()).toUpperCase();
+          Object[] sarray = (Object[]) commonDbrefs.get(src);
+          if (sarray == null)
+          {
+            sarray = new Object[2];
+            sarray[0] = new int[]
+            { 0 };
+            sarray[1] = new String[seqs.length];
+
+            commonDbrefs.put(src, sarray);
+          }
+
+          if (((String[]) sarray[1])[sq] == null)
+          {
+            if (!dbr[d].hasMap()
+                    || (dbr[d].getMap().locateMappedRange(start, end) != null))
+            {
+              ((String[]) sarray[1])[sq] = dbr[d].getAccessionId();
+              ((int[]) sarray[0])[0]++;
+            }
+          }
+        }
+      }
+    }
+    // now create group links for all distinct ID/sequence sets.
+    boolean addMenu = false; // indicates if there are any group links to give
+                             // to user
+    for (int i = 0; i < groupLinks.size(); i++)
+    {
+      String link = groupLinks.elementAt(i).toString();
+      GroupUrlLink urlLink = null;
+      try
+      {
+        urlLink = new GroupUrlLink(link);
+      } catch (Exception foo)
+      {
+        jalview.bin.Cache.log.error("Exception for GroupURLLink '" + link
+                + "'", foo);
+        continue;
+      }
+      ;
+      if (!urlLink.isValid())
+      {
+        jalview.bin.Cache.log.error(urlLink.getInvalidMessage());
+        continue;
+      }
+      final String label = urlLink.getLabel();
+      boolean usingNames = false;
+      // Now see which parts of the group apply for this URL
+      String ltarget = urlLink.getTarget(); // jalview.util.DBRefUtils.getCanonicalName(urlLink.getTarget());
+      Object[] idset = (Object[]) commonDbrefs.get(ltarget.toUpperCase());
+      String[] seqstr, ids; // input to makeUrl
+      if (idset != null)
+      {
+        int numinput = ((int[]) idset[0])[0];
+        String[] allids = ((String[]) idset[1]);
+        seqstr = new String[numinput];
+        ids = new String[numinput];
+        for (int sq = 0, idcount = 0; sq < seqs.length; sq++)
+        {
+          if (allids[sq] != null)
+          {
+            ids[idcount] = allids[sq];
+            seqstr[idcount++] = idandseqs[1][sq];
+          }
+        }
+      }
+      else
+      {
+        // just use the id/seq set
+        seqstr = idandseqs[1];
+        ids = idandseqs[0];
+        usingNames = true;
+      }
+      // and try and make the groupURL!
+
+      Object[] urlset = null;
+      try
+      {
+        urlset = urlLink.makeUrlStubs(ids, seqstr,
+                "FromJalview" + System.currentTimeMillis(), false);
+      } catch (UrlStringTooLongException e)
+      {
+      }
+      if (urlset != null)
+      {
+        int type = urlLink.getGroupURLType() & 3;
+        // System.out.println(urlLink.getGroupURLType()
+        // +" "+((String[])urlset[3])[0]);
+        // first two bits ofurlLink type bitfield are sequenceids and sequences
+        // TODO: FUTURE: ensure the groupURL menu structure can be generalised
+        addshowLink(linkMenus[type], label
+                + (((type & 1) == 1) ? ("("
+                        + (usingNames ? "Names" : ltarget) + ")") : ""),
+                urlLink, urlset);
+        addMenu = true;
+      }
+    }
+    if (addMenu)
+    {
       groupLinksMenu = new JMenu(MessageManager.getString("action.group_link"));\r
-      for (int m = 0; m < linkMenus.length; m++)\r
-      {\r
-        if (linkMenus[m] != null\r
-                && linkMenus[m].getMenuComponentCount() > 0)\r
-        {\r
-          groupLinksMenu.add(linkMenus[m]);\r
-        }\r
-      }\r
-\r
-      groupMenu.add(groupLinksMenu);\r
-    }\r
-  }\r
-\r
-  /**\r
-   * add a show URL menu item to the given linkMenu\r
-   * \r
-   * @param linkMenu\r
-   * @param label\r
-   *          - menu label string\r
-   * @param url\r
-   *          - url to open\r
-   */\r
-  private void addshowLink(JMenu linkMenu, String label, final String url)\r
-  {\r
-    JMenuItem item = new JMenuItem(label);\r
+      for (int m = 0; m < linkMenus.length; m++)
+      {
+        if (linkMenus[m] != null
+                && linkMenus[m].getMenuComponentCount() > 0)
+        {
+          groupLinksMenu.add(linkMenus[m]);
+        }
+      }
+
+      groupMenu.add(groupLinksMenu);
+    }
+  }
+
+  /**
+   * add a show URL menu item to the given linkMenu
+   * 
+   * @param linkMenu
+   * @param label
+   *          - menu label string
+   * @param url
+   *          - url to open
+   */
+  private void addshowLink(JMenu linkMenu, String label, final String url)
+  {
+    JMenuItem item = new JMenuItem(label);
     item.setToolTipText(MessageManager.formatMessage("label.open_url_param", new String[]{url}));\r
-    item.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        new Thread(new Runnable()\r
-        {\r
-\r
-          public void run()\r
-          {\r
-            showLink(url);\r
-          }\r
-\r
-        }).start();\r
-      }\r
-    });\r
-\r
-    linkMenu.add(item);\r
-  }\r
-\r
-  /**\r
-   * add a late bound groupURL item to the given linkMenu\r
-   * \r
-   * @param linkMenu\r
-   * @param label\r
-   *          - menu label string\r
-   * @param urlgenerator\r
-   *          GroupURLLink used to generate URL\r
-   * @param urlstub\r
-   *          Object array returned from the makeUrlStubs function.\r
-   */\r
-  private void addshowLink(JMenu linkMenu, String label,\r
-          final GroupUrlLink urlgenerator, final Object[] urlstub)\r
-  {\r
-    JMenuItem item = new JMenuItem(label);\r
+    item.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        new Thread(new Runnable()
+        {
+
+          public void run()
+          {
+            showLink(url);
+          }
+
+        }).start();
+      }
+    });
+
+    linkMenu.add(item);
+  }
+
+  /**
+   * add a late bound groupURL item to the given linkMenu
+   * 
+   * @param linkMenu
+   * @param label
+   *          - menu label string
+   * @param urlgenerator
+   *          GroupURLLink used to generate URL
+   * @param urlstub
+   *          Object array returned from the makeUrlStubs function.
+   */
+  private void addshowLink(JMenu linkMenu, String label,
+          final GroupUrlLink urlgenerator, final Object[] urlstub)
+  {
+    JMenuItem item = new JMenuItem(label);
     item.setToolTipText(MessageManager.formatMessage("label.open_url_seqs_param", new Object[]{urlgenerator.getUrl_prefix(),urlgenerator.getNumberInvolved(urlstub)}));\r
     // TODO: put in info about what is being sent.\r
-    item.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        new Thread(new Runnable()\r
-        {\r
-\r
-          public void run()\r
-          {\r
-            try\r
-            {\r
-              showLink(urlgenerator.constructFrom(urlstub));\r
-            } catch (UrlStringTooLongException e)\r
-            {\r
-            }\r
-          }\r
-\r
-        }).start();\r
-      }\r
-    });\r
-\r
-    linkMenu.add(item);\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @throws Exception\r
-   *           DOCUMENT ME!\r
-   */\r
-  private void jbInit() throws Exception\r
-  {\r
+    item.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        new Thread(new Runnable()
+        {
+
+          public void run()
+          {
+            try
+            {
+              showLink(urlgenerator.constructFrom(urlstub));
+            } catch (UrlStringTooLongException e)
+            {
+            }
+          }
+
+        }).start();
+      }
+    });
+
+    linkMenu.add(item);
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @throws Exception
+   *           DOCUMENT ME!
+   */
+  private void jbInit() throws Exception
+  {
     groupMenu.setText(MessageManager.getString("label.group"));\r
     groupMenu.setText(MessageManager.getString("label.selection"));\r
     groupName.setText(MessageManager.getString("label.name"));\r
-    groupName.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        groupName_actionPerformed();\r
-      }\r
-    });\r
+    groupName.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        groupName_actionPerformed();
+      }
+    });
     sequenceMenu.setText(MessageManager.getString("label.sequence"));\r
     sequenceName.setText(MessageManager.getString("label.edit_name_description"));\r
-    sequenceName.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        sequenceName_actionPerformed();\r
-      }\r
-    });\r
+    sequenceName.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        sequenceName_actionPerformed();
+      }
+    });
     sequenceDetails.setText(MessageManager.getString("label.sequence_details") + "...");\r
-    sequenceDetails.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        sequenceDetails_actionPerformed();\r
-      }\r
-    });\r
+    sequenceDetails.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        sequenceDetails_actionPerformed();
+      }
+    });
     sequenceSelDetails.setText(MessageManager.getString("label.sequence_details") + "...");\r
-    sequenceSelDetails\r
-            .addActionListener(new java.awt.event.ActionListener()\r
-            {\r
-              public void actionPerformed(ActionEvent e)\r
-              {\r
-                sequenceSelectionDetails_actionPerformed();\r
-              }\r
-            });\r
-    PIDColour.setFocusPainted(false);\r
+    sequenceSelDetails
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                sequenceSelectionDetails_actionPerformed();
+              }
+            });
+    PIDColour.setFocusPainted(false);
     unGroupMenuItem.setText(MessageManager.getString("action.remove_group"));\r
-    unGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        unGroupMenuItem_actionPerformed();\r
-      }\r
-    });\r
+    unGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        unGroupMenuItem_actionPerformed();
+      }
+    });
     createGroupMenuItem.setText(MessageManager.getString("action.create_group"));\r
-    createGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        createGroupMenuItem_actionPerformed();\r
-      }\r
-    });\r
-\r
+    createGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        createGroupMenuItem_actionPerformed();
+      }
+    });
+
     outline.setText(MessageManager.getString("action.border_colour"));\r
-    outline.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        outline_actionPerformed();\r
-      }\r
-    });\r
+    outline.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        outline_actionPerformed();
+      }
+    });
     nucleotideMenuItem.setText(MessageManager.getString("label.nucleotide"));\r
-    nucleotideMenuItem.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        nucleotideMenuItem_actionPerformed();\r
-      }\r
-    });\r
+    nucleotideMenuItem.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        nucleotideMenuItem_actionPerformed();
+      }
+    });
     colourMenu.setText(MessageManager.getString("label.group_colour"));\r
     showBoxes.setText(MessageManager.getString("action.boxes"));\r
-    showBoxes.setState(true);\r
-    showBoxes.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        showBoxes_actionPerformed();\r
-      }\r
-    });\r
+    showBoxes.setState(true);
+    showBoxes.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showBoxes_actionPerformed();
+      }
+    });
     showText.setText(MessageManager.getString("action.text"));\r
-    showText.setState(true);\r
-    showText.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        showText_actionPerformed();\r
-      }\r
-    });\r
+    showText.setState(true);
+    showText.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showText_actionPerformed();
+      }
+    });
     showColourText.setText(MessageManager.getString("label.colour_text"));\r
-    showColourText.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        showColourText_actionPerformed();\r
-      }\r
-    });\r
+    showColourText.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showColourText_actionPerformed();
+      }
+    });
     displayNonconserved.setText(MessageManager.getString("label.show_non_conversed"));\r
-    displayNonconserved.setState(true);\r
-    displayNonconserved.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        showNonconserved_actionPerformed();\r
-      }\r
-    });\r
+    displayNonconserved.setState(true);
+    displayNonconserved.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        showNonconserved_actionPerformed();
+      }
+    });
     editMenu.setText(MessageManager.getString("action.edit"));\r
     cut.setText(MessageManager.getString("action.cut"));\r
-    cut.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        cut_actionPerformed();\r
-      }\r
-    });\r
+    cut.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        cut_actionPerformed();
+      }
+    });
     upperCase.setText(MessageManager.getString("label.to_upper_case"));\r
-    upperCase.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        changeCase(e);\r
-      }\r
-    });\r
+    upperCase.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        changeCase(e);
+      }
+    });
     copy.setText(MessageManager.getString("action.copy"));\r
-    copy.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        copy_actionPerformed();\r
-      }\r
-    });\r
+    copy.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        copy_actionPerformed();
+      }
+    });
     lowerCase.setText(MessageManager.getString("label.to_lower_case"));\r
-    lowerCase.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        changeCase(e);\r
-      }\r
-    });\r
+    lowerCase.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        changeCase(e);
+      }
+    });
     toggle.setText(MessageManager.getString("label.toggle_case"));\r
-    toggle.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        changeCase(e);\r
-      }\r
-    });\r
+    toggle.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        changeCase(e);
+      }
+    });
     pdbMenu.setText(MessageManager.getString("label.associate_structure_with_sequence"));\r
     pdbFromFile.setText(MessageManager.getString("label.from_file"));\r
-    pdbFromFile.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        pdbFromFile_actionPerformed();\r
-      }\r
-    });\r
+    pdbFromFile.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        pdbFromFile_actionPerformed();
+      }
+    });
     enterPDB.setText(MessageManager.getString("label.enter_pdb_id"));\r
-    enterPDB.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        enterPDB_actionPerformed();\r
-      }\r
-    });\r
+    enterPDB.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        enterPDB_actionPerformed();
+      }
+    });
     discoverPDB.setText(MessageManager.getString("label.discover_pdb_ids"));\r
-    discoverPDB.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        discoverPDB_actionPerformed();\r
-      }\r
-    });\r
+    discoverPDB.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        discoverPDB_actionPerformed();
+      }
+    });
     outputMenu.setText(MessageManager.getString("label.out_to_textbox") + "...");\r
     sequenceFeature.setText(MessageManager.getString("label.create_sequence_feature"));\r
-    sequenceFeature.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        sequenceFeature_actionPerformed();\r
-      }\r
-    });\r
+    sequenceFeature.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        sequenceFeature_actionPerformed();
+      }
+    });
     textColour.setText(MessageManager.getString("label.text_colour"));\r
-    textColour.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        textColour_actionPerformed();\r
-      }\r
-    });\r
+    textColour.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        textColour_actionPerformed();
+      }
+    });
     jMenu1.setText(MessageManager.getString("label.group"));\r
     structureMenu.setText(MessageManager.getString("label.structure"));\r
     viewStructureMenu.setText(MessageManager.getString("label.view_structure"));\r
-    // colStructureMenu.setText("Colour By Structure");\r
+    // colStructureMenu.setText("Colour By Structure");
     editSequence.setText(MessageManager.getString("label.edit_sequence") + "...");\r
-    editSequence.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent actionEvent)\r
-      {\r
-        editSequence_actionPerformed(actionEvent);\r
-      }\r
-    });\r
-\r
-    /*\r
-     * annotationMenuItem.setText("By Annotation");\r
-     * annotationMenuItem.addActionListener(new ActionListener() { public void\r
-     * actionPerformed(ActionEvent actionEvent) {\r
-     * annotationMenuItem_actionPerformed(actionEvent); } });\r
-     */\r
-    groupMenu.add(sequenceSelDetails);\r
-    add(groupMenu);\r
-    add(sequenceMenu);\r
-    this.add(structureMenu);\r
-    groupMenu.add(editMenu);\r
-    groupMenu.add(outputMenu);\r
-    groupMenu.add(sequenceFeature);\r
-    groupMenu.add(createGroupMenuItem);\r
-    groupMenu.add(unGroupMenuItem);\r
-    groupMenu.add(jMenu1);\r
-    sequenceMenu.add(sequenceName);\r
-    sequenceMenu.add(sequenceDetails);\r
-    colourMenu.add(textColour);\r
-    colourMenu.add(noColourmenuItem);\r
-    colourMenu.add(clustalColour);\r
-    colourMenu.add(BLOSUM62Colour);\r
-    colourMenu.add(PIDColour);\r
-    colourMenu.add(zappoColour);\r
-    colourMenu.add(taylorColour);\r
-    colourMenu.add(hydrophobicityColour);\r
-    colourMenu.add(helixColour);\r
-    colourMenu.add(strandColour);\r
-    colourMenu.add(turnColour);\r
-    colourMenu.add(buriedColour);\r
-    colourMenu.add(nucleotideMenuItem);\r
-    if (ap.getAlignment().isNucleotide())\r
-    {\r
-      colourMenu.add(purinePyrimidineColour);\r
-    }\r
-    // colourMenu.add(covariationColour);\r
-    colourMenu.add(userDefinedColour);\r
-\r
-    if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)\r
-    {\r
-      java.util.Enumeration userColours = jalview.gui.UserDefinedColours\r
-              .getUserColourSchemes().keys();\r
-\r
-      while (userColours.hasMoreElements())\r
-      {\r
-        JMenuItem item = new JMenuItem(userColours.nextElement().toString());\r
-        item.addActionListener(new ActionListener()\r
-        {\r
-          public void actionPerformed(ActionEvent evt)\r
-          {\r
-            userDefinedColour_actionPerformed(evt);\r
-          }\r
-        });\r
-        colourMenu.add(item);\r
-      }\r
-    }\r
-\r
-    colourMenu.addSeparator();\r
-    colourMenu.add(abovePIDColour);\r
-    colourMenu.add(conservationMenuItem);\r
-    // colourMenu.add(annotationMenuItem);\r
-    editMenu.add(copy);\r
-    editMenu.add(cut);\r
-    editMenu.add(editSequence);\r
-    editMenu.add(upperCase);\r
-    editMenu.add(lowerCase);\r
-    editMenu.add(toggle);\r
-    pdbMenu.add(pdbFromFile);\r
-    pdbMenu.add(enterPDB);\r
-    pdbMenu.add(discoverPDB);\r
-    jMenu1.add(groupName);\r
-    jMenu1.add(colourMenu);\r
-    jMenu1.add(showBoxes);\r
-    jMenu1.add(showText);\r
-    jMenu1.add(showColourText);\r
-    jMenu1.add(outline);\r
-    jMenu1.add(displayNonconserved);\r
-    structureMenu.add(pdbMenu);\r
-    structureMenu.add(viewStructureMenu);\r
-    // structureMenu.add(colStructureMenu);\r
+    editSequence.addActionListener(new ActionListener()
+    {
+      public void actionPerformed(ActionEvent actionEvent)
+      {
+        editSequence_actionPerformed(actionEvent);
+      }
+    });
+
+    /*
+     * annotationMenuItem.setText("By Annotation");
+     * annotationMenuItem.addActionListener(new ActionListener() { public void
+     * actionPerformed(ActionEvent actionEvent) {
+     * annotationMenuItem_actionPerformed(actionEvent); } });
+     */
+    groupMenu.add(sequenceSelDetails);
+    add(groupMenu);
+    add(sequenceMenu);
+    this.add(structureMenu);
+    groupMenu.add(editMenu);
+    groupMenu.add(outputMenu);
+    groupMenu.add(sequenceFeature);
+    groupMenu.add(createGroupMenuItem);
+    groupMenu.add(unGroupMenuItem);
+    groupMenu.add(jMenu1);
+    sequenceMenu.add(sequenceName);
+    sequenceMenu.add(sequenceDetails);
+    colourMenu.add(textColour);
+    colourMenu.add(noColourmenuItem);
+    colourMenu.add(clustalColour);
+    colourMenu.add(BLOSUM62Colour);
+    colourMenu.add(PIDColour);
+    colourMenu.add(zappoColour);
+    colourMenu.add(taylorColour);
+    colourMenu.add(hydrophobicityColour);
+    colourMenu.add(helixColour);
+    colourMenu.add(strandColour);
+    colourMenu.add(turnColour);
+    colourMenu.add(buriedColour);
+    colourMenu.add(nucleotideMenuItem);
+    if (ap.getAlignment().isNucleotide())
+    {
+      colourMenu.add(purinePyrimidineColour);
+    }
+    // colourMenu.add(covariationColour);
+    colourMenu.add(userDefinedColour);
+
+    if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
+    {
+      java.util.Enumeration userColours = jalview.gui.UserDefinedColours
+              .getUserColourSchemes().keys();
+
+      while (userColours.hasMoreElements())
+      {
+        JMenuItem item = new JMenuItem(userColours.nextElement().toString());
+        item.addActionListener(new ActionListener()
+        {
+          public void actionPerformed(ActionEvent evt)
+          {
+            userDefinedColour_actionPerformed(evt);
+          }
+        });
+        colourMenu.add(item);
+      }
+    }
+
+    colourMenu.addSeparator();
+    colourMenu.add(abovePIDColour);
+    colourMenu.add(conservationMenuItem);
+    // colourMenu.add(annotationMenuItem);
+    editMenu.add(copy);
+    editMenu.add(cut);
+    editMenu.add(editSequence);
+    editMenu.add(upperCase);
+    editMenu.add(lowerCase);
+    editMenu.add(toggle);
+    pdbMenu.add(pdbFromFile);
+    pdbMenu.add(enterPDB);
+    pdbMenu.add(discoverPDB);
+    jMenu1.add(groupName);
+    jMenu1.add(colourMenu);
+    jMenu1.add(showBoxes);
+    jMenu1.add(showText);
+    jMenu1.add(showColourText);
+    jMenu1.add(outline);
+    jMenu1.add(displayNonconserved);
+    structureMenu.add(pdbMenu);
+    structureMenu.add(viewStructureMenu);
+    // structureMenu.add(colStructureMenu);
     noColourmenuItem.setText(MessageManager.getString("label.none"));\r
-    noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        noColourmenuItem_actionPerformed();\r
-      }\r
-    });\r
-\r
+    noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        noColourmenuItem_actionPerformed();
+      }
+    });
+
     clustalColour.setText(MessageManager.getString("label.clustalx_colours"));\r
-    clustalColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        clustalColour_actionPerformed();\r
-      }\r
-    });\r
+    clustalColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        clustalColour_actionPerformed();
+      }
+    });
     zappoColour.setText(MessageManager.getString("label.zappo"));\r
-    zappoColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        zappoColour_actionPerformed();\r
-      }\r
-    });\r
+    zappoColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        zappoColour_actionPerformed();
+      }
+    });
     taylorColour.setText(MessageManager.getString("label.taylor"));\r
-    taylorColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        taylorColour_actionPerformed();\r
-      }\r
-    });\r
+    taylorColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        taylorColour_actionPerformed();
+      }
+    });
     hydrophobicityColour.setText(MessageManager.getString("label.hydrophobicity"));\r
-    hydrophobicityColour\r
-            .addActionListener(new java.awt.event.ActionListener()\r
-            {\r
-              public void actionPerformed(ActionEvent e)\r
-              {\r
-                hydrophobicityColour_actionPerformed();\r
-              }\r
-            });\r
+    hydrophobicityColour
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                hydrophobicityColour_actionPerformed();
+              }
+            });
     helixColour.setText(MessageManager.getString("label.helix_propensity"));\r
-    helixColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        helixColour_actionPerformed();\r
-      }\r
-    });\r
+    helixColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        helixColour_actionPerformed();
+      }
+    });
     strandColour.setText(MessageManager.getString("label.strand_propensity"));\r
-    strandColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        strandColour_actionPerformed();\r
-      }\r
-    });\r
+    strandColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        strandColour_actionPerformed();
+      }
+    });
     turnColour.setText(MessageManager.getString("label.turn_propensity"));\r
-    turnColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        turnColour_actionPerformed();\r
-      }\r
-    });\r
+    turnColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        turnColour_actionPerformed();
+      }
+    });
     buriedColour.setText(MessageManager.getString("label.buried_index"));\r
-    buriedColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        buriedColour_actionPerformed();\r
-      }\r
-    });\r
+    buriedColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        buriedColour_actionPerformed();
+      }
+    });
     abovePIDColour.setText(MessageManager.getString("label.above_identity_percentage"));\r
-    abovePIDColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        abovePIDColour_actionPerformed();\r
-      }\r
-    });\r
+    abovePIDColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        abovePIDColour_actionPerformed();
+      }
+    });
     userDefinedColour.setText(MessageManager.getString("action.user_defined"));\r
-    userDefinedColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        userDefinedColour_actionPerformed(e);\r
-      }\r
-    });\r
+    userDefinedColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        userDefinedColour_actionPerformed(e);
+      }
+    });
     PIDColour.setText(MessageManager.getString("label.percentage_identity"));\r
-    PIDColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        PIDColour_actionPerformed();\r
-      }\r
-    });\r
+    PIDColour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        PIDColour_actionPerformed();
+      }
+    });
     BLOSUM62Colour.setText(MessageManager.getString("label.blosum62"));\r
-    BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        BLOSUM62Colour_actionPerformed();\r
-      }\r
-    });\r
+    BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
+    {
+      public void actionPerformed(ActionEvent e)
+      {
+        BLOSUM62Colour_actionPerformed();
+      }
+    });
     purinePyrimidineColour.setText(MessageManager.getString("label.purine_pyrimidine"));\r
-    purinePyrimidineColour\r
-            .addActionListener(new java.awt.event.ActionListener()\r
-            {\r
-              public void actionPerformed(ActionEvent e)\r
-              {\r
-                purinePyrimidineColour_actionPerformed();\r
-              }\r
-            });\r
-    /*\r
-     * covariationColour.addActionListener(new java.awt.event.ActionListener() {\r
-     * public void actionPerformed(ActionEvent e) {\r
-     * covariationColour_actionPerformed(); } });\r
-     */\r
-\r
+    purinePyrimidineColour
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                purinePyrimidineColour_actionPerformed();
+              }
+            });
+    /*
+     * covariationColour.addActionListener(new java.awt.event.ActionListener() {
+     * public void actionPerformed(ActionEvent e) {
+     * covariationColour_actionPerformed(); } });
+     */
+
     conservationMenuItem.setText(MessageManager.getString("label.conservation"));\r
-    conservationMenuItem\r
-            .addActionListener(new java.awt.event.ActionListener()\r
-            {\r
-              public void actionPerformed(ActionEvent e)\r
-              {\r
-                conservationMenuItem_actionPerformed();\r
-              }\r
-            });\r
-  }\r
-\r
-  protected void sequenceSelectionDetails_actionPerformed()\r
-  {\r
-    createSequenceDetailsReport(ap.av.getSequenceSelection());\r
-  }\r
-\r
-  protected void sequenceDetails_actionPerformed()\r
-  {\r
-    createSequenceDetailsReport(new SequenceI[]\r
-    { sequence });\r
-  }\r
-\r
-  public void createSequenceDetailsReport(SequenceI[] sequences)\r
-  {\r
-    CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();\r
-    StringBuffer contents = new StringBuffer();\r
-    for (SequenceI seq : sequences)\r
-    {          \r
+    conservationMenuItem
+            .addActionListener(new java.awt.event.ActionListener()
+            {
+              public void actionPerformed(ActionEvent e)
+              {
+                conservationMenuItem_actionPerformed();
+              }
+            });
+  }
+
+  protected void sequenceSelectionDetails_actionPerformed()
+  {
+    createSequenceDetailsReport(ap.av.getSequenceSelection());
+  }
+
+  protected void sequenceDetails_actionPerformed()
+  {
+    createSequenceDetailsReport(new SequenceI[]
+    { sequence });
+  }
+
+  public void createSequenceDetailsReport(SequenceI[] sequences)
+  {
+    CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
+    StringBuffer contents = new StringBuffer();
+    for (SequenceI seq : sequences)
+    {
       contents.append("<p><h2>" + MessageManager.formatMessage("label.create_sequence_details_report_annotation_for", new String[]{seq.getDisplayId(true)})\r
-              + "</h2></p><p>");\r
-      new SequenceAnnotationReport(null)\r
-              .createSequenceAnnotationReport(\r
-                      contents,\r
-                      seq,\r
-                      true,\r
-                      true,\r
-                      false,\r
-                      (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax\r
-                              : null);\r
-      contents.append("</p>");\r
-    }\r
-    cap.setText("<html>" + contents.toString() + "</html>");\r
-\r
+              + "</h2></p><p>");
+      new SequenceAnnotationReport(null)
+              .createSequenceAnnotationReport(
+                      contents,
+                      seq,
+                      true,
+                      true,
+                      false,
+                      (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax
+                              : null);
+      contents.append("</p>");
+    }
+    cap.setText("<html>" + contents.toString() + "</html>");
+
     Desktop.instance.addInternalFrame(cap, MessageManager.formatMessage("label.sequece_details_for", (sequences.length == 1 ? new String[]{sequences[0].getDisplayId(true)}: new String[]{MessageManager.getString("label.selection")}))\r
                ,500, 400);\r
-\r
-  }\r
-\r
-  protected void showNonconserved_actionPerformed()\r
-  {\r
-    getGroup().setShowNonconserved(displayNonconserved.isSelected());\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * call to refresh view after settings change\r
-   */\r
-  void refresh()\r
-  {\r
-    ap.updateAnnotation();\r
-    ap.paintAlignment(true);\r
-\r
-    PaintRefresher.Refresh(this, ap.av.getSequenceSetId());\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void clustalColour_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-    sg.cs = new ClustalxColourScheme(sg, ap.av.getHiddenRepSequences());\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void zappoColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new ZappoColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void taylorColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new TaylorColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void hydrophobicityColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new HydrophobicColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void helixColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new HelixColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void strandColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new StrandColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void turnColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new TurnColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void buriedColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new BuriedColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void nucleotideMenuItem_actionPerformed()\r
-  {\r
-    getGroup().cs = new NucleotideColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  protected void purinePyrimidineColour_actionPerformed()\r
-  {\r
-    getGroup().cs = new PurinePyrimidineColourScheme();\r
-    refresh();\r
-  }\r
-\r
-  /*\r
-   * protected void covariationColour_actionPerformed() { getGroup().cs = new\r
-   * CovariationColourScheme(sequence.getAnnotation()[0]); refresh(); }\r
-   */\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void abovePIDColour_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-    if (sg.cs == null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    if (abovePIDColour.isSelected())\r
-    {\r
-      sg.cs.setConsensus(AAFrequency.calculate(\r
-              sg.getSequences(ap.av.getHiddenRepSequences()),\r
-              sg.getStartRes(), sg.getEndRes() + 1));\r
-\r
-      int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup()\r
-              .getName());\r
-\r
-      sg.cs.setThreshold(threshold, ap.av.getIgnoreGapsConsensus());\r
-\r
-      SliderPanel.showPIDSlider();\r
-    }\r
-    else\r
-    // remove PIDColouring\r
-    {\r
-      sg.cs.setThreshold(0, ap.av.getIgnoreGapsConsensus());\r
-    }\r
-\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void userDefinedColour_actionPerformed(ActionEvent e)\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-\r
+
+  }
+
+  protected void showNonconserved_actionPerformed()
+  {
+    getGroup().setShowNonconserved(displayNonconserved.isSelected());
+    refresh();
+  }
+
+  /**
+   * call to refresh view after settings change
+   */
+  void refresh()
+  {
+    ap.updateAnnotation();
+    ap.paintAlignment(true);
+
+    PaintRefresher.Refresh(this, ap.av.getSequenceSetId());
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void clustalColour_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
+    sg.cs = new ClustalxColourScheme(sg, ap.av.getHiddenRepSequences());
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void zappoColour_actionPerformed()
+  {
+    getGroup().cs = new ZappoColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void taylorColour_actionPerformed()
+  {
+    getGroup().cs = new TaylorColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void hydrophobicityColour_actionPerformed()
+  {
+    getGroup().cs = new HydrophobicColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void helixColour_actionPerformed()
+  {
+    getGroup().cs = new HelixColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void strandColour_actionPerformed()
+  {
+    getGroup().cs = new StrandColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void turnColour_actionPerformed()
+  {
+    getGroup().cs = new TurnColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void buriedColour_actionPerformed()
+  {
+    getGroup().cs = new BuriedColourScheme();
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void nucleotideMenuItem_actionPerformed()
+  {
+    getGroup().cs = new NucleotideColourScheme();
+    refresh();
+  }
+
+  protected void purinePyrimidineColour_actionPerformed()
+  {
+    getGroup().cs = new PurinePyrimidineColourScheme();
+    refresh();
+  }
+
+  /*
+   * protected void covariationColour_actionPerformed() { getGroup().cs = new
+   * CovariationColourScheme(sequence.getAnnotation()[0]); refresh(); }
+   */
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void abovePIDColour_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
+    if (sg.cs == null)
+    {
+      return;
+    }
+
+    if (abovePIDColour.isSelected())
+    {
+      sg.cs.setConsensus(AAFrequency.calculate(
+              sg.getSequences(ap.av.getHiddenRepSequences()),
+              sg.getStartRes(), sg.getEndRes() + 1));
+
+      int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup()
+              .getName());
+
+      sg.cs.setThreshold(threshold, ap.av.getIgnoreGapsConsensus());
+
+      SliderPanel.showPIDSlider();
+    }
+    else
+    // remove PIDColouring
+    {
+      sg.cs.setThreshold(0, ap.av.getIgnoreGapsConsensus());
+    }
+
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void userDefinedColour_actionPerformed(ActionEvent e)
+  {
+    SequenceGroup sg = getGroup();
+
     if (e.getSource().equals(userDefinedColour))\r
-    {\r
-      new UserDefinedColours(ap, sg);\r
-    }\r
-    else\r
-    {\r
-      UserColourScheme udc = (UserColourScheme) UserDefinedColours\r
-              .getUserColourSchemes().get(e.getActionCommand());\r
-\r
-      sg.cs = udc;\r
-    }\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void PIDColour_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-    sg.cs = new PIDColourScheme();\r
-    sg.cs.setConsensus(AAFrequency.calculate(\r
-            sg.getSequences(ap.av.getHiddenRepSequences()),\r
-            sg.getStartRes(), sg.getEndRes() + 1));\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void BLOSUM62Colour_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-\r
-    sg.cs = new Blosum62ColourScheme();\r
-\r
-    sg.cs.setConsensus(AAFrequency.calculate(\r
-            sg.getSequences(ap.av.getHiddenRepSequences()),\r
-            sg.getStartRes(), sg.getEndRes() + 1));\r
-\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void noColourmenuItem_actionPerformed()\r
-  {\r
-    getGroup().cs = null;\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void conservationMenuItem_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-    if (sg.cs == null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    if (conservationMenuItem.isSelected())\r
-    {\r
-      Conservation c = new Conservation(MessageManager.getString("label.group"),\r
-              ResidueProperties.propHash, 3, sg.getSequences(ap.av\r
-                      .getHiddenRepSequences()), sg.getStartRes(),\r
-              sg.getEndRes() + 1);\r
-\r
-      c.calculate();\r
-      c.verdict(false, ap.av.getConsPercGaps());\r
-\r
-      sg.cs.setConservation(c);\r
-\r
-      SliderPanel.setConservationSlider(ap, sg.cs, sg.getName());\r
-      SliderPanel.showConservationSlider();\r
-    }\r
-    else\r
-    // remove ConservationColouring\r
-    {\r
-      sg.cs.setConservation(null);\r
-    }\r
-\r
-    refresh();\r
-  }\r
-\r
-  public void annotationMenuItem_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-    if (sg == null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    AnnotationColourGradient acg = new AnnotationColourGradient(\r
-            sequence.getAnnotation()[0], null,\r
-            AnnotationColourGradient.NO_THRESHOLD);\r
-\r
-    acg.setPredefinedColours(true);\r
-    sg.cs = acg;\r
-\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void groupName_actionPerformed()\r
-  {\r
-\r
-    SequenceGroup sg = getGroup();\r
-    EditNameDialog dialog = new EditNameDialog(sg.getName(),\r
+    {
+      new UserDefinedColours(ap, sg);
+    }
+    else
+    {
+      UserColourScheme udc = (UserColourScheme) UserDefinedColours
+              .getUserColourSchemes().get(e.getActionCommand());
+
+      sg.cs = udc;
+    }
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void PIDColour_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
+    sg.cs = new PIDColourScheme();
+    sg.cs.setConsensus(AAFrequency.calculate(
+            sg.getSequences(ap.av.getHiddenRepSequences()),
+            sg.getStartRes(), sg.getEndRes() + 1));
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void BLOSUM62Colour_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
+
+    sg.cs = new Blosum62ColourScheme();
+
+    sg.cs.setConsensus(AAFrequency.calculate(
+            sg.getSequences(ap.av.getHiddenRepSequences()),
+            sg.getStartRes(), sg.getEndRes() + 1));
+
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void noColourmenuItem_actionPerformed()
+  {
+    getGroup().cs = null;
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void conservationMenuItem_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
+    if (sg.cs == null)
+    {
+      return;
+    }
+
+    if (conservationMenuItem.isSelected())
+    {
+    // JBPNote: Conservation name shouldn't be i18n translated
+      Conservation c = new Conservation("Group",
+              ResidueProperties.propHash, 3, sg.getSequences(ap.av
+                      .getHiddenRepSequences()), sg.getStartRes(),
+              sg.getEndRes() + 1);
+
+      c.calculate();
+      c.verdict(false, ap.av.getConsPercGaps());
+
+      sg.cs.setConservation(c);
+
+      SliderPanel.setConservationSlider(ap, sg.cs, sg.getName());
+      SliderPanel.showConservationSlider();
+    }
+    else
+    // remove ConservationColouring
+    {
+      sg.cs.setConservation(null);
+    }
+
+    refresh();
+  }
+
+  public void annotationMenuItem_actionPerformed(ActionEvent actionEvent)
+  {
+    SequenceGroup sg = getGroup();
+    if (sg == null)
+    {
+      return;
+    }
+
+    AnnotationColourGradient acg = new AnnotationColourGradient(
+            sequence.getAnnotation()[0], null,
+            AnnotationColourGradient.NO_THRESHOLD);
+
+    acg.setPredefinedColours(true);
+    sg.cs = acg;
+
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void groupName_actionPerformed()
+  {
+
+    SequenceGroup sg = getGroup();
+    EditNameDialog dialog = new EditNameDialog(sg.getName(),
             sg.getDescription(), "       " + MessageManager.getString("label.group_name") + " ",\r
             MessageManager.getString("label.group_description") + " ", MessageManager.getString("label.edit_group_name_description"),\r
-            ap.alignFrame);\r
-\r
-    if (!dialog.accept)\r
-    {\r
-      return;\r
-    }\r
-\r
-    sg.setName(dialog.getName());\r
-    sg.setDescription(dialog.getDescription());\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * Get selection group - adding it to the alignment if necessary.\r
-   * \r
-   * @return sequence group to operate on\r
-   */\r
-  SequenceGroup getGroup()\r
-  {\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-    // this method won't add a new group if it already exists\r
-    if (sg != null)\r
-    {\r
-      ap.av.getAlignment().addGroup(sg);\r
-    }\r
-\r
-    return sg;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  void sequenceName_actionPerformed()\r
-  {\r
-    EditNameDialog dialog = new EditNameDialog(sequence.getName(),\r
+            ap.alignFrame);
+
+    if (!dialog.accept)
+    {
+      return;
+    }
+
+    sg.setName(dialog.getName());
+    sg.setDescription(dialog.getDescription());
+    refresh();
+  }
+
+  /**
+   * Get selection group - adding it to the alignment if necessary.
+   * 
+   * @return sequence group to operate on
+   */
+  SequenceGroup getGroup()
+  {
+    SequenceGroup sg = ap.av.getSelectionGroup();
+    // this method won't add a new group if it already exists
+    if (sg != null)
+    {
+      ap.av.getAlignment().addGroup(sg);
+    }
+
+    return sg;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  void sequenceName_actionPerformed()
+  {
+    EditNameDialog dialog = new EditNameDialog(sequence.getName(),
             sequence.getDescription(), "       " + MessageManager.getString("label.sequence_name") + " ",\r
             MessageManager.getString("label.sequence_description") + " ", MessageManager.getString("label.edit_sequence_name_description"),\r
-            ap.alignFrame);\r
-\r
-    if (!dialog.accept)\r
-    {\r
-      return;\r
-    }\r
-\r
-    if (dialog.getName() != null)\r
-    {\r
-      if (dialog.getName().indexOf(" ") > -1)\r
-      {\r
-        JOptionPane.showMessageDialog(ap,\r
+            ap.alignFrame);
+
+    if (!dialog.accept)
+    {
+      return;
+    }
+
+    if (dialog.getName() != null)
+    {
+      if (dialog.getName().indexOf(" ") > -1)
+      {
+        JOptionPane.showMessageDialog(ap,
                 MessageManager.getString("label.spaces_converted_to_backslashes"),\r
                 MessageManager.getString("label.no_spaces_allowed_sequence_name"),\r
-                JOptionPane.WARNING_MESSAGE);\r
-      }\r
-\r
-      sequence.setName(dialog.getName().replace(' ', '_'));\r
-      ap.paintAlignment(false);\r
-    }\r
-\r
-    sequence.setDescription(dialog.getDescription());\r
-\r
-    ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()\r
-            .getSequences());\r
-\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  void unGroupMenuItem_actionPerformed()\r
-  {\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-    ap.av.getAlignment().deleteGroup(sg);\r
-    ap.av.setSelectionGroup(null);\r
-    refresh();\r
-  }\r
-  void createGroupMenuItem_actionPerformed()\r
-  {\r
-    getGroup(); // implicitly creates group - note - should apply defaults / use standard alignment window logic for this\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void outline_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
+                JOptionPane.WARNING_MESSAGE);
+      }
+
+      sequence.setName(dialog.getName().replace(' ', '_'));
+      ap.paintAlignment(false);
+    }
+
+    sequence.setDescription(dialog.getDescription());
+
+    ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+            .getSequences());
+
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  void unGroupMenuItem_actionPerformed()
+  {
+    SequenceGroup sg = ap.av.getSelectionGroup();
+    ap.av.getAlignment().deleteGroup(sg);
+    ap.av.setSelectionGroup(null);
+    refresh();
+  }
+  void createGroupMenuItem_actionPerformed()
+  {
+    getGroup(); // implicitly creates group - note - should apply defaults / use standard alignment window logic for this
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void outline_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
     Color col = JColorChooser.showDialog(this, MessageManager.getString("label.select_outline_colour"),\r
-            Color.BLUE);\r
-\r
-    if (col != null)\r
-    {\r
-      sg.setOutlineColour(col);\r
-    }\r
-\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void showBoxes_actionPerformed()\r
-  {\r
-    getGroup().setDisplayBoxes(showBoxes.isSelected());\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void showText_actionPerformed()\r
-  {\r
-    getGroup().setDisplayText(showText.isSelected());\r
-    refresh();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void showColourText_actionPerformed()\r
-  {\r
-    getGroup().setColourText(showColourText.isSelected());\r
-    refresh();\r
-  }\r
-\r
-  public void showLink(String url)\r
-  {\r
-    try\r
-    {\r
-      jalview.util.BrowserLauncher.openURL(url);\r
-    } catch (Exception ex)\r
-    {\r
-      JOptionPane\r
-              .showInternalMessageDialog(\r
-                      Desktop.desktop,\r
+            Color.BLUE);
+
+    if (col != null)
+    {
+      sg.setOutlineColour(col);
+    }
+
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void showBoxes_actionPerformed()
+  {
+    getGroup().setDisplayBoxes(showBoxes.isSelected());
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void showText_actionPerformed()
+  {
+    getGroup().setDisplayText(showText.isSelected());
+    refresh();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void showColourText_actionPerformed()
+  {
+    getGroup().setColourText(showColourText.isSelected());
+    refresh();
+  }
+
+  public void showLink(String url)
+  {
+    try
+    {
+      jalview.util.BrowserLauncher.openURL(url);
+    } catch (Exception ex)
+    {
+      JOptionPane
+              .showInternalMessageDialog(
+                      Desktop.desktop,
                       MessageManager.getString("label.web_browser_not_found_unix"),\r
                       MessageManager.getString("label.web_browser_not_found"), JOptionPane.WARNING_MESSAGE);\r
-\r
-      ex.printStackTrace();\r
-    }\r
-  }\r
-\r
-  void hideSequences(boolean representGroup)\r
-  {\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-    if (sg == null || sg.getSize() < 1)\r
-    {\r
-      ap.av.hideSequence(new SequenceI[]\r
-      { sequence });\r
-      return;\r
-    }\r
-\r
-    ap.av.setSelectionGroup(null);\r
-\r
-    if (representGroup)\r
-    {\r
-      ap.av.hideRepSequences(sequence, sg);\r
-\r
-      return;\r
-    }\r
-\r
-    int gsize = sg.getSize();\r
-    SequenceI[] hseqs;\r
-\r
-    hseqs = new SequenceI[gsize];\r
-\r
-    int index = 0;\r
-    for (int i = 0; i < gsize; i++)\r
-    {\r
-      hseqs[index++] = sg.getSequenceAt(i);\r
-    }\r
-\r
-    ap.av.hideSequence(hseqs);\r
-    // refresh(); TODO: ? needed ?\r
-    ap.av.sendSelection();\r
-  }\r
-\r
-  public void copy_actionPerformed()\r
-  {\r
-    ap.alignFrame.copy_actionPerformed(null);\r
-  }\r
-\r
-  public void cut_actionPerformed()\r
-  {\r
-    ap.alignFrame.cut_actionPerformed(null);\r
-  }\r
-\r
-  void changeCase(ActionEvent e)\r
-  {\r
-    Object source = e.getSource();\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-\r
-    if (sg != null)\r
-    {\r
-      int[][] startEnd = ap.av.getVisibleRegionBoundaries(sg.getStartRes(),\r
-              sg.getEndRes() + 1);\r
-\r
-      String description;\r
-      int caseChange;\r
-\r
-      if (source == toggle)\r
-      {\r
+
+      ex.printStackTrace();
+    }
+  }
+
+  void hideSequences(boolean representGroup)
+  {
+    SequenceGroup sg = ap.av.getSelectionGroup();
+    if (sg == null || sg.getSize() < 1)
+    {
+      ap.av.hideSequence(new SequenceI[]
+      { sequence });
+      return;
+    }
+
+    ap.av.setSelectionGroup(null);
+
+    if (representGroup)
+    {
+      ap.av.hideRepSequences(sequence, sg);
+
+      return;
+    }
+
+    int gsize = sg.getSize();
+    SequenceI[] hseqs;
+
+    hseqs = new SequenceI[gsize];
+
+    int index = 0;
+    for (int i = 0; i < gsize; i++)
+    {
+      hseqs[index++] = sg.getSequenceAt(i);
+    }
+
+    ap.av.hideSequence(hseqs);
+    // refresh(); TODO: ? needed ?
+    ap.av.sendSelection();
+  }
+
+  public void copy_actionPerformed()
+  {
+    ap.alignFrame.copy_actionPerformed(null);
+  }
+
+  public void cut_actionPerformed()
+  {
+    ap.alignFrame.cut_actionPerformed(null);
+  }
+
+  void changeCase(ActionEvent e)
+  {
+    Object source = e.getSource();
+    SequenceGroup sg = ap.av.getSelectionGroup();
+
+    if (sg != null)
+    {
+      int[][] startEnd = ap.av.getVisibleRegionBoundaries(sg.getStartRes(),
+              sg.getEndRes() + 1);
+
+      String description;
+      int caseChange;
+
+      if (source == toggle)
+      {
         description = MessageManager.getString("label.toggle_case");\r
-        caseChange = ChangeCaseCommand.TOGGLE_CASE;\r
-      }\r
-      else if (source == upperCase)\r
-      {\r
+        caseChange = ChangeCaseCommand.TOGGLE_CASE;
+      }
+      else if (source == upperCase)
+      {
         description = MessageManager.getString("label.to_upper_case");\r
-        caseChange = ChangeCaseCommand.TO_UPPER;\r
-      }\r
-      else\r
-      {\r
+        caseChange = ChangeCaseCommand.TO_UPPER;
+      }
+      else
+      {
         description = MessageManager.getString("label.to_lower_case");\r
-        caseChange = ChangeCaseCommand.TO_LOWER;\r
-      }\r
-\r
-      ChangeCaseCommand caseCommand = new ChangeCaseCommand(description,\r
-              sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),\r
-              startEnd, caseChange);\r
-\r
-      ap.alignFrame.addHistoryItem(caseCommand);\r
-\r
-      ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()\r
-              .getSequences());\r
-\r
-    }\r
-  }\r
-\r
-  public void outputText_actionPerformed(ActionEvent e)\r
-  {\r
-    CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
-    cap.setForInput(null);\r
-    Desktop.addInternalFrame(cap,\r
+        caseChange = ChangeCaseCommand.TO_LOWER;
+      }
+
+      ChangeCaseCommand caseCommand = new ChangeCaseCommand(description,
+              sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),
+              startEnd, caseChange);
+
+      ap.alignFrame.addHistoryItem(caseCommand);
+
+      ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+              .getSequences());
+
+    }
+  }
+
+  public void outputText_actionPerformed(ActionEvent e)
+  {
+    CutAndPasteTransfer cap = new CutAndPasteTransfer();
+    cap.setForInput(null);
+    Desktop.addInternalFrame(cap,
             MessageManager.formatMessage("label.alignment_output_command", new String[]{e.getActionCommand()}), 600, 500);\r
-\r
-    String[] omitHidden = null;\r
-\r
-    System.out.println("PROMPT USER HERE"); // TODO: decide if a prompt happens\r
-    // or we simply trust the user wants\r
-    // wysiwig behaviour\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-    ColumnSelection csel = new ColumnSelection(ap.av.getColumnSelection());\r
-    omitHidden = ap.av.getViewAsString(true);\r
-    Alignment oal = new Alignment(ap.av.getSequenceSelection());\r
-    AlignmentAnnotation[] nala = ap.av.getAlignment()\r
-            .getAlignmentAnnotation();\r
-    if (nala != null)\r
-    {\r
-      for (int i = 0; i < nala.length; i++)\r
-      {\r
-        AlignmentAnnotation na = nala[i];\r
-        oal.addAnnotation(na);\r
-      }\r
-    }\r
-    cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),\r
-            oal, omitHidden, csel, sg));\r
-    oal = null;\r
-  }\r
-\r
-  public void pdbFromFile_actionPerformed()\r
-  {\r
-    jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
-    chooser.setFileView(new jalview.io.JalviewFileView());\r
+
+    String[] omitHidden = null;
+
+    System.out.println("PROMPT USER HERE"); // TODO: decide if a prompt happens
+    // or we simply trust the user wants
+    // wysiwig behaviour
+    SequenceGroup sg = ap.av.getSelectionGroup();
+    ColumnSelection csel = new ColumnSelection(ap.av.getColumnSelection());
+    omitHidden = ap.av.getViewAsString(true);
+    Alignment oal = new Alignment(ap.av.getSequenceSelection());
+    AlignmentAnnotation[] nala = ap.av.getAlignment()
+            .getAlignmentAnnotation();
+    if (nala != null)
+    {
+      for (int i = 0; i < nala.length; i++)
+      {
+        AlignmentAnnotation na = nala[i];
+        oal.addAnnotation(na);
+      }
+    }
+    cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
+            oal, omitHidden, csel, sg));
+    oal = null;
+  }
+
+  public void pdbFromFile_actionPerformed()
+  {
+    jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+    chooser.setFileView(new jalview.io.JalviewFileView());
     chooser.setDialogTitle(MessageManager.formatMessage("label.select_pdb_file_for", new String[]{sequence.getDisplayId(false)}));\r
     chooser.setToolTipText(MessageManager.formatMessage("label.load_pdb_file_associate_with_sequence", new String[]{new Integer(sequence.getDisplayId(false)).toString()}));\r
-\r
-    int value = chooser.showOpenDialog(null);\r
-\r
-    if (value == jalview.io.JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      String choice = chooser.getSelectedFile().getPath();\r
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
-      new AssociatePdbFileWithSeq().associatePdbWithSeq(choice,\r
-              jalview.io.AppletFormatAdapter.FILE, sequence, true);\r
-    }\r
-\r
-  }\r
-\r
-  public void enterPDB_actionPerformed()\r
-  {\r
-    String id = JOptionPane.showInternalInputDialog(Desktop.desktop,\r
+
+    int value = chooser.showOpenDialog(null);
+
+    if (value == jalview.io.JalviewFileChooser.APPROVE_OPTION)
+    {
+      String choice = chooser.getSelectedFile().getPath();
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+      new AssociatePdbFileWithSeq().associatePdbWithSeq(choice,
+              jalview.io.AppletFormatAdapter.FILE, sequence, true);
+    }
+
+  }
+
+  public void enterPDB_actionPerformed()
+  {
+    String id = JOptionPane.showInternalInputDialog(Desktop.desktop,
             MessageManager.getString("label.enter_pdb_id"), MessageManager.getString("label.enter_pdb_id"), JOptionPane.QUESTION_MESSAGE);\r
-\r
-    if (id != null && id.length() > 0)\r
-    {\r
-      PDBEntry entry = new PDBEntry();\r
-      entry.setId(id.toUpperCase());\r
-      sequence.getDatasetSequence().addPDBId(entry);\r
-    }\r
-  }\r
-\r
-  public void discoverPDB_actionPerformed()\r
-  {\r
-\r
-    final SequenceI[] sequences = ((ap.av.getSelectionGroup() == null) ? new SequenceI[]\r
-    { sequence }\r
-            : ap.av.getSequenceSelection());\r
-    Thread discpdb = new Thread(new Runnable()\r
-    {\r
-      public void run()\r
-      {\r
-\r
-        new jalview.ws.DBRefFetcher(sequences, ap.alignFrame)\r
-                .fetchDBRefs(false);\r
-      }\r
-\r
-    });\r
-    discpdb.start();\r
-  }\r
-\r
-  public void sequenceFeature_actionPerformed()\r
-  {\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-    if (sg == null)\r
-    {\r
-      return;\r
-    }\r
-\r
-    int rsize = 0, gSize = sg.getSize();\r
-    SequenceI[] rseqs, seqs = new SequenceI[gSize];\r
-    SequenceFeature[] tfeatures, features = new SequenceFeature[gSize];\r
-\r
-    for (int i = 0; i < gSize; i++)\r
-    {\r
-      int start = sg.getSequenceAt(i).findPosition(sg.getStartRes());\r
-      int end = sg.findEndRes(sg.getSequenceAt(i));\r
-      if (start <= end)\r
-      {\r
-        seqs[rsize] = sg.getSequenceAt(i).getDatasetSequence();\r
-        features[rsize] = new SequenceFeature(null, null, null, start, end,\r
-                "Jalview");\r
-        rsize++;\r
-      }\r
-    }\r
-    rseqs = new SequenceI[rsize];\r
-    tfeatures = new SequenceFeature[rsize];\r
-    System.arraycopy(seqs, 0, rseqs, 0, rsize);\r
-    System.arraycopy(features, 0, tfeatures, 0, rsize);\r
-    features = tfeatures;\r
-    seqs = rseqs;\r
-    if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs,\r
-            features, true, ap))\r
-    {\r
-      ap.alignFrame.setShowSeqFeatures(true);\r
-      ap.highlightSearchResults(null);\r
-    }\r
-  }\r
-\r
-  public void textColour_actionPerformed()\r
-  {\r
-    SequenceGroup sg = getGroup();\r
-    if (sg != null)\r
-    {\r
-      new TextColourChooser().chooseColour(ap, sg);\r
-    }\r
-  }\r
-\r
-  public void colourByStructure(String pdbid)\r
-  {\r
-    Annotation[] anots = ap.av.getStructureSelectionManager()\r
-            .colourSequenceFromStructure(sequence, pdbid);\r
-\r
-    AlignmentAnnotation an = new AlignmentAnnotation("Structure",\r
-            "Coloured by " + pdbid, anots);\r
-\r
-    ap.av.getAlignment().addAnnotation(an);\r
-    an.createSequenceMapping(sequence, 0, true);\r
-    // an.adjustForAlignment();\r
-    ap.av.getAlignment().setAnnotationIndex(an, 0);\r
-\r
-    ap.adjustAnnotationHeight();\r
-\r
-    sequence.addAlignmentAnnotation(an);\r
-\r
-  }\r
-\r
-  public void editSequence_actionPerformed(ActionEvent actionEvent)\r
-  {\r
-    SequenceGroup sg = ap.av.getSelectionGroup();\r
-\r
-    if (sg != null)\r
-    {\r
-      if (sequence == null)\r
-        sequence = (Sequence) sg.getSequenceAt(0);\r
-\r
-      EditNameDialog dialog = new EditNameDialog(\r
-              sequence.getSequenceAsString(sg.getStartRes(),\r
+
+    if (id != null && id.length() > 0)
+    {
+      PDBEntry entry = new PDBEntry();
+      entry.setId(id.toUpperCase());
+      sequence.getDatasetSequence().addPDBId(entry);
+    }
+  }
+
+  public void discoverPDB_actionPerformed()
+  {
+
+    final SequenceI[] sequences = ((ap.av.getSelectionGroup() == null) ? new SequenceI[]
+    { sequence }
+            : ap.av.getSequenceSelection());
+    Thread discpdb = new Thread(new Runnable()
+    {
+      public void run()
+      {
+
+        new jalview.ws.DBRefFetcher(sequences, ap.alignFrame)
+                .fetchDBRefs(false);
+      }
+
+    });
+    discpdb.start();
+  }
+
+  public void sequenceFeature_actionPerformed()
+  {
+    SequenceGroup sg = ap.av.getSelectionGroup();
+    if (sg == null)
+    {
+      return;
+    }
+
+    int rsize = 0, gSize = sg.getSize();
+    SequenceI[] rseqs, seqs = new SequenceI[gSize];
+    SequenceFeature[] tfeatures, features = new SequenceFeature[gSize];
+
+    for (int i = 0; i < gSize; i++)
+    {
+      int start = sg.getSequenceAt(i).findPosition(sg.getStartRes());
+      int end = sg.findEndRes(sg.getSequenceAt(i));
+      if (start <= end)
+      {
+        seqs[rsize] = sg.getSequenceAt(i).getDatasetSequence();
+        features[rsize] = new SequenceFeature(null, null, null, start, end,
+                "Jalview");
+        rsize++;
+      }
+    }
+    rseqs = new SequenceI[rsize];
+    tfeatures = new SequenceFeature[rsize];
+    System.arraycopy(seqs, 0, rseqs, 0, rsize);
+    System.arraycopy(features, 0, tfeatures, 0, rsize);
+    features = tfeatures;
+    seqs = rseqs;
+    if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs,
+            features, true, ap))
+    {
+      ap.alignFrame.setShowSeqFeatures(true);
+      ap.highlightSearchResults(null);
+    }
+  }
+
+  public void textColour_actionPerformed()
+  {
+    SequenceGroup sg = getGroup();
+    if (sg != null)
+    {
+      new TextColourChooser().chooseColour(ap, sg);
+    }
+  }
+
+  public void colourByStructure(String pdbid)
+  {
+    Annotation[] anots = ap.av.getStructureSelectionManager()
+            .colourSequenceFromStructure(sequence, pdbid);
+
+    AlignmentAnnotation an = new AlignmentAnnotation("Structure",
+            "Coloured by " + pdbid, anots);
+
+    ap.av.getAlignment().addAnnotation(an);
+    an.createSequenceMapping(sequence, 0, true);
+    // an.adjustForAlignment();
+    ap.av.getAlignment().setAnnotationIndex(an, 0);
+
+    ap.adjustAnnotationHeight();
+
+    sequence.addAlignmentAnnotation(an);
+
+  }
+
+  public void editSequence_actionPerformed(ActionEvent actionEvent)
+  {
+    SequenceGroup sg = ap.av.getSelectionGroup();
+
+    if (sg != null)
+    {
+      if (sequence == null)
+        sequence = (Sequence) sg.getSequenceAt(0);
+
+      EditNameDialog dialog = new EditNameDialog(
+              sequence.getSequenceAsString(sg.getStartRes(),
                       sg.getEndRes() + 1), null, MessageManager.getString("label.edit_sequence"), null,\r
                       MessageManager.getString("label.edit_sequence"), ap.alignFrame);\r
-\r
-      if (dialog.accept)\r
-      {\r
+
+      if (dialog.accept)
+      {
         EditCommand editCommand = new EditCommand(MessageManager.getString("label.edit_sequences"),\r
-                EditCommand.REPLACE, dialog.getName().replace(' ',\r
-                        ap.av.getGapCharacter()),\r
-                sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),\r
-                sg.getStartRes(), sg.getEndRes() + 1, ap.av.getAlignment());\r
-\r
-        ap.alignFrame.addHistoryItem(editCommand);\r
-\r
-        ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()\r
-                .getSequences());\r
-      }\r
-    }\r
-  }\r
-\r
-}\r
+                EditCommand.REPLACE, dialog.getName().replace(' ',
+                        ap.av.getGapCharacter()),
+                sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),
+                sg.getStartRes(), sg.getEndRes() + 1, ap.av.getAlignment());
+
+        ap.alignFrame.addHistoryItem(editCommand);
+
+        ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+                .getSequences());
+      }
+    }
+  }
+
+}
index 06b42bf..2a31518 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
@@ -59,7 +60,7 @@ public class Preferences extends GPreferences
     String string = Cache
             .getDefault(
                     "SEQUENCE_LINKS",
-                    "SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+                    "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");
     sequenceURLLinks = new Vector();
 
     try
@@ -81,6 +82,18 @@ public class Preferences extends GPreferences
     {
       System.out.println(ex + "\nError parsing sequence links");
     }
+    {
+      // upgrade old SRS link
+      int srsPos = sequenceURLLinks
+              .indexOf("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+      if (srsPos > -1)
+      {
+        sequenceURLLinks.setElementAt(
+                "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$",
+                srsPos);
+      }
+    }
+
     /**
      * TODO: reformulate groupURL encoding so two or more can be stored in the
      * .properties file as '|' separated strings
index 507d1f2..c710a89 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 0038939..3ff0ca3 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 18abbcd..764f9c9 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 0fef469..2507ceb 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 91eb991..dba5dae 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 649f0af..416b787 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index fd1e37a..4c8ccd7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 63c6033..77fc1fe 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index c71b154..2add218 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.gui;
 
 import java.util.*;
index 0a33e1a..435d218 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index a4325fe..9023c4e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index fa6e55e..3eff177 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 9e75474..1006782 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 02fb9ff..5eadc51 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index a185bc5..9e2e582 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 35a8b74..7f85594 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 1c6e561..a2dedd5 100755 (executable)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import jalview.datamodel.SequenceGroup;\r
-import jalview.io.JalviewFileChooser;\r
-import jalview.jbgui.GUserDefinedColours;\r
-import jalview.schemes.ColourSchemeI;\r
-import jalview.schemes.ResidueProperties;\r
-import jalview.schemes.UserColourScheme;\r
-import jalview.util.MessageManager;\r
-\r
-import java.awt.Color;\r
-import java.awt.Font;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.MouseEvent;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileOutputStream;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.PrintWriter;\r
-import java.util.Hashtable;\r
-import java.util.StringTokenizer;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JButton;\r
-import javax.swing.JInternalFrame;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.event.ChangeEvent;\r
-import javax.swing.event.ChangeListener;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public class UserDefinedColours extends GUserDefinedColours implements\r
-        ChangeListener\r
-{\r
-  AlignmentPanel ap;\r
-\r
-  SequenceGroup seqGroup;\r
-\r
-  Vector selectedButtons;\r
-\r
-  ColourSchemeI oldColourScheme;\r
-\r
-  JInternalFrame frame;\r
-\r
-  AppJmol jmol;\r
-\r
-  Vector upperCaseButtons;\r
-\r
-  Vector lowerCaseButtons;\r
-\r
-  /**\r
-   * Creates a new UserDefinedColours object.\r
-   * \r
-   * @param ap\r
-   *          DOCUMENT ME!\r
-   * @param sg\r
-   *          DOCUMENT ME!\r
-   */\r
-  public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg)\r
-  {\r
-    super();\r
-\r
-    lcaseColour.setEnabled(false);\r
-\r
-    this.ap = ap;\r
-    seqGroup = sg;\r
-\r
-    if (seqGroup != null)\r
-    {\r
-      oldColourScheme = seqGroup.cs;\r
-    }\r
-    else\r
-    {\r
-      oldColourScheme = ap.av.getGlobalColourScheme();\r
-    }\r
-\r
-    if (oldColourScheme instanceof UserColourScheme)\r
-    {\r
-      schemeName.setText(((UserColourScheme) oldColourScheme).getName());\r
-      if (((UserColourScheme) oldColourScheme).getLowerCaseColours() != null)\r
-      {\r
-        caseSensitive.setSelected(true);\r
-        lcaseColour.setEnabled(true);\r
-        resetButtonPanel(true);\r
-      }\r
-      else\r
-      {\r
-        resetButtonPanel(false);\r
-      }\r
-    }\r
-    else\r
-    {\r
-      resetButtonPanel(false);\r
-    }\r
-\r
-    showFrame();\r
-  }\r
-\r
-  public UserDefinedColours(AppJmol jmol, ColourSchemeI oldcs)\r
-  {\r
-    super();\r
-    this.jmol = jmol;\r
-\r
-    colorChooser.getSelectionModel().addChangeListener(this);\r
-\r
-    oldColourScheme = oldcs;\r
-\r
-    if (oldColourScheme instanceof UserColourScheme)\r
-    {\r
-      schemeName.setText(((UserColourScheme) oldColourScheme).getName());\r
-    }\r
-\r
-    resetButtonPanel(false);\r
-\r
-    showFrame();\r
-\r
-  }\r
-\r
-  void showFrame()\r
-  {\r
-    colorChooser.getSelectionModel().addChangeListener(this);\r
-    frame = new JInternalFrame();\r
-    frame.setContentPane(this);\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import jalview.datamodel.SequenceGroup;
+import jalview.io.JalviewFileChooser;
+import jalview.jbgui.GUserDefinedColours;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.ResidueProperties;
+import jalview.schemes.UserColourScheme;
+import jalview.util.MessageManager;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseEvent;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import javax.swing.JButton;
+import javax.swing.JInternalFrame;
+import javax.swing.JOptionPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
+public class UserDefinedColours extends GUserDefinedColours implements
+        ChangeListener
+{
+  AlignmentPanel ap;
+
+  SequenceGroup seqGroup;
+
+  Vector selectedButtons;
+
+  ColourSchemeI oldColourScheme;
+
+  JInternalFrame frame;
+
+  AppJmol jmol;
+
+  Vector upperCaseButtons;
+
+  Vector lowerCaseButtons;
+
+  /**
+   * Creates a new UserDefinedColours object.
+   * 
+   * @param ap
+   *          DOCUMENT ME!
+   * @param sg
+   *          DOCUMENT ME!
+   */
+  public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg)
+  {
+    super();
+
+    lcaseColour.setEnabled(false);
+
+    this.ap = ap;
+    seqGroup = sg;
+
+    if (seqGroup != null)
+    {
+      oldColourScheme = seqGroup.cs;
+    }
+    else
+    {
+      oldColourScheme = ap.av.getGlobalColourScheme();
+    }
+
+    if (oldColourScheme instanceof UserColourScheme)
+    {
+      schemeName.setText(((UserColourScheme) oldColourScheme).getName());
+      if (((UserColourScheme) oldColourScheme).getLowerCaseColours() != null)
+      {
+        caseSensitive.setSelected(true);
+        lcaseColour.setEnabled(true);
+        resetButtonPanel(true);
+      }
+      else
+      {
+        resetButtonPanel(false);
+      }
+    }
+    else
+    {
+      resetButtonPanel(false);
+    }
+
+    showFrame();
+  }
+
+  public UserDefinedColours(AppJmol jmol, ColourSchemeI oldcs)
+  {
+    super();
+    this.jmol = jmol;
+
+    colorChooser.getSelectionModel().addChangeListener(this);
+
+    oldColourScheme = oldcs;
+
+    if (oldColourScheme instanceof UserColourScheme)
+    {
+      schemeName.setText(((UserColourScheme) oldColourScheme).getName());
+    }
+
+    resetButtonPanel(false);
+
+    showFrame();
+
+  }
+
+  void showFrame()
+  {
+    colorChooser.getSelectionModel().addChangeListener(this);
+    frame = new JInternalFrame();
+    frame.setContentPane(this);
     Desktop.addInternalFrame(frame, MessageManager.getString("label.user_defined_colours"), 720, 370, true);\r
-\r
-    if (seqGroup != null)\r
-    {\r
-      frame.setTitle(frame.getTitle() + " (" + seqGroup.getName() + ")");\r
-    }\r
-\r
-    if (new jalview.util.Platform().isAMac())\r
-    {\r
-      frame.setSize(760, 370);\r
-    }\r
-  }\r
-\r
-  void resetButtonPanel(boolean caseSensitive)\r
-  {\r
-    buttonPanel.removeAll();\r
-\r
-    if (upperCaseButtons == null)\r
-    {\r
-      upperCaseButtons = new Vector();\r
-    }\r
-\r
-    JButton button;\r
-    String label;\r
-    for (int i = 0; i < 20; i++)\r
-    {\r
-      if (caseSensitive)\r
-      {\r
-        label = ResidueProperties.aa[i];\r
-      }\r
-      else\r
-      {\r
-        label = ResidueProperties.aa2Triplet.get(ResidueProperties.aa[i])\r
-                .toString();\r
-      }\r
-\r
-      button = makeButton(label, ResidueProperties.aa[i], upperCaseButtons,\r
-              i);\r
-\r
-      buttonPanel.add(button);\r
-    }\r
-\r
-    buttonPanel.add(makeButton("B", "B", upperCaseButtons, 20));\r
-    buttonPanel.add(makeButton("Z", "Z", upperCaseButtons, 21));\r
-    buttonPanel.add(makeButton("X", "X", upperCaseButtons, 22));\r
-    buttonPanel.add(makeButton("Gap", "-", upperCaseButtons, 23));\r
-\r
-    if (!caseSensitive)\r
-    {\r
-      gridLayout.setRows(6);\r
-      gridLayout.setColumns(4);\r
-    }\r
-    else\r
-    {\r
-      gridLayout.setRows(7);\r
-      int cols = 7;\r
-      gridLayout.setColumns(cols + 1);\r
-\r
-      if (lowerCaseButtons == null)\r
-      {\r
-        lowerCaseButtons = new Vector();\r
-      }\r
-\r
-      for (int i = 0; i < 20; i++)\r
-      {\r
-        int row = i / cols + 1;\r
-        int index = (row * cols) + i;\r
-        button = makeButton(ResidueProperties.aa[i].toLowerCase(),\r
-                ResidueProperties.aa[i].toLowerCase(), lowerCaseButtons, i);\r
-\r
-        buttonPanel.add(button, index);\r
-      }\r
-    }\r
-\r
-    if (caseSensitive)\r
-    {\r
-      buttonPanel.add(makeButton("b", "b", lowerCaseButtons, 20));\r
-      buttonPanel.add(makeButton("z", "z", lowerCaseButtons, 21));\r
-      buttonPanel.add(makeButton("x", "x", lowerCaseButtons, 22));\r
-    }\r
-\r
-    buttonPanel.validate();\r
-    validate();\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param evt\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void stateChanged(ChangeEvent evt)\r
-  {\r
-    if (selectedButtons != null)\r
-    {\r
-      JButton button = null;\r
-      for (int i = 0; i < selectedButtons.size(); i++)\r
-      {\r
-        button = (JButton) selectedButtons.elementAt(i);\r
-        button.setBackground(colorChooser.getColor());\r
-        button.setForeground(button.getBackground().brighter().brighter()\r
-                .brighter());\r
-      }\r
-      if (button == lcaseColour)\r
-      {\r
-        for (int i = 0; i < lowerCaseButtons.size(); i++)\r
-        {\r
-          button = (JButton) lowerCaseButtons.elementAt(i);\r
-          button.setBackground(colorChooser.getColor());\r
-          button.setForeground(button.getBackground().brighter().brighter()\r
-                  .brighter());\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void colourButtonPressed(MouseEvent e)\r
-  {\r
-    if (selectedButtons == null)\r
-    {\r
-      selectedButtons = new Vector();\r
-    }\r
-\r
-    JButton pressed = (JButton) e.getSource();\r
-\r
-    if (e.isShiftDown())\r
-    {\r
-      JButton start, end = (JButton) e.getSource();\r
-      if (selectedButtons.size() > 0)\r
-      {\r
-        start = (JButton) selectedButtons\r
-                .elementAt(selectedButtons.size() - 1);\r
-      }\r
-      else\r
-      {\r
-        start = (JButton) e.getSource();\r
-      }\r
-\r
-      int startIndex = 0, endIndex = 0;\r
-      for (int b = 0; b < buttonPanel.getComponentCount(); b++)\r
-      {\r
-        if (buttonPanel.getComponent(b) == start)\r
-        {\r
-          startIndex = b;\r
-        }\r
-        if (buttonPanel.getComponent(b) == end)\r
-        {\r
-          endIndex = b;\r
-        }\r
-      }\r
-\r
-      if (startIndex > endIndex)\r
-      {\r
-        int temp = startIndex;\r
-        startIndex = endIndex;\r
-        endIndex = temp;\r
-      }\r
-\r
-      for (int b = startIndex; b <= endIndex; b++)\r
-      {\r
-        JButton button = (JButton) buttonPanel.getComponent(b);\r
-        if (!selectedButtons.contains(button))\r
-        {\r
-          button.setForeground(button.getBackground().brighter().brighter());\r
-          selectedButtons.add(button);\r
-        }\r
-      }\r
-    }\r
-    else if (!e.isControlDown())\r
-    {\r
-      for (int b = 0; b < selectedButtons.size(); b++)\r
-      {\r
-        JButton button = (JButton) selectedButtons.elementAt(b);\r
-        button.setForeground(button.getBackground().darker().darker());\r
-      }\r
-      selectedButtons.clear();\r
-      pressed.setForeground(pressed.getBackground().brighter().brighter());\r
-      selectedButtons.addElement(pressed);\r
-\r
-    }\r
-    else if (e.isControlDown())\r
-    {\r
-      if (selectedButtons.contains(pressed))\r
-      {\r
-        pressed.setForeground(pressed.getBackground().darker().darker());\r
-        selectedButtons.remove(pressed);\r
-      }\r
-      else\r
-      {\r
-        pressed.setForeground(pressed.getBackground().brighter().brighter());\r
-        selectedButtons.addElement(pressed);\r
-      }\r
-    }\r
-\r
-    if (selectedButtons.size() > 0)\r
-    {\r
-      colorChooser.setColor(((JButton) selectedButtons.elementAt(0))\r
-              .getBackground());\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param label\r
-   *          DOCUMENT ME!\r
-   * @param aa\r
-   *          DOCUMENT ME!\r
-   */\r
-  JButton makeButton(String label, String aa, Vector caseSensitiveButtons,\r
-          int buttonIndex)\r
-  {\r
-    final JButton button;\r
-    Color col;\r
-\r
-    if (buttonIndex < caseSensitiveButtons.size())\r
-    {\r
-      button = (JButton) caseSensitiveButtons.elementAt(buttonIndex);\r
-      col = button.getBackground();\r
-    }\r
-    else\r
-    {\r
-      button = new JButton();\r
-      button.addMouseListener(new java.awt.event.MouseAdapter()\r
-      {\r
-        public void mouseClicked(MouseEvent e)\r
-        {\r
-          colourButtonPressed(e);\r
-        }\r
-      });\r
-\r
-      caseSensitiveButtons.addElement(button);\r
-\r
-      col = Color.white;\r
-      if (oldColourScheme != null)\r
-      {\r
-        try\r
-        {\r
-          col = oldColourScheme.findColour(aa.charAt(0), -1, null);\r
-        } catch (Exception ex)\r
-        {\r
-        }\r
-      }\r
-    }\r
-\r
-    if (caseSensitive.isSelected())\r
-    {\r
-      button.setMargin(new java.awt.Insets(2, 2, 2, 2));\r
-    }\r
-    else\r
-    {\r
-      button.setMargin(new java.awt.Insets(2, 14, 2, 14));\r
-    }\r
-\r
-    button.setBackground(col);\r
-    button.setText(label);\r
-    button.setForeground(col.darker().darker().darker());\r
-    button.setFont(new java.awt.Font("Verdana", Font.BOLD, 10));\r
-\r
-    return button;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void okButton_actionPerformed(ActionEvent e)\r
-  {\r
-    applyButton_actionPerformed(null);\r
-\r
-    try\r
-    {\r
-      frame.setClosed(true);\r
-    } catch (Exception ex)\r
-    {\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void applyButton_actionPerformed(ActionEvent e)\r
-  {\r
-    UserColourScheme ucs = getSchemeFromButtons();\r
-    ucs.setName(schemeName.getText());\r
-\r
-    if (seqGroup != null)\r
-    {\r
-      seqGroup.cs = ucs;\r
-      ap.paintAlignment(true);\r
-    }\r
-    else if (ap != null)\r
-    {\r
-      ap.alignFrame.changeColour(ucs);\r
-    }\r
-    else if (jmol != null)\r
-    {\r
-      jmol.setJalviewColourScheme(ucs);\r
-    }\r
-  }\r
-\r
-  UserColourScheme getSchemeFromButtons()\r
-  {\r
-\r
-    Color[] newColours = new Color[24];\r
-\r
-    for (int i = 0; i < 24; i++)\r
-    {\r
-      JButton button = (JButton) upperCaseButtons.elementAt(i);\r
-      newColours[i] = button.getBackground();\r
-    }\r
-\r
-    UserColourScheme ucs = new UserColourScheme(newColours);\r
-\r
-    if (caseSensitive.isSelected())\r
-    {\r
-      newColours = new Color[23];\r
-      for (int i = 0; i < 23; i++)\r
-      {\r
-        JButton button = (JButton) lowerCaseButtons.elementAt(i);\r
-        newColours[i] = button.getBackground();\r
-      }\r
-      ucs.setLowerCaseColours(newColours);\r
-    }\r
-\r
-    if (ap != null)\r
-    {\r
-      ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());\r
-    }\r
-\r
-    return ucs;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void loadbutton_actionPerformed(ActionEvent e)\r
-  {\r
-    upperCaseButtons = new Vector();\r
-    lowerCaseButtons = new Vector();\r
-\r
-    JalviewFileChooser chooser = new JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]\r
-            { "jc" }, new String[]\r
-            { "Jalview User Colours" }, "Jalview User Colours");\r
-    chooser.setFileView(new jalview.io.JalviewFileView());\r
+
+    if (seqGroup != null)
+    {
+      frame.setTitle(frame.getTitle() + " (" + seqGroup.getName() + ")");
+    }
+
+    if (new jalview.util.Platform().isAMac())
+    {
+      frame.setSize(760, 370);
+    }
+  }
+
+  void resetButtonPanel(boolean caseSensitive)
+  {
+    buttonPanel.removeAll();
+
+    if (upperCaseButtons == null)
+    {
+      upperCaseButtons = new Vector();
+    }
+
+    JButton button;
+    String label;
+    for (int i = 0; i < 20; i++)
+    {
+      if (caseSensitive)
+      {
+        label = ResidueProperties.aa[i];
+      }
+      else
+      {
+        label = ResidueProperties.aa2Triplet.get(ResidueProperties.aa[i])
+                .toString();
+      }
+
+      button = makeButton(label, ResidueProperties.aa[i], upperCaseButtons,
+              i);
+
+      buttonPanel.add(button);
+    }
+
+    buttonPanel.add(makeButton("B", "B", upperCaseButtons, 20));
+    buttonPanel.add(makeButton("Z", "Z", upperCaseButtons, 21));
+    buttonPanel.add(makeButton("X", "X", upperCaseButtons, 22));
+    buttonPanel.add(makeButton("Gap", "-", upperCaseButtons, 23));
+
+    if (!caseSensitive)
+    {
+      gridLayout.setRows(6);
+      gridLayout.setColumns(4);
+    }
+    else
+    {
+      gridLayout.setRows(7);
+      int cols = 7;
+      gridLayout.setColumns(cols + 1);
+
+      if (lowerCaseButtons == null)
+      {
+        lowerCaseButtons = new Vector();
+      }
+
+      for (int i = 0; i < 20; i++)
+      {
+        int row = i / cols + 1;
+        int index = (row * cols) + i;
+        button = makeButton(ResidueProperties.aa[i].toLowerCase(),
+                ResidueProperties.aa[i].toLowerCase(), lowerCaseButtons, i);
+
+        buttonPanel.add(button, index);
+      }
+    }
+
+    if (caseSensitive)
+    {
+      buttonPanel.add(makeButton("b", "b", lowerCaseButtons, 20));
+      buttonPanel.add(makeButton("z", "z", lowerCaseButtons, 21));
+      buttonPanel.add(makeButton("x", "x", lowerCaseButtons, 22));
+    }
+
+    buttonPanel.validate();
+    validate();
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param evt
+   *          DOCUMENT ME!
+   */
+  public void stateChanged(ChangeEvent evt)
+  {
+    if (selectedButtons != null)
+    {
+      JButton button = null;
+      for (int i = 0; i < selectedButtons.size(); i++)
+      {
+        button = (JButton) selectedButtons.elementAt(i);
+        button.setBackground(colorChooser.getColor());
+        button.setForeground(button.getBackground().brighter().brighter()
+                .brighter());
+      }
+      if (button == lcaseColour)
+      {
+        for (int i = 0; i < lowerCaseButtons.size(); i++)
+        {
+          button = (JButton) lowerCaseButtons.elementAt(i);
+          button.setBackground(colorChooser.getColor());
+          button.setForeground(button.getBackground().brighter().brighter()
+                  .brighter());
+        }
+      }
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  public void colourButtonPressed(MouseEvent e)
+  {
+    if (selectedButtons == null)
+    {
+      selectedButtons = new Vector();
+    }
+
+    JButton pressed = (JButton) e.getSource();
+
+    if (e.isShiftDown())
+    {
+      JButton start, end = (JButton) e.getSource();
+      if (selectedButtons.size() > 0)
+      {
+        start = (JButton) selectedButtons
+                .elementAt(selectedButtons.size() - 1);
+      }
+      else
+      {
+        start = (JButton) e.getSource();
+      }
+
+      int startIndex = 0, endIndex = 0;
+      for (int b = 0; b < buttonPanel.getComponentCount(); b++)
+      {
+        if (buttonPanel.getComponent(b) == start)
+        {
+          startIndex = b;
+        }
+        if (buttonPanel.getComponent(b) == end)
+        {
+          endIndex = b;
+        }
+      }
+
+      if (startIndex > endIndex)
+      {
+        int temp = startIndex;
+        startIndex = endIndex;
+        endIndex = temp;
+      }
+
+      for (int b = startIndex; b <= endIndex; b++)
+      {
+        JButton button = (JButton) buttonPanel.getComponent(b);
+        if (!selectedButtons.contains(button))
+        {
+          button.setForeground(button.getBackground().brighter().brighter());
+          selectedButtons.add(button);
+        }
+      }
+    }
+    else if (!e.isControlDown())
+    {
+      for (int b = 0; b < selectedButtons.size(); b++)
+      {
+        JButton button = (JButton) selectedButtons.elementAt(b);
+        button.setForeground(button.getBackground().darker().darker());
+      }
+      selectedButtons.clear();
+      pressed.setForeground(pressed.getBackground().brighter().brighter());
+      selectedButtons.addElement(pressed);
+
+    }
+    else if (e.isControlDown())
+    {
+      if (selectedButtons.contains(pressed))
+      {
+        pressed.setForeground(pressed.getBackground().darker().darker());
+        selectedButtons.remove(pressed);
+      }
+      else
+      {
+        pressed.setForeground(pressed.getBackground().brighter().brighter());
+        selectedButtons.addElement(pressed);
+      }
+    }
+
+    if (selectedButtons.size() > 0)
+    {
+      colorChooser.setColor(((JButton) selectedButtons.elementAt(0))
+              .getBackground());
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param label
+   *          DOCUMENT ME!
+   * @param aa
+   *          DOCUMENT ME!
+   */
+  JButton makeButton(String label, String aa, Vector caseSensitiveButtons,
+          int buttonIndex)
+  {
+    final JButton button;
+    Color col;
+
+    if (buttonIndex < caseSensitiveButtons.size())
+    {
+      button = (JButton) caseSensitiveButtons.elementAt(buttonIndex);
+      col = button.getBackground();
+    }
+    else
+    {
+      button = new JButton();
+      button.addMouseListener(new java.awt.event.MouseAdapter()
+      {
+        public void mouseClicked(MouseEvent e)
+        {
+          colourButtonPressed(e);
+        }
+      });
+
+      caseSensitiveButtons.addElement(button);
+
+      col = Color.white;
+      if (oldColourScheme != null)
+      {
+        try
+        {
+          col = oldColourScheme.findColour(aa.charAt(0), -1, null);
+        } catch (Exception ex)
+        {
+        }
+      }
+    }
+
+    if (caseSensitive.isSelected())
+    {
+      button.setMargin(new java.awt.Insets(2, 2, 2, 2));
+    }
+    else
+    {
+      button.setMargin(new java.awt.Insets(2, 14, 2, 14));
+    }
+
+    button.setBackground(col);
+    button.setText(label);
+    button.setForeground(col.darker().darker().darker());
+    button.setFont(new java.awt.Font("Verdana", Font.BOLD, 10));
+
+    return button;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void okButton_actionPerformed(ActionEvent e)
+  {
+    applyButton_actionPerformed(null);
+
+    try
+    {
+      frame.setClosed(true);
+    } catch (Exception ex)
+    {
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void applyButton_actionPerformed(ActionEvent e)
+  {
+    UserColourScheme ucs = getSchemeFromButtons();
+    ucs.setName(schemeName.getText());
+
+    if (seqGroup != null)
+    {
+      seqGroup.cs = ucs;
+      ap.paintAlignment(true);
+    }
+    else if (ap != null)
+    {
+      ap.alignFrame.changeColour(ucs);
+    }
+    else if (jmol != null)
+    {
+      jmol.setJalviewColourScheme(ucs);
+    }
+  }
+
+  UserColourScheme getSchemeFromButtons()
+  {
+
+    Color[] newColours = new Color[24];
+
+    for (int i = 0; i < 24; i++)
+    {
+      JButton button = (JButton) upperCaseButtons.elementAt(i);
+      newColours[i] = button.getBackground();
+    }
+
+    UserColourScheme ucs = new UserColourScheme(newColours);
+
+    if (caseSensitive.isSelected())
+    {
+      newColours = new Color[23];
+      for (int i = 0; i < 23; i++)
+      {
+        JButton button = (JButton) lowerCaseButtons.elementAt(i);
+        newColours[i] = button.getBackground();
+      }
+      ucs.setLowerCaseColours(newColours);
+    }
+
+    if (ap != null)
+    {
+      ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());
+    }
+
+    return ucs;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void loadbutton_actionPerformed(ActionEvent e)
+  {
+    upperCaseButtons = new Vector();
+    lowerCaseButtons = new Vector();
+
+    JalviewFileChooser chooser = new JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
+            { "jc" }, new String[]
+            { "Jalview User Colours" }, "Jalview User Colours");
+    chooser.setFileView(new jalview.io.JalviewFileView());
     chooser.setDialogTitle(MessageManager.getString("label.load_colour_scheme"));\r
     chooser.setToolTipText(MessageManager.getString("action.load"));\r
-\r
-    int value = chooser.showOpenDialog(this);\r
-\r
-    if (value == JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      File choice = chooser.getSelectedFile();\r
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());\r
-      String defaultColours = jalview.bin.Cache.getDefault(\r
-              "USER_DEFINED_COLOURS", choice.getPath());\r
-      if (defaultColours.indexOf(choice.getPath()) == -1)\r
-      {\r
-        defaultColours = defaultColours.concat("|")\r
-                .concat(choice.getPath());\r
-      }\r
-\r
-      jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);\r
-\r
-      UserColourScheme ucs = loadColours(choice.getAbsolutePath());\r
-      Color[] colors = ucs.getColours();\r
-      schemeName.setText(ucs.getName());\r
-\r
-      if (ucs.getLowerCaseColours() != null)\r
-      {\r
-        caseSensitive.setSelected(true);\r
-        lcaseColour.setEnabled(true);\r
-        resetButtonPanel(true);\r
-        for (int i = 0; i < lowerCaseButtons.size(); i++)\r
-        {\r
-          JButton button = (JButton) lowerCaseButtons.elementAt(i);\r
-          button.setBackground(ucs.getLowerCaseColours()[i]);\r
-        }\r
-\r
-      }\r
-      else\r
-      {\r
-        caseSensitive.setSelected(false);\r
-        lcaseColour.setEnabled(false);\r
-        resetButtonPanel(false);\r
-      }\r
-\r
-      for (int i = 0; i < upperCaseButtons.size(); i++)\r
-      {\r
-        JButton button = (JButton) upperCaseButtons.elementAt(i);\r
-        button.setBackground(colors[i]);\r
-      }\r
-\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public static UserColourScheme loadDefaultColours()\r
-  {\r
-    UserColourScheme ret = null;\r
-\r
-    String colours = jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS");\r
-    if (colours != null)\r
-    {\r
-      if (colours.indexOf("|") > -1)\r
-      {\r
-        colours = colours.substring(0, colours.indexOf("|"));\r
-      }\r
-\r
-      ret = loadColours(colours);\r
-    }\r
-\r
-    if (ret == null)\r
-    {\r
-      Color[] newColours = new Color[24];\r
-      for (int i = 0; i < 24; i++)\r
-      {\r
-        newColours[i] = Color.white;\r
-      }\r
-      ret = new UserColourScheme(newColours);\r
-    }\r
-\r
-    return ret;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param file\r
-   *          DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  static UserColourScheme loadColours(String file)\r
-  {\r
-    UserColourScheme ucs = null;\r
-    Color[] newColours = null;\r
-    try\r
-    {\r
-      InputStreamReader in = new InputStreamReader(\r
-              new FileInputStream(file), "UTF-8");\r
-\r
-      jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours();\r
-\r
-      org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller(\r
-              jucs);\r
-      jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar\r
-              .unmarshal(in);\r
-\r
-      newColours = new Color[24];\r
-\r
-      Color[] lowerCase = null;\r
-      boolean caseSensitive = false;\r
-\r
-      String name;\r
-      int index;\r
-      for (int i = 0; i < jucs.getColourCount(); i++)\r
-      {\r
-        name = jucs.getColour(i).getName();\r
-        if (ResidueProperties.aa3Hash.containsKey(name))\r
-        {\r
-          index = ((Integer) ResidueProperties.aa3Hash.get(name))\r
-                  .intValue();\r
-        }\r
-        else\r
-        {\r
-          index = ResidueProperties.aaIndex[name.charAt(0)];\r
-        }\r
-        if (index == -1)\r
-        {\r
-          continue;\r
-        }\r
-\r
-        if (name.toLowerCase().equals(name))\r
-        {\r
-          if (lowerCase == null)\r
-          {\r
-            lowerCase = new Color[23];\r
-          }\r
-          caseSensitive = true;\r
-          lowerCase[index] = new Color(Integer.parseInt(jucs.getColour(i)\r
-                  .getRGB(), 16));\r
-        }\r
-        else\r
-        {\r
-          newColours[index] = new Color(Integer.parseInt(jucs.getColour(i)\r
-                  .getRGB(), 16));\r
-        }\r
-      }\r
-\r
-      if (newColours != null)\r
-      {\r
-        ucs = new UserColourScheme(newColours);\r
-        ucs.setName(jucs.getSchemeName());\r
-        if (caseSensitive)\r
-        {\r
-          ucs.setLowerCaseColours(lowerCase);\r
-        }\r
-      }\r
-\r
-    } catch (Exception ex)\r
-    {\r
-      // Could be Archive Jalview format\r
-      try\r
-      {\r
-        InputStreamReader in = new InputStreamReader(new FileInputStream(\r
-                file), "UTF-8");\r
-\r
-        jalview.binding.JalviewUserColours jucs = new jalview.binding.JalviewUserColours();\r
-\r
-        jucs = (jalview.binding.JalviewUserColours) jucs.unmarshal(in);\r
-\r
-        newColours = new Color[jucs.getColourCount()];\r
-\r
-        for (int i = 0; i < 24; i++)\r
-        {\r
-          newColours[i] = new Color(Integer.parseInt(jucs.getColour(i)\r
-                  .getRGB(), 16));\r
-        }\r
-        if (newColours != null)\r
-        {\r
-          ucs = new UserColourScheme(newColours);\r
-          ucs.setName(jucs.getSchemeName());\r
-        }\r
-      } catch (Exception ex2)\r
-      {\r
-        ex2.printStackTrace();\r
-      }\r
-\r
-      if (newColours == null)\r
-      {\r
-        System.out.println("Error loading User ColourFile\n" + ex);\r
-      }\r
-    }\r
-\r
-    return ucs;\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void savebutton_actionPerformed(ActionEvent e)\r
-  {\r
-    if (schemeName.getText().trim().length() < 1)\r
-    {\r
-      JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
-              MessageManager.getString("label.user_colour_scheme_must_have_name"),\r
-              MessageManager.getString("label.no_name_colour_scheme"), JOptionPane.WARNING_MESSAGE);\r
-      return;\r
-    }\r
-\r
-    if (userColourSchemes != null\r
-            && userColourSchemes.containsKey(schemeName.getText()))\r
-    {\r
-      int reply = JOptionPane.showInternalConfirmDialog(\r
-              Desktop.desktop,\r
-              MessageManager.formatMessage("label.colour_scheme_exists_overwrite", new String[]{schemeName.getText(),schemeName.getText()}),\r
-              MessageManager.getString("label.duplicate_scheme_name"), JOptionPane.YES_NO_OPTION);\r
-      if (reply != JOptionPane.YES_OPTION)\r
-      {\r
-        return;\r
-      }\r
-\r
-      userColourSchemes.remove(schemeName.getText());\r
-    }\r
-    JalviewFileChooser chooser = new JalviewFileChooser(\r
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]\r
-            { "jc" }, new String[]\r
-            { "Jalview User Colours" }, "Jalview User Colours");\r
-\r
-    chooser.setFileView(new jalview.io.JalviewFileView());\r
-    chooser.setDialogTitle("Save colour scheme");\r
+
+    int value = chooser.showOpenDialog(this);
+
+    if (value == JalviewFileChooser.APPROVE_OPTION)
+    {
+      File choice = chooser.getSelectedFile();
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());
+      String defaultColours = jalview.bin.Cache.getDefault(
+              "USER_DEFINED_COLOURS", choice.getPath());
+      if (defaultColours.indexOf(choice.getPath()) == -1)
+      {
+        defaultColours = defaultColours.concat("|")
+                .concat(choice.getPath());
+      }
+
+      jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);
+
+      UserColourScheme ucs = loadColours(choice.getAbsolutePath());
+      Color[] colors = ucs.getColours();
+      schemeName.setText(ucs.getName());
+
+      if (ucs.getLowerCaseColours() != null)
+      {
+        caseSensitive.setSelected(true);
+        lcaseColour.setEnabled(true);
+        resetButtonPanel(true);
+        for (int i = 0; i < lowerCaseButtons.size(); i++)
+        {
+          JButton button = (JButton) lowerCaseButtons.elementAt(i);
+          button.setBackground(ucs.getLowerCaseColours()[i]);
+        }
+
+      }
+      else
+      {
+        caseSensitive.setSelected(false);
+        lcaseColour.setEnabled(false);
+        resetButtonPanel(false);
+      }
+
+      for (int i = 0; i < upperCaseButtons.size(); i++)
+      {
+        JButton button = (JButton) upperCaseButtons.elementAt(i);
+        button.setBackground(colors[i]);
+      }
+
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public static UserColourScheme loadDefaultColours()
+  {
+    UserColourScheme ret = null;
+
+    String colours = jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS");
+    if (colours != null)
+    {
+      if (colours.indexOf("|") > -1)
+      {
+        colours = colours.substring(0, colours.indexOf("|"));
+      }
+
+      ret = loadColours(colours);
+    }
+
+    if (ret == null)
+    {
+      Color[] newColours = new Color[24];
+      for (int i = 0; i < 24; i++)
+      {
+        newColours[i] = Color.white;
+      }
+      ret = new UserColourScheme(newColours);
+    }
+
+    return ret;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param file
+   *          DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  static UserColourScheme loadColours(String file)
+  {
+    UserColourScheme ucs = null;
+    Color[] newColours = null;
+    try
+    {
+      InputStreamReader in = new InputStreamReader(
+              new FileInputStream(file), "UTF-8");
+
+      jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours();
+
+      org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller(
+              jucs);
+      jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar
+              .unmarshal(in);
+
+      newColours = new Color[24];
+
+      Color[] lowerCase = null;
+      boolean caseSensitive = false;
+
+      String name;
+      int index;
+      for (int i = 0; i < jucs.getColourCount(); i++)
+      {
+        name = jucs.getColour(i).getName();
+        if (ResidueProperties.aa3Hash.containsKey(name))
+        {
+          index = ((Integer) ResidueProperties.aa3Hash.get(name))
+                  .intValue();
+        }
+        else
+        {
+          index = ResidueProperties.aaIndex[name.charAt(0)];
+        }
+        if (index == -1)
+        {
+          continue;
+        }
+
+        if (name.toLowerCase().equals(name))
+        {
+          if (lowerCase == null)
+          {
+            lowerCase = new Color[23];
+          }
+          caseSensitive = true;
+          lowerCase[index] = new Color(Integer.parseInt(jucs.getColour(i)
+                  .getRGB(), 16));
+        }
+        else
+        {
+          newColours[index] = new Color(Integer.parseInt(jucs.getColour(i)
+                  .getRGB(), 16));
+        }
+      }
+
+      if (newColours != null)
+      {
+        ucs = new UserColourScheme(newColours);
+        ucs.setName(jucs.getSchemeName());
+        if (caseSensitive)
+        {
+          ucs.setLowerCaseColours(lowerCase);
+        }
+      }
+
+    } catch (Exception ex)
+    {
+      // Could be Archive Jalview format
+      try
+      {
+        InputStreamReader in = new InputStreamReader(new FileInputStream(
+                file), "UTF-8");
+
+        jalview.binding.JalviewUserColours jucs = new jalview.binding.JalviewUserColours();
+
+        jucs = (jalview.binding.JalviewUserColours) jucs.unmarshal(in);
+
+        newColours = new Color[jucs.getColourCount()];
+
+        for (int i = 0; i < 24; i++)
+        {
+          newColours[i] = new Color(Integer.parseInt(jucs.getColour(i)
+                  .getRGB(), 16));
+        }
+        if (newColours != null)
+        {
+          ucs = new UserColourScheme(newColours);
+          ucs.setName(jucs.getSchemeName());
+        }
+      } catch (Exception ex2)
+      {
+        ex2.printStackTrace();
+      }
+
+      if (newColours == null)
+      {
+        System.out.println("Error loading User ColourFile\n" + ex);
+      }
+    }
+
+    return ucs;
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void savebutton_actionPerformed(ActionEvent e)
+  {
+    if (schemeName.getText().trim().length() < 1)
+    {
+      JOptionPane.showInternalMessageDialog(Desktop.desktop,
+              MessageManager.getString("label.user_colour_scheme_must_have_name"),
+              MessageManager.getString("label.no_name_colour_scheme"), JOptionPane.WARNING_MESSAGE);
+      return;
+    }
+
+    if (userColourSchemes != null
+            && userColourSchemes.containsKey(schemeName.getText()))
+    {
+      int reply = JOptionPane.showInternalConfirmDialog(
+              Desktop.desktop,
+              MessageManager.formatMessage("label.colour_scheme_exists_overwrite", new String[]{schemeName.getText(),schemeName.getText()}),
+              MessageManager.getString("label.duplicate_scheme_name"), JOptionPane.YES_NO_OPTION);
+      if (reply != JOptionPane.YES_OPTION)
+      {
+        return;
+      }
+
+      userColourSchemes.remove(schemeName.getText());
+    }
+    JalviewFileChooser chooser = new JalviewFileChooser(
+            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
+            { "jc" }, new String[]
+            { "Jalview User Colours" }, "Jalview User Colours");
+
+    chooser.setFileView(new jalview.io.JalviewFileView());
+    chooser.setDialogTitle("Save colour scheme");
     chooser.setToolTipText(MessageManager.getString("action.save"));\r
-\r
-    int value = chooser.showSaveDialog(this);\r
-\r
-    if (value == JalviewFileChooser.APPROVE_OPTION)\r
-    {\r
-      String choice = chooser.getSelectedFile().getPath();\r
-      String defaultColours = jalview.bin.Cache.getDefault(\r
-              "USER_DEFINED_COLOURS", choice);\r
-      if (defaultColours.indexOf(choice) == -1)\r
-      {\r
-        if (defaultColours.length() > 0)\r
-        {\r
-          defaultColours = defaultColours.concat("|");\r
-        }\r
-        defaultColours = defaultColours.concat(choice);\r
-      }\r
-\r
-      userColourSchemes.put(schemeName.getText(), getSchemeFromButtons());\r
-\r
-      ap.alignFrame.updateUserColourMenu();\r
-\r
-      jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);\r
-\r
-      jalview.schemabinding.version2.JalviewUserColours ucs = new jalview.schemabinding.version2.JalviewUserColours();\r
-\r
-      ucs.setSchemeName(schemeName.getText());\r
-      try\r
-      {\r
-        PrintWriter out = new PrintWriter(new OutputStreamWriter(\r
-                new FileOutputStream(choice), "UTF-8"));\r
-\r
-        for (int i = 0; i < buttonPanel.getComponentCount(); i++)\r
-        {\r
-          JButton button = (JButton) buttonPanel.getComponent(i);\r
-          jalview.schemabinding.version2.Colour col = new jalview.schemabinding.version2.Colour();\r
-          col.setName(button.getText());\r
-          col.setRGB(jalview.util.Format.getHexString(button\r
-                  .getBackground()));\r
-          ucs.addColour(col);\r
-        }\r
-\r
-        ucs.marshal(out);\r
-        out.close();\r
-      } catch (Exception ex)\r
-      {\r
-        ex.printStackTrace();\r
-      }\r
-    }\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param e\r
-   *          DOCUMENT ME!\r
-   */\r
-  protected void cancelButton_actionPerformed(ActionEvent e)\r
-  {\r
-    if (ap != null)\r
-    {\r
-      if (seqGroup != null)\r
-      {\r
-        seqGroup.cs = oldColourScheme;\r
-      }\r
-      else if (ap != null)\r
-      {\r
-        ap.av.setGlobalColourScheme(oldColourScheme);\r
-      }\r
-      ap.paintAlignment(true);\r
-    }\r
-\r
-    if (jmol != null)\r
-    {\r
-      jmol.setJalviewColourScheme(oldColourScheme);\r
-    }\r
-\r
-    try\r
-    {\r
-      frame.setClosed(true);\r
-    } catch (Exception ex)\r
-    {\r
-    }\r
-  }\r
-\r
-  static Hashtable userColourSchemes;\r
-\r
-  public static Hashtable getUserColourSchemes()\r
-  {\r
-    return userColourSchemes;\r
-  }\r
-\r
-  public static void initUserColourSchemes(String files)\r
-  {\r
-    userColourSchemes = new Hashtable();\r
-\r
-    if (files == null || files.length() == 0)\r
-    {\r
-      return;\r
-    }\r
-\r
-    // In case colours can't be loaded, we'll remove them\r
-    // from the default list here.\r
-    StringBuffer coloursFound = new StringBuffer();\r
-    StringTokenizer st = new StringTokenizer(files, "|");\r
-    while (st.hasMoreElements())\r
-    {\r
-      String file = st.nextToken();\r
-      try\r
-      {\r
-        UserColourScheme ucs = loadColours(file);\r
-        if (ucs != null)\r
-        {\r
-          if (coloursFound.length() > 0)\r
-          {\r
-            coloursFound.append("|");\r
-          }\r
-          coloursFound.append(file);\r
-          userColourSchemes.put(ucs.getName(), ucs);\r
-        }\r
-      } catch (Exception ex)\r
-      {\r
-        System.out.println("Error loading User ColourFile\n" + ex);\r
-      }\r
-    }\r
-    if (!files.equals(coloursFound.toString()))\r
-    {\r
-      if (coloursFound.toString().length() > 1)\r
-      {\r
-        jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",\r
-                coloursFound.toString());\r
-      }\r
-      else\r
-      {\r
-        jalview.bin.Cache.applicationProperties\r
-                .remove("USER_DEFINED_COLOURS");\r
-      }\r
-    }\r
-  }\r
-\r
-  public static void removeColourFromDefaults(String target)\r
-  {\r
-    // The only way to find colours by name is to load them in\r
-    // In case colours can't be loaded, we'll remove them\r
-    // from the default list here.\r
-\r
-    userColourSchemes = new Hashtable();\r
-\r
-    StringBuffer coloursFound = new StringBuffer();\r
-    StringTokenizer st = new StringTokenizer(\r
-            jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|");\r
-\r
-    while (st.hasMoreElements())\r
-    {\r
-      String file = st.nextToken();\r
-      try\r
-      {\r
-        UserColourScheme ucs = loadColours(file);\r
-        if (ucs != null && !ucs.getName().equals(target))\r
-        {\r
-          if (coloursFound.length() > 0)\r
-          {\r
-            coloursFound.append("|");\r
-          }\r
-          coloursFound.append(file);\r
-          userColourSchemes.put(ucs.getName(), ucs);\r
-        }\r
-      } catch (Exception ex)\r
-      {\r
-        System.out.println("Error loading User ColourFile\n" + ex);\r
-      }\r
-    }\r
-\r
-    if (coloursFound.toString().length() > 1)\r
-    {\r
-      jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",\r
-              coloursFound.toString());\r
-    }\r
-    else\r
-    {\r
-      jalview.bin.Cache.applicationProperties\r
-              .remove("USER_DEFINED_COLOURS");\r
-    }\r
-\r
-  }\r
-\r
-  public void caseSensitive_actionPerformed(ActionEvent e)\r
-  {\r
-    resetButtonPanel(caseSensitive.isSelected());\r
-    lcaseColour.setEnabled(caseSensitive.isSelected());\r
-  }\r
-\r
-  public void lcaseColour_actionPerformed(ActionEvent e)\r
-  {\r
-    if (selectedButtons == null)\r
-    {\r
-      selectedButtons = new Vector();\r
-    }\r
-    else\r
-    {\r
-      selectedButtons.clear();\r
-    }\r
-    selectedButtons.add(lcaseColour);\r
-  }\r
-\r
-}\r
+
+    int value = chooser.showSaveDialog(this);
+
+    if (value == JalviewFileChooser.APPROVE_OPTION)
+    {
+      String choice = chooser.getSelectedFile().getPath();
+      String defaultColours = jalview.bin.Cache.getDefault(
+              "USER_DEFINED_COLOURS", choice);
+      if (defaultColours.indexOf(choice) == -1)
+      {
+        if (defaultColours.length() > 0)
+        {
+          defaultColours = defaultColours.concat("|");
+        }
+        defaultColours = defaultColours.concat(choice);
+      }
+
+      userColourSchemes.put(schemeName.getText(), getSchemeFromButtons());
+
+      ap.alignFrame.updateUserColourMenu();
+
+      jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);
+
+      jalview.schemabinding.version2.JalviewUserColours ucs = new jalview.schemabinding.version2.JalviewUserColours();
+
+      ucs.setSchemeName(schemeName.getText());
+      try
+      {
+        PrintWriter out = new PrintWriter(new OutputStreamWriter(
+                new FileOutputStream(choice), "UTF-8"));
+
+        for (int i = 0; i < buttonPanel.getComponentCount(); i++)
+        {
+          JButton button = (JButton) buttonPanel.getComponent(i);
+          jalview.schemabinding.version2.Colour col = new jalview.schemabinding.version2.Colour();
+          col.setName(button.getText());
+          col.setRGB(jalview.util.Format.getHexString(button
+                  .getBackground()));
+          ucs.addColour(col);
+        }
+
+        ucs.marshal(out);
+        out.close();
+      } catch (Exception ex)
+      {
+        ex.printStackTrace();
+      }
+    }
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param e
+   *          DOCUMENT ME!
+   */
+  protected void cancelButton_actionPerformed(ActionEvent e)
+  {
+    if (ap != null)
+    {
+      if (seqGroup != null)
+      {
+        seqGroup.cs = oldColourScheme;
+      }
+      else if (ap != null)
+      {
+        ap.av.setGlobalColourScheme(oldColourScheme);
+      }
+      ap.paintAlignment(true);
+    }
+
+    if (jmol != null)
+    {
+      jmol.setJalviewColourScheme(oldColourScheme);
+    }
+
+    try
+    {
+      frame.setClosed(true);
+    } catch (Exception ex)
+    {
+    }
+  }
+
+  static Hashtable userColourSchemes;
+
+  public static Hashtable getUserColourSchemes()
+  {
+    return userColourSchemes;
+  }
+
+  public static void initUserColourSchemes(String files)
+  {
+    userColourSchemes = new Hashtable();
+
+    if (files == null || files.length() == 0)
+    {
+      return;
+    }
+
+    // In case colours can't be loaded, we'll remove them
+    // from the default list here.
+    StringBuffer coloursFound = new StringBuffer();
+    StringTokenizer st = new StringTokenizer(files, "|");
+    while (st.hasMoreElements())
+    {
+      String file = st.nextToken();
+      try
+      {
+        UserColourScheme ucs = loadColours(file);
+        if (ucs != null)
+        {
+          if (coloursFound.length() > 0)
+          {
+            coloursFound.append("|");
+          }
+          coloursFound.append(file);
+          userColourSchemes.put(ucs.getName(), ucs);
+        }
+      } catch (Exception ex)
+      {
+        System.out.println("Error loading User ColourFile\n" + ex);
+      }
+    }
+    if (!files.equals(coloursFound.toString()))
+    {
+      if (coloursFound.toString().length() > 1)
+      {
+        jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",
+                coloursFound.toString());
+      }
+      else
+      {
+        jalview.bin.Cache.applicationProperties
+                .remove("USER_DEFINED_COLOURS");
+      }
+    }
+  }
+
+  public static void removeColourFromDefaults(String target)
+  {
+    // The only way to find colours by name is to load them in
+    // In case colours can't be loaded, we'll remove them
+    // from the default list here.
+
+    userColourSchemes = new Hashtable();
+
+    StringBuffer coloursFound = new StringBuffer();
+    StringTokenizer st = new StringTokenizer(
+            jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|");
+
+    while (st.hasMoreElements())
+    {
+      String file = st.nextToken();
+      try
+      {
+        UserColourScheme ucs = loadColours(file);
+        if (ucs != null && !ucs.getName().equals(target))
+        {
+          if (coloursFound.length() > 0)
+          {
+            coloursFound.append("|");
+          }
+          coloursFound.append(file);
+          userColourSchemes.put(ucs.getName(), ucs);
+        }
+      } catch (Exception ex)
+      {
+        System.out.println("Error loading User ColourFile\n" + ex);
+      }
+    }
+
+    if (coloursFound.toString().length() > 1)
+    {
+      jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",
+              coloursFound.toString());
+    }
+    else
+    {
+      jalview.bin.Cache.applicationProperties
+              .remove("USER_DEFINED_COLOURS");
+    }
+
+  }
+
+  public void caseSensitive_actionPerformed(ActionEvent e)
+  {
+    resetButtonPanel(caseSensitive.isSelected());
+    lcaseColour.setEnabled(caseSensitive.isSelected());
+  }
+
+  public void lcaseColour_actionPerformed(ActionEvent e)
+  {
+    if (selectedButtons == null)
+    {
+      selectedButtons = new Vector();
+    }
+    else
+    {
+      selectedButtons.clear();
+    }
+    selectedButtons.add(lcaseColour);
+  }
+
+}
index 92dd354..dc23978 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 13f6692..5f585b6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 6170909..e2bda4c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.gui;
 
 import jalview.util.MessageManager;
index ea2bacb..760db66 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 6879e9a..9b02401 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 92e7a89..780b30f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index 744cd8f..ab7e341 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.gui;
 
index f63b177..ee3c18c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 6c1a343..7550a5b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 38f61cf..37912be 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 4abd768..6f24361 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 67d50ee..6679a03 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
@@ -53,7 +54,7 @@ public class AppletFormatAdapter
    * that are writable by the application.
    */
   public static final String[] WRITABLE_EXTENSIONS = new String[]
-  { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
+  { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
       "sto,stk" };
 
   /**
@@ -69,7 +70,7 @@ public class AppletFormatAdapter
    * corresponding to READABLE_FNAMES
    */
   public static final String[] READABLE_EXTENSIONS = new String[]
-  { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
+  { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
       "sto,stk" }; // ,
 
   // ".blast"
index 5b02b59..b95cf1f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 4f5f8cc..ad9daad 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 4ae5e77..bc6ca7f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 7939a21..c24cbdd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 0c0d186..9cc3b55 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index ea7ac70..a87fd60 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 9d13900..9cc1e16 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index bb52ec2..69e801c 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index bdc015c..0238073 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index f27a8e1..d0fdd32 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index b06edc5..63d8d63 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 0fae4ee..155e236 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /**
  * PredFile.java
index 9d214e1..e9651ad 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
index 214fa34..43dda7e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 7f360c8..27c6a07 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 957c5e7..51cd302 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 7c70a09..2d20a40 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 30535bd..42b9578 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 5c8231e..a57cefa 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 9ed1491..813ac78 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 // NewickFile.java
 // Tree I/O
index 9431cc5..5af94e2 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 527312b..ba1a9b9 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index de0d8a3..f489d80 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 497e4c9..fbcc436 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 5cbf78d..b8d7569 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 02ab5c1..4566bac 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /*
  * This extension was written by Benjamin Schuster-Boeckler at sanger.ac.uk
index ad5f52a..602b0d0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 64e40e3..34c61d9 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index d4d1a60..732c072 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index a88d77f..80fc0c0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.packed;
 
 /**
index e0ebd9f..b3f061c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.packed;
 
 import jalview.datamodel.AlignmentI;
index 61a6759..17e94e7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.packed;
 
index c274d77..4806f91 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.packed;
 
index cceefb3..08e6288 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index 0da8ea9..0fae890 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index f7876e2..468cb7a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index d4aafe8..68bc498 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index 4cf963b..881404d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index a542b5d..281e8a4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index 6c4c285..5d04c4c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index 6c31e45..241ff85 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index 5b32d40..43febb4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.vamsas;
 
index 09036e6..4ed9a08 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.javascript;
 
index bd9fe36..25eb3be 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.javascript;
 
index f920071..7c86360 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,9 @@
  * 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/>.
- */package jalview.javascript;
-
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.javascript;
 public interface JsCallBack
 {
   public jalview.appletgui.AlignFrame getAlignFrame();
index f803759..66b1cac 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.javascript;
 
index e7b14ad..cb3fee7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.javascript;
 
index f9d5dd0..9d7e0cc 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.javascript;
 
index 24e3af1..cd8ad6f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 8549ff8..4a20adb 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 130574d..38fe7a3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index f9ee953..ecfe2af 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 180ba70..e01d0c7 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index eb8246f..4ef6fdd 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 40d6a51..d811fee 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index c75da38..5f1748e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index f5612dd..3968fde 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index fcb6036..7a7392d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 90ab1c6..a8626d8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index dc5262b..9580d43 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index f6ff418..97ad295 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 2297136..dd39080 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 3d5683c..cb4d90f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 07cfc23..72224c3 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 6769404..c60d732 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 2b27946..47f94c5 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 01fb328..e097d85 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 3672a8c..21d9b47 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.jbgui;
 
+import jalview.util.MessageManager;
+
 import java.awt.*;
 import java.awt.event.*;
+
 import javax.swing.*;
 
 /**
index 18df903..889fcb7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.jbgui;
 
index 958fabe..057bdbf 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.math;
 
index 39ae7f5..e2ed0c0 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.math;
 
index 09152d6..d951aba 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.renderer;
 
index e73a673..678233e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.renderer;
 
index 413c028..025de4d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index b382ac8..923a17a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index d60950b..9e1850d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 2af8828..475aef1 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 9eef6f0..a8a10c6 100644 (file)
@@ -1,8 +1,20 @@
 /*
- * This class was automatically generated with 
- * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
- * Schema.
- * $Id$
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.schemabinding.version2;
index 81e1a23..f86908c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index be00b2f..b758899 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index c718411..d4d0f60 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index d342821..f9d0ce5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index f3ad84a..612c9b1 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index e507af9..ed60cfa 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 1dce78a..3a889b2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 5f6cf71..43e71d0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index fc7971d..df4ff32 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 54af6b8..8b80750 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index cc8a884..9c902a6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 9042ae4..770cb2c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index a2c285a..a2d8a36 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 8a6a8ea..abeff9e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 7e2ff4e..f112e44 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 21d650e..558e3ef 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 7a490c0..53b1ae3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index d136186..9d54b40 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index d914004..ca35463 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 24a46fb..22e35a2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 9b46250..cbe3778 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 369ec7a..18dc89b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 5ff4e13..a5a3971 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 9f65908..eb30727 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index fa2c1d4..00b9039 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 339ded7..2990ce6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 095468b..8ec6a73 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 83a5a7c..9ecebc3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 05132c0..3baa13b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 68a225a..96a1726 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 0ccb45f..a8542c6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index f9a6391..f9d7c13 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index b687418..41ed009 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 00f9941..e7d39ed 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index fa91d51..10081da 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 4bbc0e2..3f3e3c4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 8611be0..e08c1bc 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 0283bef..03e0d1a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2;
 
index 44ec97b..d6289da 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 8e6864f..b4ab798 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 04c2be9..5b2c0d2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 196ad60..627ecde 100644 (file)
@@ -1,8 +1,20 @@
 /*
- * This class was automatically generated with 
- * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
- * Schema.
- * $Id$
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.schemabinding.version2.descriptors;
index 028716e..cdad97f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index af72c3a..a45b335 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index a414789..4c73612 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 1ef6086..506c081 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index a8e2f2d..4ddb77d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index bf03c4b..a7368c0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index dddeb96..79303a6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index b47af9e..72daa76 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 8bdde86..64a2cd4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 8df53af..14af454 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index ccf3217..12b6af6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index ca83be6..06cf7ab 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 6237b1a..63fc0dc 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 4532250..eb51911 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index f251553..b0283b2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 43d40e7..788c8b7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index d32bc03..b75aadb 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 7f3c72e..f83c882 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index c032170..5d5999f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 4de9c02..f9e0749 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 1f5a2ad..3161f09 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 18c5933..d45ee1e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 42c76da..ab5ba35 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 42ff3cf..f911036 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 48dbc66..a7c33b8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index e233ccc..801bfa7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index b30ddbe..adb4a10 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index e3e6ee3..13e8fcd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index b7826d0..c6aa523 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 55b7fe3..43ac0ed 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 9979056..0fa781c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 28a7111..8d83922 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 3d06573..467b7f0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 9616b54..0d39d82 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 8848f14..d6404d2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 966f532..61b822d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 9c0994d..d60b798 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 55bfc8e..4f338e2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index e4a4011..695a799 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemabinding.version2.descriptors;
 
index 9c5512c..8ca4420 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 36c8e75..ad0e0c0 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 100a413..5caa275 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index e79676f..62c94d8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 0750adf..7fc6981 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 47dbde2..aa928cc 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 213621b..91e0fff 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 908eff7..e410d50 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index bbfc475..caed820 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index e740980..cb0079e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index e073b20..46d93eb 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 522e2e4..c359382 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index cbd082d..a500914 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 2354bab..094ee61 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index a2ffff5..7cbca66 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index cef7eb6..45c374d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 3f18595..943d2fa 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index bfff972..9acfc24 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 2fb6338..8198ff1 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index da9896e..e78b92c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 9cf3340..3303f12 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index ac173bb..6eb48c2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index d33845c..2274c22 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index cfc4274..c3b436a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 462b9c6..82a5871 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index a0262d9..6760a90 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index c67d916..ceb8b73 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index e3709d2..ad38657 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index ef26d06..e754035 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index e0e7c5e..43c5408 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index 7668d3c..1a78f08 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index 6285d28..bf3ca2d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index a76b2f2..c66b740 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index 3278026..e3256f6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index 8d684c1..bbee3b7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index c9fd12a..f5fc84d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index 1c48d6c..01be511 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.structure;
 
index 045183d..cfcf396 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 66a9c95..634ffc7 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index c4de18b..13adc7e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /**
  * author: Lauren Michelle Lui
index cec9bc3..bd8abbd 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 804595b..96cd8db 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 9aeb8a6..ddc4ceb 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /**
  * A class for formatting numbers that follows printf conventions.
index 714e12d..243be63 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 842d424..4d11276 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index e584a13..d712721 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 6919108..b0b8ef8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index aa17434..8287ca3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 5ba22c1..20f1ac7 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index d4d06ee..54a5218 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 4c44b61..dcb5330 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index e955a6f..80a4380 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index e2873db..8829118 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 6f3a2af..07ec95e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.viewmodel;
 
index 31fce15..bb1519d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.viewmodel;
 
index d94afb7..a9af5e7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.workers;
 
index c9dbba6..7497e7a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.workers;
 
index c2b4d66..97d1236 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.workers;
 
index 58510e5..b6186d4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.workers;
 
index 25e5cde..9a8f2d8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.workers;
 
index b5d8d51..8a31587 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index a8eb5ea..71c021c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index 1cbc821..9742bca 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index e553b09..2d8617a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index ec979df..12d81ed 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index ab3fc66..13c70d3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index 14b6997..ce3e952 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.ws;\r
-\r
-import jalview.datamodel.Alignment;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.DBRefSource;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.ws.dbsources.das.api.jalviewSourceI;\r
-import jalview.ws.seqfetcher.ASequenceFetcher;\r
-import jalview.ws.seqfetcher.DbSourceProxy;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Enumeration;\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-/**\r
- * This is the the concrete implementation of the sequence retrieval interface\r
- * and abstract class in jalview.ws.seqfetcher. This implements the run-time\r
- * discovery of sequence database clients, and provides a hardwired main for\r
- * testing all registered handlers.\r
- * \r
- */\r
-public class SequenceFetcher extends ASequenceFetcher\r
-{\r
-  /**\r
-   * Thread safe construction of database proxies TODO: extend to a configurable\r
-   * database plugin mechanism where classes are instantiated by reflection and\r
-   * queried for their DbRefSource and version association.\r
-   * \r
-   */\r
-  public SequenceFetcher()\r
-  {\r
-    this(true);\r
-  }\r
-  public SequenceFetcher(boolean addDas)\r
-  {\r
-    addDBRefSourceImpl(jalview.ws.dbsources.EmblSource.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.EmblCdsSouce.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.Uniprot.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.UnprotName.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.Pdb.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.PfamFull.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.PfamSeed.class); // ensures Seed\r
-    // alignment is\r
-    // 'default' for\r
-    // PFAM\r
-    addDBRefSourceImpl(jalview.ws.dbsources.RfamFull.class);\r
-    addDBRefSourceImpl(jalview.ws.dbsources.RfamSeed.class);\r
-    if (addDas) {\r
-      registerDasSequenceSources();\r
-    }\r
-  }\r
-\r
-  /**\r
-   * return an ordered list of database sources where non-das database classes\r
-   * appear before das database classes\r
-   */\r
-  public String[] getOrderedSupportedSources()\r
-  {\r
-    String[] srcs = this.getSupportedDb();\r
-    ArrayList<String> dassrc = new ArrayList<String>(), nondas = new ArrayList<String>();\r
-    for (int i = 0; i < srcs.length; i++)\r
-    {\r
-      boolean das = false, skip = false;\r
-      String nm;\r
-      for (DbSourceProxy dbs : getSourceProxy(srcs[i]))\r
-      {\r
-        // Skip the alignment databases for the moment - they're not useful for\r
-        // verifying a single sequence against its reference source\r
-        if (dbs.isA(DBRefSource.ALIGNMENTDB))\r
-        {\r
-          skip = true;\r
-        }\r
-        else\r
-        {\r
-          nm = dbs.getDbName();\r
-          if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)\r
-          {\r
-            if (nm.startsWith("das:"))\r
-            {\r
-              nm = nm.substring(4);\r
-              das = true;\r
-            }\r
-            break;\r
-          }\r
-        }\r
-      }\r
-      if (skip)\r
-      {\r
-        continue;\r
-      }\r
-      if (das)\r
-      {\r
-        dassrc.add(srcs[i]);\r
-      }\r
-      else\r
-      {\r
-        nondas.add(srcs[i]);\r
-      }\r
-    }\r
-    String[] tosort = nondas.toArray(new String[0]), sorted = nondas\r
-            .toArray(new String[0]);\r
-    for (int j = 0, jSize = sorted.length; j < jSize; j++)\r
-    {\r
-      tosort[j] = tosort[j].toLowerCase();\r
-    }\r
-    jalview.util.QuickSort.sort(tosort, sorted);\r
-    // construct array with all sources listed\r
-\r
-    srcs = new String[sorted.length + dassrc.size()];\r
-    int i = 0;\r
-    for (int j = sorted.length - 1; j >= 0; j--, i++)\r
-    {\r
-      srcs[i] = sorted[j];\r
-      sorted[j] = null;\r
-    }\r
-\r
-    sorted = dassrc.toArray(new String[0]);\r
-    tosort = dassrc.toArray(new String[0]);\r
-    for (int j = 0, jSize = sorted.length; j < jSize; j++)\r
-    {\r
-      tosort[j] = tosort[j].toLowerCase();\r
-    }\r
-    jalview.util.QuickSort.sort(tosort, sorted);\r
-    for (int j = sorted.length - 1; j >= 0; j--, i++)\r
-    {\r
-      srcs[i] = sorted[j];\r
-    }\r
-    return srcs;\r
-  }\r
-\r
-  /**\r
-   * return plaintext databse list suitable for using in a GUI element\r
-   */\r
-  public String[] _getOrderedSupportedSources()\r
-  {\r
-    String[] srcs = this.getSupportedDb();\r
-    ArrayList dassrc = new ArrayList(), nondas = new ArrayList();\r
-    for (int i = 0; i < srcs.length; i++)\r
-    {\r
-      for (DbSourceProxy dbs : getSourceProxy(srcs[i]))\r
-      {\r
-        String nm = dbs.getDbName();\r
-        if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)\r
-        {\r
-          if (nm.startsWith("das:"))\r
-          {\r
-            nm = nm.substring(4);\r
-          }\r
-          dassrc.add(new String[]\r
-          { srcs[i], nm.toUpperCase() });\r
-        }\r
-        else\r
-        {\r
-          nondas.add(new String[]\r
-          { srcs[i], nm.toUpperCase() });\r
-        }\r
-      }\r
-    }\r
-    Object[] sorted = nondas.toArray();\r
-    String[] tosort = new String[sorted.length];\r
-    nondas.clear();\r
-    for (int j = 0; j < sorted.length; j++)\r
-    {\r
-      tosort[j] = ((String[]) sorted[j])[1];\r
-    }\r
-    jalview.util.QuickSort.sort(tosort, sorted);\r
-    int i = 0;\r
-    // construct array with all sources listed\r
-    srcs = new String[sorted.length + dassrc.size()];\r
-    for (int j = sorted.length - 1; j >= 0; j--, i++)\r
-    {\r
-      srcs[i] = ((String[]) sorted[j])[0];\r
-      sorted[j] = null;\r
-    }\r
-\r
-    sorted = dassrc.toArray();\r
-    tosort = new String[sorted.length];\r
-    dassrc.clear();\r
-    for (int j = 0; j < sorted.length; j++)\r
-    {\r
-      tosort[j] = ((String[]) sorted[j])[1];\r
-    }\r
-    jalview.util.QuickSort.sort(tosort, sorted);\r
-    for (int j = sorted.length - 1; j >= 0; j--, i++)\r
-    {\r
-      srcs[i] = ((String[]) sorted[j])[0];\r
-      sorted[j] = null;\r
-    }\r
-    return srcs;\r
-  }\r
-\r
-  /**\r
-   * simple run method to test dbsources.\r
-   * \r
-   * @param argv\r
-   */\r
-  public static void main(String[] argv)\r
-  {\r
-    AlignmentI ds = null;\r
-    Vector noProds = new Vector();\r
-    String usage = "SequenceFetcher.main [-nodas] [<DBNAME> [<ACCNO>]]\n"\r
-            + "With no arguments, all DbSources will be queried with their test Accession number.\n"\r
-            + "With one argument, the argument will be resolved to one or more db sources and each will be queried with their test accession only.\n"\r
-            + "If given two arguments, SequenceFetcher will try to find the DbFetcher corresponding to <DBNAME> and retrieve <ACCNO> from it.\n"\r
-            + "The -nodas option will exclude DAS sources from the database fetchers Jalview will try to use.";\r
-    boolean withDas=true;\r
-    if (argv!=null && argv.length>0 && argv[0].toLowerCase().startsWith("-nodas"))\r
-    {\r
-      withDas=false;\r
-      String targs[] = new String[argv.length-1];\r
-      System.arraycopy(argv, 1, targs, 0, targs.length);\r
-      argv=targs;\r
-    }\r
-    if (argv != null && argv.length > 0)\r
-    {\r
-      List<DbSourceProxy> sps = new SequenceFetcher(withDas)\r
-              .getSourceProxy(argv[0]);\r
-\r
-      if (sps != null)\r
-      {\r
-        for (DbSourceProxy sp : sps)\r
-        {\r
-          AlignmentI al = null;\r
-          try\r
-          {\r
-            al = sp.getSequenceRecords(argv.length>1 ? argv[1] : sp.getTestQuery());\r
-          } catch (Exception e)\r
-          {\r
-            e.printStackTrace();\r
-            System.err.println("Error when retrieving " + (argv.length>1 ? argv[1] : sp.getTestQuery())\r
-                    + " from " + argv[0] + "\nUsage: " + usage);\r
-          }\r
-          SequenceI[] prod = al.getSequencesArray();\r
-          if (al != null)\r
-          {\r
-            for (int p = 0; p < prod.length; p++)\r
-            {\r
-              System.out.println("Prod " + p + ": "\r
-                      + prod[p].getDisplayId(true) + " : "\r
-                      + prod[p].getDescription());\r
-            }\r
-          }\r
-        }\r
-        return;\r
-      }\r
-      else\r
-      {\r
-        System.err.println("Can't resolve " + argv[0]\r
-                + " as a database name. Allowed values are :\n"\r
-                + new SequenceFetcher().getSupportedDb());\r
-      }\r
-      System.out.println(usage);\r
-      return;\r
-    }\r
-    ASequenceFetcher sfetcher = new SequenceFetcher(withDas);\r
-    String[] dbSources = sfetcher.getSupportedDb();\r
-    for (int dbsource = 0; dbsource < dbSources.length; dbsource++)\r
-    {\r
-      String db = dbSources[dbsource];\r
-      // skip me\r
-      if (db.equals(DBRefSource.PDB))\r
-        continue;\r
-      for (DbSourceProxy sp : sfetcher.getSourceProxy(db))\r
-      {\r
-        System.out.println("Source: " + sp.getDbName() + " (" + db\r
-                + "): retrieving test:" + sp.getTestQuery());\r
-        AlignmentI al = null;\r
-        try\r
-        {\r
-          al = sp.getSequenceRecords(sp.getTestQuery());\r
-          if (al != null && al.getHeight() > 0\r
-                  && sp.getDbSourceProperties() != null)\r
-          {\r
-            boolean dna = sp.getDbSourceProperties().containsKey(\r
-                    DBRefSource.DNACODINGSEQDB)\r
-                    || sp.getDbSourceProperties().containsKey(\r
-                            DBRefSource.DNASEQDB)\r
-                    || sp.getDbSourceProperties().containsKey(\r
-                            DBRefSource.CODINGSEQDB);\r
-            // try and find products\r
-            String types[] = jalview.analysis.CrossRef\r
-                    .findSequenceXrefTypes(dna, al.getSequencesArray());\r
-            if (types != null)\r
-            {\r
-              System.out.println("Xref Types for: "\r
-                      + (dna ? "dna" : "prot"));\r
-              for (int t = 0; t < types.length; t++)\r
-              {\r
-                System.out.println("Type: " + types[t]);\r
-                SequenceI[] prod = jalview.analysis.CrossRef\r
-                        .findXrefSequences(al.getSequencesArray(), dna,\r
-                                types[t]).getSequencesArray();\r
-                System.out.println("Found "\r
-                        + ((prod == null) ? "no" : "" + prod.length)\r
-                        + " products");\r
-                if (prod != null)\r
-                {\r
-                  for (int p = 0; p < prod.length; p++)\r
-                  {\r
-                    System.out.println("Prod " + p + ": "\r
-                            + prod[p].getDisplayId(true));\r
-                  }\r
-                }\r
-              }\r
-            }\r
-            else\r
-            {\r
-              noProds.addElement((dna ? new Object[]\r
-              { al, al } : new Object[]\r
-              { al }));\r
-            }\r
-\r
-          }\r
-        } catch (Exception ex)\r
-        {\r
-          System.out.println("ERROR:Failed to retrieve test query.");\r
-          ex.printStackTrace(System.out);\r
-        }\r
-\r
-        if (al == null)\r
-        {\r
-          System.out.println("ERROR:No alignment retrieved.");\r
-          StringBuffer raw = sp.getRawRecords();\r
-          if (raw != null)\r
-            System.out.println(raw.toString());\r
-          else\r
-            System.out.println("ERROR:No Raw results.");\r
-        }\r
-        else\r
-        {\r
-          System.out.println("Retrieved " + al.getHeight() + " sequences.");\r
-          for (int s = 0; s < al.getHeight(); s++)\r
-          {\r
-            SequenceI sq = al.getSequenceAt(s);\r
-            while (sq.getDatasetSequence() != null)\r
-            {\r
-              sq = sq.getDatasetSequence();\r
-\r
-            }\r
-            if (ds == null)\r
-            {\r
-              ds = new Alignment(new SequenceI[]\r
-              { sq });\r
-\r
-            }\r
-            else\r
-            {\r
-              ds.addSequence(sq);\r
-            }\r
-          }\r
-        }\r
-        System.out.flush();\r
-        System.err.flush();\r
-\r
-      }\r
-      if (noProds.size() > 0)\r
-      {\r
-        Enumeration ts = noProds.elements();\r
-        while (ts.hasMoreElements())\r
-\r
-        {\r
-          Object[] typeSq = (Object[]) ts.nextElement();\r
-          boolean dna = (typeSq.length > 1);\r
-          AlignmentI al = (AlignmentI) typeSq[0];\r
-          System.out.println("Trying getProducts for "\r
-                  + al.getSequenceAt(0).getDisplayId(true));\r
-          System.out.println("Search DS Xref for: "\r
-                  + (dna ? "dna" : "prot"));\r
-          // have a bash at finding the products amongst all the retrieved\r
-          // sequences.\r
-          SequenceI[] seqs = al.getSequencesArray();\r
-          Alignment prodal = jalview.analysis.CrossRef.findXrefSequences(\r
-                  seqs, dna, null, ds);\r
-          System.out.println("Found "\r
-                  + ((prodal == null) ? "no" : "" + prodal.getHeight())\r
-                  + " products");\r
-          if (prodal != null)\r
-          {\r
-            SequenceI[] prod = prodal.getSequencesArray(); // note\r
-            // should\r
-            // test\r
-            // rather\r
-            // than\r
-            // throw\r
-            // away\r
-            // codon\r
-            // mapping\r
-            // (if\r
-            // present)\r
-            for (int p = 0; p < prod.length; p++)\r
-            {\r
-              System.out.println("Prod " + p + ": "\r
-                      + prod[p].getDisplayId(true));\r
-            }\r
-          }\r
-        }\r
-\r
-      }\r
-\r
-    }\r
-  }\r
-\r
-  /**\r
-   * query the currently defined DAS source registry for sequence sources and\r
-   * add a DasSequenceSource instance for each source to the SequenceFetcher\r
-   * source list.\r
-   */\r
-  public void registerDasSequenceSources()\r
-  {\r
-    // TODO: define a context as a registry provider (either desktop,\r
-    // jalview.bin.cache, or something else).\r
-    for (jalviewSourceI source : jalview.bin.Cache.getDasSourceRegistry()\r
-            .getSources())\r
-    {\r
-      if (source.isSequenceSource())\r
-      {\r
-        List<DbSourceProxy> dassources = source.getSequenceSourceProxies();\r
-        for (DbSourceProxy seqsrc : dassources)\r
-        {\r
-          addDbRefSourceImpl(seqsrc);\r
-        }\r
-      }\r
-    }\r
-  }\r
-\r
-}\r
+package jalview.ws;
+
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.DBRefSource;
+import jalview.datamodel.SequenceI;
+import jalview.ws.dbsources.das.api.jalviewSourceI;
+import jalview.ws.seqfetcher.ASequenceFetcher;
+import jalview.ws.seqfetcher.DbSourceProxy;
+
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * This is the the concrete implementation of the sequence retrieval interface
+ * and abstract class in jalview.ws.seqfetcher. This implements the run-time
+ * discovery of sequence database clients, and provides a hardwired main for
+ * testing all registered handlers.
+ * 
+ */
+public class SequenceFetcher extends ASequenceFetcher
+{
+  /**
+   * Thread safe construction of database proxies TODO: extend to a configurable
+   * database plugin mechanism where classes are instantiated by reflection and
+   * queried for their DbRefSource and version association.
+   * 
+   */
+  public SequenceFetcher()
+  {
+    this(true);
+  }
+  public SequenceFetcher(boolean addDas)
+  {
+    addDBRefSourceImpl(jalview.ws.dbsources.EmblSource.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.EmblCdsSouce.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.Uniprot.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.UnprotName.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.Pdb.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.PfamFull.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.PfamSeed.class); // ensures Seed
+    // alignment is
+    // 'default' for
+    // PFAM
+    addDBRefSourceImpl(jalview.ws.dbsources.RfamFull.class);
+    addDBRefSourceImpl(jalview.ws.dbsources.RfamSeed.class);
+    if (addDas) {
+      registerDasSequenceSources();
+    }
+  }
+
+  /**
+   * return an ordered list of database sources where non-das database classes
+   * appear before das database classes
+   */
+  public String[] getOrderedSupportedSources()
+  {
+    String[] srcs = this.getSupportedDb();
+    ArrayList<String> dassrc = new ArrayList<String>(), nondas = new ArrayList<String>();
+    for (int i = 0; i < srcs.length; i++)
+    {
+      boolean das = false, skip = false;
+      String nm;
+      for (DbSourceProxy dbs : getSourceProxy(srcs[i]))
+      {
+        // Skip the alignment databases for the moment - they're not useful for
+        // verifying a single sequence against its reference source
+        if (dbs.isA(DBRefSource.ALIGNMENTDB))
+        {
+          skip = true;
+        }
+        else
+        {
+          nm = dbs.getDbName();
+          if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)
+          {
+            if (nm.startsWith("das:"))
+            {
+              nm = nm.substring(4);
+              das = true;
+            }
+            break;
+          }
+        }
+      }
+      if (skip)
+      {
+        continue;
+      }
+      if (das)
+      {
+        dassrc.add(srcs[i]);
+      }
+      else
+      {
+        nondas.add(srcs[i]);
+      }
+    }
+    String[] tosort = nondas.toArray(new String[0]), sorted = nondas
+            .toArray(new String[0]);
+    for (int j = 0, jSize = sorted.length; j < jSize; j++)
+    {
+      tosort[j] = tosort[j].toLowerCase();
+    }
+    jalview.util.QuickSort.sort(tosort, sorted);
+    // construct array with all sources listed
+
+    srcs = new String[sorted.length + dassrc.size()];
+    int i = 0;
+    for (int j = sorted.length - 1; j >= 0; j--, i++)
+    {
+      srcs[i] = sorted[j];
+      sorted[j] = null;
+    }
+
+    sorted = dassrc.toArray(new String[0]);
+    tosort = dassrc.toArray(new String[0]);
+    for (int j = 0, jSize = sorted.length; j < jSize; j++)
+    {
+      tosort[j] = tosort[j].toLowerCase();
+    }
+    jalview.util.QuickSort.sort(tosort, sorted);
+    for (int j = sorted.length - 1; j >= 0; j--, i++)
+    {
+      srcs[i] = sorted[j];
+    }
+    return srcs;
+  }
+
+  /**
+   * return plaintext databse list suitable for using in a GUI element
+   */
+  public String[] _getOrderedSupportedSources()
+  {
+    String[] srcs = this.getSupportedDb();
+    ArrayList dassrc = new ArrayList(), nondas = new ArrayList();
+    for (int i = 0; i < srcs.length; i++)
+    {
+      for (DbSourceProxy dbs : getSourceProxy(srcs[i]))
+      {
+        String nm = dbs.getDbName();
+        if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)
+        {
+          if (nm.startsWith("das:"))
+          {
+            nm = nm.substring(4);
+          }
+          dassrc.add(new String[]
+          { srcs[i], nm.toUpperCase() });
+        }
+        else
+        {
+          nondas.add(new String[]
+          { srcs[i], nm.toUpperCase() });
+        }
+      }
+    }
+    Object[] sorted = nondas.toArray();
+    String[] tosort = new String[sorted.length];
+    nondas.clear();
+    for (int j = 0; j < sorted.length; j++)
+    {
+      tosort[j] = ((String[]) sorted[j])[1];
+    }
+    jalview.util.QuickSort.sort(tosort, sorted);
+    int i = 0;
+    // construct array with all sources listed
+    srcs = new String[sorted.length + dassrc.size()];
+    for (int j = sorted.length - 1; j >= 0; j--, i++)
+    {
+      srcs[i] = ((String[]) sorted[j])[0];
+      sorted[j] = null;
+    }
+
+    sorted = dassrc.toArray();
+    tosort = new String[sorted.length];
+    dassrc.clear();
+    for (int j = 0; j < sorted.length; j++)
+    {
+      tosort[j] = ((String[]) sorted[j])[1];
+    }
+    jalview.util.QuickSort.sort(tosort, sorted);
+    for (int j = sorted.length - 1; j >= 0; j--, i++)
+    {
+      srcs[i] = ((String[]) sorted[j])[0];
+      sorted[j] = null;
+    }
+    return srcs;
+  }
+
+  /**
+   * simple run method to test dbsources.
+   * 
+   * @param argv
+   */
+  public static void main(String[] argv)
+  {
+    AlignmentI ds = null;
+    Vector noProds = new Vector();
+    String usage = "SequenceFetcher.main [-nodas] [<DBNAME> [<ACCNO>]]\n"
+            + "With no arguments, all DbSources will be queried with their test Accession number.\n"
+            + "With one argument, the argument will be resolved to one or more db sources and each will be queried with their test accession only.\n"
+            + "If given two arguments, SequenceFetcher will try to find the DbFetcher corresponding to <DBNAME> and retrieve <ACCNO> from it.\n"
+            + "The -nodas option will exclude DAS sources from the database fetchers Jalview will try to use.";
+    boolean withDas=true;
+    if (argv!=null && argv.length>0 && argv[0].toLowerCase().startsWith("-nodas"))
+    {
+      withDas=false;
+      String targs[] = new String[argv.length-1];
+      System.arraycopy(argv, 1, targs, 0, targs.length);
+      argv=targs;
+    }
+    if (argv != null && argv.length > 0)
+    {
+      List<DbSourceProxy> sps = new SequenceFetcher(withDas)
+              .getSourceProxy(argv[0]);
+
+      if (sps != null)
+      {
+        for (DbSourceProxy sp : sps)
+        {
+          AlignmentI al = null;
+          try
+          {
+            al = sp.getSequenceRecords(argv.length>1 ? argv[1] : sp.getTestQuery());
+          } catch (Exception e)
+          {
+            e.printStackTrace();
+            System.err.println("Error when retrieving " + (argv.length>1 ? argv[1] : sp.getTestQuery())
+                    + " from " + argv[0] + "\nUsage: " + usage);
+          }
+          SequenceI[] prod = al.getSequencesArray();
+          if (al != null)
+          {
+            for (int p = 0; p < prod.length; p++)
+            {
+              System.out.println("Prod " + p + ": "
+                      + prod[p].getDisplayId(true) + " : "
+                      + prod[p].getDescription());
+            }
+          }
+        }
+        return;
+      }
+      else
+      {
+        System.err.println("Can't resolve " + argv[0]
+                + " as a database name. Allowed values are :\n"
+                + new SequenceFetcher().getSupportedDb());
+      }
+      System.out.println(usage);
+      return;
+    }
+    ASequenceFetcher sfetcher = new SequenceFetcher(withDas);
+    String[] dbSources = sfetcher.getSupportedDb();
+    for (int dbsource = 0; dbsource < dbSources.length; dbsource++)
+    {
+      String db = dbSources[dbsource];
+      // skip me
+      if (db.equals(DBRefSource.PDB))
+        continue;
+      for (DbSourceProxy sp : sfetcher.getSourceProxy(db))
+      {
+        System.out.println("Source: " + sp.getDbName() + " (" + db
+                + "): retrieving test:" + sp.getTestQuery());
+        AlignmentI al = null;
+        try
+        {
+          al = sp.getSequenceRecords(sp.getTestQuery());
+          if (al != null && al.getHeight() > 0
+                  && sp.getDbSourceProperties() != null)
+          {
+            boolean dna = sp.getDbSourceProperties().containsKey(
+                    DBRefSource.DNACODINGSEQDB)
+                    || sp.getDbSourceProperties().containsKey(
+                            DBRefSource.DNASEQDB)
+                    || sp.getDbSourceProperties().containsKey(
+                            DBRefSource.CODINGSEQDB);
+            // try and find products
+            String types[] = jalview.analysis.CrossRef
+                    .findSequenceXrefTypes(dna, al.getSequencesArray());
+            if (types != null)
+            {
+              System.out.println("Xref Types for: "
+                      + (dna ? "dna" : "prot"));
+              for (int t = 0; t < types.length; t++)
+              {
+                System.out.println("Type: " + types[t]);
+                SequenceI[] prod = jalview.analysis.CrossRef
+                        .findXrefSequences(al.getSequencesArray(), dna,
+                                types[t]).getSequencesArray();
+                System.out.println("Found "
+                        + ((prod == null) ? "no" : "" + prod.length)
+                        + " products");
+                if (prod != null)
+                {
+                  for (int p = 0; p < prod.length; p++)
+                  {
+                    System.out.println("Prod " + p + ": "
+                            + prod[p].getDisplayId(true));
+                  }
+                }
+              }
+            }
+            else
+            {
+              noProds.addElement((dna ? new Object[]
+              { al, al } : new Object[]
+              { al }));
+            }
+
+          }
+        } catch (Exception ex)
+        {
+          System.out.println("ERROR:Failed to retrieve test query.");
+          ex.printStackTrace(System.out);
+        }
+
+        if (al == null)
+        {
+          System.out.println("ERROR:No alignment retrieved.");
+          StringBuffer raw = sp.getRawRecords();
+          if (raw != null)
+            System.out.println(raw.toString());
+          else
+            System.out.println("ERROR:No Raw results.");
+        }
+        else
+        {
+          System.out.println("Retrieved " + al.getHeight() + " sequences.");
+          for (int s = 0; s < al.getHeight(); s++)
+          {
+            SequenceI sq = al.getSequenceAt(s);
+            while (sq.getDatasetSequence() != null)
+            {
+              sq = sq.getDatasetSequence();
+
+            }
+            if (ds == null)
+            {
+              ds = new Alignment(new SequenceI[]
+              { sq });
+
+            }
+            else
+            {
+              ds.addSequence(sq);
+            }
+          }
+        }
+        System.out.flush();
+        System.err.flush();
+
+      }
+      if (noProds.size() > 0)
+      {
+        Enumeration ts = noProds.elements();
+        while (ts.hasMoreElements())
+
+        {
+          Object[] typeSq = (Object[]) ts.nextElement();
+          boolean dna = (typeSq.length > 1);
+          AlignmentI al = (AlignmentI) typeSq[0];
+          System.out.println("Trying getProducts for "
+                  + al.getSequenceAt(0).getDisplayId(true));
+          System.out.println("Search DS Xref for: "
+                  + (dna ? "dna" : "prot"));
+          // have a bash at finding the products amongst all the retrieved
+          // sequences.
+          SequenceI[] seqs = al.getSequencesArray();
+          Alignment prodal = jalview.analysis.CrossRef.findXrefSequences(
+                  seqs, dna, null, ds);
+          System.out.println("Found "
+                  + ((prodal == null) ? "no" : "" + prodal.getHeight())
+                  + " products");
+          if (prodal != null)
+          {
+            SequenceI[] prod = prodal.getSequencesArray(); // note
+            // should
+            // test
+            // rather
+            // than
+            // throw
+            // away
+            // codon
+            // mapping
+            // (if
+            // present)
+            for (int p = 0; p < prod.length; p++)
+            {
+              System.out.println("Prod " + p + ": "
+                      + prod[p].getDisplayId(true));
+            }
+          }
+        }
+
+      }
+
+    }
+  }
+
+  /**
+   * query the currently defined DAS source registry for sequence sources and
+   * add a DasSequenceSource instance for each source to the SequenceFetcher
+   * source list.
+   */
+  public void registerDasSequenceSources()
+  {
+    // TODO: define a context as a registry provider (either desktop,
+    // jalview.bin.cache, or something else).
+    for (jalviewSourceI source : jalview.bin.Cache.getDasSourceRegistry()
+            .getSources())
+    {
+      if (source.isSequenceSource())
+      {
+        List<DbSourceProxy> dassources = source.getSequenceSourceProxies();
+        for (DbSourceProxy seqsrc : dassources)
+        {
+          addDbRefSourceImpl(seqsrc);
+        }
+      }
+    }
+  }
+
+}
index abd9fb8..cfa81b8 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index 3f8a28c..2c5d4a2 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index 7c76327..2194144 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws;
 
index 09232ec..bc29a2d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 0940f40..02e7f29 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index c7be59a..44427a5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index a851896..fe67b21 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 81c8ea3..c8598db 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index b96a65c..3dff679 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index b2443e8..579a6fe 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 077b929..e9c525e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index cb00a1d..ab19f57 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 11cdc02..76f8b10 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index e20527a..d61d0f3 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 75fa62b..2d69480 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 1b967c4..2abb605 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index bdf256a..23e0e7a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index 6d90415..a8ea3a8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources;
 
index c83ee62..5e8f6a8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources.das.api;
 
index 308bc21..0f4a920 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources.das.api;
 
index 9650b8c..c677fdc 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources.das.datamodel;
 
index 761bcc8..52e8db5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources.das.datamodel;
 
index f68a005..daaf0ba 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.dbsources.das.datamodel;
 
index c7f6bb8..623a586 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * 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.ws.ebi;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.BufferedReader;\r
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-import java.io.InputStreamReader;\r
-import java.net.URL;\r
-import java.util.ArrayList;\r
-import java.util.StringTokenizer;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public class EBIFetchClient\r
-{\r
-  String format = "default";\r
-\r
-  String style = "raw";\r
-\r
-  /**\r
-   * Creates a new EBIFetchClient object.\r
-   */\r
-  public EBIFetchClient()\r
-  {\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public String[] getSupportedDBs()\r
-  {\r
-    // TODO - implement rest call for dbfetch getSupportedDBs\r
-    throw new Error("Not yet implemented");\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public String[] getSupportedFormats()\r
-  {\r
-    // TODO - implement rest call for dbfetch getSupportedFormats\r
-    throw new Error("Not yet implemented");\r
-  }\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public String[] getSupportedStyles()\r
-  {\r
-    // TODO - implement rest call for dbfetch getSupportedStyles\r
-    throw new Error("Not yet implemented");\r
-  }\r
-\r
-  public File fetchDataAsFile(String ids, String f, String s)\r
-          throws OutOfMemoryError\r
-  {\r
-    File outFile = null;\r
-    try\r
-    {\r
-      outFile = File.createTempFile("jalview", ".xml");\r
-      outFile.deleteOnExit();\r
-      fetchData(ids, f, s, outFile);\r
-      if (outFile.length() == 0)\r
-      {\r
-        outFile.delete();\r
-        return null;\r
-      }\r
-    } catch (Exception ex)\r
-    {\r
-    }\r
-    return outFile;\r
-  }\r
-\r
-  /**\r
-   * Single DB multiple record retrieval\r
-   * \r
-   * @param ids\r
-   *          db:query1;query2;query3\r
-   * @param f\r
-   *          raw/xml\r
-   * @param s\r
-   *          ?\r
-   * \r
-   * @return Raw string array result of query set\r
-   */\r
-  public String[] fetchData(String ids, String f, String s)\r
-          throws OutOfMemoryError\r
-  {\r
-    return fetchData(ids, f, s, null);\r
-  }\r
-\r
-  public String[] fetchData(String ids, String f, String s, File outFile)\r
-          throws OutOfMemoryError\r
-  {\r
-    // Need to split\r
-    // ids of the form uniprot:25KD_SARPE;ADHR_DROPS;\r
-    String[] rslts = new String[0];\r
-    StringTokenizer queries = new StringTokenizer(ids, ";");\r
-    String db = null;\r
-    StringBuffer querystring = null;\r
-    int nq = 0;\r
-    while (queries.hasMoreTokens())\r
-    {\r
-      String query = queries.nextToken();\r
-      int p;\r
-      if ((p = query.indexOf(':')) > -1)\r
-      {\r
-        db = query.substring(0, p);\r
-        query = query.substring(p + 1);\r
-      }\r
-      if (querystring == null)\r
-      {\r
-        querystring = new StringBuffer(query);\r
-        nq++;\r
-      }\r
-      else\r
-      {\r
-        querystring.append("," + query);\r
-        nq++;\r
-      }\r
-    }\r
-    if (db == null)\r
-    {\r
-      System.err.println("Invalid Query string : '" + ids\r
-              + "'\nShould be of form 'dbname:q1;q2;q3;q4'");\r
-      return null;\r
-    }\r
-    String[] rslt = fetchBatch(querystring.toString(), db, f, s, outFile);\r
-    if (rslt != null)\r
-    {\r
-      String[] nrslts = new String[rslt.length + rslts.length];\r
-      System.arraycopy(rslts, 0, nrslts, 0, rslts.length);\r
-      System.arraycopy(rslt, 0, nrslts, rslts.length, rslt.length);\r
-      rslts = nrslts;\r
-    }\r
-\r
-    return (rslts.length == 0 ? null : rslts);\r
-  }\r
-\r
-  public String[] fetchBatch(String ids, String db, String f, String s,\r
-          File outFile) throws OutOfMemoryError\r
-  {\r
-    long time = System.currentTimeMillis();\r
-    // max 200 ids can be added at one time\r
-    try\r
-    {\r
-      URL rcall = new URL("http://www.ebi.ac.uk/Tools/dbfetch/dbfetch/"\r
-              + db.toLowerCase() + "/" + ids.toLowerCase()\r
-              + (f != null ? "/" + f : ""));\r
-\r
-      BufferedInputStream is = new BufferedInputStream(rcall.openStream());\r
-      if (outFile != null)\r
-      {\r
-        FileOutputStream fio = new FileOutputStream(outFile);\r
-        byte[] bb = new byte[32 * 1024];\r
-        int l;\r
-        while ((l = is.read(bb)) > 0)\r
-        {\r
-          fio.write(bb, 0, l);\r
-        }\r
-        fio.close();\r
-        is.close();\r
-      }\r
-      else\r
-      {\r
-        BufferedReader br = new BufferedReader(new InputStreamReader(is));\r
-        String rtn;\r
-        ArrayList<String> arl = new ArrayList<String>();\r
-        while ((rtn = br.readLine()) != null)\r
-        {\r
-          arl.add(rtn);\r
-        }\r
-        return arl.toArray(new String[arl.size()]);\r
-      }\r
-    } catch (OutOfMemoryError er)\r
-    {\r
-\r
-      System.out.println("OUT OF MEMORY DOWNLOADING QUERY FROM " + db\r
-              + ":\n" + ids);\r
-      throw er;\r
-    } catch (Exception ex)\r
-    {\r
-      if (ex.getMessage().startsWith(\r
-              "uk.ac.ebi.jdbfetch.exceptions.DbfNoEntryFoundException"))\r
-      {\r
-        return null;\r
-      }\r
-      System.err.println("Unexpected exception when retrieving from " + db\r
-              + "\nQuery was : '" + ids + "'");\r
-      ex.printStackTrace(System.err);\r
-      return null;\r
-    } finally\r
-    {\r
-      //System.err.println("Took " + (System.currentTimeMillis() - time)\r
-      //        / 1000 + " secs for one call.");\r
-    }\r
-    return null;\r
-  }\r
-}\r
+package jalview.ws.ebi;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
+public class EBIFetchClient
+{
+  String format = "default";
+
+  String style = "raw";
+
+  /**
+   * Creates a new EBIFetchClient object.
+   */
+  public EBIFetchClient()
+  {
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public String[] getSupportedDBs()
+  {
+    // TODO - implement rest call for dbfetch getSupportedDBs
+    throw new Error("Not yet implemented");
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public String[] getSupportedFormats()
+  {
+    // TODO - implement rest call for dbfetch getSupportedFormats
+    throw new Error("Not yet implemented");
+  }
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public String[] getSupportedStyles()
+  {
+    // TODO - implement rest call for dbfetch getSupportedStyles
+    throw new Error("Not yet implemented");
+  }
+
+  public File fetchDataAsFile(String ids, String f, String s)
+          throws OutOfMemoryError
+  {
+    File outFile = null;
+    try
+    {
+      outFile = File.createTempFile("jalview", ".xml");
+      outFile.deleteOnExit();
+      fetchData(ids, f, s, outFile);
+      if (outFile.length() == 0)
+      {
+        outFile.delete();
+        return null;
+      }
+    } catch (Exception ex)
+    {
+    }
+    return outFile;
+  }
+
+  /**
+   * Single DB multiple record retrieval
+   * 
+   * @param ids
+   *          db:query1;query2;query3
+   * @param f
+   *          raw/xml
+   * @param s
+   *          ?
+   * 
+   * @return Raw string array result of query set
+   */
+  public String[] fetchData(String ids, String f, String s)
+          throws OutOfMemoryError
+  {
+    return fetchData(ids, f, s, null);
+  }
+
+  public String[] fetchData(String ids, String f, String s, File outFile)
+          throws OutOfMemoryError
+  {
+    // Need to split
+    // ids of the form uniprot:25KD_SARPE;ADHR_DROPS;
+    String[] rslts = new String[0];
+    StringTokenizer queries = new StringTokenizer(ids, ";");
+    String db = null;
+    StringBuffer querystring = null;
+    int nq = 0;
+    while (queries.hasMoreTokens())
+    {
+      String query = queries.nextToken();
+      int p;
+      if ((p = query.indexOf(':')) > -1)
+      {
+        db = query.substring(0, p);
+        query = query.substring(p + 1);
+      }
+      if (querystring == null)
+      {
+        querystring = new StringBuffer(query);
+        nq++;
+      }
+      else
+      {
+        querystring.append("," + query);
+        nq++;
+      }
+    }
+    if (db == null)
+    {
+      System.err.println("Invalid Query string : '" + ids
+              + "'\nShould be of form 'dbname:q1;q2;q3;q4'");
+      return null;
+    }
+    String[] rslt = fetchBatch(querystring.toString(), db, f, s, outFile);
+    if (rslt != null)
+    {
+      String[] nrslts = new String[rslt.length + rslts.length];
+      System.arraycopy(rslts, 0, nrslts, 0, rslts.length);
+      System.arraycopy(rslt, 0, nrslts, rslts.length, rslt.length);
+      rslts = nrslts;
+    }
+
+    return (rslts.length == 0 ? null : rslts);
+  }
+
+  public String[] fetchBatch(String ids, String db, String f, String s,
+          File outFile) throws OutOfMemoryError
+  {
+    long time = System.currentTimeMillis();
+    // max 200 ids can be added at one time
+    try
+    {
+      URL rcall = new URL("http://www.ebi.ac.uk/Tools/dbfetch/dbfetch/"
+              + db.toLowerCase() + "/" + ids.toLowerCase()
+              + (f != null ? "/" + f : ""));
+
+      BufferedInputStream is = new BufferedInputStream(rcall.openStream());
+      if (outFile != null)
+      {
+        FileOutputStream fio = new FileOutputStream(outFile);
+        byte[] bb = new byte[32 * 1024];
+        int l;
+        while ((l = is.read(bb)) > 0)
+        {
+          fio.write(bb, 0, l);
+        }
+        fio.close();
+        is.close();
+      }
+      else
+      {
+        BufferedReader br = new BufferedReader(new InputStreamReader(is));
+        String rtn;
+        ArrayList<String> arl = new ArrayList<String>();
+        while ((rtn = br.readLine()) != null)
+        {
+          arl.add(rtn);
+        }
+        return arl.toArray(new String[arl.size()]);
+      }
+    } catch (OutOfMemoryError er)
+    {
+
+      System.out.println("OUT OF MEMORY DOWNLOADING QUERY FROM " + db
+              + ":\n" + ids);
+      throw er;
+    } catch (Exception ex)
+    {
+      if (ex.getMessage().startsWith(
+              "uk.ac.ebi.jdbfetch.exceptions.DbfNoEntryFoundException"))
+      {
+        return null;
+      }
+      System.err.println("Unexpected exception when retrieving from " + db
+              + "\nQuery was : '" + ids + "'");
+      ex.printStackTrace(System.err);
+      return null;
+    } finally
+    {
+      //System.err.println("Took " + (System.currentTimeMillis() - time)
+      //        / 1000 + " secs for one call.");
+    }
+    return null;
+  }
+}
 
index 3a0848f..7ceeaa9 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.io.mime;
 
index 920ab3a..44a1c96 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.io.mime;
 
index cb8a954..f2d8ad5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.io.mime;
 
index 6395f44..900d2e7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index c62b282..dccaf4a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index 52c2145..7fbe911 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index fb40ae0..3797b53 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index cdd76a5..c6c6c8c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index e27eb02..a919d2d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index 5aaea25..171c988 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index 42ea43f..2021798 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index 552852c..ba03699 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index 9076ad2..ecc0dbc 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws1;
 
index 2750293..ee64c1f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index 41f0fd5..630c974 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index c6abf91..f1f6bfe 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index 7d59eff..e33ccaa 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index 285777a..ed51f9a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index b54ee58..fd9bbb4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index fe61ff3..a82d1b6 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /**
  * 
index d500406..0494d1f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index 5c076e4..0a3db0d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index 8f56e2f..0782d57 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index 8893825..278501f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index f0602c4..a54d0b5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index e6b9f53..1ecb3fb 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index e251793..a590470 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2;
 
index d3ba1a7..49c8aa9 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2.dm;
 
index 7316d2f..a227f4f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2.dm;
 
index b98c170..2d6dda5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2.dm;
 
index bbcff21..2367a85 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2.dm;
 
index f78f5fa..118e932 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2.dm;
 
index 509b96f..0ac1df4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.jws2.jabaws2;
 
index 9caa4db..05c8ce4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index 2835e1c..84a79b7 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index 21c5eb7..8da77e0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.ws.params;
 
 /**
index 075127f..12b5af8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index 0861eda..247bfe2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index 112a32e..d37dd88 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index e2c63dc..d3d3c35 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index 088f2d4..5c8b139 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index ae24a2a..efccbd4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params;
 
index 49ece46..cbb1233 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params.simple;
 
index f9360e7..3464ced 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,8 +14,8 @@
  * 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.ws.params.simple;
 
 import jalview.ws.params.ParameterI;
index 01b470e..aebf384 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params.simple;
 
index 9a3094c..9d7c74f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params.simple;
 
index 2e598ea..4396403 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.params.simple;
 
index 5c1c6f7..eabbd2f 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index 7ecbd27..ed77736 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index 4c51d57..2047632 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index 1d34ea6..1e0fd0c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index 437d3b4..046871e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index c89f241..7bd9f49 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index 5ac1959..5000fdc 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index fd9e3b4..aae2255 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest;
 
index 2cea06e..f78788b 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index 37e051f..ed9383e 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index cecf5e1..b975fe4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index 0532035..124c789 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index cdfcf87..b3bffa2 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index a633e0f..6e1563a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index 69bc93c..3487cb4 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.rest.params;
 
index e475915..cf60b63 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.seqfetcher;
 
index e4b76b9..af72f16 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.seqfetcher;
 
index b8f7eab..da7e09a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.seqfetcher;
 
index 821163d..ca6d66d 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.picr.model;
 
index bb6e120..7ea0783 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.picr.model;
 
index 9539ebb..5bfa02c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.picr.model;
 
index 7588b87..59e1012 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.picr.model;
 
index 8584275..ad6b546 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index ba1ac35..bbaf521 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index d208a24..e22c43f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index 8c3166c..32a6073 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index 7383970..ee7f068 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index ea009f5..dd53a7e 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index f83b61d..69005fb 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www;
 
index dcdef37..d3e19d5 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www.picr.AccessionMappingService;
 
index 53c1bd0..9b9ddff 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www.picr.AccessionMappingService;
 
index d8f6b35..7386401 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www.picr.AccessionMappingService;
 
index 19b2371..dda7ade 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 uk.ac.ebi.www.picr.AccessionMappingService;
 
index 50830b2..7438a34 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas;
 
index 32854d8..b875b56 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 2cd84c0..b3e820d 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 2d10fcc..12e05da 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 8dc5606..1244535 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 7ea784e..be3214a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /*
  * Jalview - A Sequence Alignment Editor and Viewer
index 4db1ef5..fb9fd2c 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 /*
  * Jalview - A Sequence Alignment Editor and Viewer
index 989419e..ba18a9a 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index eb1dbb0..66ed53b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 7ba1294..77eceb0 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index a40262d..2755f3f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 6ea4c3c..60ede6f 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 76acd45..4c2d744 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 8c688d2..ea335df 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 2a51a42..a085900 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 377cafc..6673fff 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 4301f3c..8328383 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 802c369..04122cd 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 75ed327..e8865da 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 7f5cd3c..1c820e4 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index f000816..43c444c 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 4e43353..14f34ba 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index 6b66231..2521c4b 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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 vamsas.objects.simple;
 
index d29ee15..a26495c 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.analysis;
 
 import static org.junit.Assert.*;
index c6c82c9..7d1d30c 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.junit.Assert.*;
index 30f61d7..cfbc884 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.junit.Assert.assertNotNull;
index a2aa5da..2b975a2 100644 (file)
@@ -1,5 +1,20 @@
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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;
 
index 2ee3623..561ab26 100644 (file)
@@ -1,5 +1,20 @@
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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;
 
index 4505f16..fa4c25b 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.junit.Assert.assertNotNull;
index 3147054..3b6c30a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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;
 
index 3d025a8..490b04d 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.schemes;
 
 import static org.junit.Assert.*;
index e15c30b..a472951 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.schemes;
 
index 2d40dd4..2427960 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.ws.gui;
 
index fa19d00..bd743e0 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.jabaws;
 
 import static org.junit.Assert.*;
index f7d0e48..c0b9a23 100644 (file)
@@ -1,3 +1,21 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.jabaws;
 
 import static org.junit.Assert.*;
index 05f7cd0..4c9e3de 100644 (file)
@@ -1,5 +1,20 @@
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.rest;
 
index 2f826b3..a269ecc 100644 (file)
@@ -1,5 +1,20 @@
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.seqfetcher;
 
index 0749d9a..1873087 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <project name="jalviewInstallAnywhere" default="build" basedir=".">
   <property name="IA_LOCATION" value="/home/cruisecontrol/InstallAnywhere 2013/"/>
index 6cc6161..c778599 100644 (file)
@@ -1,20 +1,21 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!--
-  Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-  Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-  
-  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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
 -->
 <profiles version="11">
 <profile kind="CodeFormatterProfile" name="Jalview" version="11">
index 0be3d1f..6bec144 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 import java.io.*;
 import java.util.*;
index 07b72a0..73d5579 100755 (executable)
@@ -1,21 +1,22 @@
 #!/usr/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+##
 
 use strict;
 use warnings;
index d376ea4..875d5b9 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -14,6 +14,7 @@
  * 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.
  */
 import java.io.*;
 import java.util.*;
index 048fb91..6fc8a5d 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index aed643b..eca896a 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index a03a669..d5418b4 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 8c5fad9..8554aa8 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 8c08a14..c2fa66f 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 0e2e81c..f0a376a 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 669f417..8d1440f 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index c424c06..826efb0 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 78a141c..6399e53 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index b68494c..e19df02 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 1451f11..f9241b8 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 9c28929..b6d6a5b 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index ba1c7e3..11abe49 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 18455fe..dc35661 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 9c83b28..8f8bea0 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index e7edc5c..e8a9ba9 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 867c704..bdfbd92 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index b32a071..422722c 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index d6baade..01d892d 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 89189bf..932d675 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 9338ba2..5d12e1d 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index e0c916a..946de99 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 50c87ce..999231a 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index d5d80f5..96bf741 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index c17223a..7010dbb 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index ea66215..6c8139f 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 7a6c732..8be355f 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 08cf3b7..bea5670 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index d8c663a..fa40bf3 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 3732fd5..c1bdb10 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 8984c2c..656b918 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 648157e..533b326 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 4f21931..6849685 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index dc060e9..05e6657 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index d74d939..2a1d4ff 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 0ee9fdc..40281a1 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 00ea4c0..1ad987b 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index b1c7073..113b61e 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 2d5e7e6..76ea7de 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index e67cba0..699b054 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index ed14571..70354ed 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index c69ab9b..e469866 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 891de41..20a8cea 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 8f9599a..697d410 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index b9a67c8..964ad32 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index b0c39f9..473f1f1 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 3faf2ca..26db561 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 6005ae2..cf8dd8f 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 9062224..e1d8f10 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 2b15f01..91847e8 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 8199ce6..50a21f9 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 9be092b..0d7b467 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 3c53e3d..b111757 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 266e678..b5083ae 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 671b270..1ca9201 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 77769ae..31e08be 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 635ec6b..9dc4da0 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index e1ac35a..4224ce7 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 76cf1c2..41b8db2 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 20ac57a..5051318 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 48aa2db..e43d274 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 535ac9b..d93e417 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index cc384ab..3eb56f2 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 878a49a..64d7e2d 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 87ac575..c5adfa8 100755 (executable)
-/**\r
- $Id$\r
- */\r
-A               { color: #00F; }\r
-A:link                 { text-decoration: none; }\r
-A:active       { text-decoration: none; }\r
-A:visited      { text-decoration: none; }\r
-A:hover                {  text-decoration: underline; }\r
-\r
-body    {\r
-        font-size : 0.9em;\r
-       font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;\r
-       margin: 20px 20px 20px 20px;\r
-       padding-bottom:15px;\r
-        }\r
-h1{\r
-       font-weight : bold;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h2{\r
-       font-weight : bold;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h3{\r
-       font-weight : bold;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h4{\r
-       font-weight : bold;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h5{\r
-       font-weight : bold;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-hr{\r
-       border : none;\r
-       background : #808080;\r
-       height : 1px;\r
-}\r
-\r
-td,p,div,form,blockquote,ul,ol{\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-th{\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.footer{\r
-       color : #808080;\r
-       font-size : 9px;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.sublogo{\r
-       padding-bottom : 5px;\r
-       color : #333366;\r
-       font-size : 9px;\r
-       font-family : Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.logo{\r
-       padding-left : 10px;\r
-       font-weight : bold;\r
-       font-size : 26pt;\r
-       font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.navlink:link           { color: #FFF; text-decoration: none; }\r
-.navlink:active         { color: #FFF; text-decoration: none; }\r
-.navlink:visited        { color: #FFF; text-decoration: none; }\r
-.navlink:hover          { color: #FFF; text-decoration: underline; }\r
-\r
-.navlink2:link          { color : #000;        text-decoration : none; }\r
-.navlink2:active        { color : #000;        text-decoration : none; }\r
-.navlink2:visited       { color : #000;        text-decoration : none; }\r
-.navlink2:hover         { color : #000;        text-decoration : underline; }\r
-\r
-.shade{\r
-       background-color: ;\r
-       background : #FDF5E6;\r
-}
\ No newline at end of file
+#-------------------------------------------------------------------------------
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+#-------------------------------------------------------------------------------
+/**
+ $Id$
+ */
+A               { color: #00F; }
+A:link                 { text-decoration: none; }
+A:active       { text-decoration: none; }
+A:visited      { text-decoration: none; }
+A:hover                {  text-decoration: underline; }
+
+body    {
+        font-size : 0.9em;
+       font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
+       margin: 20px 20px 20px 20px;
+       padding-bottom:15px;
+        }
+h1{
+       font-weight : bold;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h2{
+       font-weight : bold;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h3{
+       font-weight : bold;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h4{
+       font-weight : bold;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h5{
+       font-weight : bold;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+hr{
+       border : none;
+       background : #808080;
+       height : 1px;
+}
+
+td,p,div,form,blockquote,ul,ol{
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+th{
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+.footer{
+       color : #808080;
+       font-size : 9px;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+.sublogo{
+       padding-bottom : 5px;
+       color : #333366;
+       font-size : 9px;
+       font-family : Arial,Helvetica,sans-serif;
+}
+
+.logo{
+       padding-left : 10px;
+       font-weight : bold;
+       font-size : 26pt;
+       font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+.navlink:link           { color: #FFF; text-decoration: none; }
+.navlink:active         { color: #FFF; text-decoration: none; }
+.navlink:visited        { color: #FFF; text-decoration: none; }
+.navlink:hover          { color: #FFF; text-decoration: underline; }
+
+.navlink2:link          { color : #000;        text-decoration : none; }
+.navlink2:active        { color : #000;        text-decoration : none; }
+.navlink2:visited       { color : #000;        text-decoration : none; }
+.navlink2:hover         { color : #000;        text-decoration : underline; }
+
+.shade{
+       background-color: ;
+       background : #FDF5E6;
+}
index c72ac4d..be41bda 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index ddb7f0d..32e8ebf 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index a8022e3..2ceb9ee 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 4a7a80c..453d3c4 100755 (executable)
@@ -1,20 +1,20 @@
-
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html><head>
index 0607ef1..f8912d7 100755 (executable)
@@ -1,4 +1,22 @@
 <html>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
 <head>
       <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title></title><link rel="stylesheet" href="./docs/site.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"></head><body id="toppage" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table width="700" border="0" cellpadding="0" cellspacing="0" align="center"><tr><td><table cellpadding="0" cellspacing="0" width="100%" style="border:1px solid #336699"><tbody><tr><td height="16"></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr style="border:none"><td style="border:none"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td class="logo">JALOPY</td><td class="sublogo" valign="bottom">Java Source Code Formatter Beautifier Pretty Printer</td></tr></tbody></table></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr><td height="10"></td></tr><tr><td bgcolor="#ff8000" height="4"></td></tr><tr><td height="20" bgcolor="#336699" style="color:#ffffff;padding-left:10px"><a href="./docs/index.html" class="navlink">Overview</a> &#149;
index d73262e..36ecb87 100755 (executable)
@@ -1,21 +1,22 @@
 #!/usr/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+##
 use strict;
 
 # perverse script to get rid of unwanted jar signatures
index 3aa3303..ff3e621 100644 (file)
@@ -1,21 +1,22 @@
 #!/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+##
 
 use strict;
 use Env qw($GTID);
index 7681482..0b698c5 100644 (file)
@@ -1,22 +1,23 @@
 #!/usr/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
-# Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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/>.
-#*******************************************************************************
-\r
+# The Jalview Authors are detailed in the 'AUTHORS' file.
+##
\r
 # Splits a concatenated set of Stockholm Files into several individual files.\r
 \r
 use strict;\r