Skip to content

Commit

Permalink
Added new tests for the MITAB 2.8 format and refactored old ones (psi…
Browse files Browse the repository at this point in the history
…mitab module)
  • Loading branch information
bblodfon committed Jul 16, 2018
1 parent 3788d25 commit 2369338
Show file tree
Hide file tree
Showing 8 changed files with 1,104 additions and 230 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,29 +21,6 @@
*/
public class PsimiTabIteratorTest {

@Test
public void getInteractionsProcessedCount() throws Exception {

String[] lines = {
"uniprotkb:P23367 uniprotkb:P06722 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR004230|uniprotkb:Q9R2X2|uniprotkb:Q9R3A8|uniprotkb:Q9R411|uniprotkb:Q9S6P5|uniprotkb:Q9S6P6|uniprotkb:Q9S6P7|go:\"GO:0005515\"|intact:EBI-545170 gene name:mutL|locus name:b4170 gene name:mutH|gene name synonym:mutR|gene name synonym:prv|locus name:b2831 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P23367 uniprotkb:P06722 - - - - - - - taxid:562 taxid:562 - - - -\n",
"uniprotkb:P23909 uniprotkb:P23909 interpro:IPR005748|interpro:IPR000432|interpro:IPR007860|interpro:IPR007696|interpro:IPR007861|interpro:IPR007695|uniprotkb:P71279|go:\"GO:0005515\"|intact:EBI-554920 interpro:IPR005748|interpro:IPR000432|interpro:IPR007860|interpro:IPR007696|interpro:IPR007861|interpro:IPR007695|uniprotkb:P71279|go:\"GO:0005515\"|intact:EBI-554920 gene name:mutS|gene name synonym:fdv|locus name:b2733 gene name:mutS|gene name synonym:fdv|locus name:b2733 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P23367 uniprotkb:P23367 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 gene name:mutL|locus name:b4170 gene name:mutL|locus name:b4170 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P23367 uniprotkb:P09184 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR004603|intact:EBI-765033 gene name:mutL|locus name:b4170 gene name:vsr|locus name:b1960 two hybrid:\"MI:0018\"|adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P06722 uniprotkb:P23367 interpro:IPR004230|uniprotkb:Q9R2X2|uniprotkb:Q9R3A8|uniprotkb:Q9R411|uniprotkb:Q9S6P5|uniprotkb:Q9S6P6|uniprotkb:Q9S6P7|go:\"GO:0005515\"|intact:EBI-545170 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 gene name:mutH|gene name synonym:mutR|gene name synonym:prv|locus name:b2831 gene name:mutL|locus name:b4170 two hybrid:\"MI:0018\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n"
};


psidev.psi.mi.tab.io.PsimiTabReader reader = new PsimiTabReader();
Iterator<BinaryInteraction> iterator = reader.iterate(TestHelper.HEADER_TAB_11585365);
int i = 0;
while (iterator.hasNext()) {
assertEquals(lines[i], MitabWriterUtils.buildLine(iterator.next(), PsimiTabVersion.v2_5));
i++;
}
assertEquals(6, ((PsimiTabIterator) iterator).getInteractionsProcessedCount());
}

@Test
public void next() throws Exception {
psidev.psi.mi.tab.io.PsimiTabReader reader = new PsimiTabReader();
Expand Down Expand Up @@ -84,7 +61,30 @@ public void hasNext() throws Exception {
}

@Test
public void getInteractionsProcessedCountWithoutHeader() throws Exception {
public void getInteractionsProcessedCountMitab25() throws Exception {

String[] lines = {
"uniprotkb:P23367 uniprotkb:P06722 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR004230|uniprotkb:Q9R2X2|uniprotkb:Q9R3A8|uniprotkb:Q9R411|uniprotkb:Q9S6P5|uniprotkb:Q9S6P6|uniprotkb:Q9S6P7|go:\"GO:0005515\"|intact:EBI-545170 gene name:mutL|locus name:b4170 gene name:mutH|gene name synonym:mutR|gene name synonym:prv|locus name:b2831 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P23367 uniprotkb:P06722 - - - - - - - taxid:562 taxid:562 - - - -\n",
"uniprotkb:P23909 uniprotkb:P23909 interpro:IPR005748|interpro:IPR000432|interpro:IPR007860|interpro:IPR007696|interpro:IPR007861|interpro:IPR007695|uniprotkb:P71279|go:\"GO:0005515\"|intact:EBI-554920 interpro:IPR005748|interpro:IPR000432|interpro:IPR007860|interpro:IPR007696|interpro:IPR007861|interpro:IPR007695|uniprotkb:P71279|go:\"GO:0005515\"|intact:EBI-554920 gene name:mutS|gene name synonym:fdv|locus name:b2733 gene name:mutS|gene name synonym:fdv|locus name:b2733 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P23367 uniprotkb:P23367 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 gene name:mutL|locus name:b4170 gene name:mutL|locus name:b4170 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P23367 uniprotkb:P09184 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR004603|intact:EBI-765033 gene name:mutL|locus name:b4170 gene name:vsr|locus name:b1960 two hybrid:\"MI:0018\"|adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
"uniprotkb:P06722 uniprotkb:P23367 interpro:IPR004230|uniprotkb:Q9R2X2|uniprotkb:Q9R3A8|uniprotkb:Q9R411|uniprotkb:Q9S6P5|uniprotkb:Q9S6P6|uniprotkb:Q9S6P7|go:\"GO:0005515\"|intact:EBI-545170 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 gene name:mutH|gene name synonym:mutR|gene name synonym:prv|locus name:b2831 gene name:mutL|locus name:b4170 two hybrid:\"MI:0018\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n"
};


PsimiTabReader reader = new PsimiTabReader();
Iterator<BinaryInteraction> iterator = reader.iterate(TestHelper.HEADER_TAB_11585365);
int i = 0;
while (iterator.hasNext()) {
assertEquals(lines[i], MitabWriterUtils.buildLine(iterator.next(), PsimiTabVersion.v2_5));
i++;
}
assertEquals(6, ((PsimiTabIterator) iterator).getInteractionsProcessedCount());
}

@Test
public void getInteractionsProcessedCountMitab25WithoutHeader() throws Exception {

String[] lines = {
"uniprotkb:P23367 uniprotkb:P06722 interpro:IPR003594|interpro:IPR002099|go:\"GO:0005515\"|intact:EBI-554913 interpro:IPR004230|uniprotkb:Q9R2X2|uniprotkb:Q9R3A8|uniprotkb:Q9R411|uniprotkb:Q9S6P5|uniprotkb:Q9S6P6|uniprotkb:Q9S6P7|go:\"GO:0005515\"|intact:EBI-545170 gene name:mutL|locus name:b4170 gene name:mutH|gene name synonym:mutR|gene name synonym:prv|locus name:b2831 adenylate cyclase:\"MI:0014\" - pubmed:11585365 taxid:562 taxid:562 physical interaction:\"MI:0218\" - - -\n",
Expand All @@ -106,6 +106,87 @@ public void getInteractionsProcessedCountWithoutHeader() throws Exception {
assertEquals(6, ((PsimiTabIterator) iterator).getInteractionsProcessedCount());
}

@Test
public void getInteractionsProcessedCountMitab26() throws Exception {
String[] mitab26line = {
"uniprotkb:Q9Y5J7|intact:EBI-123456\tuniprotkb:Q9Y584\tuniprotkb:TIMM9(gene name)\tuniprotkb:TIMM22(gene name)\t" +
"uniprotkb:TIM9\tuniprotkb:TEX4\t" +
"psi-mi:\"MI:0006\"(anti bait coip)\tPeter et al (2010)\tpubmed:14726512\ttaxid:9606(human)\ttaxid:9606(human)\t" +
"psi-mi:\"MI:0218\"(physical interaction)\tpsi-mi:\"MI:0469\"(intact)\tintact:EBI-1200556\t-\t" +
"psi-mi:\"MI:xxxx\"(spoke)\tpsi-mi:\"MI:0499\"(unspecified role)\tpsi-mi:\"MI:0499\"(unspecified role)\t" +
"psi-mi:\"MI:0497\"(bait)\tpsi-mi:\"MI:0498\"(prey)\tpsi-mi:\"MI:0326\"(protein)\tpsi-mi:\"MI:0326\"(protein)\t" +
"interpro:IPR004046(GST_C)\t" +
"go:\"GO:0004709\"(\"F:MAP kinase kinase kinase act\")\tgo:\"GO:xxxxx\"\t" +
"caution:AnnotA\tcaution:AnnotB\tdataset:Test\ttaxid:9606(human-293t)\tkd:2.0\t2009/03/09\t2010/03/30\t" +
"seguid:checksumA\tseguid:checksumB\tseguid:checksumI\tfalse\n"
};

psidev.psi.mi.tab.io.PsimiTabReader reader = new PsimiTabReader();
Iterator<BinaryInteraction> iterator = reader.iterate(TestHelper.MITAB26_LINE_HEADER);
int i = 0;
while (iterator.hasNext()) {
assertEquals(mitab26line[i], MitabWriterUtils.buildLine(iterator.next(), PsimiTabVersion.v2_6));
i++;
}
assertEquals(1, ((PsimiTabIterator) iterator).getInteractionsProcessedCount());

}

@Test
public void getInteractionsProcessedCountMitab27() throws Exception {
String[] mitab27line = {
"uniprotkb:Q9Y5J7|intact:EBI-123456\tuniprotkb:Q9Y584\tuniprotkb:TIMM9(gene name)\tuniprotkb:TIMM22(gene name)\t" +
"uniprotkb:TIM9\tuniprotkb:TEX4\t" +
"psi-mi:\"MI:0006\"(anti bait coip)\tPeter et al (2010)\tpubmed:14726512\ttaxid:9606(human)\ttaxid:9606(human)\t" +
"psi-mi:\"MI:0218\"(physical interaction)\tpsi-mi:\"MI:0469\"(intact)\tintact:EBI-1200556\t-\t" +
"psi-mi:\"MI:xxxx\"(spoke)\tpsi-mi:\"MI:0499\"(unspecified role)\tpsi-mi:\"MI:0499\"(unspecified role)\t" +
"psi-mi:\"MI:0497\"(bait)\tpsi-mi:\"MI:0498\"(prey)\tpsi-mi:\"MI:0326\"(protein)\tpsi-mi:\"MI:0326\"(protein)\t" +
"interpro:IPR004046(GST_C)\t" +
"go:\"GO:0004709\"(\"F:MAP kinase kinase kinase act\")\tgo:\"GO:xxxxx\"\t" +
"caution:AnnotA\tcaution:AnnotB\tdataset:Test\ttaxid:9606(human-293t)\tkd:2.0\t2009/03/09\t2010/03/30\t" +
"seguid:checksumA\tseguid:checksumB\tseguid:checksumI\tfalse\t" +
"tag:?-?\t-\t-\t-\tpsi-mi:\"MI:0102\"(sequence tag identification)\tpsi-mi:\"MI:0102\"(sequence tag identification)\n"
};

psidev.psi.mi.tab.io.PsimiTabReader reader = new PsimiTabReader();
Iterator<BinaryInteraction> iterator = reader.iterate(TestHelper.MITAB27_LINE_HEADER);
int i = 0;
while (iterator.hasNext()) {
assertEquals(mitab27line[i], MitabWriterUtils.buildLine(iterator.next(), PsimiTabVersion.v2_7));
i++;
}
assertEquals(1, ((PsimiTabIterator) iterator).getInteractionsProcessedCount());

}

@Test
public void getInteractionsProcessedCountMitab28() throws Exception {
String[] mitab28line = {
"uniprotkb:Q9Y5J7|intact:EBI-123456\tuniprotkb:Q9Y584\tuniprotkb:TIMM9(gene name)\tuniprotkb:TIMM22(gene name)\t" +
"uniprotkb:TIM9\tuniprotkb:TEX4\t" +
"psi-mi:\"MI:0006\"(anti bait coip)\tPeter et al (2010)\tpubmed:14726512\ttaxid:9606(human)\ttaxid:9606(human)\t" +
"psi-mi:\"MI:0218\"(physical interaction)\tpsi-mi:\"MI:0469\"(intact)\tintact:EBI-1200556\t-\t" +
"psi-mi:\"MI:xxxx\"(spoke)\tpsi-mi:\"MI:0499\"(unspecified role)\tpsi-mi:\"MI:0499\"(unspecified role)\t" +
"psi-mi:\"MI:0497\"(bait)\tpsi-mi:\"MI:0498\"(prey)\tpsi-mi:\"MI:0326\"(protein)\tpsi-mi:\"MI:0326\"(protein)\t" +
"interpro:IPR004046(GST_C)\t" +
"go:\"GO:0004709\"(\"F:MAP kinase kinase kinase act\")\tgo:\"GO:xxxxx\"\t" +
"caution:AnnotA\tcaution:AnnotB\tdataset:Test\ttaxid:9606(human-293t)\tkd:2.0\t2009/03/09\t2010/03/30\t" +
"seguid:checksumA\tseguid:checksumB\tseguid:checksumI\tfalse\t" +
"tag:?-?\t-\t-\t-\tpsi-mi:\"MI:0102\"(sequence tag identification)\tpsi-mi:\"MI:0102\"(sequence tag identification)\t" +
"-\t-\tpsi-mi:\"MI:2247\"(transcriptional regulation)\tpsi-mi:\"MI:2236\"(up-regulates activity)\n"
};

psidev.psi.mi.tab.io.PsimiTabReader reader = new PsimiTabReader();
Iterator<BinaryInteraction> iterator = reader.iterate(TestHelper.MITAB28_LINE_HEADER);
int i = 0;
while (iterator.hasNext()) {
assertEquals(mitab28line[i], MitabWriterUtils.buildLine(iterator.next(), PsimiTabVersion.v2_8));
i++;
}
assertEquals(1, ((PsimiTabIterator) iterator).getInteractionsProcessedCount());

}

@Test
public void readEmptyFile() throws Exception {

Expand Down
Loading

0 comments on commit 2369338

Please sign in to comment.