o S=h(@sdddddZddZddZd d Zd d Zd dZddZddZddZd2ddZ d3ddZ ddZ d4dd Z d!d"Z d#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1S)5i3)ZhumanZmousepigZratcCsdddd|iidS)N query_stringquery)fromsizer)rr r E/home/cmiss/Jenkins/workspace/SPARC-API-DEV/app/scicrunch_requests.pycreate_query_string sr cCddd|iiiS)Nrterm item.curier )doir r r create_doi_query rcCddd|iidS)Ntermsrr rr )doisr r r create_multiple_doi_query! rcCr)Nrrpennsieve.identifierrr )idsr r r create_multiple_discoverId_query,rrcCs^|d}g}|D]}|ddd|Dq dd|D}ddd d gd |d id S)N css|] }|r|VqdSN)isalnum).0er r r ;sz%create_title_query..cSsg|] }|rd|dqS)()r )r"pr r r =sz&create_title_query.. rrz item.name AND fieldsrr r r)splitappendjoin)titlepartsZalphanum_partsr'rr r r create_title_query7s r3cCsddddd|iiigddS)Nrmatchrr)ZanatomyrZ organisms)r r r_sourcer  identifierr r r create_anatomy_queryLsr9cCs0|d}d|d}ddddg|did S) N:*r4r)rrz *identifierr+r-)r.)r8r2rr r r create_identifier_query_s r<cCr)Nrrzpennsieve.identifier.aggregater r7r r r !create_pennsieve_identifier_queryqrr=r)rcCs||d|g|didS)Nrr+r-r )fieldZ search_termr from_r r r create_field_query{sr@iricCs(dddddd|d|iiigiidS) Nr)rboolmustZ match_phrasez existing_ids.rr-r )rZexisting_id_typer r r create_onto_term_querysrDcCsddd|iiiS)Nrridr )rEr r r create_citations_querys rFc Cs.dddd|ddddiiigddid iid S) Nrr compositecurierr>zitem.curie.aggregater)r sourcesafterr r aggregationsr )r r r r create_doi_aggregates rNcCs&dddiiggdd|iidii}|S)NrrB match_allitemrI)rCZshouldfilterr )rrr r r create_doi_requestsrRcCs dddgd|ddii}|S)Nrrz*mimetype.name"r+r )Zmimetype_queryrr r r create_multiple_mimetype_querys  rTc Cs4dd|dddddiddigd iid }t|fS) Nrrr_countdesc_keyasc)r>r orderrL)get_facet_type_map)type_datar r r create_facet_querys  r^cCsf|durd}|dur d}|s|s|s||dS||dddiid}t|||t}||ddd<|S)Nr)r)r r rrrr-)facet_query_stringr[)rrfacetsr startr]qsr r r create_filter_requests    rccCs|r t|dSdSr )BODY_SCAFFOLD_DATASETgetlower)speciesr r r get_body_scaffold_dataset_idsrhc Cs:gdgddgdgdgdgdgdgdgdgdgdgd S)N)z(organisms.primary.species.name.aggregatez'organisms.sample.species.name.aggregatez)organisms.scaffold.species.name.aggregatezattributes.subject.sex.valuezanatomy.organ.name.aggregatezitem.modalities.keywordz$attributes.subject.ageCategory.value) rgZSpeciesZgenderZGendersexZSexZgenotypezAnatomical structureorganZOrganzExperimental approachzAge categoriesr r r r r r[sr[c Csi}t|D]6\}}|dus$||dus$d||vs$d||vr%q||vr3||g||<q||||qd}|dkrId|d}|dkrWt|dkrW|d7}|D]}|dkr|sgt|d kont||d k} | ru|d7}||D]} | d kr|d 7}| ||d ur|d 7}qy| r|d7}nA|d7}||D]4} || d7}||D]} |d| d7}| ||d ur|d 7}q|d7}q| ||d ur|d 7}q|d7}|t|d ur|d7}qY|S)Nshowallrr%r&rr*datasetsr4Z scaffoldszOobjects.additional_mimetype.name:(application%2fx.vnd.abi.scaffold.meta%2Bjson) OR z:() enumeraterfkeysr/lenlist) rrr`type_maptirZqtkZneedParentheseslmr r r r_+sT4         r_cCsdddddddddiid }t|dkr@d d d gii}d }|D]}||dkr-|d7}|d|d7}q!||d d<||d<|S)NrZnames_and_curiesrZpainlesszdef a=null;if(params['_source']['anatomy'] != null ) { if(params['_source']['anatomy']['organ'] != null ) { a = params['_source']['anatomy']['organ'];}} return a;)langinlinerU)scriptr rLrr,z *species.namerror%r&r)rr)rgbodyrrrPr r r create_request_body_for_curiescs6   r~N)r)r)rA)rG)rdr rrrr3r9r<r=r@rDrFrNrRrTr^rcrhr[r_r~r r r r s2       8