3 import static org.junit.Assert.*;
4 import jalview.io.TCoffeeScoreFile.Block;
5 import jalview.io.TCoffeeScoreFile.Header;
7 import java.io.BufferedReader;
9 import java.io.FileNotFoundException;
10 import java.io.FileReader;
11 import java.io.IOException;
12 import java.io.StringReader;
13 import java.util.List;
15 import org.junit.Test;
17 public class TCoffeeScoreFileTest {
19 final static File SCORE_FILE = new File("./test/jalview/io/tcoffee.score_ascii");
22 public void testReadHeader() throws FileNotFoundException {
24 Header header = TCoffeeScoreFile.readHeader( new BufferedReader(new FileReader(SCORE_FILE)) );
25 assertNotNull(header);
26 assertEquals( "T-COFFEE, Version_9.02.r1228 (2012-02-16 18:15:12 - Revision 1228 - Build 336)", header.head );
27 assertEquals( 90, header.score );
28 assertEquals( 89, header.getScoreFor("1PHT") );
29 assertEquals( 90, header.getScoreFor("1BB9") );
30 assertEquals( 94, header.getScoreFor("1UHC") );
31 assertEquals( 94, header.getScoreFor("1YCS") );
32 assertEquals( 93, header.getScoreFor("1OOT") );
33 assertEquals( 94, header.getScoreFor("1ABO") );
34 assertEquals( 94, header.getScoreFor("1FYN") );
35 assertEquals( 94, header.getScoreFor("1QCF") );
36 assertEquals( 90, header.getScoreFor("cons") );
41 public void testWrongFile() {
42 TCoffeeScoreFile result = TCoffeeScoreFile.load(new File("./test/jalview/io/tcoffee.fasta_aln"));
47 public void testReadBlock( ) throws IOException {
52 "1PHT 999999999999999999999999998762112222543211112134\n" +
53 "1BB9 99999999999999999999999999987-------4322----2234 \n" +
54 "1UHC 99999999999999999999999999987-------5321----2246\n" +
55 "1YCS 99999999999999999999999999986-------4321----1-35\n" +
56 "1OOT 999999999999999999999999999861-------3------1135 \n" +
57 "1ABO 99999999999999999999999999986-------422-------34\n" +
58 "1FYN 99999999999999999999999999985-------32--------35\n" +
59 "1QCF 99999999999999999999999999974-------2---------24\n" +
60 "cons 999999999999999999999999999851000110321100001134\n" +
64 Block block = TCoffeeScoreFile.readBlock(new BufferedReader(new StringReader(BLOCK)), 0);
66 assertEquals( "999999999999999999999999998762112222543211112134", block.getScoresFor("1PHT") );
67 assertEquals( "99999999999999999999999999987-------4322----2234", block.getScoresFor("1BB9") );
68 assertEquals( "99999999999999999999999999987-------5321----2246", block.getScoresFor("1UHC") );
69 assertEquals( "99999999999999999999999999986-------4321----1-35", block.getScoresFor("1YCS") );
70 assertEquals( "999999999999999999999999999861-------3------1135", block.getScoresFor("1OOT") );
71 assertEquals( "99999999999999999999999999986-------422-------34", block.getScoresFor("1ABO") );
72 assertEquals( "99999999999999999999999999985-------32--------35", block.getScoresFor("1FYN") );
73 assertEquals( "99999999999999999999999999974-------2---------24", block.getScoresFor("1QCF") );
74 assertEquals( "999999999999999999999999999851000110321100001134", block.getConsensus() );
78 public void testParse() throws FileNotFoundException {
80 TCoffeeScoreFile parser = TCoffeeScoreFile.load(new BufferedReader(new FileReader(SCORE_FILE)) );
82 assertEquals( "999999999999999999999999998762112222543211112134----------5666642367889999999999889", parser.getScoresFor("1PHT") );
83 assertEquals( "99999999999999999999999999987-------4322----22341111111111676653-355679999999999889", parser.getScoresFor("1BB9") );
84 assertEquals( "99999999999999999999999999987-------5321----2246----------788774--66789999999999889", parser.getScoresFor("1UHC") );
85 assertEquals( "99999999999999999999999999986-------4321----1-35----------78777--356789999999999889", parser.getScoresFor("1YCS") );
86 assertEquals( "999999999999999999999999999861-------3------1135----------78877--356789999999997-67", parser.getScoresFor("1OOT") );
87 assertEquals( "99999999999999999999999999986-------422-------34----------687774--56779999999999889", parser.getScoresFor("1ABO") );
88 assertEquals( "99999999999999999999999999985-------32--------35----------6888842356789999999999889", parser.getScoresFor("1FYN") );
89 assertEquals( "99999999999999999999999999974-------2---------24----------6878742356789999999999889", parser.getScoresFor("1QCF") );
90 assertEquals( "99999999999999999999999999985100011032110000113400100000006877641356789999999999889", parser.getScoresFor("cons") );
95 public void testGetAsList() throws FileNotFoundException {
97 TCoffeeScoreFile parser = TCoffeeScoreFile.load(new BufferedReader(new FileReader(SCORE_FILE)) );
99 List<String> scores = parser.getScoresList();
100 assertEquals( "999999999999999999999999998762112222543211112134----------5666642367889999999999889", scores.get(0) );
101 assertEquals( "99999999999999999999999999987-------4322----22341111111111676653-355679999999999889", scores.get(1) );
102 assertEquals( "99999999999999999999999999987-------5321----2246----------788774--66789999999999889", scores.get(2) );
103 assertEquals( "99999999999999999999999999986-------4321----1-35----------78777--356789999999999889", scores.get(3) );
104 assertEquals( "999999999999999999999999999861-------3------1135----------78877--356789999999997-67", scores.get(4) );
105 assertEquals( "99999999999999999999999999986-------422-------34----------687774--56779999999999889", scores.get(5) );
106 assertEquals( "99999999999999999999999999985-------32--------35----------6888842356789999999999889", scores.get(6) );
107 assertEquals( "99999999999999999999999999974-------2---------24----------6878742356789999999999889", scores.get(7) );
108 assertEquals( "99999999999999999999999999985100011032110000113400100000006877641356789999999999889", scores.get(8) );
114 public void testGetAsArray() throws FileNotFoundException {
116 TCoffeeScoreFile parser = TCoffeeScoreFile.load(new BufferedReader(new FileReader(SCORE_FILE)) );
118 byte[][] scores = parser.getScoresArray();
120 assertEquals( 9, scores[0][0] );
121 assertEquals( 9, scores[1][0] );
122 assertEquals( 9, scores[2][0] );
123 assertEquals( 9, scores[3][0] );
124 assertEquals( 9, scores[4][0] );
125 assertEquals( 9, scores[5][0] );
126 assertEquals( 9, scores[6][0] );
127 assertEquals( 9, scores[7][0] );
128 assertEquals( 9, scores[8][0] );
130 assertEquals( 5, scores[0][36] );
131 assertEquals( 4, scores[1][36] );
132 assertEquals( 5, scores[2][36] );
133 assertEquals( 4, scores[3][36] );
134 assertEquals( -1, scores[4][36] );
135 assertEquals( 4, scores[5][36] );
136 assertEquals( 3, scores[6][36] );
137 assertEquals( 2, scores[7][36] );
138 assertEquals( 3, scores[8][36] );