示例#1
0
def get_response_dict(id_type, ids, pmc_query):
    response_dict = {}
    num_ids = len(ids)
    id_counter = 0
    geo_instance = geo.GEO()
    for accession in ids:
        print accession,
        id_counter += 1
        reuse_pmcids = get_accession_in_pmc_fulltext(id_type, accession,
                                                     pmc_query)
        if ((not reuse_pmcids) or ("<ERROR>" in "".join(reuse_pmcids))):
            print " Nope"
            continue
        stripped_accession = geo.get_stripped_accession(accession)
        if id_type == "GSE":
            gse_accessions = [stripped_accession]
            gds_accessions = [
                geo.get_stripped_accession(acc)
                for acc in geo.get_gds_from_gse("GSE" + stripped_accession)
            ]
        else:
            gds_accessions = [stripped_accession]
            gse_accessions = [
                geo.get_stripped_accession(acc)
                for acc in geo.get_gse_from_gds("GDS" + stripped_accession)
            ]

        try:
            submit_pmids = geo_instance.pmids("GSE" + gse_accessions[0])
        except Exception:
            continue

        print id_counter, "of", num_ids, ":", stripped_accession, "--", (
            submit_pmids), "; ", len(reuse_pmcids)
        for reuse_pmcid in reuse_pmcids:
            reuse_pmids_for_pmcid = pubmedcentral.pmcids_to_pmids(reuse_pmcid)
            dict_key = (id_type + stripped_accession, reuse_pmcid)
            this_submit_contributors = flatten_unique([
                geo_instance.contributors("GSE" + gse_accession)
                for gse_accession in gse_accessions
            ])
            this_submit_authors = get_authors_and_submittors_from_accession(
                submit_pmids, this_submit_contributors)
            this_reuse_authors = get_authors_and_submittors_from_accession(
                reuse_pmids_for_pmcid)
            intersect = get_author_intersect_submit_reuse(
                this_submit_authors, this_reuse_authors)
            submit_affiliation = affiliation.institution(submit_pmids)
            release_date = geo_instance.release_date("GSE" + gse_accession)
            response_dict[dict_key] = (id_type + stripped_accession,
                                       gse_accessions, gds_accessions,
                                       submit_pmids, reuse_pmcid,
                                       reuse_pmids_for_pmcid,
                                       this_submit_authors, this_reuse_authors,
                                       intersect, submit_affiliation,
                                       release_date)
            #print response_dict[dict_key]
    return (response_dict)
示例#2
0
def get_accession_variants(id_type, id):
    variants = []
    variants.append(id_type + id)
    variants.append('"' + id_type + ' ' + id + '"')
    id_stripped = geo.get_stripped_accession(id)
    if (id_stripped != id):
        variants.append(id_type + id_stripped)
        variants.append('"' + id_type + ' ' + id_stripped + '"')
    return (variants)
示例#3
0
def get_accession_variants(id_type, id):
    variants = []
    variants.append(id_type + id)
    variants.append('"' + id_type + ' ' + id  + '"')
    id_stripped = geo.get_stripped_accession(id)
    if (id_stripped != id):
        variants.append(id_type + id_stripped)
        variants.append('"' + id_type + ' ' + id_stripped + '"')
    return(variants)
示例#4
0
def get_response_dict(id_type, ids, pmc_query):
    response_dict = {}
    num_ids = len(ids)
    id_counter = 0
    geo_instance = geo.GEO()
    for accession in ids:
        print accession,
        id_counter += 1
        reuse_pmcids = get_accession_in_pmc_fulltext(id_type, accession, pmc_query)        
        if ((not reuse_pmcids) or ("<ERROR>" in "".join(reuse_pmcids))):
            print " Nope"
            continue
        stripped_accession = geo.get_stripped_accession(accession)  
        if id_type=="GSE":
            gse_accessions = [stripped_accession]
            gds_accessions = [geo.get_stripped_accession(acc) for acc in geo.get_gds_from_gse("GSE"+stripped_accession)]
        else:
            gds_accessions = [stripped_accession]  
            gse_accessions = [geo.get_stripped_accession(acc) for acc in geo.get_gse_from_gds("GDS"+stripped_accession)]
            
        try:       
            submit_pmids = geo_instance.pmids("GSE"+gse_accessions[0])
        except Exception:
            continue
            
        print id_counter, "of", num_ids, ":", stripped_accession, "--", (submit_pmids), "; ", len(reuse_pmcids)
        for reuse_pmcid in reuse_pmcids:
            reuse_pmids_for_pmcid = pubmedcentral.pmcids_to_pmids(reuse_pmcid)
            dict_key = (id_type+stripped_accession, reuse_pmcid)
            this_submit_contributors = flatten_unique([geo_instance.contributors("GSE"+gse_accession) for gse_accession in gse_accessions])
            this_submit_authors = get_authors_and_submittors_from_accession(submit_pmids, this_submit_contributors)
            this_reuse_authors   = get_authors_and_submittors_from_accession(reuse_pmids_for_pmcid)
            intersect = get_author_intersect_submit_reuse(this_submit_authors, this_reuse_authors) 
            submit_affiliation = affiliation.institution(submit_pmids)
            release_date = geo_instance.release_date("GSE"+gse_accession)     
            response_dict[dict_key] = (id_type+stripped_accession, gse_accessions, gds_accessions, submit_pmids, reuse_pmcid, reuse_pmids_for_pmcid, this_submit_authors, this_reuse_authors, intersect, submit_affiliation, release_date)
            #print response_dict[dict_key]
    return(response_dict)