Standardmethods
new
initialize
Readingmethods
head
Return the first element of the list
tail
Return all but the first element of the list
get pattern
Return a list of all elements matched by $pattern. Only exact matches are returned, but you can use
Perls regular expressions. Example:
$listBaseObject->set('EMBL', 'TREMBL', 'SWISSPROT');
$listBaseObject->get('.*EMBL');
returns ('EMBL', 'TREMBL')
get @patternList
To be used if the ListBase elements are arrays. An array is returned if all its elements are matched
exactly by the elements from @patternList with the same index. Empty elements in @patternList always
match. Example:
$listBaseObject->set(['EMBL', 'M1', 'G1', '-'],
['EMBL', 'M2', 'A2', '-'],
['EMBL', 'M2', 'G3', 'ALT_TERM'],
['PROSITE', 'P00001', '1433_2', '1']);
$listBaseObject->get('EMBL');
returns (['EMBL', 'M1', 'G1', '-'],
['EMBL', 'M2', 'A2', '-'],
['EMBL', 'M2', 'G3', 'ALT_TERM'])
$listBaseObject->get('',M2);
returns (['EMBL', 'M2', 'A2', '-'],
['EMBL', 'M2', 'G3', 'ALT_TERM']);
Offering get in the interface is not particularly nice because it exports implementation details into
the interface, but it is a powerful method which may save a lot of programming time. As an
alternative, the 'filter' concept is available.
getObject pattern
getObject @patternList
Same as get, but returns the results wrapped in a new ListBase object.
filter
Returns a new object containing all of the elements that match a search criteria. It takes a function
as the only parameter. This function should expect a list element, and return true or false depending
on whether the element matches the criteria. If the object is not a ListBase object but member of a
subclass, a new object of that subclass will be returned.
Example:
$tmp = $entry->CCs->filter(&ccTopic('FUNCTION'));
returns a SWISS::CCs object containing all CC blocks from $entry which have the topic 'FUNCTION'.
Functions can also be anonymous functions.
attributeEquals(string attributeName, string attributeValue)
Filter function. If the elements of a ListBase object are objects, they will be returned by this
function if they have the attribute and it equals the attributeValue.
Example:
$matchedKWs = $entry->KWs->filter(SWISS::ListBase::attributeEquals('text', $kw));
attributeMatchedBy(string attributeName, string pattern)
Filter function. If the elements of a ListBase object are objects, they will be returned by this
function if they have the attribute and the attribute is matched by the pattern.
Example:
$matchedKWs = $entry->KWs->filter(SWISS::ListBase::attributeMatchedBy('text', $kw));
isEmpty
size
The number of list elements in the object
elements
Returns the array of elements
hasEvidenceTag $arrayPointer $tag
Returns true if the array pointed to by $arrayPointer has the evidence tag $tag
getEvidenceTags $arrayPointer
returns the array of evidence tags of $arrayPointer
getEvidenceTagsString $arrayPointer
returns a string containing the evidence tags of $arrayPointer
Writingmethods
item offset[, newValue]
returns the list element at a specific offset, and optionally sets it to a new value. Negative
offsets are relative to the end of the list.
push list
pop
shift
unshift list
splice [offset[, length[, list]]]
set list
Sets the list attribute to @list
add list
Synonym for push
merge (ListBase)
Appends the elements of ListBase to the object
sort [function]
Applies a sort function to the list attribute, or by default, alphabetical sorting. Should be
overwritten in derived classes with an adapted sort function.
del pattern
Deletes all items fully matching $pattern. Example:
$listBaseObject->set('EMBL','TREMBL', 'SWISSPROT');
$listBaseObject->del('EMBL');
$listBaseObject->list();
returns ('TREMBL','SWISSPROT').
If you want to delete more, use something like
$listBaseObject->del('.*EMBL')
which deletes 'EMBL' and 'TREMBL'.
del @patternList
To be used if the ListBase objects are arrays. An array is deleted if all its elements are matched by
the elements from @patternList with the same index.
Warning:Emptyelementsin@patternListalwaysmatch!
Using the data from the get example above,
$listBaseObject->del('','', 'A2')
results in
(['EMBL', 'M1', 'G1', '-'],
['EMBL', 'M2', 'G3', 'ALT_TERM'],
['PROSITE', 'P00001', '1433_2', '1'])
update
unique
Makes sure each element is contained only once in a ListBase object. The second and subsequent
occurrences of the same object are deleted. Example:
$listBaseObject->set(EMBL, TREMBL, SWISSPROT);
$listBaseObject->add(EMBL, MGD, EMBL);
$listBaseObject->unique();
results in (EMBL, TREMBL, SWISSPROT, MGD)
setEvidenceTags $arrayPointer @array
sets the evidence Tags of the array pointed to by $arrayPointer to the contents of @array
To be used if the ListBase elements are themselves arrays. A typical construct would be
foreach $dr ($entry->DRs->elements()) {
$entry->DRs->setEvidenceTags($dr, 'E2', 'E3');
}
Returns $arrayPointer.
addEvidenceTag $arrayPointer $tag
adds $tag to the evidence tags of $arrayPointer
To be used if the ListBase elements are themselves arrays. See documentation of setEvidenceTags.
Returns $arrayPointer.
deleteEvidenceTags $arrayPointer $evidenceTag
deletes $evidenceTag from the array pointed to by $arrayPointer
To be used if the ListBase elements are themselves arrays. A typical construct would be
foreach $dr ($entry->DRs->elements()) {
$entry->DRs->deleteEvidenceTags($dr, 'EC2');
}
Returns $arrayPointer.
perl v5.32.1 2021-08-15 SWISS::ListBase(3pm)