package com.compomics.util.test.experiment.sequences.matching; import com.compomics.util.experiment.biology.AminoAcidSequence; import com.compomics.util.preferences.SequenceMatchingPreferences; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.SQLException; import junit.framework.Assert; import junit.framework.TestCase; /** * This class tests the matching of amino acids. * * @author Marc Vaudel */ public class SequenceMatchingTest extends TestCase { /** * Tests the import and the mapping of a few peptide sequences. * * @throws FileNotFoundException * @throws IOException * @throws ClassNotFoundException * @throws SQLException * @throws InterruptedException */ public void testSequenceMatchingPreferences() throws FileNotFoundException, IOException, ClassNotFoundException, SQLException, InterruptedException { String ref = "TESTIKTEST"; String testAminoAcid = "TESTJKTEST"; String testIndistinguishible = "TESTLKTEST"; String test1Mutation = "TESTLKTETT"; String test2Mutations = "TESTLKTETS"; AminoAcidSequence aminoAcidSequence = new AminoAcidSequence("TESTIKTEST"); SequenceMatchingPreferences sequenceMatchingPreferences = new SequenceMatchingPreferences(); sequenceMatchingPreferences.setSequenceMatchingType(SequenceMatchingPreferences.MatchingType.string); Assert.assertTrue(aminoAcidSequence.matches(ref, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(testAminoAcid, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(testIndistinguishible, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(test1Mutation, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(test2Mutations, sequenceMatchingPreferences)); sequenceMatchingPreferences = new SequenceMatchingPreferences(); sequenceMatchingPreferences.setSequenceMatchingType(SequenceMatchingPreferences.MatchingType.aminoAcid); Assert.assertTrue(aminoAcidSequence.matches(ref, sequenceMatchingPreferences)); Assert.assertTrue(aminoAcidSequence.matches(testAminoAcid, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(testIndistinguishible, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(test1Mutation, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(test2Mutations, sequenceMatchingPreferences)); sequenceMatchingPreferences = new SequenceMatchingPreferences(); sequenceMatchingPreferences.setSequenceMatchingType(SequenceMatchingPreferences.MatchingType.indistiguishableAminoAcids); Assert.assertTrue(aminoAcidSequence.matches(ref, sequenceMatchingPreferences)); Assert.assertTrue(aminoAcidSequence.matches(testAminoAcid, sequenceMatchingPreferences)); Assert.assertTrue(aminoAcidSequence.matches(testIndistinguishible, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(test1Mutation, sequenceMatchingPreferences)); Assert.assertTrue(!aminoAcidSequence.matches(test2Mutations, sequenceMatchingPreferences)); } }