def test_create_new_gene_experiment_datum_minimum(self): '''This test creates a :class:`~data.models.GeneExperimentData` with the required information only.''' test_datum = GeneExperimentData(experiment=mRNASeqExperiment.objects.get(pk=1), gene=Gene.objects.get(pk='Pikfyve'), fold_change = 0.419048218, p_value = 0.110512214, q_value = 0.995959851) test_datum.save() self.assertEqual(test_datum.pk, 1) #presumes no objects loaded in fixture data
def cufflinks_gene_diff_import(experiment_id, filename): '''This function imports the data from a gene_exp.diff into :class:`~data.models.GeneExperimentData` objects. This function requires a valid experiment_id and a file. ''' import decimal experiment = mRNASeqExperiment.objects.get(pk=experiment_id) new_genes = 0 updated_genes = 0 with open(filename, 'r') as inputfile: for row in csv.DictReader(inputfile, delimiter='\t'): try: datum = GeneExperimentData( experiment=experiment, gene=Gene.objects.get(pk=row['gene']), fold_change=row['log2(fold_change)'], p_value=row['p_value'], q_value=row['q_value'], locus=row['locus'], internal_id=row['test_id'], sample_1=row['sample_1'], sample_2=row['sample_2'], amount_1=row['value_1'], amount_2=row['value_2'], status=row['status'], test_statistic=row['test_stat'], significant=row['significant']) datum.save() updated_genes += 1 except Gene.DoesNotExist: #create a new gene with that name new_gene = Gene(name=row['gene']) new_gene.save() datum = GeneExperimentData( experiment=experiment, gene=new_gene, fold_change=row['log2(fold_change)'], p_value=row['p_value'], q_value=row['q_value'], locus=row['locus'], internal_id=row['test_id'], sample_1=row['sample_1'], sample_2=row['sample_2'], amount_1=row['value_1'], amount_2=row['value_2'], status=row['status'], test_statistic=row['test_stat'], significant=row['significant']) datum.save() new_genes += 1 return "Added %i measurements and created %i new genes." % ( updated_genes + new_genes, new_genes)
def cufflinks_gene_diff_import(experiment_id, filename): '''This function imports the data from a gene_exp.diff into :class:`~data.models.GeneExperimentData` objects. This function requires a valid experiment_id and a file. ''' import decimal experiment = mRNASeqExperiment.objects.get(pk=experiment_id) new_genes = 0 updated_genes =0 with open(filename, 'r') as inputfile: for row in csv.DictReader(inputfile, delimiter='\t'): try: datum = GeneExperimentData( experiment=experiment, gene=Gene.objects.get(pk=row['gene']), fold_change = row['log2(fold_change)'], p_value = row['p_value'], q_value = row['q_value'], locus = row['locus'], internal_id = row['test_id'], sample_1 = row['sample_1'], sample_2 = row['sample_2'], amount_1 = row['value_1'], amount_2 = row['value_2'], status = row['status'], test_statistic = row['test_stat'], significant = row['significant']) datum.save() updated_genes += 1 except Gene.DoesNotExist: #create a new gene with that name new_gene = Gene(name=row['gene']) new_gene.save() datum = GeneExperimentData( experiment=experiment, gene=new_gene, fold_change = row['log2(fold_change)'], p_value = row['p_value'], q_value = row['q_value'], locus = row['locus'], internal_id = row['test_id'], sample_1 = row['sample_1'], sample_2 = row['sample_2'], amount_1 = row['value_1'], amount_2 = row['value_2'], status = row['status'], test_statistic = row['test_stat'], significant = row['significant']) datum.save() new_genes +=1 return "Added %i measurements and created %i new genes." %(updated_genes+new_genes, new_genes)
def test_create_new_gene_experiment_datum_minimum(self): '''This test creates a :class:`~data.models.GeneExperimentData` with the required information only.''' test_datum = GeneExperimentData( experiment=mRNASeqExperiment.objects.get(pk=1), gene=Gene.objects.get(pk='Pikfyve'), fold_change=0.419048218, p_value=0.110512214, q_value=0.995959851) test_datum.save() self.assertEqual(test_datum.pk, 1) #presumes no objects loaded in fixture data
def test_create_new_gene_experiment_datum_all(self): '''This test creates a :class:`~data.models.GeneExperimentData` with all information entered.''' test_datum = GeneExperimentData(experiment=mRNASeqExperiment.objects.get(pk=1), gene=Gene.objects.get(pk='Pikfyve'), fold_change = 0.419048218, p_value = 0.110512214, q_value = 0.995959851, locus = '1:3054232-3054733', internal_id = 'XLOC_000001', sample_1 = 'Control', sample_2 = 'Treated', amount_1 = 0.0778978, amount_2 = 0.0881688, status = 'OK', test_statistic = -0.0754818, significant = 'no') test_datum.save() self.assertEqual(test_datum.pk, 1) #presumes one model loaded in fixture data
def test_create_new_gene_experiment_datum_all(self): '''This test creates a :class:`~data.models.GeneExperimentData` with all information entered.''' test_datum = GeneExperimentData( experiment=mRNASeqExperiment.objects.get(pk=1), gene=Gene.objects.get(pk='Pikfyve'), fold_change=0.419048218, p_value=0.110512214, q_value=0.995959851, locus='1:3054232-3054733', internal_id='XLOC_000001', sample_1='Control', sample_2='Treated', amount_1=0.0778978, amount_2=0.0881688, status='OK', test_statistic=-0.0754818, significant='no') test_datum.save() self.assertEqual(test_datum.pk, 1) #presumes one model loaded in fixture data