Displaying organism dbxrefs

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Displaying organism dbxrefs

Lacey-Anne Sanderson
I ended up needing to display organism dbxrefs (as described in organism_dbxref in chado) on the node page. (I wanted to link each of our organisms to their NCBI taxonomy page) Blow is how I implemented it in case someone else on the mailing list wants to add it to their implementation or you want to add it into the next release of tripal.

Changed node_load:
Added the following below $additions->description = $organism->description;

   // Add in organism dbxrefs                                                                                                                                                                                                          
   if ($org_node->organism_id) {                                                                                                                                                                                                       
      $sql = "SELECT O.common_name,O.organism_id,DBX.accession,DB.description as dbdesc, ".                                                                                                                                            
          "   DB.db_id, DB.name as db_name, DB.urlprefix ".                                                                                                                                                                            
          "FROM {Organism} O ".                                                                                                                                                                                                        
          "  INNER JOIN Organism_dbxref ODBX on O.organism_id = ODBX.organism_id ".                                                                                                                                                    
          "  INNER JOIN Dbxref DBX on DBX.dbxref_id = ODBX.dbxref_id ".                                                                                                                                                                
          "  INNER JOIN DB on DB.db_id = DBX.db_id ".                                                                                                                                                                                  
          "WHERE O.organism_id = %d";                                                                                                                                                                                                  
   $results = db_query($sql,$org_node->organism_id);                                                                                                                                                                                   
   $references = array();                                                                                                                                                                                                              
   $i=0;                                                                                                                                                                                                                               
   while($accession = db_fetch_object($results)){                                                                                                                                                                                      
      $references[$i++] = $accession;                                                                                                                                                                                                  
   }                                                                                                                                                                                                                                   
   $additions->references = $references; 

Added the following to node-chado_organism.tpl.php 
between <div class="content"> and <?php print $content?>

<?php if (!$teaser): ?>
     <!-- Control link for the expandableBoxes -->                                                                                                                                                                                     
       <br><a id="tripal_expandableBox_toggle_button" onClick="toggleExpandableBoxes()">[-] Collapse All</a><br><br>                                                                                                                   
     <!-- End of Control link for the expandableBoxes -->                                                                                                                                                                              
     <!-- theme_tripal_organism_organism_references -->                                                                                                                                                                                
      <?php                                                                                                                                                                                                                            
         $references = $node->references;                                                                                                                                                                                              
         if(count($references) > 0){                                                                                                                                                                                                   
      ?>                                                                                                                                                                                                                               
      <div id="organims-references" class="tripal_organism-info-box">                                                                                                                                                                  
      <div class="tripal_expandableBox"><h3>References</h3></div>                                                                                                                                                                      
      <div class="tripal_expandableBoxContent">                                                                                                                                                                                        
      <table>                                                                                                                                                                                                                          
         <tr>                                                                                                                                                                                                                          
            <th>Dababase</th>                                                                                                                                                                                                          
            <th>Accession</th>                                                                                                                                                                                                         
         </tr>                                                                                                                                                                                                                         
      <?php                                                                                                                                                                                                                            
         foreach ($references as $result){                                                                                                                                                                                             
      ?>                                                                                                                                                                                                                               
         <tr>                                                                                                                                                                                                                          
            <td><?php print $result->db_name?></td>                                                                                                                                                                                    
            <td><?php if($result->urlprefix){ ?><a href="<?php print $result->urlprefix.$result->accession?>"><?php print $result->accession?></a><?php } else { print $result->accession; } ?></td>                                   
         </tr>                                                                                                                                                                                                                         
      <?php  } ?>                                                                                                                                                                                                                      
         </table></div></div>                                                                                                                                                                                                          
      <?php } ?>                                                                                                                                                                                                                       
     <!-- End of theme_tripal_feature_feature_references -->
<?php endif; ?>

Note: This only provides the ability to display dbxrefs already stored in chado. It doesn't provide an web interface for adding dbxrefs to organisms.

Hope this helps somebody,
Lacey

------------------------------------------------------
Lacey-Anne Sanderson
Bioinformaticist
Pulse Crop Breeding and Genetics
Phone: (306) 966-2430
Room 3D10 Argriculture
Department of Plant Sciences
University of Saskatchewan


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal
Reply | Threaded
Open this post in threaded view
|

Re: Displaying organism dbxrefs

Lacey-Anne Sanderson
Sorry, pasted my old code (missing a } ). Here is the fixed code:

