59740dfad35134d364efb6699a8a8bd0fe9ac31c
[jalview.git] / test / jalview / analysis / TestAlignSeq.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3  * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  *  
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.analysis;
19
20 import static org.junit.Assert.*;
21 import jalview.datamodel.Mapping;
22 import jalview.datamodel.Sequence;
23 import jalview.datamodel.SequenceI;
24
25 import org.junit.Before;
26 import org.junit.Test;
27
28 /**
29  * Test the alignment -> Mapping routines
30  * @author jimp
31  *
32  */
33 public class TestAlignSeq
34 {
35
36   SequenceI s1,s2,s3;
37   /**
38    * @throws java.lang.Exception
39    */
40   @Before
41   public void setUp() throws Exception
42   {
43     s1 = new Sequence("Seq1","ASDFAQQQRRRSSS");
44     s1.setStart(3);
45     s2 = new Sequence("Seq2","ASDFA");
46     s2.setStart(5);
47     s3 = new Sequence("Seq1","SDFAQQQSSS");
48
49   }
50
51   @Test
52   /**
53    * simple test that mapping from alignment corresponds identical positions.
54    */
55   public void TestGetMappingForS1()
56   {
57     jalview.analysis.AlignSeq as = jalview.analysis.AlignSeq.doGlobalNWAlignment(s1, s2, AlignSeq.PEP);
58     System.out.println("s1: "+as.getAStr1());
59     System.out.println("s2: "+as.getAStr2());
60     
61     Mapping s1tos2=as.getMappingFromS1(false);
62     System.out.println(s1tos2.getMap().toString());
63     for (int i=s2.getStart();i<s2.getEnd();i++)
64     {
65       System.out.println("Position in s2: "+i +" maps to position in s1: "+s1tos2.getPosition(i));
66       assertTrue("",s2.getCharAt(i)==s1.getCharAt(s1tos2.getPosition(i)));
67     }
68   }
69
70 }