ZINC15:examples:private
Jump to navigation
Jump to search
Level 4 - privileged access
Ask us if you require this level of access to ZINC.
Level 5 - command line ZINC shell
Level 6 - SQL
How to calculate results from the ZINC15 2015 paper:
Table 2 - Genes, Uniprot codes and annotated compounds by affinity bin ==
- * select organism_fk, count(gene_id) from gene group by organism_fk;
zinc15.docking.org/genes.txt:count(*)?group-by=organism_fk
- + select g.organism_fk, count(a.anno_id) from annotation a, gene g where a.gene_fk = g.gene_id group by g.organism_fk;
zinc15.docking.org/targets.txt:count(*)?group-by=gene.organism_fk
- $ select count(distinct(n.sub_id_fk)),g.organism_fk from gene g, annotation a, note n where g.gene_id = a.gene_fk and a.anno_id = n.anno_id_fk and n.affinitynm >= 9 group by g.organism_fk;
zinc15.docking.org/ not sure we can do this!
Table 3 - Gene Target Classes
- * select count(g.gene_id),tc.major_class from target_class tc, gene g where g.target_class_fk = tc.target_class_id group by tc.major_class order by tc.major_class
- + select count(distinct(s.sub_id)),tc.major_class from gene g, substance s, note n, annotation a, target_class tc where g.gene_id = a.gene_fk and g.target_class_fk = tc.target_class_id and n.anno_id_fk = a.anno_id and s.sub_id = n.sub_id_fk and s.purchasability >20, 20, 10 group by tc.major_class
- $ select count(distinct(g.gene_id)), tc.major_class from target_class tc, gene g, substance s, note n, annotation a where s.sub_id = n.sub_id_fk and a.anno_id = n.anno_id_fk and a.gene_fk = g.gene_id and g.target_class_fk = tc.target_class_id and s.purchasability > 9 group by tc.major_class;
Table 4 - Chemical Diversity by Gene
4) histogram of clusters per gene.
select c.gene_fk, g.name, count(c.cluster_id) from cluster c, gene g where g.gene_id = c.gene_fk and c.ordinal = 1 group by c.gene_fk,g.name order by count(c.cluster_id) desc;
for any one pick the smiles:
select smiles,sub_id from substance where sub_id in (select rep_sub_id_fk from cluster where gene_fk = 57387 and ordinal=1);
another
select c.gene_fk, g.name, count(c.cluster_id) from cluster c, gene g where g.gene_id = c.gene_fk and c.ordinal = 1 group by c.gene_fk,g.name order by count(c.cluster_id) desc;
another
select gene_fk, count(cluster_id) from cluster where ordinal = 1 group by gene_fk order by count(cluster_id) desc ;
Table 5 - Genes per compound as a function of affinity cutoff (polypharmacology)
this is almost for sure wrong:
select sub_id count(sub_id_fk) from note as n join annotation as a on n.anno_id_fk = a.anno_id join gene as g on g.gene_id = a.gene_fk group by n.sub_id_fk having min(n.affinitynM) >= 9;
NEW
Non purch:
select count(sub_id_fk) as num_compounds, cgi as having_num_genes from (select n.sub_id_fk as sub_id_fk , count(distinct(g.gene_id)) as cgi from gene g, annotation a, note n where g.gene_id = a.gene_fk and a.anno_id = n.anno_id_fk and n.affinitynm >= 9 group by n.sub_id_fk) as t group by cgi order by cgi;
Heavy hitters:
select n.sub_id_fk as sub_id_fk , count(distinct(g.gene_id)) as cgi from gene g, annotation a, note n where g.gene_id = a.gene_fk and a.anno_id = n.anno_id_fk and n.affinitynm >= 9 group by n.sub_id_fk order by cgi desc limit 10;
Purch:
select count(sub_id_fk) as num_compounds, cgi as having_num_genes from (select n.sub_id_fk as sub_id_fk , count(distinct(g.gene_id)) as cgi from gene g, annotation a, note n, catalog_item ci, catalog c where c.cat_id=ci.cat_id_fk and ci.sub_id_fk = n.sub_id_fk and g.gene_id = a.gene_fk and a.anno_id = n.anno_id_fk and n.affinitynm >= 8 and c.purchasable>9 group by n.sub_id_fk) as t group by cgi order by cgi;
Heavy hitters (purch):
select n.sub_id_fk as sub_id_fk , count(distinct(g.gene_id)) as cgi from gene g, annotation a, note n, catalog_item ci, catalog c where c.cat_id=ci.cat_id_fk and ci.sub_id_fk = n.sub_id_fk and g.gene_id = a.gene_fk and a.anno_id = n.anno_id_fk and n.affinitynm >= 8 and c.purchasable>9 group by n.sub_id_fk