Skip to main content
Scientific Data logoLink to Scientific Data
. 2025 Jan 27;12:160. doi: 10.1038/s41597-024-04211-1

A global dataset of freshwater fish trophic interactions

Jacob Ridgway 1,2,✉, Jeff Wesner 1
PMCID: PMC11772613  PMID: 39870651

Abstract

Freshwater management and research frequently rely on trophic data to manage freshwater fishes, yet it is difficult to perform a simple search of dietary information for any one species. FishBase represents the largest effort to organize freshwater dietary data into a singular, navigable dataset. Nonetheless, FishBase excludes a large portion of the ecological literature because it was developed before the creation of most modern scientific search engines. Our project, TroPhish, builds upon FishBase by digitizing over 100 years of data from the fish predation literature. Data from 1,106 published papers, theses, dissertations, and government reports were filtered, scanned in through third-party software (Able2Extract), reorganized, and consolidated with FishBase to form a unified dataset. This dataset contains 54,750 observations of data on 4,571 unique dietary samples, representing 9% (982) of all freshwater fish species and 43% (111) of all freshwater fish families. Fish species and family representation varied by continent, ranging from 3–32% and 34–75%, respectively. Users are encouraged to submit errors or additional data through GitHub’s fork and pull model.

Subject terms: Freshwater ecology, Food webs

Background & Summary

Trophic interactions are major drivers of energy and nutrient flow within freshwater ecosystems. Alterations to these networks have historically led to trophic cascades, organism decline, or fundamental changes to population dynamics that alter freshwaters and their associated services1,2. Because the stability and composition of trophic interactions are powerful indicators of ecosystem health, data surrounding them are frequently used within freshwater fisheries management. For example, population models use food web data to improve predictions of semelparous fish populations (e.g., Atlantic salmon (Salmo salar)) threatened by climate change and human exploitation3. Similarly, managers use dietary data to identify the habitat and trophic relationships of vulnerable keystone species like the redspot chub (Nocomis asper) to guide their management within freshwater systems4.

The importance of dietary information in fishes has prompted hundreds of published articles reporting gut contents5. Nevertheless, ecological data are confined to individual tables and graphs within the literature using variable formats6. As a result, it is difficult to perform a simple search of dietary information for any one fish species. The most complete compilation of fish trophic data that we are aware of is FishBase. It hosts dietary information on >500 freshwater fish species, primarily based on literature searches conducted during the late 1990s (https://www.fishbase.se/manual/English/fishbasethe_diet_table.htm). These data report both the dietary items and mean trophic position of fishes globally and have been cited over a thousand times by scientists conducting trophic research.

Despite FishBase’s clear value to the scientific community, its dietary data were primarily collected between 1980 and 2000. Since then, technological progress and advances in the digitizing of data (e.g., meta-analyses, scientific search engines, collaborative research institutions) have surfaced unprecedented amounts of old and new ecological information6. Consequently, there a large body of unorganized dietary data within scientific texts. Our project, TroPhish, builds upon the foundation of FishBase to encompass over 100 years of quantitative dietary data from the fish predation literature.

Trophic data from 1,106 published papers, theses, dissertations, and government reports were filtered and integrated with FishBase to form a dataset containing 4,571 unique dietary records and 46 variables of background data for ecological context. TroPhish’s dietary records represent the gut contents of 982 different fish species across 111 families and every continent except Antarctica.

User submission of data or corrections is encouraged through our GitHub repository, https://github.com/jswesner/TroPhish, where the TroPhish dataset is also publicly downloadable.

Methods

Paper collection overview

We used FishBase’s classification scheme to define freshwater fish, which includes all jawless and ray-fined fishes that occur in freshwater at any stage in their development (https://www.fishbase.se/manual/english/fishbasethe_species_table.htm). Due to linguistic barriers, only papers with an English translation were retained.

To obtain new dietary information, we gathered 1,106 published papers, theses, dissertations, and government reports potentially relating to the trophic ecology of freshwater fish in three waves: 1) initial searches via Web of Science and the Minckley Library, 2) citation chaining by searching forward and backward citations of papers from our initial search, and 3) targeted searches on Google Scholar to expand the taxonomic and geographic scope of the initial searches (Fig. 1). Each of our three search methods is described in detail below.

