Severity: Warning
Message: fopen(/var/lib/php/sessions/ci_session5o1vfdi5mf9q70kccdg6qhqvolgjibo0): Failed to open stream: No space left on device
Filename: drivers/Session_files_driver.php
Line Number: 177
Backtrace:
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: session_start(): Failed to read session data: user (path: /var/lib/php/sessions)
Filename: Session/Session.php
Line Number: 137
Backtrace:
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Undefined array key "choices"
Filename: controllers/Detail.php
Line Number: 249
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 249
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 249
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 249
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 249
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 249
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 249
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 249
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: 8192
Message: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated
Filename: models/Detail_model.php
Line Number: 71
Backtrace:
File: /var/www/html/application/models/Detail_model.php
Line: 71
Function: strpos
File: /var/www/html/application/controllers/Detail.php
Line: 252
Function: insertAPISummary
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: 8192
Message: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
Filename: helpers/my_audit_helper.php
Line Number: 8919
Backtrace:
File: /var/www/html/application/helpers/my_audit_helper.php
Line: 8919
Function: str_replace
File: /var/www/html/application/controllers/Detail.php
Line: 255
Function: formatAIDetailSummary
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Undefined array key "choices"
Filename: controllers/Detail.php
Line Number: 256
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 256
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 256
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 256
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 256
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 256
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Undefined array key "usage"
Filename: controllers/Detail.php
Line Number: 257
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 257
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 257
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 257
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Undefined array key "usage"
Filename: controllers/Detail.php
Line Number: 258
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 258
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 258
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 258
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Undefined array key "usage"
Filename: controllers/Detail.php
Line Number: 259
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 259
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 259
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 259
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Undefined array key "usage"
Filename: controllers/Detail.php
Line Number: 260
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 260
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 260
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 260
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: Trying to access array offset on value of type null
Filename: controllers/Detail.php
Line Number: 260
Backtrace:
File: /var/www/html/application/controllers/Detail.php
Line: 260
Function: _error_handler
File: /var/www/html/index.php
Line: 316
Function: require_once
Severity: Warning
Message: file_get_contents(https://...@gmail.com&api_key=61f08fa0b96a73de8c900d749fcb997acc09): Failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests
Filename: helpers/my_audit_helper.php
Line Number: 143
Backtrace:
File: /var/www/html/application/helpers/my_audit_helper.php
Line: 143
Function: file_get_contents
File: /var/www/html/application/helpers/my_audit_helper.php
Line: 209
Function: simplexml_load_file_from_url
File: /var/www/html/application/helpers/my_audit_helper.php
Line: 994
Function: getPubMedXML
File: /var/www/html/application/helpers/my_audit_helper.php
Line: 3134
Function: GetPubMedArticleOutput_2016
File: /var/www/html/application/controllers/Detail.php
Line: 574
Function: pubMedSearch_Global
File: /var/www/html/application/controllers/Detail.php
Line: 488
Function: pubMedGetRelatedKeyword
File: /var/www/html/index.php
Line: 316
Function: require_once
Vertebrate dentitions are often collapsed into a few discrete categories, obscuring both potentially important functional differences between them and insight into their evolution. The terms homodonty and heterodonty typically conflate tooth morphology with tooth function, and require context-dependent subcategories to take on any specific meaning. Qualifiers like incipient, transient, or phylogenetic homodonty attempt to provide a more rigorous definition but instead highlight the difficulties in categorizing dentitions. To address these issues, we recently proposed a method for quantifying the function of dental batteries based on the estimated stress of each tooth (inferred using surface area) standardized for jaw out-lever (inferred using tooth position). This method reveals a homodonty-heterodonty functional continuum where small and large teeth work together to transmit forces to a prey item. Morphological homodonty or heterodonty refers to morphology, whereas functional homodonty or heterodonty refers to transmission of stress. In this study, we use Halichoeres wrasses to explore how functional continuum can be used in phylogenetic analyses by generating two continuous metrics from the functional homodonty-heterodonty continuum. Here we show that functionally heterodont teeth have evolved at least three times in Halichoeres wrasses. There are more functionally heterodont teeth on upper jaws than on lower jaws, but functionally heterodont teeth on the lower jaws bear significantly more stress. These nuances, which have functional consequences, would be missed by binning entire dentitions into discrete categories. This analysis points out areas worth taking a closer look at from a mechanical and developmental point of view with respect to the distribution and type of heterodonty seen in different jaws and different areas of jaws. These data, on a small group of wrasses, suggest continuous dental variables can be a rich source of insight into the evolution of fish feeding mechanisms across a wider variety of species.
Download full-text PDF |
Source |
---|---|
http://dx.doi.org/10.1093/icb/icaa137 | DOI Listing |
Enter search terms and have AI summaries delivered each week - change queries or unsubscribe any time!