@@ -9,15 +9,51 @@ def test_add_biomaterial(self):
9
9
biomaterial_name = "test_biomat"
10
10
biomaterial_provider = "Helena Ventseslav"
11
11
biomaterial_description = "This is a description"
12
+ biosample_accession = 'biosample-foobar'
13
+ sra_accession = "sra-bar"
14
+ bioproject_accession = 'bioproject-foo'
15
+ attrs = {
16
+ 'foo' : 'bar' ,
17
+ 'oof' : 'arb'
18
+ }
12
19
org = self ._create_fake_org ()
13
20
14
- biomat = self .ci .expression .add_biomaterial (biomaterial_name , org ["organism_id" ], description = biomaterial_description , biomaterial_provider = biomaterial_provider , bioproject_accession = "something" )
21
+ biomat_ret = self .ci .expression .add_biomaterial (biomaterial_name , org ["organism_id" ], description = biomaterial_description , biomaterial_provider = biomaterial_provider , biosample_accession = biosample_accession , sra_accession = sra_accession , bioproject_accession = bioproject_accession , attributes = attrs )
22
+
23
+ biomat = self .ci .expression .get_biomaterials (biomaterial_name = biomaterial_name )[0 ]
24
+
25
+ assert biomat_ret == biomat
15
26
16
27
assert biomat , "Issue : Biomaterial not created"
17
28
assert biomat ["name" ] == biomaterial_name , "Biomaterial name issue : " + biomat ["name" ]
18
29
assert biomat ["provider_id" ], "Bioprovider not set! "
19
30
assert biomat ["description" ] == biomaterial_description , "Description issue : " + biomat ["description" ]
20
31
32
+ res = self .ci .session .query (self .ci .model .biomaterialprop ).filter_by (biomaterial_id = biomat ['biomaterial_id' ])
33
+
34
+ props = {prop .type_id : prop .value for prop in res }
35
+ for at in attrs :
36
+ type_id = self .ci .get_cvterm_id (at , 'biomaterial_property' )
37
+ assert type_id in props
38
+
39
+ assert props [type_id ] == attrs [at ]
40
+
41
+ dbs = self .ci .session .query (self .ci .model .db .db_id , self .ci .model .db .name , self .ci .model .db .description ) \
42
+ .filter ((self .ci .model .db .name == 'NCBI SRA' ) | (self .ci .model .db .name == 'NCBI BioProject' ) | (self .ci .model .db .name == 'NCBI BioSample' ))
43
+
44
+ dbs = {db .name : db .db_id for db in dbs }
45
+
46
+ biomat = self .ci .session .query (self .ci .model .biomaterial ).filter_by (biomaterial_id = biomat ['biomaterial_id' ]).one ()
47
+
48
+ xrefs = {dbx .dbxref .db_id : dbx .dbxref .accession for dbx in biomat .biomaterial_dbxref_collection }
49
+
50
+ assert len (dbs ) == 3
51
+ assert len (xrefs ) == 3
52
+
53
+ assert xrefs [dbs ['NCBI SRA' ]] == "sra-bar"
54
+ assert xrefs [dbs ['NCBI BioProject' ]] == "bioproject-foo"
55
+ assert xrefs [dbs ['NCBI BioSample' ]] == "biosample-foobar"
56
+
21
57
def test_add_expression (self ):
22
58
23
59
# Setup testing data
0 commit comments