Пример #1
0
function readDatabase($filename)
{
    // read the xml database of aminoacids
    $data = implode("", file($filename));
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
    xml_parse_into_struct($parser, $data, $values, $tags);
    xml_parser_free($parser);
    // loop through the structures
    foreach ($tags as $key => $val) {
        if ($key == "molecule") {
            $molranges = $val;
            // each contiguous pair of array entries are the
            // lower and upper range for each molecule definition
            for ($i = 0; $i < count($molranges); $i += 2) {
                $offset = $molranges[$i] + 1;
                $len = $molranges[$i + 1] - $offset;
                $tdb[] = parseMol(array_slice($values, $offset, $len));
            }
        } else {
            continue;
        }
    }
    return $tdb;
}
Пример #2
0
function XMLtoArray($values, $tags, $item, $parsetype = 0)
{
    foreach ($tags as $key => $val) {
        if ($key == $item) {
            $molranges = $val;
            $offset = $molranges[0];
            $len = $molranges[1] - $offset;
            $data = parseMol(array_slice($values, $offset, $len), $parsetype);
        }
    }
    return $data;
}