Fig. 1.

Fig. 1

Flowchart of TroPhish’s data collection. Specific search parameters are detailed in our methods section. A total of 1,106 papers potential containing freshwater dietary data were extracted from Web of Science (169), the Minckley Library (68), Google Scholar (302), and citation chaining (567). From this initial pool of papers, only 247 were merged with FishBase (384 papers) and included in TroPhish (631 papers).

Initial search

Three initial literature searches through Web of Science in June of 2019 (Fig. 1) used the search terms (1) “freshwater fish AND Diet” or “freshwater fish AND resource partitioning”, (2) “ALL FIELDS: (freshwater fish and resource partitioning)”, and (3) “For:STOMACH CONTENTS ANALYSIS - A REVIEW OF METHODS AND THEIR APPLICATION Refined by: DOCUMENT TYPES = (ARTICLE OR PROCEEDINGS PAPER) AND TOPIC: (diet AND fish AND freshwater) Timespan = All years. Indexes = BKCI-S, ESCI, SSCI, BKCI-SSH, SCI-EXPANDED, IC, A&HCI, CPCI-SSH, CPCI-S, CCR-EXPANDED”. To expand our initial pool of data, we also searched for papers through the Minckley Library (http://www.nativefishlab.net/?page_id=533) in September 2019 (Fig. 1), which contains >11,000 citations related to freshwater fish from both the primary and grey (e.g., theses, dissertations, reports) literature. From these searches, we excluded papers that seemed unlikely to contain dietary information by scanning the titles.

This filtering process left an initial pool of 237 papers with potential dietary information, 169 from Web of Science, and 68 from the Minckley Library (Fig. 1).

Citation chaining and targeted searches

Citation chaining is the process of mining references from a singular academic source7. This method was applied to the forward citations (i.e., papers that cited a given paper) and backward citations (i.e., papers cited by a given paper) of all papers from our initial pool. Particular effort was made to mine references from papers from outside of North America, given that our initial search utilized a source focused on studies conducted within United States (i.e., the Minckley Library). This yielded 567 additional papers – both from the primary and grey literature – with potentially relevant dietary information, bringing our total to 804 papers (Fig. 1).

Some taxa and geographic regions were still underrepresented by TroPhish past citation chaining. For example, despite being the 13th largest fish family8, dietary records on Cobitidae were entirely absent from our original searches. Others, like Mormyridae and Rivulidae, were underrepresented relative to their actual diversity. To address this, we sourced additional studies and reports from 28 taxonomic literature searches at a family level through Google Scholar in August of 2020 (Fig. 1). The terms “ < fish family > diet food item freshwater OR lake OR river OR stream OR reservoir OR gut OR content –marine –coral –reef –estuary –sea” yielded 4,194 results, which were manually screened down to 302 additional papers potentially containing freshwater trophic data, based on title and abstract.

Data digitization

All 1,106 papers were read manually and filtered to capture those containing data on the weight, abundance, or volume of individual prey taxa in freshwater fish diets (Fig. 2). These data had to be reported either as a proportion of the total diet or as a raw value in the form of a table, excluding 453 papers. Tables from papers meeting the above criteria were converted to.csv files using Able2Extract (Version 6.0, Investintech), a program specialized in converting tables in PDFs to Microsoft Excel files. Data unable to be digitized through this software were not retained, excluding another 406 papers.

Fig. 2.

Fig. 2

A visualization of TroPhish’s data tidying process. Data on prey taxa weight, abundance, or volume in freshwater fish diets were extracted from tables in primary and grey literature using Able2Extract (step 1). Often, these data lack important contextual information, such as predator-prey taxonomy, fish ecology, and sampling methodology. Additionally, individual bits of information (e.g., “12 to 16 millimeters” in the front table of step 1) are commonly placed within column headers as if they are variable names (e.g., “Min_length” in the table of step 2), hindering data analysis. Our tidying process resolves these issues by adding contextual information (step 2) and reorganizing each table into a consistent format that can be combined into a single dataset and analyzed (step 3).

Dataset formation

Digitized tables were then individually rearranged into a common format in Excel where tables largely followed tidy principles9, with each column representing a single variable, each observation representing a row, and each observational unit representing a table (Fig. 2).

During this process, 24 additional variables were manually extracted to provide ecological contexts for predator-prey taxonomy, organism ecology, sampling methodology, sampling location, habitat, and data sources (Table 1).

Table 1.

Description of the 26 columns in the main TroPhish data file (23 variables and 3 identification keys).

Column Description
fish_species Species of the fish
prey_kingdom Prey Kingdom, if identifiable
prey_taxon Prey name as given in the original source
prey_class Prey Class, if identifiable
prey_origin Larval origin of the prey (aquatic, terrestrial). If “aquatic_or_terrestrial”, then the prey taxon was not exclusively aquatic or terrestrial. If NA, then the prey taxon could not be assigned or identified beyond the description given in the paper - e.g., “bug” or “insects” or “plants”, etc.)
prey_stage Prey life stage. If multiple life stages (e.g., larvae_adults, larvae_pupae), then the diet value includes all of those stages
diet_value Numeric diet value in units as described by diet_units
diet_units Diet value units
diet_type Type of diet measure (abundance, volume, or mass)
diet_percent Diet percent - Diet values converted to a percent of an individual fish’s (or fish record) diet
record_id Unique ID of the individual record (one ID per row in the main data set)
source_id Unique ID of the dietary source (i.e., table or figure within a citation; if Table 1 and Table 2 are used from a single paper, these would each have unique id’s)
fish_id Unique ID of the fish diet
start_date Earliest date of a fish diet collected in an individual source_id
end_date Latest date of a fish diet collected in an individual source_id
sampling_interval If diets are a composite, such as a mean of multiple samples, then this gives the sampling interval (i.e., monthly, yearly, etc)
data_sorted_by What the data were summarized over (e.g., time, season, fish size, etc.)
fish_min_length Minimum length of the fish (if multiple fish were measured and reported as a summary)
fish_average_length Average length of the fish in the sample
fish_max_length Maximum length of the fish (if multiple fish were measured and reported as a summary)
fish_length_units Units of length. All lengths are in “cm” or are missing as NA
fish_length_measure Type of length measure: standard length (SL), fork length (FL), or total length (TL)
habitat_broad Whether the habitat is lentic, lotic or mixed (lentic_lotic)
habitat A more specific habitat classification (e.g., lake, river, reservoir, etc.)
longitude Longitude of sample location. Usually from the paper, but occasionally estimated from Google Earth
latitude Latitude of sample location. Usually from the paper, but occasionally estimated from Google Earth

