Skip to content

Commit

Permalink
add tests for accessing the whole GO data
Browse files Browse the repository at this point in the history
  • Loading branch information
eparejatobes committed Nov 8, 2016
1 parent c673e22 commit 4e5a182
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/main/scala/go.scala
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ trait AnyTerm extends Any {
def name: String
def definition: String
def namespace: String // TODO finite known set of namespaces
def comments: String
def comments: Seq[String]
}

sealed trait AnyRel {
Expand Down
4 changes: 2 additions & 2 deletions src/main/scala/oboxml/parser.scala
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ case class XmlTerm(val xml: Node) extends AnyVal with AnyTerm {
def name: String =
(xml \ "name").head.text

def comments: String =
(xml \ "comment").head.text
def comments: Seq[String] =
(xml \ "comment") map { _.text }

def namespace: String =
(xml \ "namespace").head.text
Expand Down
16 changes: 0 additions & 16 deletions src/test/scala/Datago.scala

This file was deleted.

86 changes: 86 additions & 0 deletions src/test/scala/oboxml.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package com.bio4j.data.go.test

import org.scalatest.FunSuite
import com.bio4j.data.go._
import scala.xml._

class OBOXML extends FunSuite {

private lazy val MyXML = new factory.XMLLoader[Elem] {

private lazy val parserFactory = {
val f0 = javax.xml.parsers.SAXParserFactory.newInstance()
f0.setNamespaceAware(false)
f0.setValidating(false)
f0.setXIncludeAware(false)
f0
}

private lazy val parser0 = parserFactory.newSAXParser()

override def parser: SAXParser = parser0
}


test("parse whole GO oboxml file, access all data") {

val go = oboxml.GOOBOXML(MyXML.loadFile("go_daily-termdb.obo-xml"))

val terms = go.terms
println { s"number of terms: ${terms.size}" }

terms foreach { term =>

val id = term.ID
val name = term.name
val definition = term.definition
val namespace = term.namespace
val comments = term.comments
}

val isA = go.isA
println { s"number of isA: ${isA.size}" }

isA foreach { rel =>

val source = rel.sourceID
val target = rel.targetID
}

val partOf = go.partOf
println { s"number of partOf: ${partOf.size}" }

partOf foreach { rel =>

val source = rel.sourceID
val target = rel.targetID
}

val regulates = go.regulates
println { s"number of regulates: ${regulates.size}" }

regulates foreach { rel =>

val source = rel.sourceID
val target = rel.targetID
}

val positivelyRegulates = go.positivelyRegulates
println { s"number of positivelyRegulates: ${positivelyRegulates.size}" }

positivelyRegulates foreach { rel =>

val source = rel.sourceID
val target = rel.targetID
}

val negativelyRegulates = go.negativelyRegulates
println { s"number of negativelyRegulates: ${negativelyRegulates.size}" }

negativelyRegulates foreach { rel =>

val source = rel.sourceID
val target = rel.targetID
}
}
}

0 comments on commit 4e5a182

Please sign in to comment.