Cleaning up the SCOP tests

This commit is contained in:
mdehoon
2010-01-25 20:13:26 +09:00
parent d678911774
commit 312245bee2
9 changed files with 193 additions and 224 deletions

View File

@ -1,20 +0,0 @@
# dir.cla.scop.txt
# SCOP release 1.55 (July 2001) [File format version 1.00]
# http://scop.mrc-lmb.cam.ac.uk/scop/
# Copyright (c) 1994-2001 the scop authors; see http://scop.mrc-lmb.cam.ac.uk/scop/lic/copy.html
d1dlwa_ 1dlw A: a.1.1.1 14982 cl=46456,cf=46457,sf=46458,fa=46459,dm=46460,sp=46461,px=14982
d1dlya_ 1dly A: a.1.1.1 14983 cl=46456,cf=46457,sf=46458,fa=46459,dm=46460,sp=46462,px=14983
d3sdha_ 3sdh A: a.1.1.2 14984 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14984
d3sdhb_ 3sdh B: a.1.1.2 14985 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14985
d3hbia_ 3hbi A: a.1.1.2 14986 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14986
d3hbib_ 3hbi B: a.1.1.2 14987 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14987
d4sdha_ 4sdh A: a.1.1.2 14988 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14988
d4sdhb_ 4sdh B: a.1.1.2 14989 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14989
d4hbia_ 4hbi A: a.1.1.2 14990 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14990
d4hbib_ 4hbi B: a.1.1.2 14991 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14991
d5hbia_ 5hbi A: a.1.1.2 14992 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14992
d5hbib_ 5hbi B: a.1.1.2 14993 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14993
d7hbia_ 7hbi A: a.1.1.2 14994 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14994
d7hbib_ 7hbi B: a.1.1.2 14995 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14995
d1hbia_ 1hbi A: a.1.1.2 14996 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14996
d1hbib_ 1hbi B: a.1.1.2 14997 cl=46456,cf=46457,sf=46458,fa=46463,dm=46464,sp=46465,px=14997

View File

@ -6,8 +6,6 @@
"""Unit test for Astral"""
import unittest
from StringIO import *
from Bio.SCOP import *
@ -16,54 +14,54 @@ class AstralTests(unittest.TestCase):
def setUp(self):
self.scop = Scop(dir_path="SCOP", version="test" )
self.scop = Scop(dir_path="SCOP", version="test")
self.astral = Astral(scop=self.scop, dir_path="SCOP", version="test")
def testGetSeq(self):
assert self.astral.getSeqBySid('d3sdha_').data == "AAAAA"
assert self.astral.getSeqBySid('d4hbib_').data == "KKKKK"
self.assertEqual(self.astral.getSeqBySid('d3sdha_').data, "AAAAA")
self.assertEqual(self.astral.getSeqBySid('d4hbib_').data, "KKKKK")
dom = self.scop.getDomainBySid('d3sdha_')
assert self.astral.getSeq(dom).data == "AAAAA"
self.assertEqual(self.astral.getSeq(dom).data, "AAAAA")
def testConstructWithCustomFile(self):
scop = Scop(dir_path="SCOP", version="test" )
scop = Scop(dir_path="SCOP", version="test")
astral = Astral(scop=scop, astral_file="SCOP/scopseq-test/astral-scopdom-seqres-all-test.fa")
assert astral.getSeqBySid('d3sdha_').data == "AAAAA"
assert astral.getSeqBySid('d4hbib_').data == "KKKKK"
self.assertEqual(astral.getSeqBySid('d3sdha_').data, "AAAAA")
self.assertEqual(astral.getSeqBySid('d4hbib_').data, "KKKKK")
def testGetDomainsFromFile(self):
filename = "SCOP/scopseq-test/astral-scopdom-seqres-sel-gs-bib-20-test.id"
domains = self.astral.getAstralDomainsFromFile(filename)
assert len(domains)==3
assert domains[0].sid == "d3sdha_"
assert domains[1].sid == "d4hbib_"
assert domains[2].sid == "d5hbia_"
self.assertEqual(len(domains), 3)
self.assertEqual(domains[0].sid, "d3sdha_")
self.assertEqual(domains[1].sid, "d4hbib_")
self.assertEqual(domains[2].sid, "d5hbia_")
def testGetDomainsClustered(self):
domains1 = self.astral.domainsClusteredById(20)
assert len(domains1) == 3
assert domains1[0].sid == "d3sdha_"
assert domains1[1].sid == "d4hbib_"
assert domains1[2].sid == "d5hbia_"
self.assertEqual(len(domains1), 3)
self.assertEqual(domains1[0].sid, "d3sdha_")
self.assertEqual(domains1[1].sid, "d4hbib_")
self.assertEqual(domains1[2].sid, "d5hbia_")
domains2 = self.astral.domainsClusteredByEv(1e-15)
assert len(domains2) == 1
self.assertEqual(len(domains2), 1)
#d1 = scop.getDomainBySid("d3sdha_")
#assert d1.isIn(astral.getHashedDomainsClusteredByPercentId(20))
#assert d1.isIn(astral.getHashedDomainsClusteredByEv(-15))
#self.assertEqual(d1.isIn(astral.getHashedDomainsClusteredByPercentId(20))
#self.assertEqual(d1.isIn(astral.getHashedDomainsClusteredByEv(-15))
if __name__ == '__main__':
if __name__=='__main__':
runner = unittest.TextTestRunner(verbosity = 2)
unittest.main(testRunner=runner)

