58ecceaa7483397228e015518e9dce8277a06f6b
[vamsas.git] / src / uk / ac / vamsas / test / objects / Core.java
1 /**
2  * 
3  */
4 package uk.ac.vamsas.test.objects;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 import uk.ac.vamsas.objects.core.*;
10 import uk.ac.vamsas.objects.utils.*;
11 import uk.ac.vamsas.objects.utils.document.*;
12 import uk.ac.vamsas.test.simpleclient.ArchiveReports;
13
14 /**
15  * @author jim
16  * test XSD-Java binding classes in uk.ac.vamsas.objects.core
17  */
18 public class Core {
19   static Log log = LogFactory.getLog(Core.class);
20
21   /**
22    * 
23    * complete any automatically completable entries in the dataset
24    * @param ds
25    */
26   public static String user = "uk.ac.vamsas.test.objects.Core";
27   
28   public static void complete(DataSet ds) {
29     Sequence[] q = ds.getSequence();
30     for (int i=0,j=q.length; i<j; i++) {
31       q[i].setStart(i+1);
32       q[i].setEnd(q[i].getSequence().length()+i+1);
33     }
34   }  
35
36   public static VAMSAS getDemoVamsas() {
37      VAMSAS v=new VAMSAS();
38      DataSet ds = new DataSet();
39      ds.addSequence(Seq.newSequence("Dummy1","ASDFLEQ",SymbolDictionary.STANDARD_AA, 5, 11));
40      ds.addSequence(Seq.newSequence("Dummy2","ASFLEQ",SymbolDictionary.STANDARD_AA, 5, 10));
41      ds.addSequence(Seq.newSequence("Dummy3","ADFEQ",SymbolDictionary.STANDARD_AA, 3, 7));
42      ds.setProvenance(ProvenanceStuff.newProvenance(user, "constructed some dummy sequences"));
43      complete(ds);
44      v.addDataSet(ds);
45      Alignment al = new Alignment();
46      al.setProvenance(ProvenanceStuff.newProvenance(user, "Created dummy alignment"));
47      //   rely on newAlignmentSequence to set start/end correctly
48      al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned1", "ASDFLEQ", ds.getSequence(0), -1, -1)); 
49      al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned2", "AS-FLEQ", ds.getSequence(1), -1, -1)); 
50      al.addAlignmentSequence(Seq.newAlignmentSequence("Aligned3", "A-DF-EQ", ds.getSequence(2), -1, -1)); 
51      al.setGapChar("-");
52      ds.addAlignment(al);
53      // TODO: create annotations
54      // TODO: create tree
55      return v;
56    }
57   /**
58    * @param args
59    */
60   public static void main(String[] args) {
61     
62     /**
63      * test constants and controlled vocab utils
64      */
65     System.out.println("VersionEntries.compare(invalid, ALPHA) returned "+VersionEntries.compare("invalid", VersionEntries.ALPHA_VERSION));
66     System.out.println("VersionEntries.compare(ALPHA, invalid) returned "+VersionEntries.compare(VersionEntries.ALPHA_VERSION, "invalid"));      
67     System.out.println("VersionEntries.compare(BETA, ALPHA) returned "+VersionEntries.compare(VersionEntries.BETA_VERSION,VersionEntries.ALPHA_VERSION));
68     System.out.println("VersionEntries.compare(ALPHA, BETA) returned "+VersionEntries.compare(VersionEntries.ALPHA_VERSION,VersionEntries.BETA_VERSION));
69     System.out.println("VersionEntries.compare(ALPHA, ALPHA) returned "+VersionEntries.compare(VersionEntries.ALPHA_VERSION,VersionEntries.ALPHA_VERSION));
70     System.out.println("VersionEntries.compare(invalid, invalid) returned "+VersionEntries.compare("invalid", "invalid"));
71     System.out.println("VersionEntries.latestVersion()="+VersionEntries.latestVersion()+
72         ", dict_aa="+SymbolDictionary.STANDARD_AA+", dict_na="+SymbolDictionary.STANDARD_NA);
73     /**
74      * Test utils and autogenerated Vobject interfaces
75      */
76     
77     VamsasDocument doc = DocumentStuff.newVamsasDocument(new VAMSAS[] { getDemoVamsas() }, 
78         ProvenanceStuff.newProvenance("org.vamsas.objects.test.Core", "Created demo vamsasDocument"),
79         VersionEntries.latestVersion());
80     ArchiveReports.reportDocument(doc, null, true, System.out);
81   }
82 }