ParseKeggAbstractManager
in package
implements
ParseDatabaseInterface
Class ParseKeggAbstractManager KEGG describes metabolism through several files - compound, enzyme, reaction, ortholog, genome - written in one same grammar : a label in the first twelve columns, its data from the thirteenth, a line leaving the label column blank continuing the field above it, and "///" closing the record. That grammar and the ENTRY and NAME fields every record carries live here; each subclass adds the fields of its own file.
Where Legacy/kegg.inc.php kept one flag per field and closed a field only when the next one opened, the fields are gathered first and read afterwards, which spares each subclass the three-branch dance and closes the last field of a record whether or not "///" follows it.
Tags
Table of Contents
Interfaces
- ParseDatabaseInterface
- Interface ParseDatabaseInterface
Properties
Methods
- __construct() : mixed
- Constructor.
- getEntry() : string
- getEntryId() : string
- Extracts the identifier uniquely naming a KEGG record.
- getNames() : array<string|int, mixed>
- isEntryEnd() : bool
- Tells whether a line closes a KEGG record. KEGG closes on three slashes where most flat files use two.
- isEntryStart() : bool
- Tells whether a line opens a new KEGG record.
- joinLines() : string
- Joins the lines of a field into one string. A line opening with "$" continues the word the line above broke off, so it joins without a space.
- parseDbLinks() : array<string|int, mixed>
- Reads a DBLINKS field into pairs of database name and identifier, one per line.
- parsePathways() : array<string|int, mixed>
- Reads a PATHWAY field into pairs of map identifier and pathway name.
- readData() : string
- Reads the data a line carries, which starts at its thirteenth column.
- readEntryId() : string
- Reads the identifier out of an ENTRY line. Its last word names the kind of record rather than the record itself - "C00031 Compound", "EC 2.7.1.1 Enzyme" - so the identifier is what comes before it, which for an enzyme is the two words "EC" and its number.
- readFields() : array<string|int, mixed>
- Gathers a record into its fields : one entry per label, holding the data of its own line and of every continuation line below it.
- readLabel() : string
- Reads the label a line carries in its first twelve columns.
- splitTokens() : array<string|int, mixed>
- Splits the lines of a field into the whitespace-separated identifiers they list.
- readNames() : array<string|int, mixed>
- Reads the NAME field, which gives the record its preferred name first and its synonyms after. A semicolon separates them, whether they sit on one line or on several.
Properties
$entry
protected
string
$entry
= ""
$names
protected
array<string|int, mixed>
$names
= []
Methods
__construct()
Constructor.
public
__construct() : mixed
getEntry()
public
getEntry() : string
Return values
stringgetEntryId()
Extracts the identifier uniquely naming a KEGG record.
public
static getEntryId(array<string|int, mixed> $aFlines, string $sLine) : string
Parameters
- $aFlines : array<string|int, mixed>
-
The whole file, buffered
- $sLine : string
-
The line opening the entry
Return values
stringgetNames()
public
getNames() : array<string|int, mixed>
Return values
array<string|int, mixed>isEntryEnd()
Tells whether a line closes a KEGG record. KEGG closes on three slashes where most flat files use two.
public
static isEntryEnd(string $sLine) : bool
Parameters
- $sLine : string
-
The line to analyze
Return values
boolisEntryStart()
Tells whether a line opens a new KEGG record.
public
static isEntryStart(string $sLine) : bool
Parameters
- $sLine : string
-
The line to analyze
Return values
booljoinLines()
Joins the lines of a field into one string. A line opening with "$" continues the word the line above broke off, so it joins without a space.
protected
joinLines(array<string|int, mixed> $aLines) : string
Parameters
- $aLines : array<string|int, mixed>
Return values
stringparseDbLinks()
Reads a DBLINKS field into pairs of database name and identifier, one per line.
protected
parseDbLinks(array<string|int, mixed> $aLines) : array<string|int, mixed>
Format : DBLINKS CAS: 50-99-7
Parameters
- $aLines : array<string|int, mixed>
Return values
array<string|int, mixed>parsePathways()
Reads a PATHWAY field into pairs of map identifier and pathway name.
protected
parsePathways(array<string|int, mixed> $aLines) : array<string|int, mixed>
Format : PATHWAY PATH: map00010 Glycolysis / Gluconeogenesis
Parameters
- $aLines : array<string|int, mixed>
Return values
array<string|int, mixed>readData()
Reads the data a line carries, which starts at its thirteenth column.
protected
static readData(string $sLine) : string
Parameters
- $sLine : string
-
The line to analyze
Return values
stringreadEntryId()
Reads the identifier out of an ENTRY line. Its last word names the kind of record rather than the record itself - "C00031 Compound", "EC 2.7.1.1 Enzyme" - so the identifier is what comes before it, which for an enzyme is the two words "EC" and its number.
protected
static readEntryId(string $sData) : string
Parameters
- $sData : string
Return values
stringreadFields()
Gathers a record into its fields : one entry per label, holding the data of its own line and of every continuation line below it.
protected
readFields(array<string|int, mixed> $aFlines) : array<string|int, mixed>
Parameters
- $aFlines : array<string|int, mixed>
-
The lines the script has to parse
Return values
array<string|int, mixed>readLabel()
Reads the label a line carries in its first twelve columns.
protected
static readLabel(string $sLine) : string
Parameters
- $sLine : string
-
The line to analyze
Return values
stringsplitTokens()
Splits the lines of a field into the whitespace-separated identifiers they list.
protected
splitTokens(array<string|int, mixed> $aLines) : array<string|int, mixed>
Parameters
- $aLines : array<string|int, mixed>
Return values
array<string|int, mixed>readNames()
Reads the NAME field, which gives the record its preferred name first and its synonyms after. A semicolon separates them, whether they sit on one line or on several.
private
readNames(array<string|int, mixed> $aLines) : array<string|int, mixed>
Parameters
- $aLines : array<string|int, mixed>