Exemple #1
0
 def pmcid_article(ref, user=None):
     article_array = []
     fetch = PubMedFetcher()
     for pmcid in Reference.pmcid(ref):
         article = fetch.article_by_pmcid(pmcid)
         article_array.append(article)
     return article
Exemple #2
0
 def pmcid_article(ref, user=None):
     article_array = []
     fetch = PubMedFetcher()
     for pmcid in Reference.pmcid(ref):
         article = fetch.article_by_pmcid(pmcid)
         article_array.append(article)
     return article
Exemple #3
0
    def processPMID(self, description, document, text):
        """XXX"""

        pmid = re.compile('PMID *(\d+)')
        list_pmid = pmid.findall(description)
        description = re.sub(r'\[PMID *\d+\]', '', description)
        pmcid = re.compile('PMCID *(\d+)')
        list_pmcid = pmcid.findall(description)
        description = re.sub(r'\[PMCID *\d+\]', '', description)
        para = description.split(ur'\n')
        for para_str in para:
            #print para_str
            p = document.add_paragraph('	')
            p.add_run(para_str)
        std_str = u"我们通过检测您的基因位点,使用PUBMED等国际公认参考系统,我们认为" + text + u"。"
        p = document.add_paragraph('	')
        p.add_run(std_str)

        fetch = PubMedFetcher()
        for pmid in list_pmid:
            # http://www.ncbi.nlm.nih.gov/pubmed/26471457
            pm = fetch.article_by_pmid(pmid)
            title = pm.title
            title = re.sub('\.', '', title)
            citation = '. '.join([title, pm.journal])
            p = document.add_paragraph()
            p.add_run(citation).italic = True

        for pmcid in list_pmcid:
            pm = fetch.article_by_pmcid(pmcid)
            title = pm.title
            title = re.sub('\.', '', title)
            citation = '. '.join([title, pm.journal])
            p = document.add_paragraph()
            p.add_run(citation).italic = True
Exemple #4
0
def fetch_pubmed(pub_id, id_type = "pmid"):
    """
        Fetches and formats pub data from
        pubmed
    """
    pm = PubMedFetcher()
    if id_type == 'doi':
        try:
            result = pm.article_by_doi(pub_id)
        except (AttributeError, MetaPubError, EutilsNCBIError):
            return None
    elif id_type == "pmid":
        try:
            result = pm.article_by_pmid(pub_id)
        except (AttributeError, InvalidPMID, EutilsNCBIError):
            return None
    elif id_type == "pmc":
        try:
            result = pm.article_by_pmcid('PMC' + str(pub_id))
        except (AttributeError, MetaPubError, EutilsNCBIError):
            return None
    result = result.to_dict()

    # Set link using DOI
    if result.get('doi'):
        result['url'] = "http://dx.doi.org/" + result.get('doi')
    else:
        result['url'] = result.get('url')

    # Provide PDF if possible
    if result.get('pmc'):
        result['pdf_url'] = f"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC{result['pmc']}/pdf"
    

    out = {"pub_title": result.get('title'),
           "pub_authors": result.get('authors'),
           "pub_abstract": result.get('abstract'),
           "pub_doi": result.get('doi'),
           "pub_pmid": result.get('pmid'),
           "pub_pmc": pub_id if id_type == 'pmc' else None,
           "pub_url": result.get('url'),
           "pub_pdf_url": result.get('pdf_url') or 'searching',
           "pub_journal": result.get('journal'),
           "pub_date": result['history'].get('pubmed')}
    return out
Exemple #5
0
def search(entry):
    fetch = PubMedFetcher()
    try:
        article = fetch.article_by_pmid(entry['pmid'])
    except:
        try:
            article = fetch.article_by_pmcid(entry['pmcid'])
        except:
            try:
                article = fetch.article_by_doi(entry['doi'])
            except:
                try:
                    pmids = fetch.pmids_for_citation(authors=entry['author'], journal=entry['journal'], year=entry['year'], volume=entry['volume'])
                    # pmids2 = fetch.pmids_for_query(entry['title'])
                    article = fetch.article_by_pmid(pmids[0])
                except:
                    return None
    return article
Exemple #6
0
from metapub import PubMedFetcher

fetch = PubMedFetcher()

print "Get paper information by PMID"
article = fetch.article_by_pmid('21931568')
print article.title
print article.journal, article.year, article.volume, article.issue
print article.authors

print '\nGet paper information by PMCID'

article = fetch.article_by_pmcid(2674488)
print article.title
print article.journal, article.year, article.volume, article.issue
print article.authors
from __future__ import absolute_import, print_function, unicode_literals

import sys, logging
from metapub import PubMedFetcher

logging.loglevel = logging.INFO

try:
    someid = sys.argv[1]
except IndexError:
    print('Supply a PMCID or DOI (example: ./blah.py PMC3479421)')
    sys.exit()

fetch = PubMedFetcher()
article = fetch.article_by_pmcid(someid)

print(article.title)
print(', '.join(article.authors))
print()

print(article.journal, article.volume_issue)
print()
print('Pubmed ID: ' + article.pmid)
"""
<pmcids status="ok">
<request idtype="pmcid" pmcids="" versions="yes" showaiid="no">
<echo>tool=medgen-python;email=naomi.most%40invitae.com;ids=PMC3479421</echo>
</request>
<record requested-id="PMC3479421" pmcid="PMC3479421" pmid="22676651" doi="10.1186/1750-1172-7-35"><versions><version pmcid="PMC3479421.1" current="true"/></versions></record>
</pmcids>
"""