Skip to content

Instantly share code, notes, and snippets.

@guyjacks
Created May 6, 2017 20:59
Show Gist options
  • Select an option

  • Save guyjacks/5ea632b5abca1d845456a2ee4c68f0f2 to your computer and use it in GitHub Desktop.

Select an option

Save guyjacks/5ea632b5abca1d845456a2ee4c68f0f2 to your computer and use it in GitHub Desktop.
def get_biopsy_rules(self):
query = '''
with rule_set AS (
select rule_id AS id from mtx_biopsyrule where biopsy_id=3
)
SELECT
biopsyrule.id AS id,
biopsyrule.rule_id as rule_id,
generule.mutated as mutated,
gene.name as name
FROM
mtx_biopsyrule as biopsyrule
INNER JOIN mtx_generule AS generule on biopsyrule.rule_id = generule.rule_id
INNER JOIN mtx_gene AS gene ON generule.gene_id = gene.id
WHERE
biopsyrule.biopsy_id = 5 AND
biopsyrule.rule_id in (select id from rule_set)
import time
from matchtx_api.mtx.models import Case
start = time.time()
case = Case.objects.get(pk=1)
for rule in case.get_biopsy_rules():
print(rule.rule_id, rule.mutated, rule.name)
stop = time.time()
print ('done')
print('took {0} seconds'.format((stop - start)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment