id

Usage    - print $instance->id() or $instance->id($id) 
Returns  - the instance ID (string)
Args     - the instance ID (string)
Function - gets/sets the ID of this instance

idspace

Usage    - print $instance->idspace() 
Returns  - the idspace of this instance; otherwise, 'NN'
Args     - none
Function - gets the idspace of this instance # TODO Does this method still makes sense?

subnamespace

Usage    - print $instance->subnamespace() 
Returns  - the subnamespace of this instance (character); otherwise, 'X'
Args     - none
Function - gets the subnamespace of this instance

code

Usage    - print $instance->code() 
Returns  - the code of this instance (character); otherwise, '0000000'
Args     - none
Function - gets the code of this instance

name

Usage    - print $instance->name() or $instance->name($name)
Returns  - the name (string) of this instance
Args     - the name (string) of this instance
Function - gets/sets the name of this instance

is_anonymous

Usage    - print $instance->is_anonymous() or $instance->is_anonymous("1")
Returns  - either 1 (true) or 0 (false)
Args     - either 1 (true) or 0 (false)
Function - tells whether this instance is anonymous or not.

alt_id

Usage    - $instance->alt_id() or $instance->alt_id($id1, $id2, $id3, ...)
Returns  - a set (OBO::Util::Set) with the alternate id(s) of this instance
Args     - the alternate id(s) (string) of this instance
Function - gets/sets the alternate id(s) of this instance

namespace

Usage    - $instance->namespace() or $instance->namespace($ns1, $ns2, $ns3, ...)
Returns  - an array with the namespace(s) to which this instance belongs
Args     - the namespace(s) to which this instance belongs
Function - gets/sets the namespace(s) to which this instance belongs

comment

Usage    - print $instance->comment() or $instance->comment("This is a comment")
Returns  - the comment (string) of this instance
Args     - the comment (string) of this instance
Function - gets/sets the comment of this instance

subset

Usage    - $instance->subset() or $instance->subset($ss_name1, $ss_name2, $ss_name3, ...)
Returns  - an array with the subset name(s) to which this instance belongs
Args     - the subset name(s) (string) to which this instance belongs
Function - gets/sets the subset name(s) to which this instance belongs

synonym_set

Usage    - $instance->synonym_set() or $instance->synonym_set($synonym1, $synonym2, $synonym3, ...)
Returns  - an array with the synonym(s) of this instance
Args     - the synonym(s) (OBO::Core::Synonym) of this instance
Function - gets/sets the synonym(s) of this instance

synonym_as_string

Usage    - print $instance->synonym_as_string() or $instance->synonym_as_string('this is a synonym text', '[APO:ea]', 'EXACT', 'UK_SPELLING')
Returns  - an array with the synonym(s) of this instance
Args     - the synonym text (string), the dbxrefs (string), synonym scope (string) of this instance, and optionally the synonym type name (string)
Function - gets/sets the synonym(s) of this instance

xref_set

Usage    - $instance->xref_set() or $instance->xref_set($dbxref_set)
Returns  - a Dbxref set (OBO::Util::DbxrefSet) with the analogous xref(s) of this instance in another vocabulary
Args     - a set of analogous xref(s) (OBO::Util::DbxrefSet) of this instance in another vocabulary
Function - gets/sets the analogous xref(s) set of this instance in another vocabulary

xref_set_as_string

Usage    - $instance->xref_set_as_string() or $instance->xref_set_as_string("[Reactome:20610, EC:2.3.2.12]")
Returns  - the dbxref set with the analogous xref(s) of this instance; [] if the set is empty
Args     - the dbxref set with the analogous xref(s) of this instance
Function - gets/sets the dbxref set with the analogous xref(s) of this instance
Remark   - make sure that colons (,) are scaped (\,) when necessary

property_value

Usage    - $instance->property_value() or $instance->property_value($p_value1, $p_value2, $p_value3, ...)
Returns  - an array with the property value(s) of this instance
Args     - the relationship(s) (OBO::Core::Relationship) of this instance with its property value(s)
Function - gets/sets the property_value(s) of this instance
Remark   - WARNING: this code might change!

instance_of

Usage    - $instance->instance_of() or $instance->instance_of($term)
Returns  - a term (OBO::Core::Term) of which this object is instance of
Args     - a term (OBO::Core::Term) of which this object is instance of
Function - gets/sets the term (class) of this instance

is_instance_of

Usage    - $instance->is_instance_of($term)
Returns  - either 1 (true) or 0 (false)
Args     - a term (OBO::Core::Term) of which this object might be instance of
Function - tells whether this object is instance of $term

intersection_of

Usage    - $instance->intersection_of() or $instance->intersection_of($t1, $t2, $r1, ...)
Returns  - an array with the instances/relations which define this instance
Args     - a set (strings) of instances/relations which define this instance
Function - gets/sets the set of instances/relatonships defining this instance
      

union_of

Usage    - $instance->union_of() or $instance->union_of($t1, $t2, $r1, ...)
Returns  - an array with the instances/relations which define this instance
Args     - a set (strings) of instances/relations which define this instance
Function - gets/sets the set of instances/relatonships defining this instance
      

disjoint_from

Usage    - $instance->disjoint_from() or $instance->disjoint_from($disjoint_instance_id1, $disjoint_instance_id2, $disjoint_instance_id3, ...)
Returns  - the disjoint instance id(s) (string(s)) from this one
Args     - the instance id(s) (string) that is (are) disjoint from this one
Function - gets/sets the disjoint instance(s) from this one