View File

@ -9,7 +9,6 @@
import unittest
from Bio.SCOP import Cla
from Bio.SCOP.Residues import Residues
@ -20,60 +19,63 @@ class ClaTests(unittest.TestCase):
self.filename = './SCOP/dir.cla.scop.txt_test'
def testParse(self):
"""Can we parse a CLA file?"""
"""Test if all records in a CLA file are being read"""
f=open(self.filename)
try:
count = 0
records = Cla.parse(f)
for record in records:
count +=1
assert count == 14, "Wrong number of records?!"
self.assertEqual(count, 14)
finally:
f.close()
def testStr(self):
"""Test if we can convert each record to a string correctly"""
f = open(self.filename)
try:
for line in f:
record = Cla.Record(line)
#End of line is platform dependent. Strip it off
assert str(record).rstrip() == line.rstrip()
self.assertEqual(str(record).rstrip(), line.rstrip())
finally:
f.close()
def testError(self):
"""Test if a corrupt record raises the appropriate exception"""
corruptRec = "49268\tsp\tb.1.2.1\t-\n"
try:
record = Cla.Record(corruptRec)
assert False, "Should never get here"
except ValueError, e:
pass
self.assertRaises(ValueError, Cla.Record, corruptRec)
def testRecord(self):
"""Test one record in detail"""
recLine = 'd1dan.1\t1dan\tT:,U:91-106\tb.1.2.1\t21953\tcl=48724,cf=48725,sf=49265,fa=49266,dm=49267,sp=49268,px=21953'
record = Cla.Record(recLine)
assert record.sid =='d1dan.1'
assert record.residues.pdbid =='1dan'
assert record.residues.fragments ==(('T','',''),('U','91','106'))
assert record.sccs == 'b.1.2.1'
assert record.sunid == 21953
assert record.hierarchy == [['cl',48724],['cf',48725],['sf',49265],
['fa',49266],['dm',49267],['sp',49268],
['px',21953]], record.hierarchy
self.assertEqual(record.sid, 'd1dan.1')
self.assertEqual(record.residues.pdbid, '1dan')
self.assertEqual(record.residues.fragments, (('T','',''),('U','91','106')))
self.assertEqual(record.sccs, 'b.1.2.1')
self.assertEqual(record.sunid, 21953)
self.assertEqual(record.hierarchy, [['cl',48724],
['cf',48725],
['sf',49265],
['fa',49266],
['dm',49267],
['sp',49268],
['px',21953]])
def testIndex(self):
"""Test CLA file indexing"""
index = Cla.Index(self.filename)
assert len(index)==14
assert index.has_key('d4hbia_')
self.assertEqual(len(index), 14)
self.assertTrue(index.has_key('d4hbia_'))
rec = index['d1hbia_']
assert rec.sunid == 14996
self.assertEqual(rec.sunid, 14996)
if __name__ == '__main__':
if __name__=='__main__':
runner = unittest.TextTestRunner(verbosity = 2)
unittest.main(testRunner=runner)

View File

