123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- <?php
-
- function tripal_custom_generate_linkout($url_prefix, $hit, $info, $options = array()) {
- $url = false;
- $hit_name = $hit->{'Hit_def'};
- if ($info['Target'] == 'All genomes') {
- if (preg_match('/^aradu/', $hit_name) == 1) {
- $blastdb_name = 'PeanutBase_aradu_gbrowse';
- }
- else if (preg_match('/^araip/', $hit_name) == 1) {
- $blastdb_name = 'PeanutBase_araip_gbrowse';
- }
- else if (preg_match('/^cajca/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_cajca_gbrowse';
- }
- else if (preg_match('/^cicar/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_cicar_gbrowse';
- }
- else if (preg_match('/^glyma/', $hit_name) == 1) {
- $blastdb_name = 'SoyBase_glyma_gbrowse';
- }
- else if (preg_match('/^lotja/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_lotja_gbrowse';
- }
- else if (preg_match('/^medtr/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_medtr_gbrowse';
- }
- else if (preg_match('/^phavu/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_phavu_gbrowse';
- }
- else if (preg_match('/^vigra/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_vigra_gbrowse';
- }
- else {
-
- drupal_set_message("Don't know how to create GBrowse linkout for $hit_name", 'error');
- }
- $hit_name = preg_replace("/^\w+\.(\S+).*/", '$1', $hit_name);
- $hit->{'linkout_id'} = $hit_name;
- if ($blastdb_info = tripal_custom_getBLASTdbinfo($blastdb_name)) {
- $url = tripal_blast_generate_linkout_gbrowse($blastdb_info['urlprefix'], $hit, $info, $options);
- }
- }
-
- else {
-
- $regex = "/^\w+\.(\S+)/";
-
- if (preg_match('/^aradu/', $hit_name) == 1) {
- $blastdb_name = 'PeanutBase_aradu_gene';
- }
- else if (preg_match('/^araip/', $hit_name) == 1) {
- $blastdb_name = 'PeanutBase_araip_gene';
- }
- else if (preg_match('/^cajca/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_cajca_gene';
- }
- else if (preg_match('/^cicar/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_cicar_gene';
- }
- else if (preg_match('/^glyma/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_glyma_gene';
- if (preg_match("/^\w+\.(\S+)\.p/", $hit_name)) {
-
- $regex = "/^\w+\.(\S+)\.p/";
- }
- }
- else if (preg_match('/^lotja/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_lotja_gene';
- }
- else if (preg_match('/^medtr/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_medtr_gene';
- }
- else if (preg_match('/^phavu/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_phavu_gene';
- }
- else if (preg_match('/^vigra/', $hit_name) == 1) {
- $blastdb_name = 'LegumeInfo_vigra_gene';
- }
- else {
-
- drupal_set_message("Don't know how to create linkout for $hit_name", 'error');
- }
- $hit_name = preg_match($regex, $hit_name, $matches);
- $hit->{'linkout_id'} = $matches[1];
- if ($blastdb_info = tripal_custom_getBLASTdbinfo($blastdb_name)) {
- $url = tripal_blast_generate_linkout_link($blastdb_info['urlprefix'], $hit, $info, $options);
- }
- }
- return $url;
- }
- function tripal_custom_getBLASTdbinfo($blastdb_name) {
- $sql = "
- SELECT urlprefix
- FROM {db} WHERE name='$blastdb_name'";
- if ($res = chado_query($sql)) {
- if ($row=$res->fetchObject()) {
- return array(
- 'urlprefix' => $row->urlprefix,
- );
- }
- }
-
- return false;
- }
|