4
4
5
5
def encode_rnaseq_stranded (input_json ):
6
6
assert 'input_size_in_bytes' in input_json
7
- r = BenchmarkResult (size = 300 ,
7
+ insz = input_json ['input_size_in_bytes' ]
8
+ input_sizes = 0
9
+ for file ,file_size in insz .items ():
10
+ input_sizes += file_size
11
+ # The starIndex file is the main input size difference, meaning
12
+ # disk requirements vary by organism. 24 GB+ is usually mouse and
13
+ # < 24 GB is usually human. As human sets approach 24 GB, the disk
14
+ # requirement is less predictable, so disk may need to manually set.
15
+ if B2GB (input_sizes ) < 24 :
16
+ total_size_in_gb = B2GB ((input_sizes ) * 7 ) + 21
17
+ else :
18
+ total_size_in_gb = B2GB ((input_sizes ) * 10.1 ) - 150
19
+ r = BenchmarkResult (size = total_size_in_gb ,
8
20
mem = GB2MB (64 ),
9
21
cpu = 16 ,
10
22
exclude_t = True )
@@ -13,7 +25,21 @@ def encode_rnaseq_stranded(input_json):
13
25
14
26
def encode_rnaseq_unstranded (input_json ):
15
27
assert 'input_size_in_bytes' in input_json
16
- r = BenchmarkResult (size = 300 ,
28
+ insz = input_json ['input_size_in_bytes' ]
29
+ assert 'rna.align_index' in insz
30
+ input_sizes = 0
31
+ for file ,file_size in insz .items ():
32
+ # As in stranded case, align index is the main contributor,
33
+ # but now total file size cannot determine organism.
34
+ # Instead, use the size of the align index itself
35
+ if file == 'rna.align_index' :
36
+ mouse = B2GB (file_size ) > 13
37
+ input_sizes += file_size
38
+ if mouse :
39
+ total_size_in_gb = B2GB ((input_sizes ) * 8 ) - 105
40
+ else :
41
+ total_size_in_gb = B2GB ((input_sizes ) * 5.5 ) + 35
42
+ r = BenchmarkResult (size = total_size_in_gb ,
17
43
mem = GB2MB (64 ),
18
44
cpu = 16 ,
19
45
exclude_t = True )
0 commit comments