bionic (3) SWISS::GNs.3pm.gz

Provided by: libswiss-perl_1.67-1.2_all bug

Name

       SWISS::GNs.pm

Description

       SWISS::GNs represents the GN lines within an SWISS-PROT + TrEMBL entry as specified in the user manual
        http://www.expasy.org/sprot/userman.html . The GNs object is a container object which holds a list of
       SWISS::GeneGroup objects.

Inherits from

       SWISS::ListBase.pm

Attributes

       "list"
             Each list element is a SWISS::GeneGroup object.

       "and" (deprecated, for old format only)
             Delimiter used between genes. Defaults to " AND ".

       "or" (deprecated, for old format only)
             Delimiter used between gene names. Defaults to " OR ".

Methods

   Standard methods
       new
       fromText
       toText

   Reading/Writing methods
       text [($newText)]
           Sets the text of the GN line to the parameter if it is present, and returns the (unwrapped) text of
           the line.  Also sets 'and' and 'or' delimiters to the first occurrences of the words "OR" and "AND"
           in the line, conserving the case.

       lowercase (deprecated, for old format only)
           Sets the GNs::and and GNs::or delimiters to their lower case values.

       uppercase (deprecated, for old format only)
           Sets the GNs::and and GNs::or delimiters to their upper case values.

       getFirst()
           Returns first gene name in gene line

       getTags($target)
           Returns evidence tags associated with $target

           $target is a string

       isPresent($target)
           Returns 1 if $target is present in the GN line

           $target is a string

       needsReCasing($target)
           If $target is present in the GN line, but wrongly cased, method returns the matching name in its
           current case

           $target is a string

       replace($newName, $target, $evidenceTag)
           Replaces the first GN object in the GN line whose text attribute is $target with a new GN object
           whose text attribute is set to $newName and whose evidenceTags attribute is is set using values set
           by splitting $evidenceTag on /, / (as name is not being changed, programs should keep old tag and add
           new tag).  Does nothing if $target is not found.

       delete($target)
           Removes synonym/single-member gene group matching $target. Note that if a "Name" is deleted, the
           first "Synonym" will be promoted to "Name"

       addAsNewSynonym($newName, $target, $evidenceTag, $location)
           Adds a new GN object (with text attribute set to new $newName, and evidenceTags attribute set to
           ($evidenceTag)), as a synonym to the first gene group in which $target is a gene name.  Does nothing
           if $target is not found.  Will not add a duplicate gene name.  $location determines where in gene
           group new object is added: if $location == 1, 2, 3, ..., new object added in the 1st, 2nd, 3rd, ...
           position; if $location == 0, new object added before $target; if $location == -1, new object added
           after $target (default); if $location == -2, new object added at end of gene group.  Note that if the
           new synonym is inserted in the first postion, it will become the "Name" and the previous "Name" will
           be downgraded to first "Synonym"

       addAsNewGeneGroup($newName, $target, $evidenceTag, $location)
           Adds a new GeneGroup object, comprising 1 GN object (with text attribute set to new $newName, and
           evidenceTags attribute set to ($evidenceTag)). Will not add a duplicate gene name.  $location and
           $target determine where in GNs line new group is added: if $location == 1, 2, 3, ..., new object
           added in the 1st, 2nd, 3rd, ... position; if $location == 0, new object added before $target; if
           $location == -1, new object added after $target (default); if $location == -2, new object added at
           end of GNs line.  Does nothing if $target is not found, and $location == 0 or -1; otherwise $target
           does not need to be set.

       replaceGeneGroup($newGeneGroup, $target)
           Replaces the first gene group containing $target with $newGeneGroup.  Creating the $newGeneGroup
           correctly is the user's responsibility

       getGeneGroup($target)
           Returns the first gene group that contains $target

       setToOr()
           Retruns a new GNs object, but with all GNs objects in a single gene group.  Needed when adding 'C' to
           'A and B', when the relationship of 'C' to 'A' and 'B' is unknown: the universal use of ' or ' is the
           default delimeter for TrEMBL entries

TRANSITION

       The format of the GN line will change in 2004 from:

        GN   (CYSA1 OR CYSA OR RV3117 OR MT3199 OR MTCY164.27) AND (CYSA2 OR
        GN   RV0815C OR MT0837 OR MTV043.07C).

       to:

        GN   Name=CysA1; Synonyms=CysA; OrderedLocusNames=Rv3117, MT3199;
        GN   ORFNames=MtCY164.27;
        GN   and
        GN   Name=CysA2; OrderedLocusNames=Rv0815c, MT0837; ORFNames=MTV043.07c;

       This module supports both formats. To convert an entry from the old to the new format, do:

        $entry->GNs->is_old_format(0);