.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.08) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SWISS::DEs 3pm" .TH SWISS::DEs 3pm "2008-07-17" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "Name" .IX Header "Name" SWISS::DEs.pm .SH "Description" .IX Header "Description" \&\fBSWISS::DEs\fR represents the \s-1DE\s0 lines of a UniProt Knowledgebase (Swiss-Prot + TrEMBL) entry as specified in the user manual http://www.expasy.org/sprot/userman.html. .PP The DEs object basically holds lists of \s-1DE\s0 objects, each of them representing a protein name element. The \f(CW\*(C`elements\*(C'\fR, \f(CW\*(C`hasFragment\*(C'\fR, \f(CW\*(C`Includes\*(C'\fR and \f(CW\*(C`Contains\*(C'\fR attributes/methods work as follows : .PP .Vb 10 \& DE RecName: Full=CAD protein; \& DE Short=CAD; \& DE AltName: Full=Protein rudimentary; \& DE Includes: \& DE RecName: Full=Glutamine\-dependent carbamoyl\-phosphate synthase; \& DE EC=6.3.5.5; \& DE Includes: \& DE RecName: Full=Aspartate carbamoyltransferase; \& DE EC=2.1.3.2; \& DE Flags: Fragment; \& \& \-= Entry::DEs =\- \& elements (for each DE object, see SWISS::DE.pm documentation) : \& toText: "CAD protein", "CAD", "Protein rudimentary" \& category: "RecName", "RecName", "AltName" \& type: "Full", "Short" "Full" \& hasFragment : "Fragment" \& Includes : ListBase of DEs (child1, child2) \& Contains : empty ListBase \& \& \-= child1 =\- \& elements (for each DE object) : \& toText: "Glutamine\-dependent carbamoyl\- \& phosphate synthase", "6.3.5.5" \& category: "RecName", "RecName", \& type: "Full", "EC" \& hasFragment : undef \& \& \-= child2 =\- \& elements (for each DE object) : \& toText: "Aspartate carbamoyltransferase", "2.1.3.2" \& category: "RecName", "RecName", \& type: "Full", "EC" \& hasFragment : undef .Ve .PP Note: the old unstructured \s-1DE\s0 format can still be used, and will be parsed the same way into \s-1DE\s0 objects (but without setting their attributes 'category' and \&'type'. .PP .Vb 3 \& DE CAD protein (Protein rudimentary) [Includes: Glutamine\-dependent \& DE carbamoyl\-phosphate synthase (EC 6.3.5.5); Aspartate \& DE carbamoyltransferase (EC 2.1.3.2)] (Fragment). .Ve .SH "Inherits from" .IX Header "Inherits from" SWISS::ListBase.pm .SH "Attributes" .IX Header "Attributes" .ie n .IP """text""" 4 .el .IP "\f(CWtext\fR" 4 .IX Item "text" The (raw) text of the \s-1DE\s0 line (without the '\s-1DE\s0 ' line type prefixes) .ie n .IP """list""" 4 .el .IP "\f(CWlist\fR" 4 .IX Item "list" Array reference to the \s-1SWISS::DE\s0 objects containing the different names for the entry. The first element of the list is the recommended name. Note: use \f(CW\*(C`elements\*(C'\fR method (inherited from ListBase) to get (and loop through) the array of \s-1DE\s0 objetcs. .ie n .IP """Includes""" 4 .el .IP "\f(CWIncludes\fR" 4 .IX Item "Includes" .PD 0 .ie n .IP """Contains""" 4 .el .IP "\f(CWContains\fR" 4 .IX Item "Contains" .PD Each of these is a SWISS::ListBase object whose list contains a SWISS::DEs object for each 'child' of the protein (i.e. peptide or functional domain). See the UniProtKB user manual for an explanation. It is possible to have both Includes and Contains in a single entry: .Sp .Vb 10 \& DE RecName: Full=Arginine biosynthesis bifunctional protein argJ; \& DE Includes: \& DE RecName: Full=Glutamate N\-acetyltransferase; \& DE EC=2.3.1.35; \& DE AltName: Full=Ornithine acetyltransferase; \& DE Short=OATase; \& DE AltName: Full=Ornithine transacetylase; \& DE Includes: \& DE RecName: Full=Amino\-acid acetyltransferase; \& DE EC=2.3.1.1; \& DE AltName: Full=N\-acetylglutamate synthase; \& DE Short=AGS; \& DE RecName: Full=Arginine biosynthesis bifunctional protein argJ alpha chain; \& DE Contains: \& DE RecName: Full=Arginine biosynthesis bifunctional protein argJ beta chain; .Ve .ie n .IP """hasFragment""" 4 .el .IP "\f(CWhasFragment\fR" 4 .IX Item "hasFragment" Contains 'Fragment' or 'Fragments' (evaluates to true) if the \s-1DE\s0 lines contain the 'Fragment(s)' indication (in 'Flags:' line with the new \s-1DE\s0 line format), otherwise evaluates to false. Compare to the more robust Entry::isFragment which also checks the \s-1FT\s0 lines for a \s-1NON_CONS\s0 or \s-1NON_TER\s0. .ie n .IP """isPrecursor""" 4 .el .IP "\f(CWisPrecursor\fR" 4 .IX Item "isPrecursor" Returns 1 if the flag 'Precursor' is present (undef if not). Note: only with new \&\s-1DE\s0 line format. .SH "Methods" .IX Header "Methods" .SS "Standard methods" .IX Subsection "Standard methods" .IP "new" 4 .IX Item "new" .PD 0 .IP "fromText" 4 .IX Item "fromText" .IP "toText" 4 .IX Item "toText" .PD .SH "Evidence Tags" .IX Header "Evidence Tags" With the new \s-1DE\s0 line format, each \s-1DE\s0 element can have distinct evidence tags, which are stored in the \s-1DE\s0 object themself (see \s-1SWISS::DE\s0.pm documentation). The evidence tags for the 'Flags' line are stored in the parent DEs object itself. With the old \s-1DE\s0 line format, since the \s-1DE\s0 line did not have a fixed syntax in TrEMBL, it is impossible to reliably assign evidence tags separately to the different elements of the \s-1DE\s0 lines. Therefore, the \s-1DE\s0 line can only be evidence tagged as a whole, and the following methods have their prototype defined in SWISS::BaseClass instead of the direct parent of SWISS::DEs, SWISS::ListBase : .PP .Vb 6 \& addEvidenceTag \& deleteEvidenceTags \& getEvidenceTags \& getEvidenceTagsString \& hasEvidenceTag \& setEvidenceTags .Ve .PP example : .PP .Vb 3 \& $evidenceTag = $entry\->Stars\->EV\->addEvidence(\*(AqP\*(Aq, \*(AqDEfix\*(Aq, \*(Aq\-\*(Aq, \*(Aqv1.3\*(Aq); \& # add global DE evtag if old DE line format, \*(AqFlags\*(Aq evtag if new format \& $entry \-> DEs \-> addEvidenceTag($evidenceTag); .Ve