Example #1
0
def _get_objanno(fin_anno, anno_type=None, **kws):
    """Get association object"""
    full_anno = os.path.join(REPO, fin_anno)
    dnld_annofile(full_anno, anno_type)
    obj = get_objanno(full_anno, anno_type, **kws)
    if obj.name in {'gene2go', 'gaf'} or 'godag' in kws:
        assert hasattr(obj.associations[0], 'NS')
    # Check namespaces, if provided by the user
    if 'namespaces' in kws:
        _chk_namespaces(obj, kws['namespaces'])
    return obj
Example #2
0
def _get_objanno(fin_anno, anno_type=None, **kws):
    """Get association object"""
    full_anno = os.path.join(REPO, fin_anno)
    dnld_annofile(full_anno, anno_type)
    obj = get_objanno(full_anno, anno_type, **kws)
    if obj.name in {'gene2go', 'gaf'} or 'godag' in kws:
        assert hasattr(obj.associations[0], 'NS')
    # Check namespaces, if provided by the user
    if 'namespaces' in kws:
        _chk_namespaces(obj, kws['namespaces'])
    return obj
def test_anno_read():
    """Test reading annotation file."""
    fin_anno = os.path.join(REPO, 'goa_human.gaf')
    dnld_annofile(fin_anno, 'gaf')

    print('\nTEST STORING ONLY ONE SPECIES')
    obj = GafReader(fin_anno)
    obj.prt_summary_anno2ev()
    ## new = obj.read_gaf()
    new = obj.get_id2gos_nss()
    old = read_gaf(obj)
    _prt_differences(new, old, obj)
    print('{N} NEW'.format(N=len(new)))
    print('{N} OLD'.format(N=len(old)))
    assert len(new) == len(old), 'new({N}) != old({O})'.format(N=len(new), O=len(old))

    print('\nTEST KWS: keep_ND and keep_NOT')
    # pylint: disable=bad-whitespace
    kws_lst = [
        {'keep_ND': False, 'keep_NOT': False},
        {'keep_ND': False, 'keep_NOT': True},
        {'keep_ND': True,  'keep_NOT': False},
        {'keep_ND': True,  'keep_NOT': True},
    ]
    for kws in kws_lst:
        print('\nTEST KWS:', kws)
        ## new = obj.read_gaf(namespace='BP', **kws)
        new = obj.get_id2gos_nss(**kws)
        old = read_gaf(obj, **kws)
        _prt_differences(new, old, obj)
        assert len(new) == len(old), 'new({N}) != old({O})'.format(N=len(new), O=len(old))

    print('\nTEST GETTING REVERSE ASSOCIATIONS: GO2GENES')
    ## new = obj.read_gaf(go2geneids=True)
    new = obj.get_id2gos_nss(go2geneids=True)
    old = read_gaf(obj, go2geneids=True)
    _prt_differences(new, old, obj)
    assert len(new) == len(old), 'new({N}) != old({O})'.format(N=len(new), O=len(old))

    print('\nTEST RETURNING ASSOCIATIONS FOR SELECTED EVIDENCE CODES')
    evcodes = set(['ISO', 'IKR'])
    print("\nTEST 9606 ev_include={CODES}".format(CODES=' '.join(evcodes)))
    ## new = obj.read_gaf(ev_include=evcodes)
    new = obj.get_id2gos_nss(ev_include=evcodes)
    old = read_gaf(obj, ev_include=evcodes)
    _prt_differences(new, old, obj)
    assert new == old
Example #4
0
def test_i148_semsim_lin(prt=sys.stdout):
    """Test for issue 148, Lin Similarity if a term has no annotations"""
    fin_gpad = os.path.join(REPO, 'goa_human.gpad')
    dnld_annofile(fin_gpad, 'gpad')

    godag = get_godag(os.path.join(REPO, "go-basic.obo"), loading_bar=None)
    annoobj = GpadReader(fin_gpad, godag=godag)

    goids = [
        'GO:0042581', 'GO:0101002', 'GO:0042582', 'GO:0070820', 'GO:0008021',
        'GO:0005766', 'GO:0016591'
    ]

    associations = annoobj.get_id2gos('CC')
    termcounts = TermCounts(godag, associations)

    # Calculate Lin values
    p2v = {
        frozenset([a, b]): lin_sim(a, b, godag, termcounts)
        for a, b in combo_w_rplc(goids, 2)
    }
    _prt_values(goids, p2v, prt=sys.stdout)
Example #5
0
def _get_objanno(fin_anno, anno_type=None, **kws):
    """Get association object"""
    full_anno = os.path.join(REPO, fin_anno)
    dnld_annofile(full_anno, anno_type)
    obj = get_objanno(full_anno, anno_type, **kws)
    return obj
Example #6
0
def test_anno_read():
    """Test reading annotation file."""
    fin_anno = os.path.join(REPO, 'goa_human.gaf')
    dnld_annofile(fin_anno, 'gaf')

    print('\nTEST STORING ONLY ONE SPECIES')
    obj = GafReader(fin_anno)
    obj.prt_summary_anno2ev()
    ## new = obj.read_gaf()
    new = obj.get_id2gos_nss()
    old = read_gaf(obj)
    _prt_differences(new, old, obj)
    print('{N} NEW'.format(N=len(new)))
    print('{N} OLD'.format(N=len(old)))
    assert len(new) == len(old), 'new({N}) != old({O})'.format(N=len(new),
                                                               O=len(old))

    print('\nTEST KWS: keep_ND and keep_NOT')
    # pylint: disable=bad-whitespace
    kws_lst = [
        {
            'keep_ND': False,
            'keep_NOT': False
        },
        {
            'keep_ND': False,
            'keep_NOT': True
        },
        {
            'keep_ND': True,
            'keep_NOT': False
        },
        {
            'keep_ND': True,
            'keep_NOT': True
        },
    ]
    for kws in kws_lst:
        print('\nTEST KWS:', kws)
        ## new = obj.read_gaf(namespace='BP', **kws)
        new = obj.get_id2gos_nss(**kws)
        old = read_gaf(obj, **kws)
        _prt_differences(new, old, obj)
        assert len(new) == len(old), 'new({N}) != old({O})'.format(N=len(new),
                                                                   O=len(old))

    print('\nTEST GETTING REVERSE ASSOCIATIONS: GO2GENES')
    ## new = obj.read_gaf(go2geneids=True)
    new = obj.get_id2gos_nss(go2geneids=True)
    old = read_gaf(obj, go2geneids=True)
    _prt_differences(new, old, obj)
    assert len(new) == len(old), 'new({N}) != old({O})'.format(N=len(new),
                                                               O=len(old))

    print('\nTEST RETURNING ASSOCIATIONS FOR SELECTED EVIDENCE CODES')
    evcodes = set(['ISO', 'IKR'])
    print("\nTEST 9606 ev_include={CODES}".format(CODES=' '.join(evcodes)))
    ## new = obj.read_gaf(ev_include=evcodes)
    new = obj.get_id2gos_nss(ev_include=evcodes)
    old = read_gaf(obj, ev_include=evcodes)
    _prt_differences(new, old, obj)
    assert new == old
 def get_objanno(fin_anno, anno_type=None, **kws):
     """Get association object"""
     full_anno = os.path.join(REPO, fin_anno)
     dnld_annofile(full_anno, anno_type)
     obj = get_objanno(full_anno, anno_type, **kws)
     return obj