@ -9,7 +9,6 @@
import unittest
from Bio.SCOP import Des
from Bio.SCOP.Residues import Residues
@ -19,47 +18,47 @@ class DesTests(unittest.TestCase):
self.filename = './SCOP/dir.des.scop.txt_test'
def testParse(self):
f = open(self.filename)
try:
count = 0
records = Des.parse(f)
for record in records:
count +=1
assert count == 20, "Wrong number of records?!"
finally:
f.close()
"""Test if all records in a DES file are being read"""
f = open(self.filename)
try:
count = 0
records = Des.parse(f)
for record in records:
count +=1
self.assertEqual(count, 20)
finally:
f.close()
def testStr(self):
f = open(self.filename)
try:
for line in f:
record = Des.Record(line)
#End of line is plateform dependant. Strip it off
assert str(record).rstrip() == line.rstrip()
finally:
f.close()
"""Test if we can convert each record to a string correctly"""
f = open(self.filename)
try:
for line in f:
record = Des.Record(line)
#End of line is platform dependent. Strip it off
self.assertEqual(str(record).rstrip(), line.rstrip())
finally:
f.close()
def testError(self):
"""Test if a corrupt record raises the appropriate exception"""
corruptRec = "49268\tsp\tb.1.2.1\t-\n"
try:
record = Des.Record(corruptRec)
assert False, "Should never get here"
except ValueError, e:
pass
self.assertRaises(ValueError, Des.Record, corruptRec)
def testRecord(self):
"""Test one record in detail"""
recLine = '49268\tsp\tb.1.2.1\t-\tHuman (Homo sapiens) \n'
recFields = (49268,'sp','b.1.2.1','','Human (Homo sapiens)')
record = Des.Record(recLine)
assert record.sunid == recFields[0]
assert record.nodetype == recFields[1]
assert record.sccs == recFields[2]
assert record.name == recFields[3]
assert record.description == recFields[4]
self.assertEqual(record.sunid, recFields[0])
self.assertEqual(record.nodetype, recFields[1])
self.assertEqual(record.sccs, recFields[2])
self.assertEqual(record.name, recFields[3])
self.assertEqual(record.description, recFields[4])
if __name__ == '__main__':
if __name__=='__main__':
runner = unittest.TextTestRunner(verbosity = 2)
unittest.main(testRunner=runner)

View File

@ -12,7 +12,6 @@ This test requires the mini DOM file 'testDom.txt'
import unittest
from Bio.SCOP import Dom
from Bio.SCOP.Residues import Residues
@ -22,31 +21,35 @@ class DomTests(unittest.TestCase):
self.filename = './SCOP/testDom.txt'
def testParse(self):
f = open(self.filename)
try:
count = 0
for record in Dom.parse(f):
count +=1
self.assertEquals(count,10)
finally:
f.close()
"""Test if all records in a DOM file are being read"""
f = open(self.filename)
try:
count = 0
for record in Dom.parse(f):
count +=1
self.assertEquals(count,10)
finally:
f.close()
def testStr(self):
f = open(self.filename)
try:
for line in f:
record = Dom.Record(line)
#End of line is platform dependent. Strip it off
self.assertEquals(str(record).rstrip(),line.rstrip())
finally:
f.close()
"""Test if we can convert each record to a string correctly"""
f = open(self.filename)
try:
for line in f:
record = Dom.Record(line)
#End of line is platform dependent. Strip it off
self.assertEquals(str(record).rstrip(),line.rstrip())
finally:
f.close()
def testError(self):
"""Test if a corrupt record raises the appropriate exception"""
corruptDom = "49xxx268\tsp\tb.1.2.1\t-\n"
self.assertRaises(ValueError, Dom.Record, corruptDom)
def testRecord(self):
"""Test one record in detail"""
recLine = 'd7hbib_\t7hbi\tb:\t1.001.001.001.001.001'
rec = Dom.Record(recLine)

View File