Changed node_load:
Added the following below $additions->description = $organism->description;

   // Add in organism dbxrefs                                                                                                                                                                                                         
   if ($org_node->organism_id) {                                                                                                                                                                                                      
      $sql = "SELECT O.common_name,O.organism_id,DBX.accession,DB.description as dbdesc, ".                                                                                                                                           
          "   DB.db_id, DB.name as db_name, DB.urlprefix ".                                                                                                                                                                           
          "FROM {Organism} O ".                                                                                                                                                                                                       
          "  INNER JOIN Organism_dbxref ODBX on O.organism_id = ODBX.organism_id ".                                                                                                                                                   
          "  INNER JOIN Dbxref DBX on DBX.dbxref_id = ODBX.dbxref_id ".                                                                                                                                                               
          "  INNER JOIN DB on DB.db_id = DBX.db_id ".                                                                                                                                                                                 
          "WHERE O.organism_id = %d";                                                                                                                                                                                                 
     $results = db_query($sql,$org_node->organism_id);                                                                                                                                                                                  
     $references = array();                                                                                                                                                                                                             
     $i=0;                                                                                                                                                                                                                              
     while($accession = db_fetch_object($results)){                                                                                                                                                                                     
       $references[$i++] = $accession;                                                                                                                                                                                                 
     }   
   }                                                                                                                                                                                                                               
   $additions->references = $references;

 
------------------------------------------------------
Lacey-Anne Sanderson
Bioinformaticist
Pulse Crop Breeding and Genetics
Phone: (306) 966-2430
Room 3D10 Argriculture
Department of Plant Sciences
University of Saskatchewan

On 2010-06-15, at 1:49 PM, Lacey-Anne Sanderson wrote:

I ended up needing to display organism dbxrefs (as described in organism_dbxref in chado) on the node page. (I wanted to link each of our organisms to their NCBI taxonomy page) Blow is how I implemented it in case someone else on the mailing list wants to add it to their implementation or you want to add it into the next release of tripal.

Changed node_load:
Added the following below $additions->description = $organism->description;

   // Add in organism dbxrefs                                                                                                                                                                                                          
   if ($org_node->organism_id) {                                                                                                                                                                                                       
      $sql = "SELECT O.common_name,O.organism_id,DBX.accession,DB.description as dbdesc, ".                                                                                                                                            
          "   DB.db_id, DB.name as db_name, DB.urlprefix ".                                                                                                                                                                            
          "FROM {Organism} O ".                                                                                                                                                                                                        
          "  INNER JOIN Organism_dbxref ODBX on O.organism_id = ODBX.organism_id ".                                                                                                                                                    
          "  INNER JOIN Dbxref DBX on DBX.dbxref_id = ODBX.dbxref_id ".                                                                                                                                                                
          "  INNER JOIN DB on DB.db_id = DBX.db_id ".                                                                                                                                                                                  
          "WHERE O.organism_id = %d";                                                                                                                                                                                                  
   $results = db_query($sql,$org_node->organism_id);                                                                                                                                                                                   
   $references = array();                                                                                                                                                                                                              
   $i=0;                                                                                                                                                                                                                               
   while($accession = db_fetch_object($results)){                                                                                                                                                                                      
      $references[$i++] = $accession;                                                                                                                                                                                                  
   } 
     }
                                                                                                                                                                                                                                 
   $additions->references = $references; 

Added the following to node-chado_organism.tpl.php 
between <div class="content"> and <?php print $content?>

