Sfoglia il codice sorgente

Tripal Pub: Added Add Authors to create/edit form & added create nodes via pubmed search -Not ready for production sites

laceysanderson 13 anni fa
parent
commit
909eabab93

+ 61 - 0
tripal_pub/e_utilities.pl

@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+# ---------------------------------------------------------------------------
+# Define library for the 'get' function used in the next section.
+# $utils contains route for the utilities.
+# $db, $query, and $report may be supplied by the user when prompted; 
+# if not answered, default values, will be assigned as shown below.
+
+use LWP::Simple;
+use utf8;
+
+my $utils = "http://www.ncbi.nlm.nih.gov/entrez/eutils";
+
+my $db     = "Pubmed";
+my $query  = $ARGV[0];
+my $report = $ARGV[1];
+
+# ---------------------------------------------------------------------------
+# $esearch contÁins the PATH & parameters for the ESearch call
+# $esearch_result containts the result of the ESearch call
+# the results are displayed Ánd parsed into variables 
+# $Count, $QueryKey, and $WebEnv for later use and then displayed.
+
+my $esearch = "$utils/esearch.fcgi?" .
+              "db=$db&retmax=1&usehistory=y&term=";
+
+my $esearch_result = get($esearch . $query);
+
+
+
+$esearch_result =~ 
+  m|<Count>(\d+)</Count>.*<QueryKey>(\d+)</QueryKey>.*<WebEnv>(\S+)</WebEnv>|s;
+
+my $Count    = $1;
+my $QueryKey = $2;
+my $WebEnv   = $3;
+
+# ---------------------------------------------------------------------------
+# this area defines a loop which will display $retmax citation results from 
+# Efetch each time the the Enter Key is pressed, after a prompt.
+
+my $retstart;
+my $retmax=3;
+
+for($retstart = 0; $retstart < $Count; $retstart += $retmax) {
+  my $efetch = "$utils/efetch.fcgi?" .
+               "rettype=$report&retmode=text&retstart=$retstart&retmax=$retmax&" .
+               "db=$db&query_key=$QueryKey&WebEnv=$WebEnv";
+	
+  #print "\nEF_QUERY=$efetch\n";     
+
+
+  my $efetch_result = get($efetch);
+
+	#open( $fh, '>', \$efetch_result);
+
+  
+  print $efetch_result;
+    
+  #print binmode($fh, ":utf8");
+  
+}

+ 13 - 0
tripal_pub/theme/node-tripal_pub.tpl.php

@@ -0,0 +1,13 @@
+<?php
+// Developed by: Chad N.A Krilow at The University of Saskatchewan
+//
+// Purpose: This template provides the layout of the Tripal Pub node (page)
+//   using the same templates used for the various Tripal blocks. 
+?> 
+
+<?php
+ //uncomment this line to see a full listing of the fields avail. to $node
+ //print '<pre>'.print_r($node,TRUE).'</pre>';
+?>
+
+

+ 28 - 8
tripal_pub/tripal_pub.install

@@ -18,7 +18,12 @@
 function tripal_pub_install() {
 
 	drupal_install_schema('tripal_pub');
-	
+	$dbxref = array('accession' => 'abstract', 'db_id'=>array('name'=>'tripal'));
+	$success = tripal_core_chado_insert('dbxref',$dbxref);
+	if ($success) {
+		tripal_core_chado_insert('cvterm',array('name'=>'abstract','cv_id'=>array('name'=>'tripal'), 'db
+xref_id'=>$dbxref));
+	}
 }
 
 
@@ -26,7 +31,7 @@ function tripal_pub_install() {
  * Implementation of hook_uninstall() 
  */
 function tripal_pub_uninstall() {
-
+	//Remove tables
 	drupal_uninstall_schema('tripal_pub');
 	
 }
@@ -36,8 +41,7 @@ function tripal_pub_uninstall() {
  * Implementation of hook_schema()
  */
 function tripal_pub_schema() {
-
-	//specification for 'tripal_pub_instances'
+//specification for 'tripal_pub_instances'
 	$schema['chado_pub'] = array(
 		
 		'fields' => array(
@@ -60,14 +64,30 @@ function tripal_pub_schema() {
    	   	'type' => 'int',
    	   	'unsigned' => TRUE,
    	   	'not null' => TRUE,
-    	)	 	
-  	  	
-    ),//end of shema
+    	),	
+    	
+    	 //a intfield, not null and project_id is the unique_id of the project in chado
+    	 'pubmed_id' => array(
+   	   	'type' => 'int',
+   	   	'unsigned' => TRUE,
+   	   	'not null' => FALSE,
+    	),
+    	'author' => array(
+        'type' => 'text',
+        'size' => 'normal',
+        'not null' => TRUE,
+        'default' => '',
+        'description' => 'The Author Name.',
+      ),
+  	 ), 	
+     //end of shema
   	
-  	'primary key' => array('nid','vid','pub_id'),
+  	'primary key' => array('nid'),
 	
 	);
 
   return $schema;
 }
 
+
+

File diff suppressed because it is too large
+ 741 - 253
tripal_pub/tripal_pub.module


Some files were not shown because too many files changed in this diff