@ -9,7 +9,6 @@
import unittest
from Bio.SCOP import Hie
from Bio.SCOP.Residues import Residues
@ -20,33 +19,31 @@ class HieTests(unittest.TestCase):
self.filename = './SCOP/dir.hie.scop.txt_test'
def testParse(self):
f = open(self.filename)
try:
count = 0
for record in Hie.parse(f):
count +=1
assert count == 21, "Wrong number of records?! "+str(count)
finally:
f.close()
"""Test if all records in a HIE file are being read"""
f = open(self.filename)
try:
count = 0
for record in Hie.parse(f):
count +=1
self.assertEqual(count, 21)
finally:
f.close()
def testStr(self):
f = open(self.filename)
try:
for line in f:
record = Hie.Record(line)
#End of line is platform dependent. Strip it off
assert str(record).rstrip() == line.rstrip()
finally:
f.close()
"""Test if we can convert each record to a string correctly"""
f = open(self.filename)
try:
for line in f:
record = Hie.Record(line)
#End of line is platform dependent. Strip it off
self.assertEqual(str(record).rstrip(), line.rstrip())
finally:
f.close()
def testError(self):
"""Test if a corrupt record raises the appropriate exception"""
corruptRec = "4926sdfhjhfgyjdfyg"
try:
rec = Hie.Record(corruptRec)
assert False, "Should never get here"
except ValueError, e:
pass
self.assertRaises(ValueError, Hie.Record, corruptRec)
if __name__ == '__main__':

View File

@ -20,21 +20,21 @@ class RafTests(unittest.TestCase):
"""Can we parse a RAF record?"""
r = Raf.SeqMap(self.rafLine)
assert r.pdbid == "101m"
assert r.pdb_datestamp =="010301"
assert r.flags =="111011"
self.assertEqual(r.pdbid, "101m")
self.assertEqual(r.pdb_datestamp, "010301")
self.assertEqual(r.flags, "111011")
i = r.index("143")
res = r.res[i]
assert res.chainid =="_"
assert res.resid =="143"
assert res.seqres =="A"
assert res.atom =="A"
self.assertEqual(res.chainid, "_")
self.assertEqual(res.resid, "143")
self.assertEqual(res.seqres, "A")
self.assertEqual(res.atom, "A")
r = Raf.SeqMap(self.rafLine2)
res = r.res[r.index("6A", chainid="A")]
assert res.resid =="6A"
assert res.atom=="E"
self.assertEqual(res.resid, "6A")
self.assertEqual(res.atom, "E")
def testSeqMapAdd(self):
r2 = Raf.SeqMap(self.rafLine2)
@ -42,23 +42,23 @@ class RafTests(unittest.TestCase):
l = len(r2.res) + len(r3.res)
r2 += r3
assert len(r2.res) == l
self.assertEqual(len(r2.res), l)
r2.extend(r2)
assert len(r2.res) == l*2
self.assertEqual(len(r2.res), l*2)
r4 = r2 + r2
assert len(r4.res) == l*4
self.assertEqual(len(r4.res), l*4)
r4.append(Raf.Res())
assert len(r4.res) == (l*4)+1
self.assertEqual(len(r4.res), (l*4)+1)
def testSeqMapSlice(self):
r = Raf.SeqMap(self.rafLine)
r = r[ r.index("124"): r.index("135")+1]
assert len(r.res) ==12
self.assertEqual(len(r.res), 12)
def testSeqMapIndex(self):
@ -66,29 +66,29 @@ class RafTests(unittest.TestCase):
index = Raf.SeqMapIndex(filename)
r = index.getSeqMap("103m")
assert r.pdbid == "103m", r.pdbid
assert len(r.res) ==154, len(r.res)
assert r.pdb_datestamp =="010301"
assert r.flags =="111011"
self.assertEqual(r.pdbid, "103m")
self.assertEqual(len(r.res), 154)
self.assertEqual(r.pdb_datestamp, "010301")
self.assertEqual(r.flags, "111011")
r = index.getSeqMap("103m 1-10")
assert r.pdbid == "103m", r.pdbid
assert len(r.res) ==10, len(r.res)
assert r.pdb_datestamp =="010301"
assert r.flags =="111011"
self.assertEqual(r.pdbid, "103m",)
self.assertEqual(len(r.res), 10)
self.assertEqual(r.pdb_datestamp, "010301")
self.assertEqual(r.flags, "111011")
r = index.getSeqMap("104l A:")
assert r.pdbid == "104l", r.pdbid
self.assertEqual(r.pdbid, "104l")
r = index.getSeqMap("104l A:112-113")
assert r.pdbid == "104l", r.pdbid
assert len(r.res)== 2
self.assertEqual(r.pdbid, "104l")
self.assertEqual(len(r.res), 2)
r = index.getSeqMap("104l A:112-113,B:146-148")
assert r.pdbid == "104l", r.pdbid
assert len(r.res)== 5
self.assertEqual(r.pdbid, "104l")
self.assertEqual(len(r.res), 5)
if __name__ == '__main__':
if __name__=='__main__':
runner = unittest.TextTestRunner(verbosity = 2)
unittest.main(testRunner=runner)