The record_id’s can be used to link a diet record to further information about prey taxonomy, fish taxonomy, data sources, and site data for an additional 23 columns of ecological information.

Most literature tables represented multiple dietary records. Instead of creating separate files or repeating prey items in Excel for each unique sample, prey taxa and their quantitative measurements were transposed and treated as variables and values, respectively (Fig. 2). Tables, now all standardized into a common format, were then compiled into a single dataset using R10 with the tidyverse11 package.

Integration of fishbase data

In addition to extracting data from the literature (n = 247 papers), we added data from an additional 384 papers from the diet data compiled by FishBase using the rfishbase12 package. The FishBase diet data were originally obtained from the published literature, so we removed any duplicate entries between FishBase and our literature extraction prior to integration.

Post-hoc processing & verification

Naming conventions for fish and prey taxa varied widely among papers (e.g., Chironomidae was written in at least 15 different ways: chiro, chiros, chiron, chironomid, ect.; Lepomis macrochirus was written variously as L. macrochirus, Bluegill, L.m., etc). Therefore, we used a mix of manual and automated methods to assign formal taxonomic names to fish and prey. For prey items, we assigned taxonomic information by matching names in TroPhish with taxonomic information from the National Center for Biological Infrastructure using the R package taxize13. Names without a match, due to the variations shown above, were then split and taxonomic information was added manually. The manual and automated information was then merged, checked manually for misspellings or misidentified taxa, and appended to the original dataset. This preserved the variations in spellings from the original papers while also adding the formal taxonomic information.

