o
    Œ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   sH   g }t | ƒ}t ¡ }|D ]}d |¡}| |¡}| |d |i¡ q|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   sF  g }t | ƒ}t ¡ }|D ]}d}d |¡}| |¡}g }|D ]÷}	|	d dks-|	d d u r.qd |	d ¡}
| |
¡d }d |	d |¡}| |¡d }d	 |	d |¡}| |¡d
 }d}d |	d |¡}| |¡}t|ƒ}|D ]}|d dkr{|d7 }qod ||	d ¡}| |¡d }d ||	d ¡}| |¡d }d ||	d ¡}| |¡d }|r|	d dkrÇ| |	d |d |¡||||||dœ	¡ qd ||	d ¡}| |¡}|d u rí| |	d |d |¡||||||dœ	¡ q| |	d |d |¡||||||dœ	¡ q| |	d |d |¡||||||dœ	¡ q| |d |i¡ q|S )NFzASELECT DISTINCT disease FROM mbodymap_samples WHERE BodySite="{}"ÚdiseaseZNAz)SELECT term FROM mesh_data WHERE uid="{}"Ztermz…SELECT 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   zžSELECT 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   Ú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g d¢S | dkrddgS | gS )NzLarge intestine)ÚRectumÚColonÚCecumzSmall intestineÚIleumÚDuodenumr   )r   r   r   r   r   œ   s
   r   c                 C   ó@   t  ¡ }|dkrd | ¡}| |¡}|S d | ¡}| |¡}|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   r%   )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 10r'   r(   r   r   r   ÚsearchPhenotypeÂ   s   


ô
r.   c                 C   ó    t  ¡ }d | ¡}| |¡}|S )Nz>SELECT BodySite FROM mbodymap_intro WHERE BodySite LIKE "%{}%"r'   ©r)   r   r+   r	   r   r   r   ÚsearchBodysiteÜ   ó   

r1   c                 C   r/   )NzXSELECT accession_id FROM mbodymap_loaded_samples WHERE accession_id LIKE "%{}%" LIMIT 10r'   r0   r   r   r   ÚsearchSampleã   r2   r3   c                 C   r/   )Nu`   SELECT `NCBIÂ ProjectÂ ID` FROM mbodymap_projects WHERE `NCBIÂ ProjectÂ ID` LIKE "%{}%" LIMIT 10r'   r0   r   r   r   ÚsearchProjectê   s   ÿ
r4   N)
Úutilsr   r   r   r   r-   r.   r1   r3   r4   r   r   r   r   Ú<module>   s     	