View File

@ -31,53 +31,47 @@ class ResiduesTests(unittest.TestCase):
def testParse(self):
for loc in self.res:
r = Residues(loc[0])
assert r.fragments == loc[1], str(r.locations)
self.assertEqual(r.fragments, loc[1])
def testStr(self):
for loc in self.res:
r = Residues(loc[0])
assert str(r) == loc[0], str(r)+" is not "+loc[0]
self.assertEqual(str(r), loc[0])
def testAstralParse(self):
"""Astral encloses residue subsets in brackets. Lets make sure we
can parse those too.
"""
"""Test if we can parse residue subsets enclosed in brackets"""
for loc in self.res:
r = Residues("("+loc[0]+")")
assert r.fragments == loc[1], str(r.locations)
self.assertEqual(r.fragments, loc[1])
def testPdbId(self):
pdbid ="1ddf"
for loc in self.res:
r = Residues("\t 1ddf \t"+loc[0]+"\t\n\n\n")
assert r.pdbid == pdbid
assert str(r) == pdbid+" "+loc[0]
self.assertEqual(r.pdbid, pdbid)
self.assertEqual(str(r), pdbid+" "+loc[0])
r = Residues(pdbid+" "+loc[0])
assert r.pdbid == pdbid
assert str(r) == pdbid+" "+loc[0]
self.assertEqual(r.pdbid, pdbid)
self.assertEqual(str(r), pdbid+" "+loc[0])
r = Residues("104l A:112-113")
assert r.pdbid == "104l"
assert r.fragments == (('A', '112', '113'),)
self.assertEqual(r.pdbid, "104l")
self.assertEqual(r.fragments, (('A', '112', '113'),))
def testJustPdbId(self):
r = Residues("1sds")
assert r.pdbid == "1sds"
assert not r.fragments
self.assertEqual(r.pdbid, "1sds")
self.assertFalse(r.fragments)
def testParseError(self):
try:
r = Residues("09324923423hh./;,.389")
assert 0, "Should never get here: "+str(r)
except ValueError, e:
pass
self.assertRaises(ValueError, Residues, "09324923423hh./;,.389")
if __name__ == '__main__':
if __name__=='__main__':
runner = unittest.TextTestRunner(verbosity = 2)
unittest.main(testRunner=runner)

View File

