/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojava.bio.search;
import java.util.HashMap;
import java.util.Map;
import junit.framework.TestCase;
import org.biojava.bio.Annotation;
import org.biojava.bio.seq.ProteinTools;
import org.biojava.bio.seq.StrandedFeature;
import org.biojava.bio.seq.StrandedFeature.Strand;
import org.biojava.bio.seq.io.SymbolTokenization;
import org.biojava.bio.symbol.Alignment;
import org.biojava.bio.symbol.SimpleAlignment;
import org.biojava.bio.symbol.SimpleSymbolList;
/**
* SimpleSeqSimilaritySearchSubHitTest
tests the
* behaviour of SimpleSeqSimilaritySearchSubHit
.
*
* @author Keith James
*/
public class SimpleSeqSimilaritySearchSubHitTest extends TestCase
{
private SeqSimilaritySearchSubHit sh1;
private SeqSimilaritySearchSubHit sh2;
private Alignment al1;
private Alignment al2;
private double score = 100.0d;
private double eValue = 1e-10d;
private double pValue = 1e-10d;
private int queryStart = 1;
private int queryEnd = 10;
private Strand querySeqStrand = StrandedFeature.POSITIVE;
private int subjectStart = 2;
private int subjectEnd = 8;
private Strand subjectSeqStrand = StrandedFeature.POSITIVE;
private String subjectID = "subjectID";
private String querySeqTokens = "TRYPASNDEF";
private String subjectSeqTokens = "-RYPASND--";
public SimpleSeqSimilaritySearchSubHitTest(String name)
{
super(name);
}
protected void setUp() throws Exception
{
SymbolTokenization tp = ProteinTools.getAlphabet().getTokenization("token");
Map labelMap1 = new HashMap();
labelMap1.put(SeqSimilaritySearchSubHit.QUERY_LABEL,
new SimpleSymbolList(tp, querySeqTokens));
labelMap1.put(subjectID,
new SimpleSymbolList(tp, subjectSeqTokens));
al1 = new SimpleAlignment(labelMap1);
Map labelMap2 = new HashMap();
labelMap2.put(SeqSimilaritySearchSubHit.QUERY_LABEL,
new SimpleSymbolList(tp, querySeqTokens));
labelMap2.put(subjectID,
new SimpleSymbolList(tp, subjectSeqTokens));
al2 = new SimpleAlignment(labelMap2);
sh1 = new SimpleSeqSimilaritySearchSubHit(score,
eValue,
pValue,
queryStart,
queryEnd,
querySeqStrand,
subjectStart,
subjectEnd,
subjectSeqStrand,
al1,
Annotation.EMPTY_ANNOTATION);
sh2 = new SimpleSeqSimilaritySearchSubHit(score,
eValue,
pValue,
queryStart,
queryEnd,
querySeqStrand,
subjectStart,
subjectEnd,
subjectSeqStrand,
al2,
Annotation.EMPTY_ANNOTATION);
}
public void testEquals()
{
assertEquals(sh1, sh1);
assertEquals(sh2, sh2);
assertEquals(sh1, sh2);
assertEquals(sh2, sh1);
}
public void testScores()
{
assertEquals(sh1.getScore(), 100.0d, 0.0d);
assertEquals(sh1.getEValue(), 1e-10d, 0.0d);
assertEquals(sh1.getPValue(), 1e-10d, 0.0d);
}
public void testQuery()
{
assertEquals(sh1.getQueryStart(), 1);
assertEquals(sh1.getQueryEnd(), 10);
assertEquals(sh1.getQueryStrand(), StrandedFeature.POSITIVE);
}
public void testSubject()
{
assertEquals(sh1.getSubjectStart(), 2);
assertEquals(sh1.getSubjectEnd(), 8);
assertEquals(sh1.getSubjectStrand(), StrandedFeature.POSITIVE);
}
public void testAnnotation()
{
assertEquals(sh1.getAnnotation(), Annotation.EMPTY_ANNOTATION);
}
}