<?php if (!$teaser): ?>
     <!-- Control link for the expandableBoxes -->                                                                                                                                                                                     
       <br><a id="tripal_expandableBox_toggle_button" onClick="toggleExpandableBoxes()">[-] Collapse All</a><br><br>                                                                                                                   
     <!-- End of Control link for the expandableBoxes -->                                                                                                                                                                              
     <!-- theme_tripal_organism_organism_references -->                                                                                                                                                                                
      <?php                                                                                                                                                                                                                            
         $references = $node->references;                                                                                                                                                                                              
         if(count($references) > 0){                                                                                                                                                                                                   
      ?>                                                                                                                                                                                                                               
      <div id="organims-references" class="tripal_organism-info-box">                                                                                                                                                                  
      <div class="tripal_expandableBox"><h3>References</h3></div>                                                                                                                                                                      
      <div class="tripal_expandableBoxContent">                                                                                                                                                                                        
      <table>                                                                                                                                                                                                                          
         <tr>                                                                                                                                                                                                                          
            <th>Dababase</th>                                                                                                                                                                                                          
            <th>Accession</th>                                                                                                                                                                                                         
         </tr>                                                                                                                                                                                                                         
      <?php                                                                                                                                                                                                                            
         foreach ($references as $result){                                                                                                                                                                                             
      ?>                                                                                                                                                                                                                               
         <tr>                                                                                                                                                                                                                          
            <td><?php print $result->db_name?></td>                                                                                                                                                                                    
            <td><?php if($result->urlprefix){ ?><a href="<?php print $result->urlprefix.$result->accession?>"><?php print $result->accession?></a><?php } else { print $result->accession; } ?></td>                                   
         </tr>                                                                                                                                                                                                                         
      <?php  } ?>                                                                                                                                                                                                                      
         </table></div></div>                                                                                                                                                                                                          
      <?php } ?>                                                                                                                                                                                                                       
     <!-- End of theme_tripal_feature_feature_references -->
<?php endif; ?>

Note: This only provides the ability to display dbxrefs already stored in chado. It doesn't provide an web interface for adding dbxrefs to organisms.

Hope this helps somebody,
Lacey

------------------------------------------------------
Lacey-Anne Sanderson
Bioinformaticist
Pulse Crop Breeding and Genetics
Phone: (306) 966-2430
Room 3D10 Argriculture
Department of Plant Sciences
University of Saskatchewan



------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal
Reply | Threaded
Open this post in threaded view
|

Re: Displaying organism dbxrefs

Stephen Ficklin
Hi Lacey. 

Thanks so much for your contribution. I'll take a look at it. I think it sounds like something we needed and we will like to  incorporate.  If we do I'll let you know. 

Thanks!
Stephen

On Jun 15, 2010, at 3:57 PM, "Lacey-Anne Sanderson" <[hidden email]> wrote:

Sorry, pasted my old code (missing a } ). Here is the fixed code:

Changed node_load:
Added the following below $additions->description = $organism->description;

   // Add in organism dbxrefs                                                                                                                                                                                                         
   if ($org_node->organism_id) {                                                                                                                                                                                                      
      $sql = "SELECT O.common_name,O.organism_id,DBX.accession,DB.description as dbdesc, ".                                                                                                                                           
          "   DB.db_id, DB.name as db_name, DB.urlprefix ".                                                                                                                                                                           
          "FROM {Organism} O ".                                                                                                                                                                                                       
          "  INNER JOIN Organism_dbxref ODBX on O.organism_id = ODBX.organism_id ".                                                                                                                                                   
          "  INNER JOIN Dbxref DBX on DBX.dbxref_id = ODBX.dbxref_id ".                                                                                                                                                               
          "  INNER JOIN DB on DB.db_id = DBX.db_id ".                                                                                                                                                                                 
          "WHERE O.organism_id = %d";                                                                                                                                                                                                 
     $results = db_query($sql,$org_node->organism_id);                                                                                                                                                                                  
     $references = array();                                                                                                                                                                                                             
     $i=0;                                                                                                                                                                                                                              
     while($accession = db_fetch_object($results)){                                                                                                                                                                                     
       $references[$i++] = $accession;                                                                                                                                                                                                 
     }   
   }                                                                                                                                                                                                                               
   $additions->references = $references;

 
------------------------------------------------------
Lacey-Anne Sanderson
Bioinformaticist
Pulse Crop Breeding and Genetics
Phone: (306) 966-2430
Room 3D10 Argriculture
Department of Plant Sciences
University of Saskatchewan

On 2010-06-15, at 1:49 PM, Lacey-Anne Sanderson wrote:

I ended up needing to display organism dbxrefs (as described in organism_dbxref in chado) on the node page. (I wanted to link each of our organisms to their NCBI taxonomy page) Blow is how I implemented it in case someone else on the mailing list wants to add it to their implementation or you want to add it into the next release of tripal.

Changed node_load:
Added the following below $additions->description = $organism->description;

   // Add in organism dbxrefs                                                                                                                                                                                                          
   if ($org_node->organism_id) {                                                                                                                                                                                                       
      $sql = "SELECT O.common_name,O.organism_id,DBX.accession,DB.description as dbdesc, ".                                                                                                                                            
          "   DB.db_id, DB.name as db_name, DB.urlprefix ".                                                                                                                                                                            
          "FROM {Organism} O ".                                                                                                                                                                                                        
          "  INNER JOIN Organism_dbxref ODBX on O.organism_id = ODBX.organism_id ".                                                                                                                                                    
          "  INNER JOIN Dbxref DBX on DBX.dbxref_id = ODBX.dbxref_id ".                                                                                                                                                                
          "  INNER JOIN DB on DB.db_id = DBX.db_id ".                                                                                                                                                                                  
          "WHERE O.organism_id = %d";                                                                                                                                                                                                  
   $results = db_query($sql,$org_node->organism_id);                                                                                                                                                                                   
   $references = array();                                                                                                                                                                                                              
   $i=0;                                                                                                                                                                                                                               
   while($accession = db_fetch_object($results)){                                                                                                                                                                                      
      $references[$i++] = $accession;                                                                                                                                                                                                  
   } 
     }
                                                                                                                                                                                                                                 
   $additions->references = $references; 

Added the following to node-chado_organism.tpl.php 
between <div class="content"> and <?php print $content?>

<?php if (!$teaser): ?>
     <!-- Control link for the expandableBoxes -->                                                                                                                                                                                     
       <br><a id="tripal_expandableBox_toggle_button" onClick="toggleExpandableBoxes()">[-] Collapse All</a><br><br>                                                                                                                   
     <!-- End of Control link for the expandableBoxes -->                                                                                                                                                                              
     <!-- theme_tripal_organism_organism_references -->                                                                                                                                                                                
      <?php                                                                                                                                                                                                                            
         $references = $node->references;                                                                                                                                                                                              
         if(count($references) > 0){                                                                                                                                                                                                   
      ?>                                                                                                                                                                                                                               
      <div id="organims-references" class="tripal_organism-info-box">                                                                                                                                                                  
      <div class="tripal_expandableBox"><h3>References</h3></div>                                                                                                                                                                      
      <div class="tripal_expandableBoxContent">                                                                                                                                                                                        
      <table>                                                                                                                                                                                                                          
         <tr>                                                                                                                                                                                                                          
            <th>Dababase</th>                                                                                                                                                                                                          
            <th>Accession</th>                                                                                                                                                                                                         
         </tr>                                                                                                                                                                                                                         
      <?php                                                                                                                                                                                                                            
         foreach ($references as $result){                                                                                                                                                                                             
      ?>                                                                                                                                                                                                                               
         <tr>                                                                                                                                                                                                                          
            <td><?php print $result->db_name?></td>                                                                                                                                                                                    
            <td><?php if($result->urlprefix){ ?><a href="<?php print $result->urlprefix.$result->accession?>"><?php print $result->accession?></a><?php } else { print $result->accession; } ?></td>                                   
         </tr>                                                                                                                                                                                                                         
      <?php  } ?>                                                                                                                                                                                                                      
         </table></div></div>                                                                                                                                                                                                          
      <?php } ?>                                                                                                                                                                                                                       
     <!-- End of theme_tripal_feature_feature_references -->
<?php endif; ?>

Note: This only provides the ability to display dbxrefs already stored in chado. It doesn't provide an web interface for adding dbxrefs to organisms.

Hope this helps somebody,
Lacey

------------------------------------------------------
Lacey-Anne Sanderson
Bioinformaticist
Pulse Crop Breeding and Genetics
Phone: (306) 966-2430
Room 3D10 Argriculture
Department of Plant Sciences
University of Saskatchewan



------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Gmod-tripal mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-tripal