@ -35,77 +35,73 @@ class ScopTests(unittest.TestCase):
cla_out = StringIO()
scop.write_cla(cla_out)
assert cla_out.getvalue() == cla, cla_out.getvalue()
self.assertEqual(cla_out.getvalue(), cla)
des_out = StringIO()
scop.write_des(des_out)
assert des_out.getvalue() == des, des_out.getvalue()
self.assertEqual(des_out.getvalue(), des)
hie_out = StringIO()
scop.write_hie(hie_out)
assert hie_out.getvalue() == hie, hie_out.getvalue()
self.assertEqual(hie_out.getvalue(), hie)
domain = scop.getDomainBySid("d1hbia_")
assert domain.sunid == 14996
self.assertEqual(domain.sunid, 14996)
domains = scop.getDomains()
assert len(domains)==14
assert domains[4].sunid == 14988
self.assertEqual(len(domains), 14)
self.assertEqual(domains[4].sunid, 14988)
dom = scop.getNodeBySunid(-111)
assert dom == None
self.assertEqual(dom, None)
dom = scop.getDomainBySid("no such domain")
assert dom == None
self.assertEqual(dom, None)
def testSccsOrder(self):
assert cmp_sccs("a.1.1.1", "a.1.1.1") == 0
assert cmp_sccs("a.1.1.2", "a.1.1.1") == 1
assert cmp_sccs("a.1.1.2", "a.1.1.11") == -1
assert cmp_sccs("a.1.2.2", "a.1.1.11") == 1
assert cmp_sccs("a.1.2.2", "a.5.1.11") == -1
assert cmp_sccs("b.1.2.2", "a.5.1.11") == 1
assert cmp_sccs("b.1.2.2", "b.1.2") == 1
self.assertEqual(cmp_sccs("a.1.1.1", "a.1.1.1"), 0)
self.assertEqual(cmp_sccs("a.1.1.2", "a.1.1.1"), 1)
self.assertEqual(cmp_sccs("a.1.1.2", "a.1.1.11"), -1)
self.assertEqual(cmp_sccs("a.1.2.2", "a.1.1.11"), 1)
self.assertEqual(cmp_sccs("a.1.2.2", "a.5.1.11"), -1)
self.assertEqual(cmp_sccs("b.1.2.2", "a.5.1.11"), 1)
self.assertEqual(cmp_sccs("b.1.2.2", "b.1.2"), 1)
def testParseDomain(self):
s=">d1tpt_1 a.46.2.1 (1-70) Thymidine phosphorylase {Escherichia coli}"
dom = parse_domain(s)
assert dom.sid == 'd1tpt_1'
assert dom.sccs == 'a.46.2.1'
assert dom.residues.pdbid == '1tpt'
assert dom.description == 'Thymidine phosphorylase {Escherichia coli}'
self.assertEqual(dom.sid, 'd1tpt_1')
self.assertEqual(dom.sccs, 'a.46.2.1')
self.assertEqual(dom.residues.pdbid, '1tpt')
self.assertEqual(dom.description, 'Thymidine phosphorylase {Escherichia coli}')
s2="d1tpt_1 a.46.2.1 (1tpt 1-70) Thymidine phosphorylase {E. coli}"
assert s2 == str(parse_domain(s2)), str(parse_domain(s2))
self.assertEqual(s2, str(parse_domain(s2)))
#Genetic domains (See Astral release notes)
s3="g1cph.1 g.1.1.1 (1cph B:,A:) Insulin {Cow (Bos taurus)}"
assert s3 == str(parse_domain(s3)), str(parse_domain(s3))
self.assertEqual(s3, str(parse_domain(s3)))
s4="e1cph.1a g.1.1.1 (1cph A:) Insulin {Cow (Bos taurus)}"
assert s4 == str(parse_domain(s4))
self.assertEqual(s4, str(parse_domain(s4)))
#Raw Astral header
s5=">e1cph.1a g.1.1.1 (A:) Insulin {Cow (Bos taurus)}"
assert s4 == str(parse_domain(s5))
self.assertEqual(s4, str(parse_domain(s5)))
try:
dom = parse_domain("Totally wrong")
assert False, "Should never get here"
except ValueError, e:
pass
self.assertRaises(ValueError, parse_domain, "Totally wrong")
def testConstructFromDirectory(self):
scop = Scop (dir_path="SCOP", version="test")
assert isinstance(scop, Scop)
scop = Scop (dir_path="SCOP", version="test")
self.assertTrue(isinstance(scop, Scop))
domain = scop.getDomainBySid("d1hbia_")
assert domain.sunid == 14996
domain = scop.getDomainBySid("d1hbia_")
self.assertEqual(domain.sunid, 14996)
def testGetAscendent(self):
scop = Scop (dir_path="SCOP", version="test")
@ -113,19 +109,19 @@ class ScopTests(unittest.TestCase):
# get the fold
fold = domain.getAscendent('cf')
assert fold.sunid == 46457
self.assertEqual(fold.sunid, 46457)
#get the superfamily
sf = domain.getAscendent('superfamily')
assert sf.sunid == 46458
self.assertEqual(sf.sunid, 46458)
# px has no px ascendent
px = domain.getAscendent('px')
assert px == None
self.assertEqual(px, None)
# an sf has no px ascendent
px2 = sf.getAscendent('px')
assert px2 == None
self.assertEqual(px2, None)
def test_get_descendents(self):
@ -135,22 +131,22 @@ class ScopTests(unittest.TestCase):
# get px descendents
domains = fold.getDescendents('px')
assert len(domains) == 14
self.assertEqual(len(domains), 14)
for d in domains:
assert d.type == 'px'
self.assertEqual(d.type, 'px')
sfs = fold.getDescendents('superfamily')
assert len(sfs) == 1
self.assertEqual(len(sfs), 1)
for d in sfs:
assert d.type == 'sf'
self.assertEqual(d.type, 'sf')
# cl has no cl descendent
cl = fold.getDescendents('cl')
assert cl == []
self.assertEqual(cl, [])
if __name__ == '__main__':
if __name__=='__main__':
runner = unittest.TextTestRunner(verbosity = 2)
unittest.main(testRunner=runner)