X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FMsaWSClient.java;h=76a1c56ed89a16f5102e8eb08e476e74ab666b81;hb=a37f0ae9a4e8c0f318bac29dcf56811e220ee3c6;hp=09a6d8df0c0b6ad6568daa5809fc993722eb7ac3;hpb=6de81c6d3e16bd3504954c38860d0a1cfbfba999;p=jalview.git diff --git a/src/jalview/ws/jws2/MsaWSClient.java b/src/jalview/ws/jws2/MsaWSClient.java index 09a6d8d..76a1c56 100644 --- a/src/jalview/ws/jws2/MsaWSClient.java +++ b/src/jalview/ws/jws2/MsaWSClient.java @@ -21,7 +21,9 @@ package jalview.ws.jws2; import jalview.datamodel.Alignment; +import jalview.datamodel.AlignmentI; import jalview.datamodel.AlignmentView; +import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; import jalview.gui.Desktop; import jalview.gui.JvSwingUtils; @@ -173,9 +175,57 @@ public class MsaWSClient extends Jws2Client WsURL, wsInfo, alignFrame, WebServiceName, jobtitle, msa, submitGaps, preserveOrder, seqdataset); wsInfo.setthisService(msathread); + if (isValidAlignment(alignFrame.getCurrentView().getAlignment())) + { + msathread.start(); + } + } + + private boolean isValidAlignment(AlignmentI seqdataset) + { + String header = wsInfo.getInfoText() + + "\nValidating submited Alignment..."; + wsInfo.setInfoText(header); + int validSeqCount = 0; + List seqs = seqdataset.getSequences(); + if (seqs.size() < 2) + { + wsInfo.setInfoText(header + + "\nA minimum of two sequences is required to perform this operation"); + return false; + } + + for (SequenceI seq : seqs) + { + + if (seq.getSequenceAsString().matches( + "([(a-zA-Z?)(-?)(.?)]+)?[a-zA-Z]([(a-zA-Z?)(-?)(.?)]+)?")) + { + ++validSeqCount; + } + if (validSeqCount > 1) + { + wsInfo.setInfoText(header + + "\nAlignment sequences was successfully validated"); + return true; + } + } + + wsInfo.setInfoText(header + + "\nA minimum of two sequences with at least one non-gap character in each sequence is required to perform this operation"); + return false; } + public static void main(String[] args) + { + System.out + .println("A" + .matches("([(a-zA-Z?)(-?)(.?)]+)?[a-zA-Z]([(a-zA-Z?)(-?)(.?)]+)?")); + } + + + protected String getServiceActionKey() { return "MsaWS";