On Friday 20 January 2006 22:11, wendy wong wrote: > what I am trying to do is to develop a phylogenetic HMM. so say there > are 3 sequences, in the alignment, that means each site consists of 3 > symbols, and if it is a generalized HMM, each state has several sites, > say 7.
OK - so you have a single HMM that emits whole columns of an alignment? Usually to a lign three sequences, you would use a 3-head HMM where each head emits one of the sequences. > I wrote a testing program to see if it works. when the length > of sites in the state = 5 it worked. (I just want to see if I can > factorize a symbol in the state alphabet. but when number of sites in > the state = 7, I get java.lang.ArrayIndexOutOfBoundsException. (code > attached) > > Is it because i was not using the alphabet efficiently? You shouldn't be getting exceptions. This is almost certainly a bug. Could you send the stack-trace? Matthew > > again, thanks very much for helping! > > Wendy > > public static void main(String[] args) throws MarshalException, > ValidationException, IOException { > > Alphabet sequenceAlphabet = DNATools.getDNA(); > Set alphabetSet = AlphabetManager.getAllSymbols((FiniteAlphabet) > sequenceAlphabet); > > int no_sequences = 3; > List siteAlphabetList = Collections.nCopies(no_sequences, > sequenceAlphabet); Alphabet siteAlphabet = > AlphabetManager.getCrossProductAlphabet(siteAlphabetList); > int length = 7; > List staeAlphabetList = Collections.nCopies(length, siteAlphabet); > Alphabet stateAlphabet = > AlphabetManager.getCrossProductAlphabet(staeAlphabetList); > > AlphabetIndex alphabetIndex = > AlphabetManager.getAlphabetIndex((FiniteAlphabet) stateAlphabet); > AtomicSymbol sym = (AtomicSymbol) alphabetIndex.symbolForIndex(3); > List symList = sym.getSymbols(); > log.info("sym (index=3) is " + sym); > log.info("sym is composed of:"); > Iterator symIter = symList.iterator(); > while (symIter.hasNext()) { > log.info(symIter.next()); > } > } _______________________________________________ Biojava-l mailing list - Biojava-l@biojava.org http://biojava.org/mailman/listinfo/biojava-l