Skip to main content

Lookup PubMed records and make Publication objects with info about a scientific publication

Project description

PyPI Version Build Status Test Coverage Monthly PyPI Downloads Compatible Python Versions License

pubmed-lookup is a Python package to lookup PubMed records and make Publication objects with info about a scientific publication.

Source code is available on GitHub at mfcovington/pubmed-lookup.

Installation

PyPI

pip install pubmed-lookup

GitHub (development branch)

pip install git+http://github.com/mfcovington/pubmed-lookup.git@develop

Usage

  • Retrieve a PubMed record:

    from pubmed_lookup import PubMedLookup
    
    # NCBI will contact user by email if excessive queries are detected
    email = ''
    url = 'http://www.ncbi.nlm.nih.gov/pubmed/22331878'
    lookup = PubMedLookup(url, email)
  • Create a Publication object:

    from pubmed_lookup import Publication
    
    publication = Publication(lookup)    # Use 'resolve_doi=False' to keep DOI URL
  • Access the Publication object’s attributes:

    print(
    """
    TITLE:\n{title}\n
    AUTHORS:\n{authors}\n
    JOURNAL:\n{journal}\n
    YEAR:\n{year}\n
    MONTH:\n{month}\n
    DAY:\n{day}\n
    URL:\n{url}\n
    PUBMED:\n{pubmed}\n
    CITATION:\n{citation}\n
    MINICITATION:\n{mini_citation}\n
    ABSTRACT:\n{abstract}\n
    """
    .format(**{
        'title': publication.title,
        'authors': publication.authors,
        'journal': publication.journal,
        'year': publication.year,
        'month': publication.month,
        'day': publication.day,
        'url': publication.url,
        'pubmed': publication.pubmed_url,
        'citation': publication.cite(),
        'mini_citation': publication.cite_mini(),
        'abstract': repr(publication.abstract),
    }))
  • Output of example:

    TITLE: Arabidopsis synchronizes jasmonate-mediated defense with insect circadian behavior.

    AUTHORS: Goodspeed D, Chehab EW, Min-Venditti A, Braam J, Covington MF

    JOURNAL: Proc Natl Acad Sci U S A

    YEAR: 2012

    MONTH: 3

    DAY: 20

    URL: http://www.pnas.org/content/109/12/4674

    PUBMED: http://www.ncbi.nlm.nih.gov/pubmed/22331878

    CITATION: Goodspeed D, Chehab EW, Min-Venditti A, Braam J, Covington MF (2012). Arabidopsis synchronizes jasmonate-mediated defense with insect circadian behavior. Proc Natl Acad Sci U S A 109(12): 4674-7.

    MINICITATION: Goodspeed D - Covington MF - 2012 - Proc Natl Acad Sci U S A

    ABSTRACT: Diverse life forms have evolved internal clocks enabling them to monitor time and thereby anticipate the daily environmental changes caused by Earth’s rotation. The plant circadian clock regulates expression of about one-third of the Arabidopsis genome, yet the physiological relevance of this regulation is not fully understood. Here we show that the circadian clock, acting with hormone signals, provides selective advantage to plants through anticipation of and enhanced defense against herbivory. We found that cabbage loopers (Trichoplusia ni) display rhythmic feeding behavior that is sustained under constant conditions, and plants entrained in light/dark cycles coincident with the entrainment of the T. ni suffer only moderate tissue loss due to herbivory. In contrast, plants entrained out-of-phase relative to the insects are significantly more susceptible to attack. The in-phase entrainment advantage is lost in plants with arrhythmic clocks or deficient in jasmonate hormone; thus, both the circadian clock and jasmonates are required. Circadian jasmonate accumulation occurs in a phase pattern consistent with preparation for the onset of peak circadian insect feeding behavior, providing evidence for the underlying mechanism of clock-enhanced herbivory resistance. Furthermore, we find that salicylate, a hormone involved in biotrophic defense that often acts antagonistically to jasmonates, accumulates in opposite phase to jasmonates. Our results demonstrate that the plant circadian clock provides a strong physiological advantage by performing a critical role in Arabidopsis defense.”

Command-Line Tools

pubmed-citation

  • Get a PubMed record’s citation (both give same result):

    pubmed-citation 22331878
    pubmed-citation http://www.ncbi.nlm.nih.gov/pubmed/22331878
  • Output of example:

    Goodspeed D, Chehab EW, Min-Venditti A, Braam J, Covington MF (2012). Arabidopsis synchronizes jasmonate-mediated defense with insect circadian behavior. Proc Natl Acad Sci U S A 109(12): 4674-7.

  • Output of example (using --mini option):

    Goodspeed D - Covington MF - 2012 - Proc Natl Acad Sci U S A

pubmed-url

Version 0.2.3

Revision History

0.2.3 2019-10-31

  • Refactor tests

  • Test are requiring biopython>=1.66 to run/pass

  • Fix error message for Python (3.3+) version check

  • Remove Python 3.3 and 3.4 from Travis CI config

0.2.2 2019-10-31

  • Accommodate publications with no authors

  • Retain DOI URL when resolving throws URLError

  • Catch connection reset errors when resolving DOI URLs

  • Indicate compatibility with recent versions of Python 3 (through 3.7)

  • Update README badges

0.2.1 2016-01-22

  • Change import of pubmed_lookup.command_line that was causing Travis CI to fail

0.2.0 2016-01-22

  • Create command-line tool (pubmed-citation) to quickly retrieve citations for PubMed IDs/URLS

  • Create command-line tool (pubmed-url) to quickly retrieve article and DOI URLs for PubMed IDs/URLS

  • Add option to save time by not resolving DOI URL (Publication(pubmed_record, resolve_doi=False))

  • Clean up documentation

0.1.5 2016-01-08

  • Add exception for publications that do not have month information (Thanks to Sasha Cuerda!)

0.1.4 2015-12-24

  • Resolve PEP8 errors

  • Refactor code to be cleaner

  • Configure Landscape and add code health badge

  • Convert Github installation instructions to install from develop branch

0.1.3 2015-07-29

  • Add tests for Publication and PubMedLookup

  • Configure Travis-CI

  • Configure Coveralls

  • Add PyPI, Travis-CI, and Coveralls badges to README

0.1.2 2015-06-24

  • Prepare for distribution via PyPI

0.1.1 2015-05-26

  • Return an abbreviated citation for a Publication with cite_mini()

  • Change install docs to use GitHub link, since not yet on PyPI

0.1.0 2015-05-22

  • Lookup PubMed records and make Publication objects with info about a scientific publication

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pubmed-lookup-0.2.3.tar.gz (9.9 kB view hashes)

Uploaded Source

Built Distribution

pubmed_lookup-0.2.3-py32-none-any.whl (13.6 kB view hashes)

Uploaded Python 3.2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page