3
FQa+-                 @   sP   d dl mZ dd Zdd Zdd Zdd	 Zd
d Zdd Zdd Zdd Z	dS )    )
sqlConnectc             C   sL   g }t | }tj }x2|D ]*}dj|}|j|}|j|d |i qW |S )NaE  SELECT BodySite, FORMAT(disease_num, 0) disease_num, FORMAT(loaded_run_num, 0) loaded_run_num, FORMAT(QC_0_num, 0) QC_0_num, FORMAT(QC_1_num, 0) QC_1_num, FORMAT(run_num, 0) run_num, FORMAT(species_num, 0) species_num, FORMAT(genus_num, 0) genus_num, FORMAT(project_num, 0) project_num FROM mbodymap_intro WHERE BodySite="{}"ZPhenotypeIntro)
handleSiter   MySQLConnectionformatqueryOneappend)siteresultsiteListconnectitemZ	sql_introZ
site_intro r   =/var/www/html/mybodymap/server/service/bodySitePageService.py	introData   s    

r   c             C   s\  g }t | }tj }x@|D ]6}d}dj|}|j|}g }x |D ]}	|	d dksF|	d d krfqFdj|	d }
|j|
d }dj|	d |}|j|d }d	j|	d |}|j|d
 }d}dj|	d |}|j|}t|}x |D ]}|d dkr|d7 }qW dj||	d }|j|d }dj||	d }|j|d }dj||	d }|j|d }|r|	d dkr|j|	d |dj|||||||d	 nvdj||	d }|j|}|d kr|j|	d |dj|||||||d	 n(|j|	d |dj|||||||d	 qF|j|	d |dj|||||||d	 qFW |j|d |i qW |S )NFzASELECT DISTINCT disease FROM mbodymap_samples WHERE BodySite="{}"diseaseZNAz)SELECT term FROM mesh_data WHERE uid="{}"termzSELECT COUNT(run_id) run_id_num, COUNT(DISTINCT project_id) project_id_num FROM mbodymap_samples WHERE disease="{}" AND BodySite="{}"Z
run_id_numzkSELECT COUNT(DISTINCT project_id) project_id_num FROM mbodymap_samples WHERE disease="{}" AND BodySite="{}"Zproject_id_numr   zSELECT accession_id,QCStatus,uid FROM mbodymap_loaded_samples WHERE accession_id IN (SELECT run_id From mbodymap_samples WHERE disease="{}" AND BodySite="{}")ZQCStatus   zjSELECT COUNT(DISTINCT ncbi_taxon_id) from mbodymap_species_to_samples WHERE BodySite="{}" AND disease="{}"zCOUNT(DISTINCT ncbi_taxon_id)zhSELECT COUNT(DISTINCT ncbi_taxon_id) from mbodymap_genus_to_samples WHERE BodySite="{}" AND disease="{}"zbselect association from mbodymap_bodysite_disease_association where bodysite="{}" and disease="{}"associationD006262z{:,})	r   disease_namerun_numprocessed_numZ	valid_numspecies_numproject_num	genus_numr   zTselect * from curated_lefse_analysis_results where bodysite="{}" and phenotype2="{}"ZPhenotypeTbl)r   r   r   r   queryr   lenr   )r   r	   r
   r   Z	site_itemZ
has_markersql_diseaseZsite_diseaseZsite_resultr   Zsql_disease_namer   Zsql_runsZruns_numr   ZvalidZsql_loaded_runsZloaded_runsr   Z
loaded_runZsql_speciesZspecies	sql_genusZgenusZsql_associationr   Zsql_pheno_has_markerZpheno_has_markerr   r   r   tblData   s    





r   c             C   s,   | dkrdddgS | dkr"ddgS | gS d S )NzLarge intestineRectumColonCecumzSmall intestineIleumDuodenumr   )r   r   r   r   r      s
    
r   c             C   s>   t j }|dkr&dj| }|j|}ndj| }|j|}|S )NidzpSELECT DISTINCT ncbi_taxon_id, taxon_rank_level, name from mbodymap_taxa where ncbi_taxon_id like "{}%" limit 10zgSELECT DISTINCT ncbi_taxon_id, taxon_rank_level, name from mbodymap_taxa where name like "{}%" limit 10)r   r   r   r   )searchInput	searchOptr   sqlsearchResultr   r   r   
searchTaxa   s    
r*   c             C   s>   t j }|dkr&dj| }|j|}ndj| }|j|}|S )Nr%   znSELECT DISTINCT disease uid, disease_name term from mbodymap_phenotype_index where disease LIKE "{}%" limit 10zsSELECT DISTINCT disease uid, disease_name term from mbodymap_phenotype_index where disease_name LIKE "{}%" limit 10)r   r   r   r   )r&   r'   r   r(   r)   r   r   r   searchPhenotype   s    


r+   c             C   s    t j }dj| }|j|}|S )Nz>SELECT BodySite FROM mbodymap_intro WHERE BodySite LIKE "%{}%")r   r   r   r   )r&   r   r(   r	   r   r   r   searchBodysite   s    

r,   c             C   s    t j }dj| }|j|}|S )NzXSELECT accession_id FROM mbodymap_loaded_samples WHERE accession_id LIKE "%{}%" LIMIT 10)r   r   r   r   )r&   r   r(   r	   r   r   r   searchSample   s    

r-   c             C   s    t j }dj| }|j|}|S )Nu`   SELECT `NCBI Project ID` FROM mbodymap_projects WHERE `NCBI Project ID` LIKE "%{}%" LIMIT 10)r   r   r   r   )r&   r   r(   r	   r   r   r   searchProject   s
    
r.   N)
utilsr   r   r   r   r*   r+   r,   r-   r.   r   r   r   r   <module>   s    	