| 
					
				 | 
			
			
				@@ -279,130 +279,168 @@ function chado_stock_load($node) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $node->stock_id = $map->stock_id;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //Get the main stock information from the chado stock table----------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $chado_stock = db_fetch_object(db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    "SELECT s.name, s.uniquename, s.description, c.name as type, c.cvterm_id as type_id, s.is_obsolete, s.organism_id " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ."FROM stock s, cvterm c WHERE s.type_id=c.cvterm_id AND stock_id=%d", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //add to node 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->stock_name = $chado_stock->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->uniquename = $chado_stock->uniquename; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->description = $chado_stock->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->stock_type = $chado_stock->type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->stock_type_id = $chado_stock->type_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->is_obsolete = $chado_stock->is_obsolete; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $columns = array('name', 'uniquename', 'description', 'type_id', 'is_obsolete', 'organism_id', 'dbxref_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $values = array('stock_id' => $node->stock_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $results = tripal_core_chado_select('stock', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->stock_name = $results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->uniquename = $results[0]->uniquename; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->description = $results[0]->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->stock_type_id = $results[0]->type_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->organism->organism_id = $results[0]->organism_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->main_db_reference->dbxref_id = $results[0]->dbxref_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (preg_match('/t/', $results[0]->is_obsolete)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->is_obsolete = TRUE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->is_obsolete = FALSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Get type for current stock------------------------------------------------------------------ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $columns = array('name'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $values = array('cvterm_id' => $node->stock_type_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $results = tripal_core_chado_select('cvterm', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->stock_type = $results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Get organism details from chado & add to node----------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // get organism if for current stock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // pull all data from chado for the organism and assign it to the current node 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->organism = tripal_organism_get_organism_by_organism_id($chado_stock->organism_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->organism = tripal_organism_get_organism_by_organism_id($node->organism->organism_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Add Synonyms for stock---------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // These are a special case of property (stockprop table) where cvterm='synonym' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $results = db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    "SELECT sp.stockprop_id, sp.value as value, sp.type_id, 'synonym' as type FROM stockprop sp, cvterm c " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ."WHERE sp.stock_id=%d AND sp.type_id=c.cvterm_id AND c.name='synonym'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $columns = array('stockprop_id', 'type_id', 'value', 'rank'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $values = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'stock_id' => $node->stock_id,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'type_id' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'cv_id' => variable_get('chado_stock_prop_types_cv', 'null'),  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name' => 'synonym' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    )  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // Node->synonyms is an array of synonyms(strings) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  while ($r = db_fetch_object($results) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $synonyms[$i++] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $results = tripal_core_chado_select('stockprop', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($results as $r) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $r->type = 'synonym'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->synonyms[] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->synonyms = $synonyms; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Add properties for stock (not including synonyms)------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // $node->properties is an array of objects where each object describes a single property and has a type and value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $results = db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    "SELECT sp.stockprop_id, c.name as type, sp.value as value FROM stockprop sp, cvterm c " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ."WHERE sp.stock_id=%d AND sp.type_id=c.cvterm_id AND c.name != 'synonym'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $columns = array('stockprop_id', 'type_id', 'value', 'rank'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $values = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'stock_id' => $node->stock_id,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  while ($r = db_fetch_object($results) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $properties[$i++] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $results = tripal_core_chado_select('stockprop', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($results as $r) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('name'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('cvterm_id' => $r->type_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $type_results = tripal_core_chado_select('cvterm', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $r->type = $type_results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->properties[] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->properties = $properties; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Add in main db reference----------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // this is the dbxref_id in the stock table 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //$node->main_db_reference is an object describing the dbxref and has an accession, version, description, db_name, db_description, & urlprefix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $db_reference = db_fetch_object(db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    "SELECT dbx.dbxref_id, dbx.accession, dbx.version, dbx.description, db.db_id, db.name as db_name, db.description as db_description, db.urlprefix as db_urlprefix " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ."FROM dbxref dbx, db db, stock s WHERE stock_id=%d AND s.dbxref_id=dbx.dbxref_id AND dbx.db_id=db.db_id", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->main_db_reference = $db_reference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!empty($node->main_db_reference->dbxref_id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('dbxref_id', 'accession', 'version', 'description', 'db_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('dbxref_id' => $node->main_db_reference->dbxref_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $results = tripal_core_chado_select('dbxref', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->main_db_reference = $results[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //get db info 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('name', 'description', 'url', 'urlprefix'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('db_id' => $node->main_db_reference->db_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $results = tripal_core_chado_select('db', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->main_db_reference->db_name = $results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->main_db_reference->db_description = $results[0]->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->main_db_reference->db_url = $results[0]->url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->main_db_reference->db_urlprefix = $results[0]->urlprefix; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // Add in extra references to external databases--------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Add in extra references to external databases-------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // this includes all the dbxref entries in stock_dbxref 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // $node->db_referencesi s an array of objects where each object describes a given dbxref and has the same fields as the main db references 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $results = db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    "SELECT dbx.dbxref_id, dbx.accession, dbx.version,	dbx.description, db.db_id, db.name as db_name, db.description as db_description, db.urlprefix as db_urlprefix " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ."FROM dbxref dbx, db db, stock_dbxref s WHERE stock_id=%d AND s.dbxref_id=dbx.dbxref_id AND dbx.db_id=db.db_id", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  while ($r = db_fetch_object($results) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $db_references[$i++] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $columns = array('dbxref_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $values = array('stock_id' => $node->stock_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $results = tripal_core_chado_select('stock_dbxref',$columns,$values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $node->db_references = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($results as $r) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('dbxref_id', 'accession', 'version', 'description', 'db_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('dbxref_id' => $r->dbxref_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $sub_results = tripal_core_chado_select('dbxref', $columns, $values);    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $dbxref = $sub_results[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //get db info 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('name', 'description', 'url', 'urlprefix'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('db_id' => $dbxref->db_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $results = tripal_core_chado_select('db', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $dbxref->db_name = $results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $dbxref->db_description = $results[0]->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $dbxref->db_url = $results[0]->url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $dbxref->db_urlprefix = $results[0]->urlprefix;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->db_references[] = $dbxref; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  $node->db_references = $db_references; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // Add relationships for stock--------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Add relationships for stock-------------------------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Relationships are broken down into those where the current stock is the subject (other details stored in $node->object_relationships) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // and those where the current stock is the object (other details stored in $node->subject_relationships) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // fields available to each include object/subject_name, object/subject_id (stock_id in chado) and object/subject_nid (node id in drupal) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      // where current is subject............................. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $result = db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       "SELECT sr.stock_relationship_id, c.name as relationship_type, sr.type_id as relationship_type_id, s.uniquename as object_uniquename, s.name as object_name, s.stock_id as object_id " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       . "FROM stock_relationship sr, stock s, cvterm c " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       . "WHERE sr.subject_id=%d AND sr.object_id=s.stock_id AND sr.type_id=c.cvterm_id", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $relationships= array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     while ($r = db_fetch_object($result) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       //get nid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $object = db_fetch_object(db_query("SELECT * FROM {node} n, {chado_stock} c WHERE c.nid=n.nid AND c.vid=n.vid AND c.stock_id=%d", $r->object_id )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $r->object_nid = $object->nid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $relationships[$i++] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $node->object_relationships = $relationships; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('stock_relationship_id', 'subject_id', 'type_id', 'object_id', 'value', 'rank'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('subject_id' => $node->stock_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $results = tripal_core_chado_select('stock_relationship', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->object_relationships = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    foreach ($results as $r) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $columns = array('name', 'uniquename', 'description', 'type_id', 'is_obsolete', 'organism_id', 'dbxref_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $values = array('stock_id' => $r->object_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $results = tripal_core_chado_select('stock', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->stock_id = $r->object_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unset($r->object_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->stock_name = $results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->uniquename = $results[0]->uniquename; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->description = $results[0]->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->stock_type_id = $results[0]->type_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->organism->organism_id = $results[0]->organism_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->main_db_reference->dbxref_id = $results[0]->dbxref_id;         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $sql = "SELECT nid FROM {chado_stock} WHERE stock_id=%d"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $object_node = db_fetch_object(db_query($sql, $r->object->stock_id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->object->nid = $object_node->nid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $node->object_relationships[] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      // where current is object............................. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $previous_db = tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $result = db_query( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       "SELECT sr.stock_relationship_id, c.name as relationship_type, sr.type_id as relationship_type_id, s.uniquename as subject_uniquename, s.name as subject_name, s.stock_id as subject_id " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       . "FROM stock_relationship sr, stock s, cvterm c " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       . "WHERE	sr.object_id=%d AND sr.subject_id=s.stock_id AND sr.type_id=c.cvterm_id", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $map->stock_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $relationships= array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     while ($r = db_fetch_object($result) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       //get nid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $subject = db_fetch_object(db_query("SELECT * FROM {node} n, {chado_stock} c WHERE c.nid=n.nid AND c.vid=n.vid AND c.stock_id=%d", $r->subject_id )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $r->subject_nid = $subject->nid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       $relationships[$i++] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     $node->subject_relationships = $relationships; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $columns = array('stock_relationship_id', 'subject_id', 'type_id', 'object_id', 'value', 'rank'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $values = array('object_id' => $node->stock_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $results = tripal_core_chado_select('stock_relationship', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $node->subject_relationships = array();     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    foreach ($results as $r) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $columns = array('name', 'uniquename', 'description', 'type_id', 'is_obsolete', 'organism_id', 'dbxref_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $values = array('stock_id' => $r->subject_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $results = tripal_core_chado_select('stock', $columns, $values); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->stock_id = $r->subject_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unset($r->subject_id);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->stock_name = $results[0]->name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->uniquename = $results[0]->uniquename; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->description = $results[0]->description; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->stock_type_id = $results[0]->type_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->organism->organism_id = $results[0]->organism_id;        $r->subject->main_db_reference->dbxref_id = $results[0]->dbxref_id;         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $sql = "SELECT nid FROM {chado_stock} WHERE stock_id=%d"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $subject_node = db_fetch_object(db_query($sql, $r->subject->stock_id)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $r->subject->nid = $subject_node->nid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $node->subject_relationships[] = $r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      return $node; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |