?php class AminoAcid {var $name; / / aa name var $symbol; / / three letter symbol var $code; / / one letter code var $type; / / hydrophobic, charged or neutral function AminoAcid ($aa) {foreach ($aa as $k= $v) $this - $k = $aa[$k];}} 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;} function parseMol($mvalues) {for ($i=0; $i count($mvalues); $i++) $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"]; return new AminoAcid($mol);} $db = readDatabase("moldb.xml"); echo "** Database of AminoAcid objects:\n"; print_r($db);?
?php class AminoAcid {var $name; / / nom de l'amino acide var $symbol; / / symbole en trois lettres var $code; / / code en une lettre var $type; / / hydrophobe, chargé ou neutre function AminoAcid ($aa) {foreach ($aa as $k - $v) $this - $k = $aa[$k];}} 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); / / parcourt les structures foreach ($tags as $key - $val) {if ($key == "molecule") {$molranges = $val; / / chaque paire contigue sont les définitions supérieures / / et inférieures de la molécule 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;} function parseMol($mvalues) {for ($i=0; $i count($mvalues); $i++) $mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"]; return new AminoAcid($mol);} $db = readDatabase("moldb.xml"); echo "** Database of AminoAcid objects:\n"; print_r($db);?