tripal_feature.api.inc 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. <?php
  2. /**
  3. * @file
  4. * @todo Add file header description
  5. */
  6. /**
  7. * Implements hook_chado_feature_schema()
  8. * Purpose: To add descriptions and foreign keys to default table description
  9. * Note: This array will be merged with the array from all other implementations
  10. *
  11. * @return
  12. * Array describing the feature table
  13. *
  14. * @ingroup tripal_schema_api
  15. */
  16. function tripal_feature_chado_schema_v1_11_feature() {
  17. $description = array();
  18. // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_feature()
  19. $description['foreign keys']['organism'] = array(
  20. 'table' => 'organism',
  21. 'columns' => array(
  22. 'organism_id' => 'organism_id',
  23. ),
  24. );
  25. $description['foreign keys']['dbxref'] = array(
  26. 'table' => 'dbxref',
  27. 'columns' => array(
  28. 'dbxref_id' => 'dbxref_id',
  29. ),
  30. );
  31. $description['foreign keys']['cvterm'] = array(
  32. 'table' => 'cvterm',
  33. 'columns' => array(
  34. 'type_id' => 'cvterm_id',
  35. ),
  36. );
  37. $referring_tables = array('analysisfeature',
  38. 'element',
  39. 'feature_cvterm',
  40. 'feature_dbxref',
  41. 'feature_expression',
  42. 'feature_genotype',
  43. 'feature_phenotype',
  44. 'feature_pub',
  45. 'feature_relationship',
  46. 'feature_synonym',
  47. 'featureloc',
  48. 'featurepos',
  49. 'featureprop',
  50. 'featurerange',
  51. 'library_feature',
  52. 'phylonode',
  53. 'wwwuser_feature'
  54. );
  55. $description['referring_tables'] = $referring_tables;
  56. return $description;
  57. }
  58. /**
  59. * Implements hook_chado_featureprop_schema()
  60. * Purpose: To add descriptions and foreign keys to default table description
  61. * Note: This array will be merged with the array from all other implementations
  62. *
  63. * @return
  64. * Array describing the featureprop table
  65. *
  66. * @ingroup tripal_schema_api
  67. */
  68. function tripal_feature_chado_schema_v1_11_featureprop() {
  69. $description = array();
  70. // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_featureprop()
  71. $description['foreign keys']['feature'] = array(
  72. 'table' => 'feature',
  73. 'columns' => array(
  74. 'feature_id' => 'feature_id',
  75. ),
  76. );
  77. $description['foreign keys']['cvterm'] = array(
  78. 'table' => 'cvterm',
  79. 'columns' => array(
  80. 'type_id' => 'cvterm_id',
  81. ),
  82. );
  83. $referring_tables = array('analysisfeature',
  84. 'featureprop_pub',
  85. );
  86. $description['referring_tables'] = $referring_tables;
  87. return $description;
  88. }
  89. /**
  90. * Implements hook_chado_schema_v1_11_table()
  91. * Purpose: To add descriptions and foreign keys to default table description
  92. * Note: This array will be merged with the array from all other implementations
  93. *
  94. * @return
  95. * Array describing the featureloc table
  96. *
  97. * @ingroup tripal_schema_api
  98. */
  99. function tripal_feature_chado_schema_v1_11_featureloc() {
  100. $description = array();
  101. $referring_tables = array('analysisfeature',
  102. 'featureloc_pub',
  103. );
  104. $description['referring_tables'] = $referring_tables;
  105. return $description;
  106. }
  107. /**
  108. * Implements hook_chado_schema_v1_2_table()
  109. * Purpose: To add descriptions and foreign keys to default table description
  110. * Note: This array will be merged with the array from all other implementations
  111. *
  112. * @return
  113. * Array describing the featureloc table
  114. *
  115. * @ingroup tripal_schema_api
  116. */
  117. function tripal_feature_chado_schema_v1_2_featureloc() {
  118. $description = array();
  119. $referring_tables = array('analysisfeature',
  120. 'featureloc_pub',
  121. );
  122. $description['referring_tables'] = $referring_tables;
  123. return $description;
  124. }
  125. /**
  126. * Implements hook_chado_feature_dbxref_schema()
  127. * Purpose: To add descriptions and foreign keys to default table description
  128. * Note: This array will be merged with the array from all other implementations
  129. *
  130. * @return
  131. * Array describing the feature_dbxref table
  132. *
  133. * @ingroup tripal_schema_api
  134. */
  135. function tripal_feature_chado_schema_v1_11_feature_dbxref() {
  136. $description = array();
  137. // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_feature_dbxref()
  138. $description['foreign keys']['feature'] = array(
  139. 'table' => 'feature',
  140. 'columns' => array(
  141. 'feature_id' => 'feature_id',
  142. ),
  143. );
  144. $description['foreign keys']['dbxref'] = array(
  145. 'table' => 'dbxref',
  146. 'columns' => array(
  147. 'dbxref_id' => 'dbxref_id',
  148. ),
  149. );
  150. return $description;
  151. }
  152. /**
  153. * Implements hook_chado_feature_relationship_schema()
  154. * Purpose: To add descriptions and foreign keys to default table description
  155. * Note: This array will be merged with the array from all other implementations
  156. *
  157. * @return
  158. * Array describing the feature_dbxref table
  159. *
  160. * @ingroup tripal_schema_api
  161. */
  162. function tripal_feature_chado_schema_v1_11_feature_relationship() {
  163. $description = array();
  164. // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_feature_dbxref()
  165. $description['foreign keys']['feature'] = array(
  166. 'table' => 'feature',
  167. 'columns' => array(
  168. 'object_id' => 'feature_id',
  169. 'subject_id' => 'feature_id',
  170. ),
  171. );
  172. $description['foreign keys']['cvterm'] = array(
  173. 'table' => 'cvterm',
  174. 'columns' => array(
  175. 'type_id' => 'cvterm_id',
  176. ),
  177. );
  178. return $description;
  179. }
  180. /**
  181. * Implements hook_chado_feature_relationship_schema()
  182. * Purpose: To add descriptions and foreign keys to default table description
  183. * Note: This array will be merged with the array from all other implementations
  184. *
  185. * @return
  186. * Array describing the feature_dbxref table
  187. *
  188. * @ingroup tripal_schema_api
  189. */
  190. function tripal_feature_chado_schema_v1_11_feature_cvterm() {
  191. $description = array();
  192. // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_feature_dbxref()
  193. $description['foreign keys']['feature'] = array(
  194. 'table' => 'feature',
  195. 'columns' => array(
  196. 'feature_id' => 'feature_id',
  197. ),
  198. );
  199. $description['foreign keys']['cvterm'] = array(
  200. 'table' => 'cvterm',
  201. 'columns' => array(
  202. 'cvterm_id' => 'cvterm_id',
  203. ),
  204. );
  205. $description['foreign keys']['pub'] = array(
  206. 'table' => 'pub',
  207. 'columns' => array(
  208. 'pub_id' => 'pub_id',
  209. ),
  210. );
  211. return $description;
  212. }
  213. /**
  214. *
  215. * @ingroup tripal_schema_api
  216. */
  217. function tripal_feature_chado_schema_v1_11_feature_synonym() {
  218. $description = array();
  219. // Default table description in tripal_core.schema.api.inc: tripal_core_chado_schema_v1_11_feature_dbxref()
  220. $description['foreign keys']['feature'] = array(
  221. 'table' => 'feature',
  222. 'columns' => array(
  223. 'feature_id' => 'feature_id',
  224. ),
  225. );
  226. $description['foreign keys']['synonym'] = array(
  227. 'table' => 'synonym',
  228. 'columns' => array(
  229. 'synonym_id' => 'synonym_id',
  230. ),
  231. );
  232. $description['foreign keys']['pub'] = array(
  233. 'table' => 'pub',
  234. 'columns' => array(
  235. 'pub_id' => 'pub_id',
  236. ),
  237. );
  238. return $description;
  239. }
  240. /**
  241. * Retrieve properties from the analysisfeatureprop table for a feature.
  242. *
  243. * @param $analysis_id
  244. * The analysis ID for the analysis feature. This argument is optional but
  245. * if specified it must also be accompanied with a feature ID.
  246. * @param $feature_id
  247. * The feature ID for the analysis feature. This argument is optional but
  248. * if specified it must also be accompanied with an analysis ID.
  249. * @param $analysisfeature_id
  250. * The analysis feature ID for the analysis feature. This argument is
  251. * optional and can be used rather than specifying the $analysis_id and
  252. * $feature_id arguments. If all three arguments are specified (e.g.
  253. * an $analysis_id, $feature_id and $analysisfeature_id, then the
  254. * $analysisfeature_id is used and the other two arguments are ignored.
  255. * @param $property
  256. * The cvterm name of the properties to retrieve
  257. * @param $cv_name
  258. * Optional. The name of the cv to which the property belongs. By
  259. * default this is the 'tripal' cv.
  260. *
  261. * @return
  262. * An analysisfeature chado variable with the specified properties expanded
  263. *
  264. * @ingroup tripal_feature_api
  265. */
  266. function tripal_feature_analysis_get_property($analysis_id = NULL, $feature_id = NUll,
  267. $analysisfeature_id = NULL, $property, $cv_name = 'tripal') {
  268. // check that the incoming arguments are correct
  269. if (($analysis_id and !$feature_id) or
  270. (!$analysis_id and $feature_id)) {
  271. watchdog('tripal_feature',
  272. 'tripal_feature_analysis_get_property: Both an analysis ID and feature ID should be specified',
  273. array(), WATCHDOG_WARNING);
  274. }
  275. // get the analysisfeature_id if one is not provided
  276. if (!$analysisfeature_id) {
  277. $columns = array('analysisfeature_id');
  278. $values = array('analysis_id' => $analysis_id, 'feature_id' => $feature_id);
  279. $result = tripal_core_chado_select('analysisfeature', $columns, $values);
  280. $analysisfeature_id = $result[0]->analysisfeature_id;
  281. }
  282. // get the property.
  283. return tripal_core_get_property('analysisfeature', $analysisfeature_id, $property, $cv_name);
  284. }
  285. /**
  286. * Insert a property for an analysis feature
  287. *
  288. * @param $analysis_id
  289. * The analysis ID for the analysis feature. This argument is optional but
  290. * if specified it must also be accompanied with a feature ID.
  291. * @param $feature_id
  292. * The feature ID for the analysis feature. This argument is optional but
  293. * if specified it must also be accompanied with an analysis ID.
  294. * @param $analysisfeature_id
  295. * The analysis feature ID for the analysis feature. This argument is
  296. * optional and can be used rather than specifying the $analysis_id and
  297. * $feature_id arguments. If all three arguments are specified (e.g.
  298. * an $analysis_id, $feature_id and $analysisfeature_id, then the
  299. * $analysisfeature_id is used and the other two arguments are ignored.
  300. * @param $property
  301. * The cvterm name of the property to insert
  302. * @param $value
  303. * The value of the property to insert
  304. * @param $update_if_present
  305. * A boolean indicated whether to update the record if it's already present
  306. * @param $cv_name
  307. * Optional. The name of the cv to which the property belongs. By
  308. * default this is the 'tripal' cv.
  309. *
  310. * @return
  311. * True of success, False otherwise
  312. *
  313. * @ingroup tripal_feature_api
  314. */
  315. function tripal_feature_analysis_insert_property($analysis_id = NULL, $feature_id = NUll,
  316. $analysisfeature_id = NULL, $property, $value, $update_if_present = 0,
  317. $cv_name = 'tripal') {
  318. // check that the incoming arguments are correct
  319. if (($analysis_id and !$feature_id) or
  320. (!$analysis_id and $feature_id)) {
  321. watchdog('tripal_feature',
  322. 'tripal_feature_analysis_insert_property: Both an analysis ID and feature ID should be specified',
  323. array(), WATCHDOG_WARNING);
  324. }
  325. // get the analysisfeature_id if one is not provided
  326. if (!$analysisfeature_id) {
  327. $columns = array('analysisfeature_id');
  328. $values = array('analysis_id' => $analysis_id, 'feature_id' => $feature_id);
  329. $result = tripal_core_chado_select('analysisfeature', $columns, $values);
  330. $analysisfeature_id = $result[0]->analysisfeature_id;
  331. }
  332. // insert the property.
  333. return tripal_core_insert_property('analysisfeature', $analysisfeature_id,
  334. $property, $cv_name, $value, $update_if_present);
  335. }
  336. /**
  337. * Update an analysis feature property using the property name. Use this
  338. * when a property only exists once for a given analysis feature. When more
  339. * than one value can exist for the same property use the
  340. * tripal_feature_analysis_update_property_by_id() function.
  341. *
  342. * @param $analysis_id
  343. * The analysis ID for the analysis feature. This argument is optional but
  344. * if specified it must also be accompanied with a feature ID.
  345. * @param $feature_id
  346. * The feature ID for the analysis feature. This argument is optional but
  347. * if specified it must also be accompanied with an analysis ID.
  348. * @param $analysisfeature_id
  349. * The analysis feature ID for the analysis feature. This argument is
  350. * optional and can be used rather than specifying the $analysis_id and
  351. * $feature_id arguments. If all three arguments are specified (e.g.
  352. * an $analysis_id, $feature_id and $analysisfeature_id, then the
  353. * $analysisfeature_id is used and the other two arguments are ignored.
  354. * @param $property
  355. * The cvterm name of the property to update
  356. * @param $value
  357. * The value of the property to update
  358. * @param $insert_if_missing
  359. * A boolean indicated whether to insert the record if it's absent
  360. * @param $cv_name
  361. * Optional. The name of the cv to which the property belongs. By
  362. * default this is the 'tripal' cv.
  363. *
  364. * Note: The property will be identified using the unique combination of the $analysis_id and $property
  365. * and then it will be updated with the supplied value
  366. *
  367. * @return
  368. * True of success, False otherwise
  369. *
  370. * @ingroup tripal_feature_api
  371. */
  372. function tripal_feature_analysis_update_property($analysis_id = NULL, $feature_id = NUll,
  373. $analysisfeature_id = NULL, $property, $value, $insert_if_missing = 0,
  374. $cv_name = 'tripal') {
  375. // check that the incoming arguments are correct
  376. if (($analysis_id and !$feature_id) or
  377. (!$analysis_id and $feature_id)) {
  378. watchdog('tripal_feature',
  379. 'tripal_feature_analysis_update_property: Both an analysis ID and feature ID should be specified',
  380. array(), WATCHDOG_WARNING);
  381. }
  382. // get the analysisfeature_id if one is not provided
  383. if (!$analysisfeature_id) {
  384. $columns = array('analysisfeature_id');
  385. $values = array('analysis_id' => $analysis_id, 'feature_id' => $feature_id);
  386. $result = tripal_core_chado_select('analysisfeature', $columns, $values);
  387. $analysisfeature_id = $result[0]->analysisfeature_id;
  388. }
  389. // update the property.
  390. return tripal_core_update_property('analysisfeature', $analysisfeature_id, $property, $cv_name, $value, $insert_if_missing);
  391. }
  392. /**
  393. * Update a property for an analysis feature using the analysisfeatureprop_id.
  394. *
  395. * @param $analysisfeatureprop_id
  396. * The analysis feature property ID for the analysis feature.
  397. * @param $property
  398. * The cvterm name of the property
  399. * @param $value
  400. * The value of the property
  401. * @param $cv_name
  402. * Optional. The name of the cv to which the property belongs. By
  403. * default this is the 'tripal' cv.
  404. * *
  405. * @return
  406. * True of success, False otherwise
  407. *
  408. * @ingroup tripal_feature_api
  409. */
  410. function tripal_feature_analysis_update_property_by_id($analysisfeatureprop_id,
  411. $property, $value, $cv_name = 'tripal') {
  412. // update the property.
  413. return tripal_core_update_property_by_id('analysisfeature',
  414. $analysisfeatureprop_id, $property, $cv_name, $value);
  415. }
  416. /**
  417. * Delete an analysis feature property using the property name. Use this
  418. * when a property only exists once for a given analysis feature. When more
  419. * than one value can exist for the same property use the
  420. * tripal_feature_analysis_delete_property_by_id() function.
  421. *
  422. * @param $analysis_id
  423. * The analysis ID for the analysis feature. This argument is optional but
  424. * if specified it must also be accompanied with a feature ID.
  425. * @param $feature_id
  426. * The feature ID for the analysis feature. This argument is optional but
  427. * if specified it must also be accompanied with an analysis ID.
  428. * @param $analysisfeature_id
  429. * The analysis feature ID for the analysis feature. This argument is
  430. * optional and can be used rather than specifying the $analysis_id and
  431. * $feature_id arguments. If all three arguments are specified (e.g.
  432. * an $analysis_id, $feature_id and $analysisfeature_id, then the
  433. * $analysisfeature_id is used and the other two arguments are ignored.
  434. * @param $property
  435. * The cvterm name of the property to delete
  436. * @param $cv_name
  437. * Optional. The name of the cv to which the property belongs. By
  438. * default this is the 'tripal' cv.
  439. *
  440. * Note: The property will be identified using the unique combination of the $analysis_id and $property
  441. * and then it will be deleted
  442. *
  443. * @return
  444. * True of success, False otherwise
  445. *
  446. * @ingroup tripal_feature_api
  447. */
  448. function tripal_feature_analysis_delete_property($analysis_id = NULL, $feature_id = NUll,
  449. $analysisfeature_id = NULL, $property, $cv_name = 'tripal') {
  450. // check that the incoming arguments are correct
  451. if (($analysis_id and !$feature_id) or
  452. (!$analysis_id and $feature_id)) {
  453. watchdog('tripal_feature',
  454. 'tripal_feature_analysis_delete_property: Both an analysis ID and feature ID should be specified',
  455. array(), WATCHDOG_WARNING);
  456. }
  457. // get the analysisfeature_id if one is not provided
  458. if (!$analysisfeature_id) {
  459. $columns = array('analysisfeature_id');
  460. $values = array('analysis_id' => $analysis_id, 'feature_id' => $feature_id);
  461. $result = tripal_core_chado_select('analysisfeature', $columns, $values);
  462. $analysisfeature_id = $result[0]->analysisfeature_id;
  463. }
  464. // get the property.
  465. return tripal_core_delete_property('analysisfeature', $analysisfeature_id, $property, $cv_name);
  466. }
  467. /**
  468. * Delete a property using the analysisfeatureprop_id
  469. *
  470. * @param $analysisfeatureprop_id
  471. * The analysis feature property ID for the analysis feature.
  472. *
  473. * @return
  474. * True of success, False otherwise
  475. *
  476. * @ingroup tripal_feature_api
  477. */
  478. function tripal_feature_analysis_delete_property_by_id($analysisfeatureprop_id) {
  479. // get the property.
  480. return tripal_core_delete_property_by_id('analysisfeature', $analysisfeatureprop_id);
  481. }
  482. /**
  483. * Retrieve properties of a given type for a given feature
  484. *
  485. * @param $feature_id
  486. * The feature_id of the properties you would like to retrieve
  487. * @param $property
  488. * The cvterm name of the properties to retrieve
  489. * @param $cv_name
  490. * Optional. The name of the cv to which the property belongs. By
  491. * default this is the 'tripal' cv.
  492. *
  493. * @return
  494. * A feature chado variable with the specified properties expanded
  495. *
  496. * @ingroup tripal_feature_api
  497. */
  498. function tripal_feature_get_property($feature_id, $property, $cv_name='tripal') {
  499. return tripal_core_get_property('feature', $feature_id, $property, $cv_name);
  500. }
  501. /**
  502. * Insert a given property
  503. *
  504. * @param $feature_id
  505. * The feature_id of the property to insert
  506. * @param $property
  507. * The cvterm name of the property to insert
  508. * @param $value
  509. * The value of the property to insert
  510. * @param $update_if_present
  511. * A boolean indicated whether to update the record if it's already present
  512. * @param $cv_name
  513. * Optional. The name of the cv to which the property belongs. By
  514. * default this is the 'tripal' cv.
  515. *
  516. * @return
  517. * True of success, False otherwise
  518. *
  519. * @ingroup tripal_feature_api
  520. */
  521. function tripal_feature_insert_property($feature_id, $property, $value,
  522. $update_if_present = 0, $cv_name = 'tripal') {
  523. return tripal_core_insert_property('feature', $feature_id, $property,
  524. $cv_name, $value, $update_if_present);
  525. }
  526. /**
  527. * Update a feature property using the property name. Only use this
  528. * if the property is unique and only exist once for the feature.
  529. *
  530. * @param $feature_id
  531. * The feature_id of the property to update
  532. * @param $property
  533. * The cvterm name of the property to update
  534. * @param $value
  535. * The value of the property to update
  536. * @param $insert_if_missing
  537. * A boolean indicated whether to insert the record if it's absent
  538. * @param $cv_name
  539. * Optional. The name of the cv to which the property belongs. By
  540. * default this is the 'tripal' cv.
  541. *
  542. * Note: The property will be identified using the unique combination of the $feature_id and $property
  543. * and then it will be updated with the supplied value
  544. *
  545. * @return
  546. * True of success, False otherwise
  547. *
  548. * @ingroup tripal_feature_api
  549. */
  550. function tripal_feature_update_property($feature_id, $property,
  551. $value, $insert_if_missing = 0, $cv_name = 'tripal') {
  552. return tripal_core_update_property('feature', $feature_id, $property, $cv_name, $value, $insert_if_missing);
  553. }
  554. /**
  555. * Update a given feature property using the featureprop_id
  556. *
  557. * @param $featureprop_id
  558. * The featureprop_id of the property to update
  559. * @param $property
  560. * The cvterm name of the property
  561. * @param $value
  562. * The value of the property
  563. * @param $cv_name
  564. * Optional. The name of the cv to which the property belongs. By
  565. * default this is the 'tripal' cv.
  566. *
  567. * @return
  568. * True of success, False otherwise
  569. *
  570. * @ingroup tripal_feature_api
  571. */
  572. function tripal_feature_update_property_by_id($featureprop_id, $property,
  573. $value, $cv_name = 'tripal') {
  574. return tripal_core_update_property_by_id('feature', $featureprop_id, $property, $cv_name, $value);
  575. }
  576. /**
  577. * Delete a given feature property using the property name. Only use this
  578. * if the property is unique and only exists once for the feature.
  579. *
  580. * @param $feature_id
  581. * The feature_id of the property to delete
  582. * @param $property
  583. * The cvterm name of the property to delete
  584. * @param $cv_name
  585. * Optional. The name of the cv to which the property belongs. By
  586. * default this is the 'tripal' cv.
  587. *
  588. * Note: The property will be identified using the unique combination of the $feature_id and $property
  589. * and then it will be deleted
  590. *
  591. * @return
  592. * True of success, False otherwise
  593. *
  594. * @ingroup tripal_feature_api
  595. */
  596. function tripal_feature_delete_property($feature_id, $property, $cv_name='tripal') {
  597. return tripal_core_delete_property('feature', $feature_id, $property, $cv_name);
  598. }
  599. /**
  600. * Delete a given feature property using the featureprop_id
  601. *
  602. * @param $featureprop_id
  603. * The feature_id of the property to delete
  604. *
  605. * @return
  606. * True of success, False otherwise
  607. *
  608. * @ingroup tripal_feature_api
  609. */
  610. function tripal_feature_delete_property_by_id($featureprop_id) {
  611. return tripal_core_delete_property_by_id('feature', $featureprop_id);
  612. }