Skip to content
Snippets Groups Projects
Commit d6963eb9 authored by tjc's avatar tjc
Browse files

bcf test

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@15752 ee4ac58c-ac51-4696-9907-e4b3aa274f04
parent 95e05483
No related branches found
No related tags found
No related merge requests found
...@@ -18,6 +18,7 @@ import javax.swing.JPanel; ...@@ -18,6 +18,7 @@ import javax.swing.JPanel;
import junit.framework.Assert; import junit.framework.Assert;
import org.junit.BeforeClass;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
...@@ -41,8 +42,8 @@ import uk.ac.sanger.artemis.util.DocumentFactory; ...@@ -41,8 +42,8 @@ import uk.ac.sanger.artemis.util.DocumentFactory;
*/ */
public class WriteVCFTest public class WriteVCFTest
{ {
private VCFview vcfView; private static VCFview vcfView;
private static VCFview bcfView;
// TEST WRITING REGIONS // TEST WRITING REGIONS
...@@ -173,7 +174,7 @@ public class WriteVCFTest ...@@ -173,7 +174,7 @@ public class WriteVCFTest
@Test @Test
public void testFeatureWriteFastaSNP() public void testFeatureWriteFastaSNP()
{ {
StringWriter writer = getFeatureWriter("SPN23F03630,SPN23F03800,SPN23F04290"); StringWriter writer = getFeatureWriter("SPN23F03630,SPN23F03800,SPN23F04290", vcfView);
StringBuffer fastaBuff = new StringBuffer(">test.embl.gz\n"); StringBuffer fastaBuff = new StringBuffer(">test.embl.gz\n");
StringBuffer basesBuff = new StringBuffer(); StringBuffer basesBuff = new StringBuffer();
...@@ -271,6 +272,115 @@ public class WriteVCFTest ...@@ -271,6 +272,115 @@ public class WriteVCFTest
assertEquals("Export FASTA feature ", writer.toString(), fastaBuff.toString()); assertEquals("Export FASTA feature ", writer.toString(), fastaBuff.toString());
} }
/**
* Write FASTA, from a feature selection on the forward strand.
*/
@Test
public void testBCFFeatureWriteFastaSNP()
{
StringWriter writer = getFeatureWriter("PFA0140c,PFA0475c", bcfView);
StringBuffer fastaBuff = new StringBuffer(">MAL1.embl.gz\n");
StringBuffer basesBuff = new StringBuffer();
//PFA0140c
basesBuff.append("atgagcaatataaatgataataatattcaaaacagcgatgtaaaggaaataaaaaatgat");
basesBuff.append("gaatatatgggagaagggtattataatacacataatgaatgtgagggttttgaacaaaac");
basesBuff.append("aattatatgaataataatgaaatcaatatggtagatggaaaacatgataatagtgatgat");
basesBuff.append("aatataaataattccatgggagggataacacatatgggacatgtgaatgagtataaaaaa");
basesBuff.append("ataaaatcattttgtaagttaagaaggaaatttgtatatataaggagaacgggttataat");
basesBuff.append("tcatacatatataatagaaagaaaaaaaaaaataaaaataaaatagagactgaaaggaat");
basesBuff.append("gtagatgaaatgtataatatgaataataacaataataataatcataacaacaacaacaat");
basesBuff.append("aataataataataataataataataataacagatataataataatattaattgtttggat");
basesBuff.append("aattttagcgatttatttttaaaatttataaaacaattcattgatcatataaatgtacat");
basesBuff.append("ttgaataatgtaaaaaattattatcgaaattatgtgtgtaatgataatatgaaatatgta");
basesBuff.append("ttttatttatttattatatatatgttgttaaatattatgattatctttttttcgatgttt");
basesBuff.append("gtatatttctttgtatatttttattttatcccacaaaataagtatgtatttcctatagat");
basesBuff.append("ttttcattggtaaaaaatcctatagaagattatttacaaaacgaaaaaagatataacatt");
basesBuff.append("atgaataaaatgaataatatggacaatatggataatatggataatatgaatcatataaat");
basesBuff.append("tatatgaataacatgaatcataataataataataataataataattgtaatataaagaat");
basesBuff.append("aattgtaataatattaatatgatgaaaaattttgataagtctaatttcaatgagtcagaa");
basesBuff.append("gatttctatataaaatatttcgattctttaaaagaaagcaggaaaagaaatgattattta");
basesBuff.append("tataataataaattaaaaggtttttataaagattttcaaaataatattttaagaggtcat");
basesBuff.append("atactatttcaaaataaattatattattcagaaaaagaagagttttataagaatttcaat");
basesBuff.append("ccttttaattttatatttttttttaagaaaagaacaggaaaagataatttacttaatata");
basesBuff.append("aagaaaggatataaaattgatatatttttaaatttttcttatatgaataatgaatataat");
basesBuff.append("gacaaatttaattttattcaattagttactgaaatttttaataaaaataataatgtaatg");
basesBuff.append("tttagaaatgaaaaattatatatgaataataataattatgaatttataaagaaattacat");
basesBuff.append("ttatttttaaatgctcctttttatttttttaatatgtttaataataaaacaaaagaaatt");
basesBuff.append("cgattagtacatgattataaatatacgacgaatttttataaaattcaaatatatatatac");
basesBuff.append("ccaccgatacaaatacataaagcttctatcgttattcttgtctacgttaattttatatat");
basesBuff.append("tattacatgtataattatccttttgtgttcttttatatttttgtttttttcttgagcttc");
basesBuff.append("atcttgatatttttcaacactatccttttttttatattgagttgttattattattttaaa");
basesBuff.append("aacggattataa");
// PFA0475c
basesBuff.append("atggaaggacagcataaagaaaaaaatacaaaaataaaaaaaagtaaaaaaccgttagtt");
basesBuff.append("gttagtaatagaaaaccattcaacgtttttgaaaaaaaaaaaagtgcaaagccgctcgta");
basesBuff.append("agagatcctcgtttttctgatttttcaggatcgttcaatgcgaacttttttagaaatgca");
basesBuff.append("tacaagtttttatacgactcaagagaacaagaaaagaagattatagaaaaaaaattaaaa");
basesBuff.append("agcaaaaatataacacaagaagaaaaggacgaattaaaaaaaaaatacaatgattataaa");
basesBuff.append("agcactgatatattattaaaaaaaaaagaagaagaaaggaaattaaaagcagaattagta");
basesBuff.append("aaacaggaaaaacaaaatattctaaccaaaaataaaaaaccttattattatagtgataga");
basesBuff.append("aaaattaaaaaaatagttcaagaaaaattgtcgagttataagagtttaaagaaagttata");
basesBuff.append("aaaaaagaaaaaaaaacattgcaaaaagagagaaagagaaacatcaaaccaacaaaaaaa");
basesBuff.append("aaaatttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
basesBuff.append("aaaaaaaaaaaaaaaacataa");
IOUtils.wrapString(basesBuff.toString(), fastaBuff);
fastaBuff.append(">MAL1_8_16_24h.raw.bcf \n");
basesBuff = new StringBuffer();
//PFA0140c
basesBuff.append("atgagcaatataaatgataataatattcaaaacagcgatgtaaaggaaataaaaaatgat");
basesBuff.append("gaatatatgggagaagggtattataatacacataatgaatgtgagggttttgaacaaaac");
basesBuff.append("aattatatgaataataatgaaatcaatatggtagatggaaaacatgataatagtgatgat");
basesBuff.append("aatataaataattccatgggagggataacacatatgggacatgtgaatgagtataaaaaa");
basesBuff.append("ataaaatcattttgtaagttaagaaggaaatttgtatatataaggagaacgggttataat");
basesBuff.append("tcatacatatataatagaaagaaaaaaaaaaataaaaataaaatagagactgaaaggaat");
basesBuff.append("gtagatgaaatgtataatatgaataataacaataataataatcataacaacaacaacaat");
basesBuff.append("aataataataataataataataataataacagatataataataatattaattgtttggat");
basesBuff.append("aattttagcgatttatttttaaaatttataaaacaattcattgatcatataaatgtacat");
basesBuff.append("ttgaataatgtaaaaaattattatcgaaattatgtgtgtaatgataatatgaaatatgta");
basesBuff.append("ttttatttatttattatatatatgttgttaaatattatgattatctttttttcgatgttt");
basesBuff.append("gtatatttctttgtatatttttattttatcccacaaaataagtatgtatttcctatagat");
basesBuff.append("ttttcattggtaaaaaatcctatagaagattatttacaaaacgaaaaaagatataacatt");
basesBuff.append("atgaataaaatgaataatatggacaatatggataatatggataatatgaatcatataaat");
basesBuff.append("tatatgaataacatgaatcataataataataataataataataattgtaatataaagaat");
basesBuff.append("aattgtaataatattaatatgatgaaaaattttgataagtctaatttcaatgagtcagaa");
basesBuff.append("gatttctatataaaatatttcgattctttaaaagaaagcaggaaaagaaatgattattta");
basesBuff.append("tataataataaattaaaaggtttttataaagattttcaaaataatattttaagaggtcat");
basesBuff.append("atactatttcaaaataaattatattattcagaaaaagaagagttttataagaatttcaat");
basesBuff.append("ccttttaattttatatttttttttaagaaaagaacaggaaaagataatttacttaatata");
basesBuff.append("aagaaaggatataaaattgatatatttttaaatttttcttatatgaataatgaatataat");
basesBuff.append("gacaaatttaattttattcaattagttactgaaatttttaataaaaataataatgtaatg");
basesBuff.append("tttagaaatgaaaaattatatatgaataataataattatgaatttataaagaaattacat");
basesBuff.append("ttatttttaaatgctcctttttatttttttaatatgtttaataataacacaaaagaaatt");
basesBuff.append("cgattagtacatgattataaatatacgacgaatttttataaaattcaaatatatatatac");
basesBuff.append("ccaccgatacaaatacataaagcttctatcgttattcttgtctacgttaattttatatat");
basesBuff.append("tattacatgtataattatccttttgtgttcttttatatttttgtttttttcttgagcttc");
basesBuff.append("atcttgatatttttcaacactatccttttttttatattgagttgttattattattttaaa");
basesBuff.append("aacggattataa");
// PFA0475c
basesBuff.append("atggaaggacagcataaagaaaaaaatacaaaaataaaaaaaagtaaaaaaccgttagtt");
basesBuff.append("gttagtaatagaaaaccattcaacgtttttgaaaaaaaaaaaagtgcaaagccgctcgta");
basesBuff.append("agagatcctcgtttttctgatttttcaggatcgttcaatgcgaacttttttagaaatgca");
basesBuff.append("tacaagtttttatacgactcaagagaacaagaaaagaagattatagaaaaaaaattaaaa");
basesBuff.append("agcaaaaatataacacaagaagaaaaggacgaattaaaaaaaaaatacaatgattataaa");
basesBuff.append("agcactgatatattattaaaaaaaaaagaagaagaaaggaaattaaaagcagaattagta");
basesBuff.append("aaacaggaaaaacaaaatattctaaccaaaaataaaaaaccttattattatagtgataga");
basesBuff.append("aaaattaaaaaaatagttcaagaaaaattgtcgagtaataagagtttaaagaaagttata");
basesBuff.append("aaaaaagaaaaaaaaacattgcaaaaagagagaaagagaaacatcataccaacaaaaaaa");
basesBuff.append("aaaatttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
basesBuff.append("aaaaaaaaaaaaaaaacataa");
IOUtils.wrapString(basesBuff.toString(), fastaBuff);
assertEquals("Export FASTA feature ", writer.toString(), fastaBuff.toString());
}
/** /**
* Get sequences for a selected region. * Get sequences for a selected region.
...@@ -323,12 +433,12 @@ public class WriteVCFTest ...@@ -323,12 +433,12 @@ public class WriteVCFTest
* @param id comma separated list of feature id's * @param id comma separated list of feature id's
* @return * @return
*/ */
private StringWriter getFeatureWriter(String ids) private StringWriter getFeatureWriter(String ids, final VCFview view)
{ {
StringWriter writer = new StringWriter(); StringWriter writer = new StringWriter();
String id[] = ids.split(","); String id[] = ids.split(",");
FeatureVector features = vcfView.getEntryGroup().getAllFeatures(); FeatureVector features = view.getEntryGroup().getAllFeatures();
FeatureVector selectedFeatures = new FeatureVector(); FeatureVector selectedFeatures = new FeatureVector();
Feature feature = null; Feature feature = null;
for(int i=0; i<features.size(); i++) for(int i=0; i<features.size(); i++)
...@@ -343,20 +453,21 @@ public class WriteVCFTest ...@@ -343,20 +453,21 @@ public class WriteVCFTest
} }
} }
IOUtils.exportFasta(vcfView, selectedFeatures, false, writer); IOUtils.exportFasta(view, selectedFeatures, false, writer);
return writer; return writer;
} }
/** /**
* Open a flat file and create the components in the TransferAnnotaionTool * Load in a VCF and BCF into separate VCFviews to be used
* used to control the transfer of annotation. * separately in testing.
*/ */
@Before @BeforeClass
public void setup() public static void oneTimeSetUp()
{ {
final URL ref = WriteVCFTest.class.getResource("/data/test.embl.gz"); // load VCF
final URL vcf = WriteVCFTest.class.getResource("/data/test.vcf.gz"); URL ref = WriteVCFTest.class.getResource("/data/test.embl.gz");
URL vcf = WriteVCFTest.class.getResource("/data/test.vcf.gz");
List<String> vcfFileList = new Vector<String>(); List<String> vcfFileList = new Vector<String>();
vcfFileList.add(vcf.getFile()); vcfFileList.add(vcf.getFile());
...@@ -365,6 +476,17 @@ public class WriteVCFTest ...@@ -365,6 +476,17 @@ public class WriteVCFTest
vcfFileList, vcfFileList,
5000, 100000000, null, 5000, 100000000, null,
ref.getFile(), null); ref.getFile(), null);
// load BCF
ref = WriteVCFTest.class.getResource("/data/MAL1.embl.gz");
vcf = WriteVCFTest.class.getResource("/data/MAL1_8_16_24h.raw.bcf");
List<String> bcfFileList = new Vector<String>();
bcfFileList.add(vcf.getFile());
bcfView = new VCFview(null, new JPanel(),
bcfFileList,
5000, 100000000, null,
ref.getFile(), null);
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment