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