tripal_search_unigene.views.inc 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952
  1. <?php
  2. /*************************************************************************
  3. * tripal_search_unigene_views_data()
  4. */
  5. function tripal_search_unigene_views_data() {
  6. global $db_url;
  7. $data = array();
  8. // if the chado database is not local to the drupal database
  9. // then we need to set the database name. This should always
  10. // be 'chado'.
  11. if(is_array($db_url) and array_key_exists('chado', $db_url)) {
  12. $database = 'chado';
  13. }
  14. // Basic table definition
  15. $data['unigene_for_search']['table']['group'] = 'Tripal Search feature';
  16. $data['unigene_for_search']['table']['base'] = array(
  17. 'field' => 'unigene_for_search_id',
  18. 'title' => t('Chado Feature with searchable annotations'),
  19. 'help' => t('A materialized view for feature is generated to enable the search for different annotations'),
  20. );
  21. if ($database) {
  22. $data['unigene_for_search']['table']['base']['database'] = $database;
  23. }
  24. // Table Field Definitions----------------------
  25. // Field: feature_id (integer)
  26. $data['unigene_for_search']['unigene_for_search_id'] = array(
  27. 'title' => t('unigene_for_search ID'),
  28. 'help' => t('The primary key of unigene_for_search'),
  29. 'field' => array(
  30. 'handler' => 'views_handler_field_numeric',
  31. 'click sortable' => TRUE,
  32. ),
  33. 'sort' => array(
  34. 'handler' => 'views_handler_sort',
  35. ),
  36. 'filter' => array(
  37. 'handler' => 'views_handler_filter_numeric',
  38. ),
  39. );
  40. // Field: feature_id (integer)
  41. $data['unigene_for_search']['feature_id'] = array(
  42. 'title' => t('feature ID'),
  43. 'help' => t('The primary key of a feature'),
  44. 'field' => array(
  45. 'handler' => 'views_handler_field_numeric',
  46. 'click sortable' => TRUE,
  47. ),
  48. 'sort' => array(
  49. 'handler' => 'views_handler_sort',
  50. ),
  51. 'filter' => array(
  52. 'handler' => 'views_handler_filter_numeric',
  53. ),
  54. );
  55. // Field: name (character varying(1024))
  56. $data['unigene_for_search']['feature_type'] = array(
  57. 'title' => t('feature_type'),
  58. 'help' => t('Type of the feature'),
  59. 'field' => array(
  60. 'handler' => 'views_handler_field',
  61. 'click sortable' => TRUE,
  62. ),
  63. 'sort' => array(
  64. 'handler' => 'views_handler_sort',
  65. ),
  66. 'filter' => array(
  67. 'handler' => 'views_handler_filter_feature_type_id',
  68. ),
  69. 'argument' => array(
  70. 'handler' => 'views_handler_argument_string',
  71. ),
  72. );
  73. // Field: name (character varying(255),)
  74. $data['unigene_for_search']['feature_name'] = array(
  75. 'title' => t('feature_name'),
  76. 'help' => t('The optional human-readable common name for a feature, for display purposes.'),
  77. 'field' => array(
  78. 'handler' => 'views_handler_field',
  79. 'click sortable' => TRUE,
  80. ),
  81. 'sort' => array(
  82. 'handler' => 'views_handler_sort',
  83. ),
  84. 'filter' => array(
  85. 'handler' => 'views_handler_filter_string',
  86. ),
  87. 'argument' => array(
  88. 'handler' => 'views_handler_argument_string',
  89. ),
  90. );
  91. // Field: uniquename (text)
  92. $data['unigene_for_search']['feature_uniquename'] = array(
  93. 'title' => t('feature_uniquename'),
  94. 'help' => t('The unique name for a feature; may not be necessarily be particularly human-readable, although this is preferred. This name must be unique for this type of feature within this organism.'),
  95. 'field' => array(
  96. 'handler' => 'views_handler_field',
  97. 'click sortable' => TRUE,
  98. ),
  99. 'sort' => array(
  100. 'handler' => 'views_handler_sort',
  101. ),
  102. 'filter' => array(
  103. 'handler' => 'views_handler_filter_string',
  104. ),
  105. 'argument' => array(
  106. 'handler' => 'views_handler_argument_string',
  107. ),
  108. );
  109. // Field: is_obsolete (boolean)
  110. $data['unigene_for_search']['feature_is_obsolete'] = array(
  111. 'title' => t('feature_is_obsolete'),
  112. 'help' => t('Boolean indicating whether this feature has been obsoleted. Some chado instances may choose to simply remove the feature altogether, others may choose to keep an obsolete row in the table.'),
  113. 'field' => array(
  114. 'handler' => 'views_handler_field',
  115. 'click sortable' => TRUE,
  116. ),
  117. 'sort' => array(
  118. 'handler' => 'views_handler_sort',
  119. ),
  120. 'filter' => array(
  121. 'handler' => 'views_handler_filter_boolean_operator_string',
  122. ),
  123. );
  124. // Field: common name (varchar 255)
  125. $data['unigene_for_search']['organism_common_name'] = array(
  126. 'title' => 'organism_common_name',
  127. 'help' => 'The common name of the organism.',
  128. 'field' => array(
  129. 'handler' => 'views_handler_field',
  130. 'click sortable' => TRUE,
  131. ),
  132. 'sort' => array(
  133. 'handler' => 'views_handler_sort',
  134. ),
  135. 'filter' => array(
  136. 'handler' => 'views_handler_filter_organism_common_name',
  137. ),
  138. 'argument' => array(
  139. 'handler' => 'views_handler_argument_string',
  140. ),
  141. );
  142. // Field: seqlen (integer)
  143. $data['unigene_for_search']['feature_seqlen'] = array(
  144. 'title' => t('feature_seqlen'),
  145. 'help' => t('The length of the residue feature. See column:residues. This column is partially redundant with the residues column, and also with featureloc. This column is required because the location may be unknown and the residue sequence may not be manifested, yet it may be desirable to store and query the length of the feature. The seqlen should always be manifested where the length of the sequence is known.'),
  146. 'field' => array(
  147. 'handler' => 'views_handler_field_numeric',
  148. 'click sortable' => TRUE,
  149. ),
  150. 'sort' => array(
  151. 'handler' => 'views_handler_sort',
  152. ),
  153. 'filter' => array(
  154. 'handler' => 'views_handler_filter_numeric',
  155. ),
  156. );
  157. // Field: name (character varying(1024))
  158. $data['unigene_for_search']['go_term'] = array(
  159. 'title' => t('go_term'),
  160. 'help' => t('GO Terms associated with a feature'),
  161. 'field' => array(
  162. 'handler' => 'views_handler_field',
  163. 'click sortable' => TRUE,
  164. ),
  165. 'sort' => array(
  166. 'handler' => 'views_handler_sort',
  167. ),
  168. 'filter' => array(
  169. 'handler' => 'views_handler_filter_string',
  170. ),
  171. 'argument' => array(
  172. 'handler' => 'views_handler_argument_string',
  173. ),
  174. );
  175. // Field: name (character varying(255),)
  176. $data['unigene_for_search']['unigene'] = array(
  177. 'title' => t('unigene'),
  178. 'help' => t('Unigene analysis name.'),
  179. 'field' => array(
  180. 'handler' => 'views_handler_field',
  181. 'click sortable' => TRUE,
  182. ),
  183. 'sort' => array(
  184. 'handler' => 'views_handler_sort',
  185. ),
  186. 'filter' => array(
  187. 'handler' => 'views_handler_filter_analysis_name',
  188. ),
  189. 'argument' => array(
  190. 'handler' => 'views_handler_argument_string',
  191. ),
  192. );
  193. // Field: value (text,)
  194. $data['unigene_for_search']['blast_value'] = array(
  195. 'title' => t('value'),
  196. 'help' => t(''),
  197. 'field' => array(
  198. 'handler' => 'views_handler_field',
  199. 'click sortable' => TRUE,
  200. ),
  201. 'sort' => array(
  202. 'handler' => 'views_handler_sort',
  203. ),
  204. 'filter' => array(
  205. 'handler' => 'views_handler_filter_string',
  206. ),
  207. 'argument' => array(
  208. 'handler' => 'views_handler_argument_string',
  209. ),
  210. );
  211. // Field: value (text,)
  212. $data['unigene_for_search']['kegg_value'] = array(
  213. 'title' => t('value'),
  214. 'help' => t(''),
  215. 'field' => array(
  216. 'handler' => 'views_handler_field',
  217. 'click sortable' => TRUE,
  218. ),
  219. 'sort' => array(
  220. 'handler' => 'views_handler_sort',
  221. ),
  222. 'filter' => array(
  223. 'handler' => 'views_handler_filter_string',
  224. ),
  225. 'argument' => array(
  226. 'handler' => 'views_handler_argument_string',
  227. ),
  228. );
  229. // Field: value (text,)
  230. $data['unigene_for_search']['interpro_value'] = array(
  231. 'title' => t('value'),
  232. 'help' => t(''),
  233. 'field' => array(
  234. 'handler' => 'views_handler_field',
  235. 'click sortable' => TRUE,
  236. ),
  237. 'sort' => array(
  238. 'handler' => 'views_handler_sort',
  239. ),
  240. 'filter' => array(
  241. 'handler' => 'views_handler_filter_string',
  242. ),
  243. 'argument' => array(
  244. 'handler' => 'views_handler_argument_string',
  245. ),
  246. );
  247. return $data;
  248. }
  249. /*************************************************************************
  250. * tripal_search_unigene_views_handlers
  251. */
  252. function tripal_search_unigene_views_handlers() {
  253. return array(
  254. 'info' => array(
  255. 'path' => drupal_get_path('module', 'tripal_search_unigene'),
  256. ),
  257. 'handlers' => array(
  258. 'views_handler_filter_organism_common_name' => array(
  259. 'parent' => 'views_handler_filter_string'
  260. ),
  261. 'views_handler_filter_analysis_name' => array(
  262. 'parent' => 'views_handler_filter_string'
  263. ),
  264. 'views_handler_filter_feature_type_id' => array(
  265. 'parent' => 'views_handler_filter_numeric'
  266. ),
  267. ),
  268. );
  269. }
  270. /*************************************************************************
  271. * tripal_search_unigene_views_default_views
  272. */
  273. function tripal_search_unigene_views_default_views () {
  274. $views = array();
  275. $view = new view;
  276. $view->name = 'unigene_search';
  277. $view->description = 'Unigene Search';
  278. $view->tag = '';
  279. $view->view_php = '';
  280. $view->base_table = 'unigene_for_search';
  281. $view->is_cacheable = FALSE;
  282. $view->api_version = 2;
  283. $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
  284. $handler = $view->new_display('default', 'Defaults', 'default');
  285. $handler->override_option('fields', array(
  286. 'counter' => array(
  287. 'label' => '#',
  288. 'alter' => array(
  289. 'alter_text' => 0,
  290. 'text' => '',
  291. 'make_link' => 0,
  292. 'path' => '',
  293. 'link_class' => '',
  294. 'alt' => '',
  295. 'prefix' => '',
  296. 'suffix' => '',
  297. 'target' => '',
  298. 'help' => '',
  299. 'trim' => 0,
  300. 'max_length' => '',
  301. 'word_boundary' => 1,
  302. 'ellipsis' => 1,
  303. 'html' => 0,
  304. 'strip_tags' => 0,
  305. ),
  306. 'empty' => '',
  307. 'hide_empty' => 0,
  308. 'empty_zero' => 0,
  309. 'counter_start' => '1',
  310. 'exclude' => 0,
  311. 'id' => 'counter',
  312. 'table' => 'views',
  313. 'field' => 'counter',
  314. 'relationship' => 'none',
  315. ),
  316. 'feature_id' => array(
  317. 'label' => 'feature ID',
  318. 'alter' => array(
  319. 'alter_text' => 0,
  320. 'text' => '',
  321. 'make_link' => 0,
  322. 'path' => '',
  323. 'link_class' => '',
  324. 'alt' => '',
  325. 'prefix' => '',
  326. 'suffix' => '',
  327. 'target' => '',
  328. 'help' => '',
  329. 'trim' => 0,
  330. 'max_length' => '',
  331. 'word_boundary' => 1,
  332. 'ellipsis' => 1,
  333. 'html' => 0,
  334. 'strip_tags' => 0,
  335. ),
  336. 'empty' => '',
  337. 'hide_empty' => 0,
  338. 'empty_zero' => 0,
  339. 'set_precision' => FALSE,
  340. 'precision' => 0,
  341. 'decimal' => '.',
  342. 'separator' => '',
  343. 'prefix' => '',
  344. 'suffix' => '',
  345. 'exclude' => 1,
  346. 'id' => 'feature_id',
  347. 'table' => 'unigene_for_search',
  348. 'field' => 'feature_id',
  349. 'relationship' => 'none',
  350. ),
  351. 'feature_name' => array(
  352. 'label' => 'Sequence',
  353. 'alter' => array(
  354. 'alter_text' => 0,
  355. 'text' => '',
  356. 'make_link' => 1,
  357. 'path' => 'ID[feature_id]',
  358. 'link_class' => '',
  359. 'alt' => '',
  360. 'prefix' => '',
  361. 'suffix' => '',
  362. 'target' => '',
  363. 'help' => '',
  364. 'trim' => 0,
  365. 'max_length' => '',
  366. 'word_boundary' => 1,
  367. 'ellipsis' => 1,
  368. 'html' => 0,
  369. 'strip_tags' => 0,
  370. ),
  371. 'empty' => '',
  372. 'hide_empty' => 0,
  373. 'empty_zero' => 0,
  374. 'exclude' => 0,
  375. 'id' => 'feature_name',
  376. 'table' => 'unigene_for_search',
  377. 'field' => 'feature_name',
  378. 'relationship' => 'none',
  379. ),
  380. 'organism_common_name' => array(
  381. 'label' => 'Organism',
  382. 'alter' => array(
  383. 'alter_text' => 0,
  384. 'text' => '',
  385. 'make_link' => 0,
  386. 'path' => '',
  387. 'link_class' => '',
  388. 'alt' => '',
  389. 'prefix' => '',
  390. 'suffix' => '',
  391. 'target' => '',
  392. 'help' => '',
  393. 'trim' => 0,
  394. 'max_length' => '',
  395. 'word_boundary' => 1,
  396. 'ellipsis' => 1,
  397. 'html' => 0,
  398. 'strip_tags' => 0,
  399. ),
  400. 'empty' => '',
  401. 'hide_empty' => 0,
  402. 'empty_zero' => 0,
  403. 'exclude' => 0,
  404. 'id' => 'organism_common_name',
  405. 'table' => 'unigene_for_search',
  406. 'field' => 'organism_common_name',
  407. 'relationship' => 'none',
  408. ),
  409. 'feature_seqlen' => array(
  410. 'label' => 'Length',
  411. 'alter' => array(
  412. 'alter_text' => 1,
  413. 'text' => '[feature_seqlen] bp',
  414. 'make_link' => 0,
  415. 'path' => '',
  416. 'link_class' => '',
  417. 'alt' => '',
  418. 'prefix' => '',
  419. 'suffix' => '',
  420. 'target' => '',
  421. 'help' => '',
  422. 'trim' => 0,
  423. 'max_length' => '',
  424. 'word_boundary' => 1,
  425. 'ellipsis' => 1,
  426. 'html' => 0,
  427. 'strip_tags' => 0,
  428. ),
  429. 'empty' => '',
  430. 'hide_empty' => 0,
  431. 'empty_zero' => 0,
  432. 'set_precision' => FALSE,
  433. 'precision' => 0,
  434. 'decimal' => '.',
  435. 'separator' => ',',
  436. 'prefix' => '',
  437. 'suffix' => '',
  438. 'exclude' => 0,
  439. 'id' => 'feature_seqlen',
  440. 'table' => 'unigene_for_search',
  441. 'field' => 'feature_seqlen',
  442. 'relationship' => 'none',
  443. ),
  444. 'feature_type' => array(
  445. 'label' => 'Type',
  446. 'alter' => array(
  447. 'alter_text' => 0,
  448. 'text' => '',
  449. 'make_link' => 0,
  450. 'path' => '',
  451. 'link_class' => '',
  452. 'alt' => '',
  453. 'prefix' => '',
  454. 'suffix' => '',
  455. 'target' => '',
  456. 'help' => '',
  457. 'trim' => 0,
  458. 'max_length' => '',
  459. 'word_boundary' => 1,
  460. 'ellipsis' => 1,
  461. 'html' => 0,
  462. 'strip_tags' => 0,
  463. ),
  464. 'empty' => '',
  465. 'hide_empty' => 0,
  466. 'empty_zero' => 0,
  467. 'exclude' => 0,
  468. 'id' => 'feature_type',
  469. 'table' => 'unigene_for_search',
  470. 'field' => 'feature_type',
  471. 'relationship' => 'none',
  472. ),
  473. 'go_term' => array(
  474. 'label' => 'GO Term',
  475. 'alter' => array(
  476. 'alter_text' => 0,
  477. 'text' => '',
  478. 'make_link' => 0,
  479. 'path' => '',
  480. 'link_class' => '',
  481. 'alt' => '',
  482. 'prefix' => '',
  483. 'suffix' => '',
  484. 'target' => '',
  485. 'help' => '',
  486. 'trim' => 0,
  487. 'max_length' => '',
  488. 'word_boundary' => 1,
  489. 'ellipsis' => 1,
  490. 'html' => 0,
  491. 'strip_tags' => 0,
  492. ),
  493. 'empty' => '',
  494. 'hide_empty' => 0,
  495. 'empty_zero' => 0,
  496. 'exclude' => 0,
  497. 'id' => 'go_term',
  498. 'table' => 'unigene_for_search',
  499. 'field' => 'go_term',
  500. 'relationship' => 'none',
  501. ),
  502. 'blast_value' => array(
  503. 'label' => 'Blast',
  504. 'alter' => array(
  505. 'alter_text' => 0,
  506. 'text' => '',
  507. 'make_link' => 0,
  508. 'path' => '',
  509. 'link_class' => '',
  510. 'alt' => '',
  511. 'prefix' => '',
  512. 'suffix' => '',
  513. 'target' => '',
  514. 'help' => '',
  515. 'trim' => 1,
  516. 'max_length' => '200',
  517. 'word_boundary' => 0,
  518. 'ellipsis' => 1,
  519. 'html' => 0,
  520. 'strip_tags' => 0,
  521. ),
  522. 'empty' => '',
  523. 'hide_empty' => 0,
  524. 'empty_zero' => 0,
  525. 'exclude' => 0,
  526. 'id' => 'blast_value',
  527. 'table' => 'unigene_for_search',
  528. 'field' => 'blast_value',
  529. 'relationship' => 'none',
  530. ),
  531. 'kegg_value' => array(
  532. 'label' => 'KEGG',
  533. 'alter' => array(
  534. 'alter_text' => 0,
  535. 'text' => '',
  536. 'make_link' => 0,
  537. 'path' => '',
  538. 'link_class' => '',
  539. 'alt' => '',
  540. 'prefix' => '',
  541. 'suffix' => '',
  542. 'target' => '',
  543. 'help' => '',
  544. 'trim' => 1,
  545. 'max_length' => '200',
  546. 'word_boundary' => 0,
  547. 'ellipsis' => 1,
  548. 'html' => 0,
  549. 'strip_tags' => 0,
  550. ),
  551. 'empty' => '',
  552. 'hide_empty' => 0,
  553. 'empty_zero' => 0,
  554. 'exclude' => 0,
  555. 'id' => 'kegg_value',
  556. 'table' => 'unigene_for_search',
  557. 'field' => 'kegg_value',
  558. 'relationship' => 'none',
  559. ),
  560. 'interpro_value' => array(
  561. 'label' => 'Interpro',
  562. 'alter' => array(
  563. 'alter_text' => 0,
  564. 'text' => '',
  565. 'make_link' => 0,
  566. 'path' => '',
  567. 'link_class' => '',
  568. 'alt' => '',
  569. 'prefix' => '',
  570. 'suffix' => '',
  571. 'target' => '',
  572. 'help' => '',
  573. 'trim' => 1,
  574. 'max_length' => '200',
  575. 'word_boundary' => 0,
  576. 'ellipsis' => 1,
  577. 'html' => 0,
  578. 'strip_tags' => 0,
  579. ),
  580. 'empty' => '',
  581. 'hide_empty' => 0,
  582. 'empty_zero' => 0,
  583. 'exclude' => 0,
  584. 'id' => 'interpro_value',
  585. 'table' => 'unigene_for_search',
  586. 'field' => 'interpro_value',
  587. 'relationship' => 'none',
  588. ),
  589. ));
  590. $handler->override_option('arguments', array(
  591. 'null' => array(
  592. 'default_action' => 'default',
  593. 'style_plugin' => 'default_summary',
  594. 'style_options' => array(),
  595. 'wildcard' => 'all',
  596. 'wildcard_substitution' => 'All',
  597. 'title' => '',
  598. 'breadcrumb' => '',
  599. 'default_argument_type' => 'fixed',
  600. 'default_argument' => '',
  601. 'validate_type' => 'php',
  602. 'validate_fail' => 'empty',
  603. 'must_not_be' => 0,
  604. 'id' => 'null',
  605. 'table' => 'views',
  606. 'field' => 'null',
  607. 'validate_user_argument_type' => 'uid',
  608. 'validate_user_roles' => array(
  609. '2' => 0,
  610. '3' => 0,
  611. '5' => 0,
  612. '4' => 0,
  613. ),
  614. 'relationship' => 'none',
  615. 'default_options_div_prefix' => '',
  616. 'default_argument_fixed' => '',
  617. 'default_argument_user' => 0,
  618. 'default_argument_php' => '',
  619. 'validate_argument_node_type' => array(
  620. 'iframe' => 0,
  621. 'news' => 0,
  622. 'chado_analysis' => 0,
  623. 'chado_analysis_blast' => 0,
  624. 'chado_analysis_interpro' => 0,
  625. 'chado_analysis_kegg' => 0,
  626. 'chado_analysis_unigene' => 0,
  627. 'chado_feature' => 0,
  628. 'chado_library' => 0,
  629. 'chado_organism' => 0,
  630. 'calendar_event' => 0,
  631. 'page' => 0,
  632. 'story' => 0,
  633. ),
  634. 'validate_argument_node_access' => 0,
  635. 'validate_argument_nid_type' => 'nid',
  636. 'validate_argument_vocabulary' => array(
  637. '17' => 0,
  638. '13' => 0,
  639. '14' => 0,
  640. '15' => 0,
  641. '16' => 0,
  642. '9' => 0,
  643. '10' => 0,
  644. '11' => 0,
  645. '12' => 0,
  646. '5' => 0,
  647. '6' => 0,
  648. '7' => 0,
  649. '8' => 0,
  650. ),
  651. 'validate_argument_type' => 'tid',
  652. 'validate_argument_transform' => 0,
  653. 'validate_user_restrict_roles' => 0,
  654. 'validate_argument_php' => 'if (count($view->exposed_input)) {
  655. return TRUE;
  656. }',
  657. ),
  658. ));
  659. $handler->override_option('filters', array(
  660. 'feature_name' => array(
  661. 'operator' => 'contains',
  662. 'value' => '',
  663. 'group' => '0',
  664. 'exposed' => TRUE,
  665. 'expose' => array(
  666. 'use_operator' => 1,
  667. 'operator' => 'feature_name_op',
  668. 'identifier' => 'feature_name',
  669. 'label' => 'sequence name',
  670. 'optional' => 1,
  671. 'remember' => 0,
  672. ),
  673. 'case' => 0,
  674. 'id' => 'feature_name',
  675. 'table' => 'unigene_for_search',
  676. 'field' => 'feature_name',
  677. 'relationship' => 'none',
  678. ),
  679. 'feature_seqlen' => array(
  680. 'operator' => '>=',
  681. 'value' => array(
  682. 'value' => '',
  683. 'min' => '',
  684. 'max' => '',
  685. ),
  686. 'group' => '0',
  687. 'exposed' => TRUE,
  688. 'expose' => array(
  689. 'use_operator' => 1,
  690. 'operator' => 'feature_seqlen_op',
  691. 'identifier' => 'feature_seqlen',
  692. 'label' => 'sequence length (bp)',
  693. 'optional' => 1,
  694. 'remember' => 0,
  695. ),
  696. 'id' => 'feature_seqlen',
  697. 'table' => 'unigene_for_search',
  698. 'field' => 'feature_seqlen',
  699. 'relationship' => 'none',
  700. ),
  701. 'feature_type' => array(
  702. 'operator' => '=',
  703. 'value' => '260',
  704. 'group' => '0',
  705. 'exposed' => TRUE,
  706. 'expose' => array(
  707. 'use_operator' => 0,
  708. 'operator' => 'feature_type_op',
  709. 'identifier' => 'feature_type',
  710. 'label' => 'type of sequence',
  711. 'optional' => 1,
  712. 'remember' => 0,
  713. ),
  714. 'case' => 0,
  715. 'id' => 'feature_type',
  716. 'table' => 'unigene_for_search',
  717. 'field' => 'feature_type',
  718. 'relationship' => 'none',
  719. ),
  720. 'go_term' => array(
  721. 'operator' => 'contains',
  722. 'value' => '',
  723. 'group' => '0',
  724. 'exposed' => TRUE,
  725. 'expose' => array(
  726. 'use_operator' => 1,
  727. 'operator' => 'go_term_op',
  728. 'identifier' => 'go_term',
  729. 'label' => 'GO term',
  730. 'optional' => 1,
  731. 'remember' => 0,
  732. ),
  733. 'case' => 0,
  734. 'id' => 'go_term',
  735. 'table' => 'unigene_for_search',
  736. 'field' => 'go_term',
  737. 'relationship' => 'none',
  738. ),
  739. 'organism_common_name' => array(
  740. 'operator' => '=',
  741. 'value' => 'chickpea',
  742. 'group' => '0',
  743. 'exposed' => TRUE,
  744. 'expose' => array(
  745. 'use_operator' => 0,
  746. 'operator' => 'organism_common_name_op',
  747. 'identifier' => 'organism_common_name',
  748. 'label' => 'organism',
  749. 'optional' => 1,
  750. 'remember' => 0,
  751. ),
  752. 'case' => 0,
  753. 'id' => 'organism_common_name',
  754. 'table' => 'unigene_for_search',
  755. 'field' => 'organism_common_name',
  756. 'relationship' => 'none',
  757. ),
  758. 'unigene' => array(
  759. 'operator' => '=',
  760. 'value' => 'Cicer arietinum unigene v1',
  761. 'group' => '0',
  762. 'exposed' => TRUE,
  763. 'expose' => array(
  764. 'use_operator' => 0,
  765. 'operator' => 'unigene_op',
  766. 'identifier' => 'unigene',
  767. 'label' => 'belongs to unigene',
  768. 'optional' => 1,
  769. 'remember' => 0,
  770. ),
  771. 'case' => 0,
  772. 'id' => 'unigene',
  773. 'table' => 'unigene_for_search',
  774. 'field' => 'unigene',
  775. 'relationship' => 'none',
  776. ),
  777. 'interpro_value' => array(
  778. 'operator' => 'contains',
  779. 'value' => '',
  780. 'group' => '0',
  781. 'exposed' => TRUE,
  782. 'expose' => array(
  783. 'use_operator' => 1,
  784. 'operator' => 'interpro_value_op',
  785. 'identifier' => 'interpro_value',
  786. 'label' => 'interpro description',
  787. 'optional' => 1,
  788. 'remember' => 0,
  789. ),
  790. 'case' => 0,
  791. 'id' => 'interpro_value',
  792. 'table' => 'unigene_for_search',
  793. 'field' => 'interpro_value',
  794. 'relationship' => 'none',
  795. ),
  796. 'blast_value' => array(
  797. 'operator' => 'contains',
  798. 'value' => '',
  799. 'group' => '0',
  800. 'exposed' => TRUE,
  801. 'expose' => array(
  802. 'use_operator' => 1,
  803. 'operator' => 'blast_value_op',
  804. 'identifier' => 'blast_value',
  805. 'label' => 'blast description',
  806. 'optional' => 1,
  807. 'remember' => 0,
  808. ),
  809. 'case' => 0,
  810. 'id' => 'blast_value',
  811. 'table' => 'unigene_for_search',
  812. 'field' => 'blast_value',
  813. 'relationship' => 'none',
  814. ),
  815. 'kegg_value' => array(
  816. 'operator' => 'contains',
  817. 'value' => '',
  818. 'group' => '0',
  819. 'exposed' => TRUE,
  820. 'expose' => array(
  821. 'use_operator' => 1,
  822. 'operator' => 'kegg_value_op',
  823. 'identifier' => 'kegg_value',
  824. 'label' => 'kegg description',
  825. 'optional' => 1,
  826. 'remember' => 0,
  827. ),
  828. 'case' => 0,
  829. 'id' => 'kegg_value',
  830. 'table' => 'unigene_for_search',
  831. 'field' => 'kegg_value',
  832. 'relationship' => 'none',
  833. ),
  834. ));
  835. $handler->override_option('access', array(
  836. 'type' => 'none',
  837. ));
  838. $handler->override_option('cache', array(
  839. 'type' => 'none',
  840. ));
  841. $handler->override_option('title', 'Unigene Search');
  842. $handler->override_option('css_class', 'tripal-search-feature');
  843. $handler->override_option('empty', '<?php
  844. $view = views_get_current_view();
  845. if (count($view->exposed_input)) {
  846. drupal_set_message("Your search returns no results. Please adjust your search criteria and try again.");
  847. }
  848. ?>');
  849. $handler->override_option('empty_format', '3');
  850. $handler->override_option('use_pager', '1');
  851. $handler->override_option('style_plugin', 'table');
  852. $handler->override_option('style_options', array(
  853. 'grouping' => '',
  854. 'override' => 1,
  855. 'sticky' => 0,
  856. 'order' => 'asc',
  857. 'columns' => array(
  858. 'feature_id' => 'feature_id',
  859. 'feature_name' => 'feature_name',
  860. 'feature_seqlen' => 'feature_seqlen',
  861. 'feature_type' => 'feature_type',
  862. 'go_term' => 'go_term',
  863. 'organism_common_name' => 'organism_common_name',
  864. 'unigene' => 'unigene',
  865. 'blast_value' => 'blast_value',
  866. 'kegg_value' => 'kegg_value',
  867. 'interpro_value' => 'interpro_value',
  868. ),
  869. 'info' => array(
  870. 'feature_id' => array(
  871. 'sortable' => 1,
  872. 'separator' => '',
  873. ),
  874. 'feature_name' => array(
  875. 'sortable' => 1,
  876. 'separator' => '',
  877. ),
  878. 'feature_seqlen' => array(
  879. 'sortable' => 1,
  880. 'separator' => '',
  881. ),
  882. 'feature_type' => array(
  883. 'sortable' => 1,
  884. 'separator' => '',
  885. ),
  886. 'go_term' => array(
  887. 'sortable' => 1,
  888. 'separator' => '',
  889. ),
  890. 'organism_common_name' => array(
  891. 'sortable' => 1,
  892. 'separator' => '',
  893. ),
  894. 'unigene' => array(
  895. 'sortable' => 1,
  896. 'separator' => '',
  897. ),
  898. 'blast_value' => array(
  899. 'sortable' => 1,
  900. 'separator' => '',
  901. ),
  902. 'kegg_value' => array(
  903. 'sortable' => 1,
  904. 'separator' => '',
  905. ),
  906. 'interpro_value' => array(
  907. 'sortable' => 1,
  908. 'separator' => '',
  909. ),
  910. ),
  911. 'default' => '-1',
  912. ));
  913. $handler = $view->new_display('page', 'Page', 'page_1');
  914. $handler->override_option('path', 'unigene_search');
  915. $handler->override_option('menu', array(
  916. 'type' => 'normal',
  917. 'title' => 'Unigene Search',
  918. 'description' => 'Advanced Search for unigenes',
  919. 'weight' => '0',
  920. 'name' => 'primary-links',
  921. ));
  922. $handler->override_option('tab_options', array(
  923. 'type' => 'none',
  924. 'title' => '',
  925. 'description' => '',
  926. 'weight' => 0,
  927. 'name' => 'navigation',
  928. ));
  929. $views[$view->name] = $view;
  930. return $views;
  931. }