3
D`u                 @   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 }xf|D ]\}dj|}|j|}g }x*|D ] }|d dksB|d d krbqBd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 }|j|d |
dj||||||d qBW |j|d |i qW |S )NzASELECT 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="{}"z{:,})r   disease_namerun_numprocessed_numZ	valid_numspecies_numproject_numZ	genus_numZPhenotypeTbl)r   r   r   r   queryr   lenr   )r   r	   r
   r   Z	site_item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speciesZ	sql_genusZgenusr   r   r   tblData   sV    



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   Z   s
    
r   c             C   s   t j }|dkrXdj| }|j|}x|D ](}dj|d }|j|d }||d< q*W nhdj| }|j|}d}	g }xJ|D ]B}|	dk rzd	j|d }
|j|
}|rzt| |j| |	d
7 }	qzW |S )NidzSELECT DISTINCT ncbi_taxon_id,taxon_rank_level from mbodymap_relative_species_abundances where ncbi_taxon_id LIKE "{}%" limit 10z6SELECT name FROM biosql_taxon_2 WHERE ncbi_taxon_id={}Zncbi_taxon_idnamezbSELECT DISTINCT name, node_rank, ncbi_taxon_id from biosql_taxon_2 where name LIKE "%{}%" LIMIT 20r   
   zKSELECT * FROM mbodymap_relative_species_abundances where ncbi_taxon_id="{}"r   )r   r   r   r   r   printr   )searchInput	searchOptr   sqlsearchResultr   sql_namer"   r	   i	sql_existexistr   r   r   
searchTaxac   s0    






r-   c             C   s   t j }|dkrXdj| }|j|}x|D ](}dj|d }|j|d }||d< q*W nhdj| }|j|}d}	g }xJ|D ]B}|	d	k rzd
j|d }
|j|
}|rzt| |j| |	d7 }	qzW |S )Nr!   zOSELECT DISTINCT disease from mbodymap_samples where disease LIKE "{}%" limit 10z)SELECT term FROM mesh_data WHERE uid="{}"r   r   r"   zHSELECT DISTINCT term, uid from mesh_data where term LIKE "%{}%" LIMIT 20r   r#   z1SELECT * FROM mbodymap_samples where disease="{}"uidr   )r   r   r   r   r   r$   r   )r%   r&   r   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    

r0   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    

r1   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
    
r2   N)
utilsr   r   r   r   r-   r/   r0   r1   r2   r   r   r   r   <module>   s   G	