type

Usage    - print $synonym->type() or $synonym->type("EXACT")
Returns  - the synonym type
Args     - the synonym type: 'EXACT', 'BROAD', 'NARROW', 'RELATED'
Function - gets/sets the synonym name

def

Usage    - print $synonym->def() or $synonym->def($def)
Returns  - the synonym definition (CCO::Core::Def)
Args     - the synonym definition (CCO::Core::Def)
Function - gets/sets the synonym definition

def_as_string

Usage    - $synonym->def_as_string() or $synonym->def_as_string("Here goes the synonym.", "[GOC:elh, PMID:9334324]")
Returns  - the synonym text (string)
Args     - the synonym text plus the dbxref list describing the source of this definition
Function - gets/sets the definition of this synonym

equals

Usage    - print $synonym->equals($another_synonym)
Returns  - either 1 (true) or 0 (false)
Args     - the synonym to compare with
Function - tells whether this synonym is equal to the parameter

NAME

CCO::Core::Synonym  - A term synonym.

SYNOPSIS

use CCO::Core::Synonym;

use CCO::Core::Dbxref;

use strict;

my $syn1 = CCO::Core::Synonym->new();

my $syn2 = CCO::Core::Synonym->new();

my $syn3 = CCO::Core::Synonym->new();

my $syn4 = CCO::Core::Synonym->new();

# type

$syn1->type('EXACT');

$syn2->type('BROAD');

$syn3->type('NARROW');

$syn4->type('NARROW');

# def

my $def1 = CCO::Core::Def->new();

my $def2 = CCO::Core::Def->new();

my $def3 = CCO::Core::Def->new();

my $def4 = CCO::Core::Def->new();

$def1->text("Hola mundo1");

$def2->text("Hola mundo2");

$def3->text("Hola mundo3");

$def4->text("Hola mundo3");

my $ref1 = CCO::Core::Dbxref->new();

my $ref2 = CCO::Core::Dbxref->new();

my $ref3 = CCO::Core::Dbxref->new();

my $ref4 = CCO::Core::Dbxref->new();

$ref1->name("CCO:vm");

$ref2->name("CCO:ls");

$ref3->name("CCO:ea");

$ref4->name("CCO:ea");

my $refs_set1 = CCO::Util::DbxrefSet->new();

$refs_set1->add_all($ref1,$ref2,$ref3,$ref4);

$def1->dbxref_set($refs_set1);

$syn1->def($def1);

my $refs_set2 = CCO::Util::DbxrefSet->new();

$refs_set2->add($ref2);

$def2->dbxref_set($refs_set2);

$syn2->def($def2);

my $refs_set3 = CCO::Util::DbxrefSet->new();

$refs_set3->add($ref3);

$def3->dbxref_set($refs_set3);

$syn3->def($def3);

my $refs_set4 = CCO::Util::DbxrefSet->new();

$refs_set4->add($ref4);

$def4->dbxref_set($refs_set4);

$syn4->def($def4);

# def as string

$syn3->def_as_string("This is a dummy synonym", "[CCO:vm, CCO:ls, CCO:ea \"Erick Antezana\"]");

my @refs_syn3 = $syn3->def()->dbxref_set()->get_set();

my %r_syn3;

foreach my $ref_syn3 (@refs_syn3) {

$r_syn3{$ref_syn3->name()} = $ref_syn3->name();

}

DESCRIPTION

A synonym for a term held by the ontology. This synonym must have a type and definition (CCO::Core::Def) describing the origins of the synonym, and may indicate a synonym category or scope information.

The synonym scope may be one of four values: EXACT, BROAD, NARROW, RELATED.

A term may have any number of synonyms.

c.f. OBO flat file specification.

AUTHOR

Erick Antezana, <erant@psb.ugent.be>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by erant

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.