123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <?php
- /**
- * @file
- * Contains hooks to handle installation of this module.
- *
- * Specifically, a database table (blastdb) is created to store additional information
- * related to blast database nodes such as the name/path to the NCBI BLAST database files
- * and the type (protein or nucleotide) of the database.
- */
- /**
- * Implements hook_install().
- */
- function blast_ui_install() {
- tripal_create_files_dir('tripal_blast');
- }
- /**
- * Implements hook_schema().
- * Create the blastdb database table for storing addditional info related to blastdb nodes.
- *
- * NOTE: This hook is called via Drupal magic during the installation process and no longer
- * needs to be called explicitly in hook_install().
- */
- function blast_ui_schema(){
- $schema['blastdb'] = array(
- 'description' => t('The base table for blastdb node'),
- 'fields' => array(
- 'nid' => array(
- 'description' => t('The primary identifier for a node.'),
- 'type' => 'serial',
- 'unsigned' => true,
- 'not null' => true,
- ),
- 'name' => array(
- 'description' => t('The human-readable name of the blast database.'),
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => true,
- ),
- 'path' => array(
- 'description' => t('The full path and filename prefix of the blast database.'),
- 'type' => 'varchar',
- 'length' => 1023,
- 'not null' => true,
- ),
- 'dbtype' => array(
- 'description' => t('Type of the blast database. Should be either n for nucleotide or p for protein.'),
- 'type' => 'varchar',
- 'length' => 15,
- 'not null' => true,
- ),
- 'dbxref_id_regex' => array(
- 'description' => t('The Regular Expression to use to extract the id from the FASTA header of the BLAST database hit.'),
- 'type' => 'text',
- ),
- 'dbxref_db_id' => array(
- 'description' => t('The Database records from this BLAST Database reference.'),
- 'type' => 'int',
- ),
- 'dbxref_linkout_type' => array(
- 'description' => t('Type of linkout to be used for this database reference.'),
- 'type' => 'varchar',
- 'length' => 50,
- 'not null' => true,
- 'default' => 'link'
- ),
- ),
-
- 'indexes' => array(
- 'name' => array('name'),
- ),
-
- 'primary key' => array('nid'),
- 'unique keys' => array(
- 'nid' => array('nid'),
- ),
- );
- return $schema;
- }
- /**
- * Make BlastDB type more readable & support Link-outs for BLAST Hits.
- */
- function blast_ui_update_7101() {
- // Changing the length of the type field to allow it to be more readable.
- db_change_field('blastdb', 'dbtype', 'dbtype',
- array(
- 'description' => t('Type of the blast database. Should be either n for nucleotide or p for protein.'),
- 'type' => 'varchar',
- 'length' => 15,
- 'not null' => true,
- )
- );
- // Add fields related to Link-outs
- db_add_field(
- 'blastdb',
- 'dbxref_id_regex',
- array(
- 'description' => t('The Regular Expression to use to extract the id from the FASTA header of the BLAST database hit.'),
- 'type' => 'text',
- )
- );
- db_add_field(
- 'blastdb',
- 'dbxref_db_id',
- array(
- 'description' => t('The Database records from this BLAST Database reference.'),
- 'type' => 'int',
- )
- );
- }
- /**
- * Support complex types of link-outs such as GBrowse & JBrowse coordinate links.
- */
- function blast_ui_update_7102() {
- db_add_field(
- 'blastdb',
- 'dbxref_linkout_type',
- array(
- 'description' => t('Type of linkout to be used for this database reference.'),
- 'type' => 'varchar',
- 'length' => 50,
- 'not null' => true,
- 'default' => 'link'
- )
- );
- }
|