For fish, we used a similar procedure as above but again used the rfishbase12 package as an initial source of taxonomic information. In most cases, assigning taxonomic information was straightforward. In cases where colloquialisms or odd abbreviations were used, we consulted the text of the original paper to see if the full names were given. If they were not, then we searched Google Scholar for other papers that used the same spellings. If that failed, then we entered the taxon as “unknown”. Upstream taxonomic information (e.g., order, subclass, family, etc.) was obtained using the R packages taxize and rfishbase (e.g., Lepomis macrochirus can be converted to species: Lepomis macrochirus, Genus: Lepomis, Family: Centrarchidae, etc.).

Some papers also included life-stage information, such as larvae, pupae, and adults. These also had various spellings (e.g., adults was written as adult, a., ad., imago, etc.). To consolidate this information, we used the separate() and distinct() functions in tidyverse to obtain a list of all possible spellings of life-stage information. We then formalized all names manually (e.g., adults and imago would all be adults) and added them to the original dataset.

Geographic coordinates (latitude and longitude) were geocoded from all unique sampling sites obtained during our initial data extraction process. This was done with the function mutate_geocode() from the R package ggmap14. As with taxonomic names, not all locations were discoverable. For those, we did manual searches on Google Maps or used other information in the paper to estimate latitude and longitude. Coordinates were then plotted on a map for both visualization purposes (Fig. 3) and to find obvious geocoding errors. All data are accurate to the smallest scale we could efficiently extract given what was stated in each paper. Typically, accuracy fell to the level of the water body where sampling occurred. However, some sites reduced our precision to large swaths of territory (e.g., state, country, subregion).

Fig. 3.

Fig. 3

A geographic visualization of the 4,571 freshwater fish dietary samples in TroPhish.

Data Records

The TroPhish dataset contains 54,750 observations of data on 4,571 unique dietary samples, representing 9% (982/10,723) of all freshwater fish species and 43% (111/256) of all freshwater fish families8 (Fig. 3). These observations represent data from 789 tables, 631 papers, 534 first authors, 154 journals, and 102 years. TroPhish includes a main diet table with 23 variables and 3 identification keys (Table 1). Each diet record has a unique ‘record_id’, which can be used to link to an additional 23 variables with information on prey taxonomy, fish taxonomy, data sources, and site data.

TroPhish highlights taxonomic bias within the dietary literature. For example, Centrarchidae, Serrasalmidae, and Scianidae each comprise ~1% of the species in TroPhish, but they comprise <0.6% of the species of freshwater fish8 (Fig. 4). In other words, they have a high representation of species in TroPhish compared to their representation of global freshwater diversity. In contrast, Cyprinidae and Cichlidae are the most diverse families, but also the most under-represented in TroPhish; they represent 19% of the species of freshwater fish (Cyprinidae + Cichlidae)8, but only 7% of the species in TroPhish (Fig. 4).

Fig. 4.

Fig. 4

Comparison of species coverage in TroPhish versus global species in FishBase8. Dot size represents the total number of species in a given family globally via FishBase. Freshwater fish families are ranked along the x-axis according to their y-values. Family names on the axis are not shown for clarity. The y-axis represents the over- or under-representation of families in Trophish, calculated by subtracting the proportion of species in each family from the proportion of species of that family in TroPhish. Values above the horizontal line indicate proportionally more species in TroPhish. Values below the horizontal line indicate proportionally more species in FishBase.

When considering geographic representation, TroPhish presents a varied distribution of taxa. TroPhish contains data on 71% of freshwater fish families in Europe, but only 45% and 48% of families in Asia and Ociania, respectively (Table 2). At the species level, TroPhish contains data on 21% of species from islands on the open ocean, 20% of European freshwater fish species, 16% for Oceania, 13% for North America, 6% for Africa, 5% for Asia, and 4% for South America8. These values represent the percentage of taxa in each continent that are represented in TroPhish, but they do not necessarily mean that the diet samples were taken in those continents (e.g., invasive fish diets could be taken from locations far outside their native range).

Table 2.

The number of freshwater fish species and families with diet records in TroPhish compared to the number of known species and families of freshwater fish across continents and oceanic islands in FishBase8.

Continent Known Families TroPhish Families % Families Known Species TroPhish Species % Species
Asia 183 82 45% 6420 303 5%
North America 120 69 58% 1994 268 13%
South America 106 62 58% 5875 237 4%
Africa 107 60 56% 3689 228 6%
Oceania 124 60 48% 956 149 16%
Open Ocean Islands 101 54 53% 557 118 21%
Europe 56 40 71% 904 182 20%

Technical Validation

Scanning and manual entry validation

All data extracted from the literature were manually scanned for errors as they were processed through Able2Extract, allowing us to continually assess the software’s reliability. This gave us insight into where Able2Extract was error prone, guiding us on which document types to scrutinize or discard altogether. While Able2Extract did struggle to process certain image-based PDFs (e.g., older papers scanned in via printer), overly problematic papers were discarded, and we never observed the software make errors when scanning text-based PDFs.

Data on relative dietary measurements (e.g., percent measurements of volume, mass, abundance) were individually totaled to find scanning errors that deviate the total from near ~100%. Non-relative dietary data (e.g., non-percent measurements of volume, mass, abundance, etc.) were manually compared a second time to their values within the literature to detect additional PDF to Excel conversion errors. Data across all remaining variables were scanned for entry errors through a mixture of automatic code in R and multiple rounds of proofreading.

Additionally, all quantitative data were plotted to find extreme deviations likely to be representative of an error. Tables containing errors were corrected within R or Excel to match what was reported by their associated papers. Though only representing a few papers, data still containing errors past this point were not retained.

Usage Notes

Obtaining the dataset and user submission

The TroPhish dataset is available through Zenodo15, with this repository being the primary source of information on the availability and content of the data being described. Users are encouraged to submit errors or additional data through our GitHub page (https://github.com/jswesner/TroPhish), using the platform’s fork and pull model (https://docs.github.com/en/pullrequests/collaborating-with-pull-requests/getting-started/about-collaborativedevelopment-models). Submitted data must be aligned with the format of TroPhish (Fig. 2). All the data and code provided through our Zenodo repositories, along with the Excel files of the literature tables comprising TroPhish, are provided for easy error submission and additional formatting reference.

We recognize that pre-existing bias within the scientific literature and our language criteria may have limited the scope and comprehensiveness of TroPhish. While we have tried to minimize this through targeted literature searches and citation chaining, biases likely still exist. Indeed, we observed that taxonomic and geographic representation of fish dietary samples was mixed, with species representation ranging from a high of 21% for open ocean islands and a low of 4% for South America (Table 2). We hope that user submission of data will minimize these biases and accurately reflect the collective work of freshwater ecologists from around the globe.

Use case

To demonstrate how TroPhish can summarize ecologically important data, we plotted the proportion of diets that consisted of terrestrial prey for two common fish families (Leuciscidae and Salmonidae). This question is routinely assessed in individual dietary studies and meta-analyses16 due to the importance of terrestrial subsidies to the function of stream ecosystems17. As shown in Fig. 5, the data in TroPhish suggest that terrestrial prey make up less than 5% of fish diets on average in most families, but with large variation among genera.

Fig. 5.

Fig. 5

The proportion of terrestrial prey by volume in the guts of freshwater fish families with at least 10 samples in TroPhish. Each dot represents a unique diet sample. Boxplots show the median and upper and lower quartiles, with lines extending to the 95% interquartile range.

Acknowledgements

This material is based upon work supported by the National Science Foundation under Grant Nos. 1837233 and 1560048, as well as money from the University of South Dakota Research Excellence Award program. We would also like to thank Melissa Beringer, Dr. Meghann Jarchow, and Dr. Daniel Soluk for giving us critical feedback on previous versions of this manuscript.

Code availability

R Code for creating all plots and figures in the manuscript and for wrangling the dataset is available through Zenodo18 with a live version at https://github.com/jswesner/trophish. Metadata is also stored at these links.

Competing interests

The authors declare no competing interests.

Footnotes

Publisher’s note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Helfield, J. M. & Naiman, R. J. Keystone Interactions: Salmon and Bear in Riparian Forests of Alaska. Ecosyst.9, 167–180 (2006). [Google Scholar]
  • 2.Power, M. Effects of fish in river foodwebs. Science.250, 811–814 (1990). [DOI] [PubMed] [Google Scholar]
  • 3.Woodward, G. et al. Using Food Webs and Metabolic Theory to Monitor, Model, and Manage Atlantic Salmon—A Keystone Species Under Threat. Front. Ecol. Evol.9, 675261 (2021). [Google Scholar]
  • 4.Rodger, A. W. & Starks, T. A. Ontogenetic Diet Shift, Feeding Ecology, and Trophic Niches of the Redspot Chub (Cypriniformes: Cyprinidae: Nocomis asper). Ichthyol. & Herpetol. 109 (2021).
  • 5.Hyslop, E. J. Stomach contents analysis-a review of methods and their application. J. Fish Biol.17, 411–429 (1980). [Google Scholar]
  • 6.Hampton, S. E. et al. Big data and the future of ecology. Front. Ecol. Environ.11, 156–162 (2013). [Google Scholar]
  • 7.Cribbin, T. F. Citation chain aggregation: an interaction model to support citation cycling. Proc. 20th ACM Int. Conf. Inf. Knowl. Manag.11, 2149 (2011). [Google Scholar]
  • 8.Froese, R. & Pauly, D. FishBase. FishBasehttps://www.fishbase.se/search.php (2024).
  • 9.Wickham, H. Tidy Data. J. Stat. Softw.59, 1–23 (2014).26917999 [Google Scholar]
  • 10.Ihaka, R. & Gentleman, R. R: a language for data analysis and graphics. J. Comput. Graph Stat.5, 299–314 (1996). [Google Scholar]
  • 11.Wickham, H. et al. Welcome to the Tidyverse. JOSS.4, 1686 (2019). [Google Scholar]
  • 12.Boettiger, C., Lang, D. T. & Wainwright, P. C. rfishbase: exploring, manipulating and visualizing FishBase data from R. J. Fish Biol.81, 2030–2039 (2012). [DOI] [PubMed] [Google Scholar]
  • 13.Chamberlain, S. A. & Szöcs, E. taxize: taxonomic search and retrieval in R. F1000Res.2, 191 (2013). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 14.Kahle, D. & Wickham, H. ggmap: Spatial Visualization with ggplot2. R J.5, 144 (2013). [Google Scholar]
  • 15.Ridgway, J. & Wesner, J.S. 2024. A global dataset of freshwater fish trophic interactions. Zenodo10.5281/zenodo.13850491 (2024). [DOI] [PMC free article] [PubMed]
  • 16.Sullivan, M. L., Zhang, Y. & Bonner, T. H. Terrestrial subsidies in the diets of stream fishes of the USA: comparisons among taxa and morphology. Mar. Freshwater Res.63, 409 (2012). [Google Scholar]
  • 17.Nakano, S. & Murakami, M. Reciprocal subsidies: Dynamic interdependence between terrestrial and aquatic food webs. Proc. Natl. Acad. Sci. USA.98, 166–170 (2001). [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 18.Wesner, J. S. & Ridgway, J. Code for Ridgway and Wesner: TroPhish. Zenodo10.5281/zenodo.13850491 (2014).

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Citations

  1. Wesner, J. S. & Ridgway, J. Code for Ridgway and Wesner: TroPhish. Zenodo10.5281/zenodo.13850491 (2014).

Data Availability Statement

R Code for creating all plots and figures in the manuscript and for wrangling the dataset is available through Zenodo18 with a live version at https://github.com/jswesner/trophish. Metadata is also stored at these links.


Articles from Scientific Data are provided here courtesy of Nature Publishing Group

RESOURCES