v1.0 to git:20260331.51dcb8c

250 added, 308 removed. Audit A to A.

---
name: scientific-literature-search
- description: "Best practices for searching, retrieving, and analyzing scientific literature using PubMed, arXiv, Google Scholar, and AI-assisted tools. Covers structured search strategies, query syntax, PICO framework, and content extraction."
+ description: "Systematic strategies for searching, retrieving, and analyzing scientific literature across PubMed, arXiv, Google Scholar, and AI-assisted tools. Covers the PICO framework for clinical question formulation, three-tiered search strategy (database-specific, AI-assisted, content extraction), PubMed field tags and MeSH vocabulary, boolean query construction, and full-text extraction workflows. Consult this guide when planning a literature search, constructing database queries, or deciding which search tier to use for a given research question."
license: CC-BY-4.0
- compatibility: Python 3.10+
- metadata:
- authors: Biomni Team
- version: "1.0"
---
- # Scientific Literature Search Guide
+ # Scientific Literature Search
## Overview
- This guide provides a systematic approach to scientific literature search, combining database-specific query strategies with AI-assisted analysis. The workflow is designed to maximize recall (finding all relevant papers) while maintaining precision (avoiding irrelevant results).
+ Scientific literature search is the foundation of evidence-based research. A well-executed search maximizes recall (finding all relevant papers) while maintaining precision (avoiding irrelevant results). This guide provides a systematic approach that combines database-specific query strategies, AI-assisted synthesis, and direct content extraction, organized into a three-tiered framework that scales from targeted lookups to comprehensive landscape reviews.
- ## Three-Tiered Search Strategy
+ ## Key Concepts
- ### Tier 1: Database-Specific Searches (Most Reliable)
+ ### The PICO Framework
- Start with established academic databases for peer-reviewed content.
+ For clinical and biomedical questions, structure queries using the PICO framework:
- **Recommended for**: Finding specific papers, systematic reviews, clinical evidence
+ - **P** (Population): Who are you studying? (e.g., "Diabetes Mellitus"[MeSH])
+ - **I** (Intervention): What treatment or exposure? (e.g., "Metformin"[MeSH])
+ - **C** (Comparison): What is the alternative? (e.g., placebo, standard care)
+ - **O** (Outcome): What result are you measuring? (e.g., "Cardiovascular Diseases"[MeSH])
- ### Tier 2: AI-Assisted Web Search (Comprehensive)
+ PICO queries can be combined with publication type filters to target specific evidence levels:
- Use AI tools for broader context and synthesis.
+ ```
+ "Diabetes Mellitus"[MeSH] AND "Metformin"[MeSH] AND "Cardiovascular Diseases"[MeSH] AND ("clinical trial"[Publication Type] OR "meta-analysis"[Publication Type])
+ ```
- **Recommended for**: Understanding research landscape, finding recent developments, complex multi-faceted questions
+ ### Three-Tiered Search Strategy
- ### Tier 3: Direct Content Extraction (Deep Dive)
+ Literature search is most effective when approached in tiers of increasing breadth:
- Extract and analyze full-text content from papers and supplementary materials.
+ **Tier 1 -- Database-Specific Searches (Most Reliable)**
- **Recommended for**: Detailed methodology extraction, data retrieval, protocol identification
+ Query established academic databases (PubMed, arXiv, Google Scholar) for peer-reviewed, indexed content. This is the most reliable tier and should always be the starting point.
- ## Tier 1: Database-Specific Searches
+ - PubMed (`query_pubmed`): Primary database for biomedical and life science literature. Supports MeSH controlled vocabulary and advanced field tags.
+ - arXiv (`query_arxiv`): Preprint server for physics, mathematics, computer science, and quantitative biology. Results appear faster than peer-reviewed journals.
+ - Google Scholar (`query_scholar`): Broadest coverage across all academic disciplines. Note: has aggressive rate limits on automated queries.
- ### 1.1 PubMed Search (Biomedical Literature)
+ Best for: finding specific papers, systematic reviews, clinical evidence, preprints.
- PubMed is the primary database for biomedical and life science literature. Use `query_pubmed` from `biomni.tool.literature`.
+ **Tier 2 -- AI-Assisted Web Search (Comprehensive)**
- ```python
- from biomni.tool.literature import query_pubmed
+ Use AI tools (`advanced_web_search_claude`) to synthesize broader context, identify research trends, and surface recent developments not yet indexed in databases. Also use general web search (`search_google`) for protocols, tutorials, and software documentation.
- # Basic search
- results = query_pubmed("CRISPR gene editing", max_papers=10)
+ Best for: understanding the research landscape, complex multi-faceted questions, finding recent developments, identifying key researchers.
- # Advanced search with MeSH terms
- results = query_pubmed(
- '"CRISPR-Cas Systems"[MeSH] AND "Gene Editing"[MeSH]',
- max_papers=20
- )
- ```
+ Avoid for: specific paper lookups (use Tier 1), citation counts (use Google Scholar), systematic reviews requiring reproducibility, searches where exact query terms must be documented.
- #### PubMed Query Syntax (PICO Framework)
+ **Tier 3 -- Direct Content Extraction (Deep Dive)**
- For clinical questions, structure your query using **PICO**:
- - **P**opulation: Who are you studying?
- - **I**ntervention: What treatment/exposure?
- - **C**omparison: Alternative treatment?
- - **O**utcome: What result?
+ Extract and analyze full-text content, PDFs, and supplementary materials from identified papers using `extract_url_content`, `extract_pdf_content`, and `fetch_supplementary_info_from_doi`.
- **Example**: Does metformin reduce cardiovascular events in diabetic patients?
- ```
- "Diabetes Mellitus"[MeSH] AND "Metformin"[MeSH] AND "Cardiovascular Diseases"[MeSH] AND ("clinical trial"[Publication Type] OR "meta-analysis"[Publication Type])
- ```
+ Best for: detailed methodology extraction, data retrieval, protocol identification, supplementary data access.
- #### PubMed Field Tags
+ ### PubMed Field Tags
+ PubMed supports field-specific searching to improve precision:
+
| Tag | Description | Example |
|-----|-------------|---------|
- | `[MeSH]` | Medical Subject Heading | "Neoplasms"[MeSH] |
- | `[Title]` | Title only | "CRISPR"[Title] |
- | `[Title/Abstract]` | Title or Abstract | "gene therapy"[Title/Abstract] |
- | `[Author]` | Author name | "Zhang F"[Author] |
- | `[Journal]` | Journal name | "Nature"[Journal] |
- | `[Publication Type]` | Article type | "Review"[Publication Type] |
- | `[Date - Publication]` | Date range | "2020/01/01"[Date - Publication]:"2024/12/31"[Date - Publication] |
+ | `[MeSH]` | Medical Subject Heading (controlled vocabulary) | `"Neoplasms"[MeSH]` |
+ | `[Title]` | Title field only | `"CRISPR"[Title]` |
+ | `[Title/Abstract]` | Title or abstract | `"gene therapy"[Title/Abstract]` |
+ | `[Author]` | Author name | `"Zhang F"[Author]` |
+ | `[Journal]` | Journal name | `"Nature"[Journal]` |
+ | `[Publication Type]` | Article type filter | `"Review"[Publication Type]` |
+ | `[Date - Publication]` | Publication date range | `"2020/01/01"[Date - Publication]:"2024/12/31"[Date - Publication]` |
+ | `[MeSH Major Topic]` | MeSH term as major focus of the article | `"CRISPR-Cas Systems"[MeSH Major Topic]` |
- #### Boolean Operators
+ ### Boolean Operators
+ Boolean operators control how search terms combine:
+
```python
- # AND: All terms must be present
+ # AND: All terms must be present -- narrows results
results = query_pubmed("CRISPR AND cancer AND therapy")
- # OR: Any term can be present (use for synonyms)
+ # OR: Any term can be present -- broadens results (use for synonyms)
results = query_pubmed("(tumor OR tumour OR neoplasm) AND immunotherapy")
- # NOT: Exclude terms (use sparingly)
+ # NOT: Exclude terms -- use sparingly to avoid losing relevant papers
results = query_pubmed("cancer immunotherapy NOT review")
```
- ### 1.2 arXiv Search (Physics, Math, CS, Biology Preprints)
-
- Use `query_arxiv` for preprints in quantitative fields, including computational biology.
-
- ```python
- from biomni.tool.literature import query_arxiv
-
- # Basic search
- results = query_arxiv("protein structure prediction", max_papers=10)
-
- # Author-specific search
- results = query_arxiv("au:Jumper AND AlphaFold", max_papers=5)
+ Use parentheses to group OR terms together before combining with AND.
- # Subject category search
- results = query_arxiv("cat:q-bio.BM AND machine learning", max_papers=10)
- ```
+ ### arXiv Subject Categories
- #### arXiv Subject Categories (Biology-related)
+ arXiv organizes preprints by subject category. Biology-related categories include:
| Category | Description |
|----------|-------------|
| `q-bio.BM` | Biomolecules |
| `q-bio.CB` | Cell Behavior |
| `q-bio.GN` | Genomics |
| `q-bio.MN` | Molecular Networks |
| `q-bio.NC` | Neurons and Cognition |
| `q-bio.QM` | Quantitative Methods |
| `cs.AI` | Artificial Intelligence |
| `cs.LG` | Machine Learning |
- ### 1.3 Google Scholar Search (Broad Academic Coverage)
-
- Use `query_scholar` for broader academic searches across disciplines.
-
- ```python
- from biomni.tool.literature import query_scholar
-
- # Returns first most relevant result
- result = query_scholar("single cell RNA sequencing analysis methods")
- ```
-
- **Note**: Google Scholar has rate limits. Use sparingly and consider delays between requests.
-
- ## Tier 2: AI-Assisted Web Search
-
- ### 2.1 Advanced Web Search with Claude
-
- Use `advanced_web_search_claude` for comprehensive, AI-synthesized research queries.
-
- ```python
- from biomni.tool.literature import advanced_web_search_claude
-
- # Complex research question
- results = advanced_web_search_claude(
- "What are the latest developments in CAR-T cell therapy for solid tumors in 2024?",
- max_searches=3
- )
-
- # Comparative analysis
- results = advanced_web_search_claude(
- "Compare different CRISPR delivery methods for in vivo gene editing: viral vectors vs lipid nanoparticles",
- max_searches=5
- )
- ```
-
- #### When to Use AI-Assisted Search
-
- **Good use cases**:
- - Understanding research landscape and current state of the field
- - Finding recent developments not yet in academic databases
- - Complex questions requiring synthesis of multiple sources
- - Identifying key researchers, labs, and institutions
- - Finding methodology comparisons and reviews
-
- **Avoid for**:
- - Specific paper lookups (use database searches)
- - Citation counts and impact factors (use Google Scholar)
- - Systematic reviews requiring reproducibility
- - When exact search terms must be documented
-
- ### 2.2 General Web Search
-
- Use `search_google` (via DuckDuckGo) for protocols, tutorials, and general information.
-
- ```python
- from biomni.tool.literature import search_google
-
- # Find protocols
- results = search_google("Western blot protocol step by step", num_results=5)
-
- # Find software documentation
- results = search_google("Seurat single cell analysis tutorial", num_results=3)
- ```
-
- ## Tier 3: Content Extraction
-
- ### 3.1 Extract URL Content
-
- Use `extract_url_content` to get clean text from web pages.
+ ## Decision Framework
- ```python
- from biomni.tool.literature import extract_url_content
+ Use this tree to determine which search tier and database to start with:
- # Extract article content
- content = extract_url_content("https://www.nature.com/articles/nature12373")
```
-
- ### 3.2 Extract PDF Content
-
- Use `extract_pdf_content` to extract text from PDF files.
-
- ```python
- from biomni.tool.literature import extract_pdf_content
-
- # Direct PDF URL
- content = extract_pdf_content("https://arxiv.org/pdf/1706.03762.pdf")
-
- # Page with PDF link (will find and download PDF)
- content = extract_pdf_content("https://www.nature.com/articles/nature12373")
+ What type of question are you answering?
+ ├── Clinical / biomedical question
+ │ ├── Specific drug or treatment → Tier 1: PubMed with PICO query
+ │ ├── Disease mechanism → Tier 1: PubMed with MeSH terms
+ │ └── Clinical trial evidence → Tier 1: PubMed filtered by Publication Type
+ ├── Computational / quantitative methods
+ │ ├── ML model or algorithm → Tier 1: arXiv (cs.LG, cs.AI)
+ │ ├── Computational biology method → Tier 1: arXiv (q-bio.*) + PubMed
+ │ └── Software tool or pipeline → Tier 2: AI-assisted web search
+ ├── Broad research landscape
+ │ ├── Current state of a field → Tier 2: AI-assisted web search
+ │ ├── Recent developments (last 6 months) → Tier 2: AI-assisted web search
+ │ └── Cross-disciplinary question → Tier 1: Google Scholar + Tier 2
+ ├── Specific paper or data
+ │ ├── Known paper details → Tier 1: any database by title/author/DOI
+ │ ├── Methodology or protocol → Tier 3: full-text extraction
+ │ └── Supplementary data → Tier 3: DOI-based supplementary fetch
+ └── Protocols / reagents
+ ├── Lab protocol → Tier 2: web search for protocols.io, etc.
+ └── Validated reagents → Tier 2: AI-assisted web search
```
- ### 3.3 Fetch Supplementary Materials
+ | Scenario | Recommended Tier and Database | Rationale |
+ |----------|-------------------------------|-----------|
+ | Systematic review of clinical evidence | Tier 1: PubMed with MeSH + publication type filters | Reproducible, documented search strategy required |
+ | Finding a preprint on a new ML method | Tier 1: arXiv with category and keyword search | Preprints appear on arXiv before journals |
+ | Understanding the research landscape | Tier 2: AI-assisted web search | Requires synthesis across many sources |
+ | Extracting a specific protocol from a paper | Tier 3: PDF content extraction | Need full-text access to methods section |
+ | Finding papers across disciplines | Tier 1: Google Scholar | Broadest coverage across fields |
+ | Identifying key researchers in a niche area | Tier 2: AI-assisted web search | Requires contextual synthesis |
+ | Downloading supplementary data tables | Tier 3: DOI-based supplementary fetch | Direct access to supplementary files |
- Use `fetch_supplementary_info_from_doi` to download supplementary data.
+ ## Best Practices
- ```python
- from biomni.tool.literature import fetch_supplementary_info_from_doi
+ 1. **Use controlled vocabulary (MeSH) for PubMed searches**: Free-text searches miss papers that use different terminology. MeSH terms map synonyms to a single concept, improving recall without sacrificing precision.
+ ```python
+ # Free text misses synonyms
+ query_pubmed("heart attack treatment")
+ # MeSH captures all synonyms
+ query_pubmed('"Myocardial Infarction"[MeSH] AND "Drug Therapy"[MeSH]')
+ ```
- # Download supplementary files using DOI
- log = fetch_supplementary_info_from_doi(
- "10.1038/nature12373",
- output_dir="./supplementary_materials"
- )
- ```
+ 2. **Include synonyms and alternative terms with OR**: Scientific concepts often have multiple names (e.g., tumor/tumour/neoplasm). Group synonyms with OR inside parentheses to avoid missing relevant papers.
+ ```python
+ query_pubmed("(myocardial infarction OR heart attack) AND (treatment OR therapy)")
+ ```
- ## Recommended Search Workflow
+ 3. **Use phrase searching for multi-word concepts**: Quoting exact phrases prevents the search engine from splitting terms and matching them independently.
+ ```python
+ query_pubmed('"single cell RNA sequencing" AND methods')
+ ```
- ### Step 1: Define Your Research Question
+ 4. **Filter by publication type when seeking specific evidence**: Clinical trials, systematic reviews, and meta-analyses each answer different questions. Use `[Publication Type]` to target the evidence level you need.
+ ```python
+ query_pubmed("COVID-19 vaccine efficacy AND clinical trial[Publication Type]")
+ ```
- Before searching, clearly define:
- 1. **Main concept**: What is the primary topic?
- 2. **Population/Model**: Humans, mice, cell lines, etc.?
- 3. **Intervention/Method**: What technique or treatment?
- 4. **Outcome**: What results are you looking for?
- 5. **Time frame**: Recent only or historical?
+ 5. **Start broad, then narrow iteratively**: Begin with core concepts (2-3 terms) and review initial results. Add specificity based on what you find -- more terms, date ranges, field tags, or publication types.
+ ```python
+ # Step 1: Broad
+ results = query_pubmed("CRISPR base editing iPSC", max_papers=20)
+ # Step 2: Add MeSH and specificity
+ results = query_pubmed(
+ '"CRISPR-Cas Systems"[MeSH] AND "base editing" AND "induced pluripotent stem cells" AND efficiency',
+ max_papers=20
+ )
+ # Step 3: Filter by date
+ results = query_pubmed(
+ '"CRISPR-Cas Systems"[MeSH] AND "base editing" AND "induced pluripotent stem cells" AND efficiency AND ("2022"[Date - Publication]:"2024"[Date - Publication])',
+ max_papers=20
+ )
+ ```
- **Example**: "Find recent papers on CRISPR base editing efficiency in human iPSCs"
- - Main concept: CRISPR base editing
- - Model: Human iPSCs
- - Outcome: Efficiency data
- - Time frame: Last 3 years
+ 6. **Cross-reference multiple databases**: No single database covers all literature. Use PubMed for biomedical content, arXiv for computational preprints, and Google Scholar for cross-disciplinary coverage.
- ### Step 2: Construct Search Queries
+ 7. **Assess result quality systematically**: Evaluate papers for source reliability (peer-reviewed journal), author credentials, recency, study design appropriateness, sample size adequacy, reproducibility, declared conflicts of interest, and citation count.
- #### Start Broad, Then Narrow
+ ## Common Pitfalls
- ```python
- # Step 1: Broad search to understand the field
- results = query_pubmed("CRISPR base editing iPSC", max_papers=20)
+ 1. **Overly long and specific queries**: Packing too many terms into a single query causes missed results because all terms must match simultaneously.
+ - *How to avoid*: Limit queries to core concepts (3-5 terms). Run separate searches for sub-topics and combine results manually.
+ ```python
+ # Too specific -- misses relevant papers
+ query_pubmed("CRISPR Cas9 gene editing HEK293T cells 2024 efficiency optimization delivery")
+ # Better -- core concepts only
+ query_pubmed("CRISPR Cas9 gene editing optimization efficiency")
+ ```
- # Step 2: Add specific terms based on initial results
- results = query_pubmed(
- '"CRISPR-Cas Systems"[MeSH] AND "base editing" AND "induced pluripotent stem cells" AND efficiency',
- max_papers=20
- )
+ 2. **Relying on a single database**: PubMed has biomedical focus, arXiv covers preprints, Google Scholar spans disciplines. Using only one database guarantees blind spots.
+ - *How to avoid*: Always search at least two databases. For computational biology, combine PubMed and arXiv. For cross-disciplinary topics, include Google Scholar.
- # Step 3: Filter by date and article type
- results = query_pubmed(
- '"CRISPR-Cas Systems"[MeSH] AND "base editing" AND "induced pluripotent stem cells" AND efficiency AND ("2022"[Date - Publication]:"2024"[Date - Publication])',
- max_papers=20
- )
- ```
+ 3. **Ignoring publication dates**: Scientific knowledge evolves rapidly. Foundational papers remain relevant, but methods and clinical evidence may be superseded.
+ - *How to avoid*: Check publication dates in all results. For methods papers, prefer the last 3-5 years. For foundational concepts, older papers are acceptable but verify with recent reviews.
- ### Step 3: Evaluate and Filter Results
+ 4. **Skipping title and abstract review before deep-diving**: Not all search results that match keywords are actually relevant. Downloading and reading full texts without screening wastes time.
+ - *How to avoid*: Always screen titles and abstracts first. Only extract full text (Tier 3) for papers that pass screening.
- When reviewing results, prioritize:
- 1. **Relevance**: Does the paper address your question?
- 2. **Recency**: Is it recent enough for your needs?
- 3. **Quality indicators**:
- - Published in peer-reviewed journals
- - High citation count
- - Reputable authors/institutions
- 4. **Study type**:
- - For efficacy: RCTs, systematic reviews, meta-analyses
- - For mechanisms: Basic research papers
- - For methods: Protocol papers, method comparisons
+ 5. **Using NOT operators too aggressively**: The NOT operator can inadvertently exclude relevant papers that mention the excluded term in a different context.
+ - *How to avoid*: Use NOT sparingly. Prefer adding positive terms to narrow results rather than excluding terms. When you must use NOT, verify that excluded results are genuinely irrelevant.
- ### Step 4: Deep Dive into Key Papers
+ 6. **Ignoring Google Scholar rate limits**: Google Scholar aggressively rate-limits automated queries, which can block further searches.
+ - *How to avoid*: Use Google Scholar sparingly. Add delays between requests. Prefer PubMed or arXiv for bulk searching and reserve Google Scholar for cross-disciplinary checks.
- For important papers:
- ```python
- # 1. Extract full text
- content = extract_pdf_content("paper_url.pdf")
+ 7. **Not documenting the search strategy**: For systematic reviews and reproducible research, an undocumented search cannot be verified or reproduced.
+ - *How to avoid*: Record your search terms, databases queried, date ranges, and number of results at each stage. This is essential for systematic reviews and good practice for all searches.
- # 2. Get supplementary materials
- log = fetch_supplementary_info_from_doi("10.xxxx/xxxxx", "./supplements")
+ ## Workflow
- # 3. Check references for additional papers
- # 4. Check citations to find follow-up work
- ```
+ 1. **Step 1: Define the research question**
+ - Identify the main concept, population/model, intervention/method, desired outcome, and time frame
+ - For clinical questions, map to the PICO framework
+ - Example: "Find recent papers on CRISPR base editing efficiency in human iPSCs" decomposes to: main concept = CRISPR base editing, model = human iPSCs, outcome = efficiency, time frame = last 3 years
- ## Query Formulation Best Practices
+ 2. **Step 2: Construct and execute database queries (Tier 1)**
+ - Start with PubMed for biomedical topics, arXiv for computational topics
+ - Begin with a broad query using 2-3 core terms
+ - Refine with MeSH terms, field tags, date filters, and publication type filters
+ ```python
+ from biomni.tool.literature import query_pubmed, query_arxiv, query_scholar
- ### Do's:
+ # PubMed: biomedical literature
+ results = query_pubmed(
+ '"CRISPR-Cas Systems"[MeSH] AND "Gene Editing"[MeSH]',
+ max_papers=20
+ )
- 1. **Use synonyms and alternative terms**
- ```python
- # Bad: Too narrow
- query_pubmed("heart attack treatment")
+ # arXiv: computational biology preprints
+ results = query_arxiv("protein structure prediction", max_papers=10)
- # Good: Includes medical terms
- query_pubmed("(myocardial infarction OR heart attack) AND (treatment OR therapy)")
+ # Google Scholar: broad cross-disciplinary coverage
+ result = query_scholar("single cell RNA sequencing analysis methods")
```
- 2. **Use controlled vocabulary (MeSH terms for PubMed)**
+ 3. **Step 3: Supplement with AI-assisted search (Tier 2)**
+ - Use AI-assisted web search for landscape overviews and recent developments
+ - Use general web search for protocols, tutorials, and documentation
```python
- # Better recall with MeSH
- query_pubmed('"Myocardial Infarction"[MeSH] AND "Drug Therapy"[MeSH]')
- ```
+ from biomni.tool.literature import advanced_web_search_claude
- 3. **Specify study types when needed**
- ```python
- # Find clinical trials only
- query_pubmed("COVID-19 vaccine efficacy AND clinical trial[Publication Type]")
+ results = advanced_web_search_claude(
+ "What are the latest developments in CAR-T cell therapy for solid tumors in 2024?",
+ max_searches=3
+ )
```
- 4. **Use phrase searching for exact matches**
- ```python
- # Use quotes for exact phrases
- query_pubmed('"single cell RNA sequencing" AND methods')
- ```
+ 4. **Step 4: Evaluate and filter results**
+ - Screen titles and abstracts for relevance
+ - Prioritize by recency, journal quality, citation count, and study design
+ - For clinical evidence, prioritize RCTs, systematic reviews, and meta-analyses
+ - For methods, prioritize protocol papers and method comparisons
+ - Decision point: If too many results, add more specific terms or filters. If too few, broaden terms and add synonyms.
- 5. **Iterate based on results**
- - Too many results? Add more specific terms
- - Too few results? Broaden terms, add synonyms
- - Wrong focus? Adjust key concepts
+ 5. **Step 5: Deep dive into key papers (Tier 3)**
+ - Extract full text from high-priority papers
+ - Download supplementary materials for data and protocols
+ - Check reference lists for additional relevant papers
+ ```python
+ from biomni.tool.literature import extract_url_content, extract_pdf_content, fetch_supplementary_info_from_doi
- ### Don'ts:
+ # Extract article content from URL
+ content = extract_url_content("https://www.nature.com/articles/nature12373")
- 1. **Don't use overly long queries**
- ```python
- # Bad: Too specific, may miss relevant papers
- query_pubmed("CRISPR Cas9 gene editing HEK293T cells 2024 efficiency optimization delivery")
+ # Extract text from PDF
+ content = extract_pdf_content("https://arxiv.org/pdf/1706.03762.pdf")
- # Good: Core concepts only
- query_pubmed("CRISPR Cas9 gene editing optimization efficiency")
+ # Download supplementary files using DOI
+ log = fetch_supplementary_info_from_doi(
+ "10.1038/nature12373",
+ output_dir="./supplementary_materials"
+ )
```
- 2. **Don't rely on a single database**
- - PubMed: Biomedical focus
- - arXiv: Preprints, computational methods
- - Google Scholar: Broader coverage
+ 6. **Step 6: Document and iterate**
+ - Record all search terms, databases, filters, and result counts
+ - If gaps remain, revisit Steps 2-3 with refined queries
+ - For systematic reviews, follow PRISMA guidelines for reporting
- 3. **Don't ignore publication dates**
- - Science moves fast; check for recent updates
- - But don't exclude foundational older papers
+ ## Common Search Scenarios
- 4. **Don't skip title/abstract review**
- - Not all "relevant" search results are truly relevant
- - Read abstracts before full papers
+ The following scenarios illustrate how to combine the three tiers for typical research questions.
- ## Common Search Scenarios
+ ### Finding Methods and Protocols
- ### Scenario 1: Finding Methods/Protocols
+ Start with PubMed for published methodology papers, then supplement with web search for step-by-step protocols from resources like protocols.io.
```python
- # Search for methodology papers
+ from biomni.tool.literature import query_pubmed, search_google
+
+ # Search for methodology papers in PubMed
results = query_pubmed(
'"Western Blotting"[MeSH] AND (protocol OR method OR technique)',
max_papers=10
)
# Check web for step-by-step protocols
results = search_google("Western blot protocol for membrane proteins", num_results=5)
```
- ### Scenario 2: Understanding Disease Mechanism
+ ### Understanding Disease Mechanisms
+ Begin with review articles for a broad overview, then drill into specific mechanistic studies.
+
```python
- # Find review articles first
+ # Find review articles first for an overview
results = query_pubmed(
'"Alzheimer Disease"[MeSH] AND pathophysiology AND review[Publication Type]',
max_papers=10
)
# Then find specific mechanistic studies
results = query_pubmed(
'"Alzheimer Disease"[MeSH] AND ("amyloid beta"[MeSH] OR tau) AND mechanism',
max_papers=20
)
```
- ### Scenario 3: Finding Drug/Treatment Information
+ ### Finding Drug and Treatment Information
+ Use publication type filters to separate clinical trial evidence from systematic reviews.
+
```python
- # Clinical trials
+ # Clinical trials for a specific drug-condition pair
results = query_pubmed(
'"Drug Name"[Substance Name] AND "Condition"[MeSH] AND clinical trial[Publication Type]',
max_papers=20
)
- # Systematic reviews
+ # Systematic reviews and meta-analyses
results = query_pubmed(
'"Drug Name" AND "Condition" AND (systematic review[Publication Type] OR meta-analysis[Publication Type])',
max_papers=10
)
```
- ### Scenario 4: Latest Developments in a Field
+ ### Tracking Latest Developments
+ Combine AI-assisted search for synthesis with database searches for recent indexed publications.
+
```python
- # Use AI-assisted search for synthesis
+ from biomni.tool.literature import advanced_web_search_claude, query_pubmed
+
+ # AI-assisted synthesis of recent advances
results = advanced_web_search_claude(
"What are the most significant advances in CAR-T cell therapy in 2024?",
max_searches=3
)
- # Supplement with recent PubMed searches
+ # Supplement with recent PubMed results
results = query_pubmed(
'"Chimeric Antigen Receptor T-Cell Therapy"[MeSH] AND "2024"[Date - Publication]',
max_papers=20
)
```
- ### Scenario 5: Finding Specific Reagents/Materials
+ ### Finding Specific Reagents and Materials
+ Use AI-assisted search for validated reagent recommendations, supplemented by general web search.
+
```python
+ from biomni.tool.literature import advanced_web_search_claude, search_google
+
# Search for validated reagents
results = advanced_web_search_claude(
"validated antibodies for Western blot detection of p53 protein",
max_searches=2
)
- # Search databases
+ # Search supplier databases
results = search_google("p53 antibody Western blot validated", num_results=5)
```
- ## Quality Assessment Checklist
-
- When evaluating search results:
+ ### Comparative Analysis Across Methods
- - [ ] **Source reliability**: Is it from a peer-reviewed journal?
- - [ ] **Author credentials**: Are authors experts in the field?
- - [ ] **Recency**: Is the information up-to-date?
- - [ ] **Study design**: Appropriate for the question?
- - [ ] **Sample size**: Adequate for conclusions drawn?
- - [ ] **Reproducibility**: Methods described clearly?
- - [ ] **Conflicts of interest**: Any declared conflicts?
- - [ ] **Citation count**: Well-cited by others?
+ Use AI-assisted search for synthesized comparisons of techniques or tools.
- ## Troubleshooting
+ ```python
+ from biomni.tool.literature import advanced_web_search_claude
- ### Issue: No Results Found
+ # Compare approaches with AI synthesis
+ results = advanced_web_search_claude(
+ "Compare different CRISPR delivery methods for in vivo gene editing: viral vectors vs lipid nanoparticles",
+ max_searches=5
+ )
+ ```
- **Solutions**:
- 1. Broaden search terms
- 2. Remove restrictive filters (date, publication type)
- 3. Try alternative databases
- 4. Use synonyms and alternative terminology
- 5. Check spelling of scientific terms
+ ## Quality Assessment Checklist
- ### Issue: Too Many Results
+ When evaluating search results, apply these criteria:
- **Solutions**:
- 1. Add more specific terms
- 2. Use MeSH terms instead of free text
- 3. Restrict to specific publication types
- 4. Limit date range
- 5. Add [Title] or [Title/Abstract] field tags
+ - **Source reliability**: Is the paper from a peer-reviewed journal?
+ - **Author credentials**: Are the authors established experts in the field?
+ - **Recency**: Is the information current enough for your purpose?
+ - **Study design**: Is the design appropriate for the question (e.g., RCT for efficacy, cohort for risk)?
+ - **Sample size**: Is it adequate for the conclusions drawn?
+ - **Reproducibility**: Are methods described clearly enough to replicate?
+ - **Conflicts of interest**: Are any conflicts declared?
+ - **Citation count**: Has the paper been well-cited by subsequent work?
- ### Issue: Results Not Relevant
+ ## Further Reading
- **Solutions**:
- 1. Use phrase searching ("exact phrase")
- 2. Use NOT to exclude irrelevant topics
- 3. Focus on MeSH major topic ([MeSH Major Topic])
- 4. Review and refine key concepts
+ - [PubMed Help](https://pubmed.ncbi.nlm.nih.gov/help/) -- Official guide to PubMed search syntax, field tags, filters, and advanced features
+ - [arXiv Help Pages](https://info.arxiv.org/help/index.html) -- Documentation on arXiv search, subject categories, and submission process
+ - [MeSH Browser](https://meshb.nlm.nih.gov/) -- NLM tool for browsing and searching the Medical Subject Headings controlled vocabulary
+ - [PRISMA Statement](http://www.prisma-statement.org/) -- Guidelines for transparent reporting of systematic reviews and meta-analyses
+ - [Cochrane Handbook for Systematic Reviews](https://training.cochrane.org/handbook) -- Gold-standard methodology for systematic literature reviews
- ### Issue: API Rate Limiting
+ ## Related Skills
- **Solutions**:
- 1. Add delays between requests (`time.sleep(2)`)
- 2. Use different databases
- 3. Cache results for repeated searches
- 4. Reduce number of results requested
+ - `pubmed-database` -- Direct PubMed API access for programmatic literature retrieval
+ - `scientific-manuscript-writing` -- Structuring literature review sections within manuscripts
+ - `research-question-formulation` -- Frameworks for defining answerable research questions