X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FFeaturesFileTest.java;h=d59c6bbc86bc969fed036b562583bbdd54c25d36;hb=60e252f7e0084336b0a85620842ce3db8f63e5b0;hp=6429e16f9d566cf4e046c74a6632f2dd6c1045d3;hpb=c05b2da460c1e6ba38e2c0a0d3e8399e0b847d60;p=jalview.git diff --git a/test/jalview/io/FeaturesFileTest.java b/test/jalview/io/FeaturesFileTest.java index 6429e16..d59c6bb 100644 --- a/test/jalview/io/FeaturesFileTest.java +++ b/test/jalview/io/FeaturesFileTest.java @@ -39,7 +39,10 @@ import jalview.gui.JvOptionPane; import java.awt.Color; import java.io.File; import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.testng.annotations.BeforeClass; @@ -421,17 +424,20 @@ public class FeaturesFileTest */ FeatureRenderer fr = af.alignPanel.getFeatureRenderer(); Map visible = fr.getDisplayedFeatureCols(); + List visibleGroups = new ArrayList( + Arrays.asList(new String[] {})); String exported = featuresFile.printJalviewFormat( - al.getSequencesArray(), visible, false); + al.getSequencesArray(), visible, visibleGroups, false); String expected = "No Features Visible"; assertEquals(expected, exported); /* * include non-positional features */ + visibleGroups.add("uniprot"); exported = featuresFile.printJalviewFormat(al.getSequencesArray(), - visible, true); - expected = "\nSTARTGROUP\tuniprot\nCath\tFER_CAPAA\t-1\t0\t0\tDomain\t0.0\nENDGROUP\tuniprot\n"; + visible, visibleGroups, true); + expected = "Cath\tFER_CAPAA\t-1\t0\t0\tDomain\t0.0\n\nSTARTGROUP\tuniprot\nENDGROUP\tuniprot\n"; assertEquals(expected, exported); /* @@ -441,7 +447,7 @@ public class FeaturesFileTest fr.setVisible("GAMMA-TURN"); visible = fr.getDisplayedFeatureCols(); exported = featuresFile.printJalviewFormat(al.getSequencesArray(), - visible, false); + visible, visibleGroups, false); expected = "METAL\tcc9900\n" + "GAMMA-TURN\tff0000|00ffff|20.0|95.0|below|66.0\n" + "\nSTARTGROUP\tuniprot\n" @@ -456,7 +462,7 @@ public class FeaturesFileTest fr.setVisible("Pfam"); visible = fr.getDisplayedFeatureCols(); exported = featuresFile.printJalviewFormat(al.getSequencesArray(), - visible, false); + visible, visibleGroups, false); /* * features are output within group, ordered by sequence and by type */ @@ -484,12 +490,14 @@ public class FeaturesFileTest FeaturesFile featuresFile = new FeaturesFile(); FeatureRenderer fr = af.alignPanel.getFeatureRenderer(); Map visible = new HashMap(); - String exported = featuresFile.printGffFormat( - al.getSequencesArray(), visible, false); + List visibleGroups = new ArrayList( + Arrays.asList(new String[] {})); + String exported = featuresFile.printGffFormat(al.getSequencesArray(), + visible, visibleGroups, false); String gffHeader = "##gff-version 2\n"; assertEquals(gffHeader, exported); exported = featuresFile.printGffFormat(al.getSequencesArray(), visible, - true); + visibleGroups, true); assertEquals(gffHeader, exported); /* @@ -503,7 +511,8 @@ public class FeaturesFileTest .addSequenceFeature( new SequenceFeature("GAMMA-TURN", "Turn", 36, 38, 2.1f, "s3dm")); - SequenceFeature sf = new SequenceFeature("Pfam", "", 20, 20, 0f, "Uniprot"); + SequenceFeature sf = new SequenceFeature("Pfam", "", 20, 20, 0f, + "Uniprot"); sf.setAttributes("x=y;black=white"); sf.setStrand("+"); sf.setPhase("2"); @@ -513,40 +522,53 @@ public class FeaturesFileTest * with no features displayed, exclude non-positional features */ exported = featuresFile.printGffFormat(al.getSequencesArray(), visible, - false); + visibleGroups, false); assertEquals(gffHeader, exported); - + /* * include non-positional features */ - exported = featuresFile.printGffFormat(al.getSequencesArray(), - visible, true); + visibleGroups.add("Uniprot"); + exported = featuresFile.printGffFormat(al.getSequencesArray(), visible, + visibleGroups, true); String expected = gffHeader + "FER_CAPAA\tUniprot\tDomain\t0\t0\t0.0\t.\t.\n"; assertEquals(expected, exported); - + /* * set METAL (in uniprot group) and GAMMA-TURN visible, but not Pfam + * only Uniprot group visible here... */ fr.setVisible("METAL"); fr.setVisible("GAMMA-TURN"); visible = fr.getDisplayedFeatureCols(); - exported = featuresFile.printGffFormat(al.getSequencesArray(), - visible, false); + exported = featuresFile.printGffFormat(al.getSequencesArray(), visible, + visibleGroups, false); + // METAL feature has null group: description used for column 2 + expected = gffHeader + "FER_CAPAA\tCath\tMETAL\t39\t39\t1.2\t.\t.\n"; + assertEquals(expected, exported); + + /* + * set s3dm group visible + */ + visibleGroups.add("s3dm"); + exported = featuresFile.printGffFormat(al.getSequencesArray(), visible, + visibleGroups, false); // METAL feature has null group: description used for column 2 expected = gffHeader + "FER_CAPAA\tCath\tMETAL\t39\t39\t1.2\t.\t.\n" + "FER_CAPAN\ts3dm\tGAMMA-TURN\t36\t38\t2.1\t.\t.\n"; assertEquals(expected, exported); - + /* * now set Pfam visible */ fr.setVisible("Pfam"); visible = fr.getDisplayedFeatureCols(); - exported = featuresFile.printGffFormat(al.getSequencesArray(), - visible, false); + exported = featuresFile.printGffFormat(al.getSequencesArray(), visible, + visibleGroups, false); // Pfam feature columns include strand(+), phase(2), attributes - expected = gffHeader + "FER_CAPAA\tCath\tMETAL\t39\t39\t1.2\t.\t.\n" + expected = gffHeader + + "FER_CAPAA\tCath\tMETAL\t39\t39\t1.2\t.\t.\n" + "FER_CAPAN\ts3dm\tGAMMA-TURN\t36\t38\t2.1\t.\t.\n" + "FER_CAPAN\tUniprot\tPfam\t20\t20\t0.0\t+\t2\tx=y;black=white\n"; assertEquals(expected, exported);