function tripal_cv_obo_process_terms
2.x tripal_cv.obo_loader.inc | tripal_cv_obo_process_terms($defaultcv, $jobid = NULL, &$newcvs, $default_db) |
1.x obo_loader.inc | tripal_cv_obo_process_terms($defaultcv, $jobid = NULL, &$newcvs, $default_db) |
Related topics
1 call to tripal_cv_obo_process_terms()
- tripal_cv_load_obo_v1_2 in tripal_cv/
includes/ obo_loader.inc
File
- tripal_cv/
includes/ obo_loader.inc, line 405 - Tripal Ontology Loader
Code
function tripal_cv_obo_process_terms($defaultcv, $jobid = NULL, &$newcvs, $default_db) {
$i = 0;
// iterate through each term from the OBO file and add it
$sql = "
SELECT * FROM {tripal_obo_temp}
WHERE type = 'Term'
ORDER BY id
";
$terms = chado_query($sql);
$sql = "
SELECT count(*) as num_terms
FROM {tripal_obo_temp}
WHERE type = 'Term'
";
$result = db_fetch_object(chado_query($sql));
$count = $result->num_terms;
// calculate the interval for updates
$interval = intval($count * 0.0001);
if ($interval < 1) {
$interval = 1;
}
while ($t = db_fetch_object($terms)) {
$term = unserialize(base64_decode($t->stanza));
// update the job status every interval
if ($jobid and $i % $interval == 0) {
$complete = ($i / $count) * 33.33333333;
tripal_job_set_progress($jobid, intval($complete + 66.666666));
printf("%d of %d records. (%0.2f%%) Memory: %s bytes\r", $i, $count, $complete * 3, number_format(memory_get_usage()));
}
// add/update this term
if (!tripal_cv_obo_process_term($term, $defaultcv->name, 0, $newcvs, $default_db)) {
tripal_cv_obo_quiterror("Failed to process terms from the ontology");
}
$i++;
}
// set the final status
if ($jobid) {
if ($count > 0) {
$complete = ($i / $count) * 33.33333333;
}
else {
$complete = 33.33333333;
}
tripal_job_set_progress($jobid, intval($complete + 66.666666));
printf("%d of %d records. (%0.2f%%) Memory: %s bytes\r", $i, $count, $complete * 3, number_format(memory_get_usage()));
}
return 1;
}