B
    \ìNa  ã               @   s0   d dl mZ d dlZdd„ Zdd„ Zdd„ ZdS )	é    )Ú
sqlConnectNc        
      C   sr   t  ¡ } d}|  |¡d }|  |¡d }d}t|  |¡d ƒ}d}|  |¡d }d}|  |¡d	 }	|||||	d
œS )NzySELECT COUNT(DISTINCT ncbi_taxon_id) taxa_num, COUNT(DISTINCT project_id) project_num FROM curated_lefse_analysis_resultsÚtaxa_numÚproject_numzSSELECT COUNT(DISTINCT phenotype2) phenotype_num FROM curated_lefse_analysis_resultsÚphenotype_numzuSELECT COUNT(DISTINCT ncbi_taxon_id) species_num FROM curated_lefse_analysis_results WHERE taxon_rank_level="species"Úspecies_numzqSELECT COUNT(DISTINCT ncbi_taxon_id) genus_num FROM curated_lefse_analysis_results WHERE taxon_rank_level="genus"Ú	genus_num)r   r   r   r   r   )r   ÚMySQLConnectionÚqueryOneÚint)
ÚconnectZsql_taxa_projectsr   r   Ú	sql_phenor   Úsql_speciesr   Ú	sql_genusr   © r   úQC:\Users\Administrator\Desktop\mbodymap\mbodymap-server\service\markerTaxaPage.pyÚgetIntroBoxData   s    r   c          
   C   sæ   t  ¡ }d}g }x<| D ]4}|dkr,|d7 }q|dkr>|d7 }q|d| 7 }qW | d¡}d |¡}| |¡}xl|D ]d}d	 |d
 ¡}| |¡}d |d
 ¡}	| |	¡d }
| |
|d
 |d |d |d |d dœ¡ qrW t|ƒ}|S )NÚ zLarge intestinez'Rectum','Colon','Cecum',zSmall intestinez'Ileum','Duodenum',z'%s',ú,z“SELECT DISTINCT ncbi_taxon_id, taxon_rank_level FROM curated_lefse_analysis_results WHERE BodySite IN ({}) GROUP BY ncbi_taxon_id, taxon_rank_levelzªSELECT COUNT(1) entries_num, COUNT(DISTINCT project_id) project_num, COUNT(DISTINCT phenotype2) phenotype_num FROM `curated_lefse_analysis_results` where ncbi_taxon_id={}Úncbi_taxon_idz6SELECT name FROM biosql_taxon_2 WHERE ncbi_taxon_id={}ÚnameZtaxon_rank_levelZentries_numr   r   )r   r   ÚrankÚentriesÚprojectZ	pheno_num)r   r   ÚrstripÚformatÚqueryr	   ÚappendÚgetMarkerPageData)ÚcheckedSitesr   ÚsearchÚspecies_resultÚitemZsql_taxa_totalZ
taxa_totalZsql_numÚnumÚsql_namer   Úresultr   r   r   ÚgetMarkerTaxa   s8    







r%   c             C   sÄ   t  ¡ }x¶| D ]®}d |d ¡}| |¡}||d< d |d ¡}| |¡}|d k	rld|d< t |d ¡|d< d	 |d ¡}| |¡}|d k	r”d|d
< d |d ¡}	| |	¡}
|
d k	rd|d< qW | S )NzWSELECT * FROM `curated_lefse_analysis_results` WHERE ncbi_taxon_id={} ORDER BY lda DESCr   ÚsecondTableDataz<select attributes from cross_db_links where ncbi_taxon_id={}TÚifMvpÚ
attributesÚmvpDataz3select * from gmrepo_species where ncbi_taxon_id={}ÚifGmrepoz0select * from hmdad_taxon where ncbi_taxon_id={}ÚifHmdad)r   r   r   r   r	   ÚjsonÚloads)Úarrr   r!   Úsqlr$   Úsql_mvpÚmvpÚ
sql_gmrepoÚgmrepoÚ	sql_hmdadÚhmdadr   r   r   r   @   s(    





r   )Úutilsr   r,   r   r%   r   r   r   r   r   Ú<module>   s   #