scope
Usage - print $synonym->scope() or $synonym->scope("EXACT")
Returns - the synonym scope
Args - the synonym scope: 'EXACT', 'BROAD', 'NARROW', 'RELATED'
Function - gets/sets the synonym scope
def
Usage - print $synonym->def() or $synonym->def($def)
Returns - the synonym definition (OBO::Core::Def)
Args - the synonym definition (OBO::Core::Def)
Function - gets/sets the synonym definition
synonym_type_name
Usage - print $synonym->synonym_type_name() or $synonym->synonym_type_name("UK_SPELLING")
Returns - the name of the synonym type associated to this synonym
Args - the synonym type name (string)
Function - gets/sets the synonym name
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 (OBO::Core::Synonym) to compare with
Function - tells whether this synonym is equal to the parameter
NAME
OBO::Core::Synonym - A term synonym.
SYNOPSIS
use OBO::Core::Synonym;
use OBO::Core::Dbxref;
use strict;
my $syn1 = OBO::Core::Synonym->new();
my $syn2 = OBO::Core::Synonym->new();
my $syn3 = OBO::Core::Synonym->new();
my $syn4 = OBO::Core::Synonym->new();
# scope
$syn1->scope('EXACT');
$syn2->scope('BROAD');
$syn3->scope('NARROW');
$syn4->scope('NARROW');
# def
my $def1 = OBO::Core::Def->new();
my $def2 = OBO::Core::Def->new();
my $def3 = OBO::Core::Def->new();
my $def4 = OBO::Core::Def->new();
$def1->text("Hola mundo1");
$def2->text("Hola mundo2");
$def3->text("Hola mundo3");
$def4->text("Hola mundo3");
my $ref1 = OBO::Core::Dbxref->new();
my $ref2 = OBO::Core::Dbxref->new();
my $ref3 = OBO::Core::Dbxref->new();
my $ref4 = OBO::Core::Dbxref->new();
$ref1->name("APO:vm");
$ref2->name("APO:ls");
$ref3->name("APO:ea");
$ref4->name("APO:ea");
my $refs_set1 = OBO::Util::DbxrefSet->new();
$refs_set1->add_all($ref1,$ref2,$ref3,$ref4);
$def1->dbxref_set($refs_set1);
$syn1->def($def1);
my $refs_set2 = OBO::Util::DbxrefSet->new();
$refs_set2->add($ref2);
$def2->dbxref_set($refs_set2);
$syn2->def($def2);
my $refs_set3 = OBO::Util::DbxrefSet->new();
$refs_set3->add($ref3);
$def3->dbxref_set($refs_set3);
$syn3->def($def3);
my $refs_set4 = OBO::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", '[APO:vm, APO:ls, APO: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 a definition (OBO::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, <erick.antezana -@- gmail.com>
COPYRIGHT AND LICENSE
Copyright (c) 2006-2013 by Erick Antezana
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.