15 $eps = variable_get(
'tpps_gps_epsilon', .001);
20 $query_trees_1 = db_select(
'chado.stock',
's');
21 $query_trees_1->join(
'chado.stockprop',
'lat',
"lat.stock_id = s.stock_id AND lat.type_id = $lat_id");
22 $query_trees_1->join(
'chado.stockprop',
'lng',
"lng.stock_id = s.stock_id AND lng.type_id = $lng_id");
23 $query_trees_1->addField(
's',
'stock_id',
'stock_id');
24 $query_trees_1->addField(
's',
'type_id',
'type_id');
25 $query_trees_1->addField(
's',
'organism_id',
'organism_id');
26 $query_trees_1->addExpression(
'substring(s.uniquename, 9)',
'uniquename');
27 $query_trees_1->addExpression(
'cast(lat.value as float)',
'lat');
28 $query_trees_1->addExpression(
'cast(lng.value as float)',
'lng');
30 $query_trees_2 = clone $query_trees_1;
32 $query_trees_1->join(
'chado.project_stock',
'p',
"p.project_id = $project_id AND p.stock_id = s.stock_id");
34 $query_trees_2->join(
'chado.project_stock',
'p',
"p.project_id != $project_id AND p.stock_id = s.stock_id");
36 $query = db_select($query_trees_1,
's1');
37 $query->join($query_trees_2,
's2',
"s1.uniquename = s2.uniquename AND s1.type_id = s2.type_id AND s1.organism_id = s2.organism_id AND abs(s1.lat - s2.lat) < $eps AND abs(s1.lng - s2.lng) < $eps");
38 $query->addfield(
's1',
'stock_id',
'stock_id1');
39 $query->addfield(
's2',
'stock_id',
'stock_id2');
41 $results = $query->execute();
43 while (($record = $results->fetchObject())) {
45 'subject_id' => $record->stock_id1,
46 'object_id' => $record->stock_id2,
tpps_chado_insert_record($table, $records, array $options=array())
tpps_matching_trees($project_id)
tpps_load_cvterm($term, array $options=array(), $version=NULL, $refresh_cache=FALSE)