--- /dev/null
+>gi|7160686|emb|CAB76819.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSILVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTLRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|61967924|gb|AAX56944.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSILVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTLRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|11464653|gb|AAG35265.1|/1-455
+TMHPVNYQEPKYWCSIVYYELNNRVGEAFNASQLSIIIDGFTDPSNNSDRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHNFHPTTVCKIPPGCSLKIFSNQEF----AHLLSRTVHH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWVEIHLNGPLQWLDRVLTQMGTPRNPISSVS
+>gi|6273783|gb|AAF06361.1|/1-472
+DVHPVAYQEPKHWCSIVYYELNNRVGEAFLASSTSVLVDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSRCSLKIFNNQEF----AELLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAKYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|11907945|gb|AAG41407.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|29725652|gb|AAO88909.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|1654323|gb|AAC50790.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|3192871|gb|AAC19116.1|/1-468
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|55926152|ref|NP_001007481.1|/1-464
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|61967926|gb|AAX56945.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|2360958|gb|AAB92396.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKSRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSSCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|5706366|dbj|BAA83093.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPANNKSRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSSCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|3982649|gb|AAC83580.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKSRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSSCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|6288777|gb|AAF06738.1|/1-464
+DVQPVEYQEPSHWCSIVYYELNNRVGEAYHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDTSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEVHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|61967928|gb|AAX56946.1|/1-476
+NFRPVCYEEPQHWCSVAYYELNNRVGETFQASSRSILIDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECVSDSSIFVQSRNCNYQHGFHPATVCKIPSGCSLKIFNNQLF----AQPLAQSVNH
+GFEVVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|2689629|gb|AAC53515.1|/1-434
+DFRPVCYEEPLHWCSVAYYELNNRVGETFQASSRSVLIDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECVSDSSIFVQSRNCNYQHGFHPATVCKIPSGCSLKVFNNQLFAQLLAQLLAQSVHH
+GFEVVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|22532988|gb|AAF77079.2|/1-428
+DFRPVCYEEPQHWCSVAYYELNNRVGETFQASSRSVLIDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECVSDSSIFVQSRNCNYQHGFHPATVCKIPSGCSLKVFNNQLF----AQLLAQSVHH
+GFEVVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|2967646|gb|AAC39657.1|/1-467
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|45331050|gb|AAS57861.1|/1-468
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYDWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|5360217|dbj|BAA81909.1|/1-467
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|6288775|gb|AAF06737.1|/1-468
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLCLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|58047721|gb|AAH89184.1|/1-467
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|4009524|gb|AAD11458.1|/1-486
+DAAPVMYHEPAFWCSISYYELNTRVGETFHASQPSITVDGFTDPSNS-ERFCLGLLSNVNRNEVVEQTRRHI
+GKGVRLYYIGGEVFAECLSDSSIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLSQSVSQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDRVLTQMGSPRLPCSSMS
+>gi|40254710|ref|NP_571441.2|/1-468
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|18655485|pdb|1KHX|A|/22-227
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|13992583|emb|CAC38118.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDNAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|11875329|dbj|BAB19634.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|45331052|gb|AAS57862.1|/1-422
+DLQPVTYCESAFWCSISYYELNQRVGETFHASQPSLTVDGFTDPSNA-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYRLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPNLRCSSVS
+>gi|18418623|gb|AAL68976.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|2564493|gb|AAB81755.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERLCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|6981174|ref|NP_037227.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|45383213|ref|NP_989806.1|/1-426
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|47523074|ref|NP_999302.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
--- /dev/null
+JALVIEW_ANNOTATION
+# Created: Tue Jun 04 16:56:03 BST 2013
+
+
+SEQUENCE_GROUP group1 1 211 -1 gi|7160686|emb|CAB76819.1| gi|61967924|gb|AAX56944.1| gi|11464653|gb|AAG35265.1| gi|6273783|gb|AAF06361.1| gi|11907945|gb|AAG41407.1| gi|29725652|gb|AAO88909.1| gi|1654323|gb|AAC50790.1| gi|3192871|gb|AAC19116.1| gi|55926152|ref|NP_001007481.1|
+PROPERTIES group1 outlineColour=000000 displayBoxes=true displayText=true colourText=false showUnconserved=false textCol1=000000 textCol2=ffffff
+
+SEQUENCE_GROUP group2 1 211 -1 gi|61967926|gb|AAX56945.1| gi|2360958|gb|AAB92396.1| gi|5706366|dbj|BAA83093.1| gi|3982649|gb|AAC83580.1| gi|6288777|gb|AAF06738.1|
+PROPERTIES group2 outlineColour=000000 displayBoxes=true displayText=true colourText=false showUnconserved=false textCol1=000000 textCol2=ffffff
+
+SEQUENCE_GROUP group3 1 211 -1 gi|61967928|gb|AAX56946.1| gi|2689629|gb|AAC53515.1| gi|22532988|gb|AAF77079.2|
+PROPERTIES group3 outlineColour=000000 displayBoxes=true displayText=true colourText=false showUnconserved=false textCol1=000000 textCol2=ffffff
+
+SEQUENCE_GROUP group4 1 211 -1 gi|2967646|gb|AAC39657.1| gi|45331050|gb|AAS57861.1| gi|5360217|dbj|BAA81909.1| gi|6288775|gb|AAF06737.1| gi|58047721|gb|AAH89184.1| gi|4009524|gb|AAD11458.1| gi|40254710|ref|NP_571441.2| gi|18655485|pdb|1KHX|A|
+PROPERTIES group4 outlineColour=000000 displayBoxes=true displayText=true colourText=false showUnconserved=false textCol1=000000 textCol2=ffffff
+
+SEQUENCE_GROUP group5 1 211 -1 gi|13992583|emb|CAC38118.1| gi|11875329|dbj|BAB19634.1| gi|45331052|gb|AAS57862.1| gi|18418623|gb|AAL68976.1| gi|2564493|gb|AAB81755.1| gi|6981174|ref|NP_037227.1| gi|45383213|ref|NP_989806.1| gi|47523074|ref|NP_999302.1|
+PROPERTIES group5 outlineColour=000000 displayBoxes=true displayText=true colourText=false showUnconserved=false textCol1=000000 textCol2=ffffff
+
<em>SEQUENCE_REF</em> sequence reference statement, the sequence representative
for the group will be set to the referenced sequence.<!-- <br><strong>Note:</strong> if the <em>hide</em>
property is set then only the representative sequence for the group will be shown in the alignment.--></li>
+ <li>The interpretation of the COMBINE statement in <em>Version 2.8.1</em> was refined
+ so that only annotation line graphs with the given names ands the same
+ <strong>SEQUENCE_REF</strong> and <strong>GROUP_REF</strong> scope are grouped.</li>
</ul>
<p> </p>
<p>An example Annotation file is given below:
SequenceI sequence = (Sequence) av.getAlignment().getSequenceAt(
seqCanvas.cursorY);
- seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1() - 1);
+ seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1()) - 1;
scrollToVisible();
}
keyboardNo1.append(value);
}
}
-
int getKeyboardNo1()
{
- if (keyboardNo1 == null)
- return 1;
- else
+ try {
+ if (keyboardNo1 != null)
{
int value = Integer.parseInt(keyboardNo1.toString());
keyboardNo1 = null;
return value;
}
+ } catch (Exception x)
+ {}
+ keyboardNo1 = null;
+ return 1;
}
int getKeyboardNo2()
{
- if (keyboardNo2 == null)
- return 1;
- else
- {
+ try {
+ if (keyboardNo2!=null){
int value = Integer.parseInt(keyboardNo2.toString());
keyboardNo2 = null;
return value;
}
+ } catch (Exception x)
+ {}
+ keyboardNo2 = null;
+ return 1;
}
-
+
void setStatusMessage(SequenceI sequence, int res, int seq)
{
StringBuffer text = new StringBuffer("Sequence " + (seq + 1) + " ID: "
{
SequenceI sequence = av.getAlignment().getSequenceAt(seqCanvas.cursorY);
- seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1() - 1);
+ seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1()) - 1;
scrollToVisible();
}
int getKeyboardNo1()
{
- if (keyboardNo1 == null)
- return 1;
- else
+ try {
+ if (keyboardNo1 != null)
{
int value = Integer.parseInt(keyboardNo1.toString());
keyboardNo1 = null;
return value;
}
+ } catch (Exception x)
+ {}
+ keyboardNo1 = null;
+ return 1;
}
int getKeyboardNo2()
{
- if (keyboardNo2 == null)
- return 1;
- else
- {
+ try {
+ if (keyboardNo2!=null){
int value = Integer.parseInt(keyboardNo2.toString());
keyboardNo2 = null;
return value;
}
+ } catch (Exception x)
+ {}
+ keyboardNo2 = null;
+ return 1;
}
/**
public RestClient(RestServiceDescription service2, AlignFrame alignFrame)
{
+ this(service2, alignFrame, false);
+ }
+ boolean headless = false;
+ public RestClient(RestServiceDescription service2, AlignFrame alignFrame, boolean nogui)
+ {
service = service2;
af = alignFrame;
av = alignFrame.getViewport();
+ headless = nogui;
constructJob();
}
* informative name for results
*/
public String viewTitle;
-
protected void constructJob()
{
service.setInvolvesFlags();
if (jobsthread.isValid())
{
- setWebserviceInfo(false);
- wsInfo.setthisService(this);
- jobsthread.setWebServiceInfo(wsInfo);
+ setWebserviceInfo(headless);
+ if (!headless) {
+ wsInfo.setthisService(this);
+ jobsthread.setWebServiceInfo(wsInfo);
+ }
jobsthread.start();
}
else
// get sequences for the alignmentI
// get groups trimmed to alignment columns
// get any annotation trimmed to start/end columns, too.
-
+ squniq = jalview.analysis.SeqsetUtils.uniquify(_input.getSequencesArray(), true);
// prepare input
// form alignment+groups+annotation,preprocess and then record references
// for formatters
return valid;
}
- public static void main(String argv[])
- {
- // test separator list
- try
- {
- assert (separatorListToArray("foo=',',min='foo',max='1,2,3',fa=','",
- ",").length == 4);
- if (separatorListToArray("minsize='2', sep=','", ",").length == 2)
- {
- assert (false);
- }
-
- } catch (AssertionError x)
- {
- System.err.println("separatorListToArray is faulty.");
- }
- if (argv.length == 0)
- {
- if (!testRsdExchange("Test using default Shmmr service",
- RestClient.makeShmmrRestClient().service))
- {
- System.err.println("default test failed.");
- }
- else
- {
- System.err.println("default test passed.");
- }
- }
- else
- {
- int i = 0, p = 0;
- for (String svc : argv)
- {
- p += testRsdExchange("Test " + (++i), svc) ? 1 : 0;
- }
- System.err.println("" + p + " out of " + i + " tests passed.");
-
- }
- }
-
- private static boolean testRsdExchange(String desc, String servicestring)
- {
- try
- {
- RestServiceDescription newService = new RestServiceDescription(
- servicestring);
- if (!newService.isValid())
- {
- throw new Error("Failed to create service from '" + servicestring
- + "'.\n" + newService.getInvalidMessage());
- }
- return testRsdExchange(desc, newService);
- } catch (Throwable x)
- {
- System.err.println("Failed for service (" + desc + "): "
- + servicestring);
- x.printStackTrace();
- return false;
- }
- }
-
- private static boolean testRsdExchange(String desc,
- RestServiceDescription service)
- {
- try
- {
- String fromservicetostring = service.toString();
- RestServiceDescription newService = new RestServiceDescription(
- fromservicetostring);
- if (!newService.isValid())
- {
- throw new Error("Failed to create service from '"
- + fromservicetostring + "'.\n"
- + newService.getInvalidMessage());
- }
-
- if (!service.equals(newService))
- {
- System.err.println("Failed for service (" + desc + ").");
- System.err.println("Original service and parsed service differ.");
- System.err.println("Original: " + fromservicetostring);
- System.err.println("Parsed : " + newService.toString());
- return false;
- }
- } catch (Throwable x)
- {
- System.err.println("Failed for service (" + desc + "): "
- + service.toString());
- x.printStackTrace();
- return false;
- }
- return true;
- }
-
/**
* covenience method to generate the id and sequence string vector from a set
* of seuqences using each sequence's getName() and getSequenceAsString()
// assume that alignment is properly ordered so groups form consecutive
// blocks
ArrayList<int[]> gl = new ArrayList<int[]>();
- int p = 0;
+ int p = 0,lowest=al.getHeight(), highest=0;
List<SequenceGroup> sgs;
synchronized (sgs = al.getGroups())
{
for (SequenceI sq : sg.getSequencesInOrder(al))
{
p = al.findIndex(sq);
+ if (lowest>p)
+ {
+ lowest=p;
+ }
+ if (highest<p)
+ {
+ highest=p;
+ }
if (se == null)
{
se = new int[]
// remaining group ? - these might be at the start or the end
if (gl.size() > 0)
{
- int[] tail = gl.get(0);
- if (tail[0] > 0)
+ if (lowest-1>minsize)
{
- if (1 + tail[0] > minsize)
- {
- gl.add(0, new int[]
- { 0, tail[0] - 1 });
- }
- else
- {
- // lets be intelligent here - if the remaining sequences aren't enough
- // to make a final group, then don't make one.
- // throw new
- // NoValidInputDataException("Group from remaining ungrouped sequences in input contains less than "+minsize+" sequences.");
- }
+ gl.add(0, new int[]
+ { 0, lowest-2});
}
- else
+ if ((al.getHeight()-1-highest)>minsize)
{
- tail = gl.get(gl.size() - 1);
- if (1 + tail[1] < al.getHeight())
- {
- if (al.getHeight() - (1 + tail[1]) > minsize)
- {
- gl.add(new int[]
- { tail[1] + 1, al.getHeight() - 1 });
- }
- else
- {
- // lets be intelligent here - if the remaining sequences aren't
- // enough to make a final group, then don't make one.
- // throw new
- // NoValidInputDataException("Group from remaining ungrouped sequences in input contains less than "+minsize+" sequences.");
- }
- }
+ gl.add(new int[] { highest+1, al.getHeight()-1});
}
}
else
--- /dev/null
+/**
+ *
+ */
+package jalview.ws.rest;
+
+import static org.junit.Assert.*;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentView;
+import jalview.gui.AlignFrame;
+import jalview.io.FileParse;
+import jalview.ws.rest.InputType;
+import jalview.ws.rest.params.SeqGroupIndexVector;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author jimp
+ *
+ */
+public class ShmmrRSBSService
+{
+
+ @Test
+ public void testSeparatorListToArrayForRestServiceDescriptions()
+ {
+ assertTrue(
+ "separatorListToArray is faulty.",
+ RestServiceDescription.separatorListToArray(
+ "foo=',',min='foo',max='1,2,3',fa=','", ",").length == 4);
+ assertTrue("separatorListToArray is faulty.",
+ RestServiceDescription.separatorListToArray(
+ "minsize='2', sep=','", ",").length != 2); // probably should come as 2
+ }
+
+ @Test
+ public void testShmmrService()
+ {
+
+ assertTrue(
+ "Test Rsd Exchange using using default Shmmr service failed.",
+ testRsdExchange("Test using default Shmmr service",
+ RestClient.makeShmmrRestClient().service));
+ }
+ @Test
+ public void testShmmrServiceDataprep() throws Exception
+ {
+ RestClient _rc = RestClient.makeShmmrRestClient();
+ assertNotNull(_rc);
+ AlignFrame alf = new jalview.io.FileLoader(false).LoadFileWaitTillLoaded("examples/testdata/smad.fa", jalview.io.FormatAdapter.FILE);
+ assertNotNull("Couldn't find test data.",alf);
+ alf.loadJalviewDataFile("examples/testdata/smad_groups.jva",
+ jalview.io.FormatAdapter.FILE, null, null);
+ assertTrue("Couldn't load the test data's annotation file (should be 5 groups but found "+alf.getViewport().getAlignment().getGroups().size()+").", alf.getViewport().getAlignment().getGroups().size()==5);
+
+ RestClient rc = new RestClient(_rc.service, alf, true);
+
+
+
+ assertNotNull("Couldn't creat RestClient job.",rc);
+ jalview.bin.Cache.initLogger();
+ RestJob rjb = new RestJob(0, new RestJobThread(rc),rc.av.getAlignment(),null);
+ rjb.setAlignmentForInputs(rc.service.getInputParams().values(), rc.av.getAlignment());
+ for (Map.Entry<String,InputType> e:rc.service.getInputParams().entrySet()) {
+ System.out.println("For Input '"+e.getKey()+":\n"+e.getValue().formatForInput(rjb).getContentLength());
+ }
+ }
+
+ private static boolean testRsdExchange(String desc, String servicestring)
+ {
+ try
+ {
+ RestServiceDescription newService = new RestServiceDescription(
+ servicestring);
+ if (!newService.isValid())
+ {
+ throw new Error("Failed to create service from '" + servicestring
+ + "'.\n" + newService.getInvalidMessage());
+ }
+ return testRsdExchange(desc, newService);
+ } catch (Throwable x)
+ {
+ System.err.println("Failed for service (" + desc + "): "
+ + servicestring);
+ x.printStackTrace();
+ return false;
+ }
+ }
+
+ private static boolean testRsdExchange(String desc,
+ RestServiceDescription service)
+ {
+ try
+ {
+ String fromservicetostring = service.toString();
+ RestServiceDescription newService = new RestServiceDescription(
+ fromservicetostring);
+ if (!newService.isValid())
+ {
+ throw new Error("Failed to create service from '"
+ + fromservicetostring + "'.\n"
+ + newService.getInvalidMessage());
+ }
+
+ if (!service.equals(newService))
+ {
+ System.err.println("Failed for service (" + desc + ").");
+ System.err.println("Original service and parsed service differ.");
+ System.err.println("Original: " + fromservicetostring);
+ System.err.println("Parsed : " + newService.toString());
+ return false;
+ }
+ } catch (Throwable x)
+ {
+ System.err.println("Failed for service (" + desc + "): "
+ + service.toString());
+ x.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+
+}