Exemplo n.º 1
0
def generate_all_article_info(csv_dir="1. excel files"):
    '''
    1. Parse all .csv files in the directory specified by csv_dir, and, 
    2. Generate corresponding article information files that include 
        PMIDs and titles (citation info) for articles annotated in csv 
        files. 
    '''
    failures = []
    for csv_f in [f for f in os.listdir(csv_dir) if f.endswith(".xls")]:
        cur_title = get_article_title(os.path.join(csv_dir, csv_f))
        #get pubmid from title
        pmid = pubmedpy.get_pmid_from_title(cur_title)
        if pmid:
            print "matched %s for %s." % (pmid, csv_f)
            citation_info = list(pubmedpy.fetch_articles([pmid]))[0]
            title, mesh, authors, abstract, affiliation, journal, volume, article = get_fields_from_article(
                citation_info)
            with open(
                    os.path.join(csv_dir,
                                 csv_f).replace(".xls", ".article_info.txt"),
                    'wb') as out_f:
                csv_writer = csv.writer(out_f)
                csv_writer.writerow([
                    pmid, title, mesh, authors, abstract, affiliation, journal,
                    volume
                ])
        else:
            #print "!!! failure !!! could not find PubMed entry for %s" % cur_title
            failures.append(cur_title)

    print "ok! %s failures (see below, if any). \n %s" % (len(failures),
                                                          "\n".join(failures))
def generate_all_article_info(csv_dir="1. excel files"):
    '''
    1. Parse all .csv files in the directory specified by csv_dir, and, 
    2. Generate corresponding article information files that include 
        PMIDs and titles (citation info) for articles annotated in csv 
        files. 
    '''
    failures = []
    for csv_f in [f for f in os.listdir(csv_dir) if f.endswith(".xls")]:
        cur_title = get_article_title(os.path.join(csv_dir, csv_f))
        #get pubmid from title
        pmid = pubmedpy.get_pmid_from_title(cur_title)
        if pmid: 
            print "matched %s for %s." % (pmid, csv_f)
            citation_info = list(pubmedpy.fetch_articles([pmid]))[0]
            title, mesh, authors, abstract, affiliation, journal, volume, article = get_fields_from_article(citation_info)
            with open(os.path.join(csv_dir,csv_f).replace(".xls", ".article_info.txt"), 'wb') as out_f:
                csv_writer = csv.writer(out_f)
                csv_writer.writerow([pmid, title, mesh, authors, abstract, affiliation, journal, volume])
        else:
            #print "!!! failure !!! could not find PubMed entry for %s" % cur_title
            failures.append(cur_title)

    print "ok! %s failures (see below, if any). \n %s" % (len(failures), "\n".join(failures))
Exemplo n.º 3
0
def get_article_from_pmid(pmid):
    return list(pubmedpy.fetch_articles([str(pmid)]))[0]
def get_article_from_pmid(pmid):
    return list(pubmedpy.fetch_articles([str(pmid)]))[0]