Skip to contents

A class for connecting to and searching PubMed database directly, then formatting results for analysis with searchAnalyzeR.

Details

This module provides functionality to search PubMed directly and integrate the results with searchAnalyzeR's analysis capabilities. PubMed Search Interface

This class uses the rentrez package to interface with NCBI's E-utilities to search PubMed and retrieve article metadata. Results are automatically formatted for use with SearchAnalyzer. If rentrez is not available, it provides simulated data for demonstration purposes.

Methods

new()

Initialize a new PubMedConnector instance

search(query, max_results, date_range)

Search PubMed database

get_details(pmids)

Get detailed information for specific PMIDs

format_for_analysis()

Format results for SearchAnalyzer

Public fields

last_search_results

Raw results from last search

formatted_results

Formatted results ready for analysis

search_metadata

Metadata about the last search

use_simulation

Flag indicating if simulation mode is active

Methods


Method new()

Initialize a new PubMedConnector instance

Usage

Returns

No return value, called for side effects Search PubMed database


Method search()

Usage

PubMedConnector$search(
  query,
  max_results = 100,
  date_range = NULL,
  retmode = "xml"
)

Arguments

query

PubMed search query string

max_results

Maximum number of results to retrieve (default: 100)

date_range

Optional date range as c("YYYY/MM/DD", "YYYY/MM/DD")

retmode

Return mode ("xml" or "text")

Returns

Number of results found Get detailed information for specific PMIDs


Method get_details()

Usage

PubMedConnector$get_details(pmids, retmode = "xml")

Arguments

pmids

Vector of PubMed IDs

retmode

Return mode ("xml" or "text")

Returns

Detailed article information Format results for SearchAnalyzer


Method format_for_analysis()

Usage

PubMedConnector$format_for_analysis()

Returns

Data frame formatted for searchAnalyzeR analysis Get search summary


Method get_search_summary()

Usage

PubMedConnector$get_search_summary()

Returns

List with search summary information


Method clone()

The objects of this class are cloneable with this method.

Usage

PubMedConnector$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# \donttest{
# Create PubMed connector
pubmed <- PubMedConnector$new()
#> [OK] Connected to PubMed successfully\n

# Search for diabetes studies
results <- pubmed$search(
  query = "diabetes[Title/Abstract] AND clinical trial[Publication Type]",
  max_results = 100,
  date_range = c("2020/01/01", "2023/12/31")
)
#> Searching PubMed with query: diabetes[Title/Abstract] AND clinical trial[Publication Type] AND ("2020/01/01"[Date - Publication] : "2023/12/31"[Date - Publication]) \nFound 100 results\nRetrieving detailed information...\nRetrieving batch 1 of 1 \nSearch completed successfully!\n

# Format for analysis
search_data <- pubmed$format_for_analysis()

# Use with SearchAnalyzer
analyzer <- SearchAnalyzer$new(search_data)
metrics <- analyzer$calculate_metrics()
#> Warning: No gold standard provided - cannot calculate precision/recall
# }