Best Python code snippet using avocado_python
build_db.py
Source:build_db.py  
...29            else:30                seq.append(line.strip())31        if seq:32            yield header, ''.join(seq)33def retrieve_references(pubmed_ids):34    resp = requests.post(35        ESUMMARY_URL,36        data={37            'db': 'pubmed',38            'id': ','.join(pubmed_ids),39            'retmode': 'json'40        }41    )42    data = resp.json()43    references = OrderedDict()44    for uid in sorted(data['result']['uids']):45        ref = data['result'][uid]46        references[uid] = OrderedDict({47            'MedlineID': uid,48            'PubYear': ref.get('pubdate', '').split(' ')[0],49            'firstAuthor': ref['authors'][0]['name'],50            'Title': ref['title'],51            'Journal': ref['source']52        })53    return references54def list_subtypes(seqs):55    subtypes = set()56    for seq in seqs:57        subtypes.add(seq['Subtype'])58    return sorted(subtypes)59def list_sources(seqs):60    sources = set()61    for seq in seqs:62        sources.add(seq['Source'])63    return sorted(sources)64def main():65    facttable, fasta, sierra_report, outputdir = sys.argv[1:]66    with open(facttable) as fp1, open(sierra_report) as fp2:67        if fp1.read(1) != '\ufeff':68            fp1.seek(0)69        sequences = list(csv.DictReader(fp1))70        sequence_reports = json.load(fp2)71    sequence_reports = {72        sr['inputSequence']['header'].split('.', 1)[0]: sr73        for sr in sequence_reports74    }75    result_sequences = []76    pubmed_ids = set()77    min_days_offsets = {}78    for seq in sequences:79        pt = seq['PtIdentifier']80        offset = \81            datetime.strptime(seq['CollectionDate'], '%Y-%m-%d') - DATE_190082        offset = offset.days83        min_days_offsets[pt] = \84            min(min_days_offsets.get(pt, 0xffffffff), offset)85    for seq in sequences:86        pt = seq['PtIdentifier']87        offset = \88            datetime.strptime(seq['CollectionDate'], '%Y-%m-%d') - DATE_190089        offset = offset.days90        weeks = int('{:.0f}'.format((offset - min_days_offsets[pt]) / 7))91        seq = OrderedDict(seq)92        pubmed_ids.add(seq['MedlineID'])93        accs = seq['Accession']94        seqreport = sequence_reports[accs]95        subtype = seqreport['subtypeText'].split(' (', 1)[0]96        seq.update({97            'Weeks': weeks,98            'PR': 0,99            'RT': 0,100            'IN': 0,101            'NumPRMixtures': None,102            'NumPRMutations': None,103            'NumRTMixtures': None,104            'NumRTMutations': None,105            'NumINMixtures': None,106            'NumINMutations': None,107            'NumPRNAAmbiguities': None,108            'NumRTNAAmbiguities': None,109            'NumINNAAmbiguities': None,110            'Subtype': subtype,111        })112        for gene_seq in seqreport['alignedGeneSequences']:113            gene = gene_seq['gene']['name']114            seq['Num{}Mixtures'.format(gene)] = len([115                m for m in gene_seq['mutations']116                if PATTERN_MIXTURES.match(m['AAs'])])117            seq['Num{}Mutations'.format(gene)] = len(gene_seq['mutations'])118            seq[gene] = 1119            seq['Num{}NAAmbiguities'.format(gene)] = len([120                n for n in gene_seq['alignedNAs'].upper()121                if n in 'WSMKRYBDHVN'])122        result_sequences.append(seq)123    result_data = OrderedDict({124        'sequences': result_sequences,125        'references': retrieve_references(pubmed_ids),126        'subtypes': list_subtypes(result_sequences),127        'sources': list_sources(result_sequences),128    })129    factjson = os.path.join(outputdir, 'meta.json')130    with open(factjson, 'w') as outfp:131        json.dump(result_data, outfp)132    # We don't need this anymore133    # for header, seq in fasta_reader(fasta):134    #     accs = header.split('.', 1)[0]135    #     single = os.path.join(outputdir, 'sequences', '{}.json'.format(accs))136    #     with open(single, 'w') as outfas:137    #         json.dump({'header': header, 'sequence': seq}, outfas)138if __name__ == '__main__':139    main()retrieve_biblio.py
Source:retrieve_biblio.py  
...8def create_arxiv_url(result: str) -> str:9    if ARXIV_VERSION.match(result, len(result) - 2):10        result = result[:-2]11    return BASE_URL + result12def retrieve_references(search_result: u.SearchResult) -> List[str]:13    response = r.get(create_arxiv_url(search_result.id))14    if response.ok:15        references = j.loads(response.content)['references']16        return [reference['arxivId'] for reference in references if reference['arxivId']]17    else:18        response.raise_for_status()19if __name__ == '__main__':...__init__.py
Source:__init__.py  
12from .main import citation_to_paper_info34#from .main import paper_info_from_citation5#from .main import paper_info_from_link6#from .main import doi_and_title_from_citation7#from .main import doi_to_webscraped_info8#from .main import retrieve_all_info9#from .main import retrieve_only_references1011#from .ref_retrieval import retrieve_references
...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
