| 
					
				 | 
			
			
				@@ -1,124 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<?php 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/**  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @defgroup tripal_core_cv_api Core Module CV API 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * For working with controlled vocabularies see the Controlled Vocabulary 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * API.  However, there are cases where a CV does not exist. For example in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * some cases a module may want to support adding of properties (such as to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * for an analysis) to a record but an organized CV does not exist.  The  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * progammer may create their own ontology and populate it, or they may use 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * the basic CV interface provided by Tripal.  Tripal provides a CV named 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 'Tripal' and modules may add terms to this CV to support the functionality 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * of their modules.   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @ingroup tripal_api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * DEPRECATED: This function should no longer be used. But rather the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * tripal_cv_add_cvterm function should be used.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * This function adds a term to the cvterm table of Chado. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @param $name  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   The name of the term 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @param $definition  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   The definition for the term 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @param $cv_name  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   The name of the controlled vocabulary to which the term will be added. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   The default CV is 'tripal'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @param $db_name  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   CV records also have a corresponding database reference.  This argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   specifies the name of the database to which this term belongs. The default 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   database name is 'tripal'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @ingroup tripal_core_cv_api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_add_cvterms ($name,$definition,$cv_name = 'tripal',$db_name='tripal'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   $previous_db = tripal_db_set_active('chado');  // use chado database 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   $cv = db_fetch_object(db_query("SELECT * FROM {cv} WHERE name = '$cv_name'")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   if (!$cv->cv_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tripal_add_cv('tripal', 'Terms used by Tripal for modules to manage data such as that  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               stored in property tables like featureprop, analysisprop, etc'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $cv = db_fetch_object(db_query("SELECT * FROM {cv} WHERE name = '$cv_name'")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   $db = db_fetch_object(db_query("SELECT * FROM {db} WHERE name = '$db_name'")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if (!$db->db_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   tripal_db_set_active($previous_db); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   tripal_add_db('tripal', 'Used as a database placeholder for tripal defined objects such as tripal cvterms', '', ''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   tripal_db_set_active('chado'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   $db = db_fetch_object(db_query("SELECT * FROM {db} WHERE name = '$db_name'")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// check to see if the dbxref already exists if not then add it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$sql = "SELECT * FROM {dbxref} WHERE db_id = $db->db_id and accession = '$name'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$dbxref = db_fetch_object(db_query($sql)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if(!$dbxref){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   db_query("INSERT INTO {dbxref} (db_id,accession) VALUES ($db->db_id,'$name')"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		$dbxref = db_fetch_object(db_query($sql)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   // now add the cvterm only if it doesn't already exist 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$sql = "SELECT * FROM {cvterm} ". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       "WHERE cv_id = $cv->cv_id and dbxref_id = $dbxref->dbxref_id and name = '$name'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$cvterm = db_fetch_object(db_query($sql)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if(!$cvterm){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $result = db_query("INSERT INTO {cvterm} (cv_id,name,definition,dbxref_id) ". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         "VALUES ($cv->cv_id,'$name','$definition',$dbxref->dbxref_id)"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   tripal_db_set_active($previous_db);  // now use drupal database	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   if(!$result){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     // TODO -- ERROR HANDLING 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Add a database to the Chado 'db' table. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * NOTE: This function is deprecated and may not be used in future releases of Tripal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @ingroup tripal_core_cv_api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_add_db($db_name,$description,$urlprefix,$url){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   $previous_db = tripal_db_set_active('chado');  // use chado database 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   // use this SQL statement to get the db_id for the database name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   $id_sql = "SELECT db_id FROM {db} WHERE name = '%s'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   $db = db_fetch_object(db_query($id_sql,$db_name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   // if the database doesn't exist then let's add it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   if(!$db->db_id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $sql = " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         INSERT INTO {db} (name,description,urlprefix,url) VALUES  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         ('%s','%s','%s','%s'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      db_query($sql,$db_name,$description,$urlprefix,$url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      # now get the id for this new db entry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      $db = db_fetch_object(db_query($id_sql,$db_name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   tripal_db_set_active($previous_db);  // now use drupal database	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   return $db->db_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * Get cvterm_id for a tripal term by passing its name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * NOTE: This function is deprecated and may not be used in future releases of Tripal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- *   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * @ingroup tripal_core_cv_api 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function tripal_get_cvterm_id ($cvterm){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	$sql = "SELECT CVT.cvterm_id FROM {cvterm} CVT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         	    INNER JOIN cv ON cv.cv_id = CVT.cv_id  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            	 WHERE CVT.name = '$cvterm'  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                AND CV.name = 'tripal'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return db_result(chado_query($sql)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 |