created_by

Usage    - print $instance->created_by() or $instance->created_by("erick_antezana")
Returns  - name (string) of the creator of the instance, may be a short username, initials or ID
Args     - name (string) of the creator of the instance, may be a short username, initials or ID
Function - gets/sets the name of the creator of the instance

creation_date

Usage    - print $instance->creation_date() or $instance->creation_date("2010-04-13T01:32:36Z")
Returns  - date (string) of creation of the instance specified in ISO 8601 format
Args     - date (string) of creation of the instance specified in ISO 8601 format
Function - gets/sets the date of creation of the instance

modified_by

Usage    - print $instance->modified_by() or $instance->modified_by("erick_antezana")
Returns  - name (string) of the modificator of the instance, may be a short username, initials or ID
Args     - name (string) of the modificator of the instance, may be a short username, initials or ID
Function - gets/sets the name of the modificator of the instance

modification_date

Usage    - print $instance->modification_date() or $instance->modification_date("2010-04-13T01:32:36Z")
Returns  - date (string) of modification of the instance specified in ISO 8601 format
Args     - date (string) of modification of the instance specified in ISO 8601 format
Function - gets/sets the date of modification of the instance

is_obsolete

Usage    - print $instance->is_obsolete()
Returns  - either 1 (true) or 0 (false)
Args     - either 1 (true) or 0 (false)
Function - tells whether the instance is obsolete or not. 'false' by default.

replaced_by

Usage    - $instance->replaced_by() or $instance->replaced_by($id1, $id2, $id3, ...)
Returns  - a set (OBO::Util::Set) with the id(s) of the replacing instance(s)
Args     - the the id(s) of the replacing instance(s) (string)
Function - gets/sets the the id(s) of the replacing instance(s)

consider

Usage    - $instance->consider() or $instance->consider($id1, $id2, $id3, ...)
Returns  - a set (OBO::Util::Set) with the appropiate substitute(s) for an obsolete instance
Args     - the appropiate substitute(s) for an obsolete instance (string)
Function - gets/sets the appropiate substitute(s) for this obsolete instance

builtin

Usage    - $instance->builtin() or $instance->builtin(1) or $instance->builtin(0)
Returns  - tells if this instance is builtin to the OBO format; false by default
Args     - 1 (true) or 0 (false)
Function - gets/sets the value indicating whether this instance is builtin to the OBO format

equals

Usage    - print $instance->equals($another_instance)
Returns  - either 1 (true) or 0 (false)
Args     - the instance (OBO::Core::Instance) to compare with
Function - tells whether this instance is equal to the parameter

NAME

OBO::Core::Instance - An instance in an ontology.

SYNOPSIS

use OBO::Core::Instance;

use OBO::Core::Def;

use OBO::Util::DbxrefSet;

use OBO::Core::Dbxref;

use OBO::Core::Synonym;

use strict;

# three new instances

my $n1 = OBO::Core::Instance->new();

my $n2 = OBO::Core::Instance->new();

my $n3 = OBO::Core::Instance->new();

# id's

$n1->id("APO:P0000001");

$n2->id("APO:P0000002");

$n3->id("APO:P0000003");

# alt_id

$n1->alt_id("APO:P0000001_alt_id");

$n2->alt_id("APO:P0000002_alt_id1", "APO:P0000002_alt_id2", "APO:P0000002_alt_id3", "APO:P0000002_alt_id4");

# name

$n1->name("One");

$n2->name("Two");

$n3->name("Three");

$n1->is_obsolete(1);

$n1->is_obsolete(0);

$n1->is_anonymous(1);

$n1->is_anonymous(0);

# synonyms

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

$syn1->scope('EXACT');

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

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

my $sref1 = OBO::Core::Dbxref->new();

$sref1->name("APO:vm");

my $srefs_set1 = OBO::Util::DbxrefSet->new();

$srefs_set1->add($sref1);

$def1->dbxref_set($srefs_set1);

$syn1->def($def1);

$n1->synonym($syn1);

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

$syn2->scope('BROAD');

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

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

my $sref2 = OBO::Core::Dbxref->new();

$sref2->name("APO:ls");

$srefs_set1->add_all($sref1);

my $srefs_set2 = OBO::Util::DbxrefSet->new();

$srefs_set2->add_all($sref1, $sref2);

$def2->dbxref_set($srefs_set2);

$syn2->def($def2);

$n2->synonym($syn2);

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

$syn3->scope('BROAD');

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

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

my $sref3 = OBO::Core::Dbxref->new();

$sref3->name("APO:ls");

my $srefs_set3 = OBO::Util::DbxrefSet->new();

$srefs_set3->add_all($sref1, $sref2);

$def3->dbxref_set($srefs_set3);

$syn3->def($def3);

$n3->synonym($syn3);

# synonym as string

$n2->synonym_as_string("Hello world2", "[APO:vm2, APO:ls2]", "EXACT");

# creator + date

$n1->created_by("erick_antezana");

$n1->creation_date("2009-04-13T01:32:36Z ");

# xref

$n1->xref("Uno");

$n1->xref("Eins");

$n1->xref("Een");

$n1->xref("Un");

$n1->xref("Uj");

my $xref_length = $n1->xref()->size();

DESCRIPTION

A Instance in the ontology. c.f. OBO flat file specification.

AUTHOR

Erick Antezana, <erick.antezana -@- gmail.com>

COPYRIGHT AND LICENSE

Copyright (c) 2006-2012 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.