예제 #1
0
def test_loadStandoffFile_extraLines(capfd):
	scriptDir = os.path.dirname(__file__)
	txtPath = os.path.join(scriptDir,'data_extraLines','example.txt')
	a1Path = os.path.join(scriptDir,'data_extraLines','example.a1')
	a2Path = os.path.join(scriptDir,'data_extraLines','example.a2')

	# Run quietly
	data = kindred.loadDoc(dataFormat='standoff',txtPath=txtPath,a1Path=a1Path,a2Path=a2Path)

	out, err = capfd.readouterr()
	assert out.strip() == ""
	assert err.strip() == ""
	
	# Run verbose
	data = kindred.loadDoc(dataFormat='standoff',txtPath=txtPath,a1Path=a1Path,a2Path=a2Path,verbose=True)

	out, err = capfd.readouterr()
	assert out.strip() == ""
	assert err.strip() == "Unable to process line: *\tEXTRALINE"
	
	assert isinstance(data,kindred.Document)
	entities = data.getEntities()
	relations = data.getRelations()

	sourceEntityIDsToEntityIDs = data.getSourceEntityIDsToEntityIDs()

	assertEntity(entities[0],expectedType='disease',expectedText='colorectal cancer',expectedPos=[(4,21)],expectedSourceEntityID="T1")
	assertEntity(entities[1],expectedType='gene',expectedText='APC',expectedPos=[(49,52)],expectedSourceEntityID="T2")
	assert relations == [kindred.Relation('causes',[sourceEntityIDsToEntityIDs["T1"],sourceEntityIDsToEntityIDs["T2"]],['obj','subj'])], "(%s) not as expected" % relations
예제 #2
0
def test_loadStandoffFile_missingA2(capfd):
	scriptDir = os.path.dirname(__file__)
	txtPath = os.path.join(scriptDir,'data_missingA2','example.txt')
	a1Path = os.path.join(scriptDir,'data_missingA2','example.a1')
	a2Path = os.path.join(scriptDir,'data_missingA2','example.a2')
	
	# Run quietly
	data = kindred.loadDoc(dataFormat='standoff',txtPath=txtPath,a1Path=a1Path,a2Path=a2Path)

	out, err = capfd.readouterr()
	assert out.strip() == ""
	assert err.strip() == ""
	
	# Run verbose
	data = kindred.loadDoc(dataFormat='standoff',txtPath=txtPath,a1Path=a1Path,a2Path=a2Path,verbose=True)

	out, err = capfd.readouterr()
	assert out.strip() == ""
	assert err.strip() == 'Note: No A2 file found : example.a2'
	
	assert isinstance(data,kindred.Document)
	entities = data.getEntities()
	relations = data.getRelations()

	sourceEntityIDsToEntityIDs = data.getSourceEntityIDsToEntityIDs()

	assertEntity(entities[0],expectedType='disease',expectedText='colorectal cancer',expectedPos=[(4,21)],expectedSourceEntityID="T1")
	assertEntity(entities[1],expectedType='gene',expectedText='APC',expectedPos=[(49,52)],expectedSourceEntityID="T2")
	assert relations == []
예제 #3
0
def test_loadJsonFile():
    scriptDir = os.path.dirname(__file__)
    jsonPath = os.path.join(scriptDir, 'data', 'example.json')

    data = kindred.loadDoc(dataFormat='json', path=jsonPath)

    assert isinstance(data, kindred.Document)
    entities = data.getEntities()
    relations = data.getRelations()

    sourceEntityIDsToEntityIDs = data.getSourceEntityIDsToEntityIDs()

    assertEntity(entities[0],
                 expectedType='disease',
                 expectedText='colorectal cancer',
                 expectedPos=[(4, 21)],
                 expectedSourceEntityID="T1")
    assertEntity(entities[1],
                 expectedType='gene',
                 expectedText='APC',
                 expectedPos=[(49, 52)],
                 expectedSourceEntityID="T2")
    assert relations == [
        kindred.Relation('causes', [
            sourceEntityIDsToEntityIDs["T1"], sourceEntityIDsToEntityIDs["T2"]
        ], ['obj', 'subj'])
    ], "(%s) not as expected" % relations
예제 #4
0
def test_loadStandoffFile_Triple():
	scriptDir = os.path.dirname(__file__)
	txtPath = os.path.join(scriptDir,'data_triple','example.txt')
	a1Path = os.path.join(scriptDir,'data_triple','example.a1')
	a2Path = os.path.join(scriptDir,'data_triple','example.a2')

	data = kindred.loadDoc(dataFormat='standoff',txtPath=txtPath,a1Path=a1Path,a2Path=a2Path)
	
	assert isinstance(data,kindred.Document)
	entities = data.getEntities()
	relations = data.getRelations()

	sourceEntityIDsToEntityIDs = data.getSourceEntityIDsToEntityIDs()

	assertEntity(entities[0],expectedType='drug',expectedText='Erlotinib',expectedPos=[(0,9)],expectedSourceEntityID="T1")
	assertEntity(entities[1],expectedType='gene',expectedText='EGFR',expectedPos=[(13,17)],expectedSourceEntityID="T2")
	assertEntity(entities[2],expectedType='disease',expectedText='NSCLC',expectedPos=[(49,54)],expectedSourceEntityID="T3")
	assert relations == [kindred.Relation('druginfo',[sourceEntityIDsToEntityIDs["T3"],sourceEntityIDsToEntityIDs["T1"],sourceEntityIDsToEntityIDs["T2"]],['disease','drug','gene'])], "(%s) not as expected" % relations