Skip to content

Commit

Permalink
Fixed assignment of promoter regions #374
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffreybarrick committed Jul 10, 2024
1 parent 3cb6355 commit 247cd9e
Show file tree
Hide file tree
Showing 26 changed files with 103 additions and 141 deletions.
52 changes: 7 additions & 45 deletions src/c/breseq/reference_sequence.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3515,46 +3515,10 @@ void cReferenceSequences::annotate_1_mutation(cDiffEntry& mut, uint32_t start, u
if (next_gene_loc) next_gene = (cGeneFeature)*(next_gene_loc->get_feature());

// -------------- Begin "genes_promoter" field


/* code for assigning only to closest one
if (mut.is_mutation()) {
// Decide on promoter mutations
int32_t prev_gene_distance(numeric_limits<int32_t>::max()), next_gene_distance(numeric_limits<int32_t>::max());
if (prev_gene.name.size() > 0) {
int32_t start_coord = mut.get_reference_coordinate_start().get_position();
for (cFeatureLocationList::iterator it = prev_gene.m_locations.begin(); it != prev_gene.m_locations.end(); it++) {
if (it->get_strand() == -1) {
int32_t dist = start - it->get_end_1();
prev_gene_distance = min(dist, prev_gene_distance);
}
}
}
if (next_gene.name.size() > 0) {
int32_t start_coord = mut.get_reference_coordinate_start().get_position();
for (cFeatureLocationList::iterator it = prev_gene.m_locations.begin(); it != prev_gene.m_locations.end(); it++) {
if (it->get_strand() == +1) {
int32_t dist = it->get_start_1() - end;
next_gene_distance = min(dist, next_gene_distance);
}
}
}
// ties go to prev_gene!
if ((prev_gene_distance <= promoter_distance) && (prev_gene_distance <= next_gene_distance)) {
mut["genes_promoter"] = prev_gene.name;
mut["locus_tags_promoter"] = prev_gene.get_locus_tag();
} else if (next_gene_distance <= promoter_distance) {
mut["genes_promoter"] = next_gene.name;
mut["locus_tags_promoter"] = next_gene.get_locus_tag();
}
}
*/

// Code for assigning to multiple promoters
// * At most it will be the two closest genes on each side of the mutation

if (mut.is_mutation()) {
int32_t prev_gene_distance(numeric_limits<int32_t>::max()), next_gene_distance(numeric_limits<int32_t>::max());
if (prev_gene.name.size() > 0) {
Expand All @@ -3568,7 +3532,7 @@ void cReferenceSequences::annotate_1_mutation(cDiffEntry& mut, uint32_t start, u
}
if (next_gene.name.size() > 0) {
int32_t start_coord = mut.get_reference_coordinate_start().get_position();
for (cFeatureLocationList::iterator it = prev_gene.m_locations.begin(); it != prev_gene.m_locations.end(); it++) {
for (cFeatureLocationList::iterator it = next_gene.m_locations.begin(); it != next_gene.m_locations.end(); it++) {
if (it->get_strand() == +1) {
int32_t dist = it->get_start_1() - end;
next_gene_distance = min(dist, next_gene_distance);
Expand All @@ -3579,16 +3543,14 @@ void cReferenceSequences::annotate_1_mutation(cDiffEntry& mut, uint32_t start, u
vector<string> genes_promoter_list;
vector<string> locus_tags_promoter_list;

if ((prev_gene_distance <= promoter_distance)) {

if (prev_gene_distance <= promoter_distance) {
genes_promoter_list.push_back(prev_gene.name);
locus_tags_promoter_list.push_back(prev_gene.get_locus_tag());
} else if (next_gene_distance <= promoter_distance) {
}

if (next_gene_distance <= promoter_distance) {
genes_promoter_list.push_back(next_gene.name);
locus_tags_promoter_list.push_back(next_gene.get_locus_tag());

}

mut["genes_promoter"] = join(genes_promoter_list, ",");
Expand Down
4 changes: 2 additions & 2 deletions tests/REL606_fragment_advanced_mobile_element/expected.gd
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
MOB 1 35,36 REL606-5 1000 IS1 -1 3 gene_name=dkgB gene_position=coding (400-402/804 nt) gene_product=2,5-diketo-D-gluconate reductase B gene_strand=> genes_inactivated=dkgB locus_tag=ECB_00200 locus_tags_inactivated=ECB_00200 mutation_category=mobile_element_insertion position_end=1002 position_start=1000 ref_seq=CCA repeat_size=768
MOB 2 37,38 REL606-5 2000 IS1 1 7 gene_name=yafC gene_position=coding (310-316/915 nt) gene_product=predicted DNA-binding transcriptional regulator gene_strand=< genes_inactivated=yafC locus_tag=ECB_00201 locus_tags_inactivated=ECB_00201 mutation_category=mobile_element_insertion position_end=2006 position_start=2000 ref_seq=GCAGCAC repeat_size=768
MOB 3 25,39,40 REL606-5 3000 IS1 -1 -3 gene_name=yafD gene_position=coding (445-447/801 nt) gene_product=hypothetical protein gene_strand=> genes_inactivated=yafD locus_tag=ECB_00202 locus_tags_inactivated=ECB_00202 mutation_category=mobile_element_insertion position_end=3002 position_start=3000 ref_seq=CTG repeat_size=768
MOB 4 26,41,42 REL606-5 4000 IS1 1 -7 gene_name=yafE/mltD gene_position=intergenic (+17/+25) gene_product=predicted S-adenosyl-L-methionine-dependent methyltransferase/predicted membrane-bound lytic murein transglycosylase D gene_strand=>/< genes_promoter=mltD locus_tag=ECB_00203/ECB_00204 locus_tags_promoter=ECB_00204 mutation_category=mobile_element_insertion position_end=4006 position_start=4000 ref_seq=GGGAATC repeat_size=768
MOB 4 26,41,42 REL606-5 4000 IS1 1 -7 gene_name=yafE/mltD gene_position=intergenic (+17/+25) gene_product=predicted S-adenosyl-L-methionine-dependent methyltransferase/predicted membrane-bound lytic murein transglycosylase D gene_strand=>/< locus_tag=ECB_00203/ECB_00204 mutation_category=mobile_element_insertion position_end=4006 position_start=4000 ref_seq=GGGAATC repeat_size=768
MOB 5 43,44 REL606-5 5000 IS1 -1 6 del_start=3 gene_name=mltD gene_position=coding (385-390/1359 nt) gene_product=predicted membrane-bound lytic murein transglycosylase D gene_strand=< genes_inactivated=mltD locus_tag=ECB_00204 locus_tags_inactivated=ECB_00204 mutation_category=mobile_element_insertion position_end=5005 position_start=5000 ref_seq=AGGATC repeat_size=768
MOB 6 45,46 REL606-5 6000 IS1 1 4 gene_name=gloB gene_position=coding (214-217/756 nt) gene_product=predicted hydroxyacylglutathione hydrolase gene_strand=< genes_inactivated=gloB ins_end=TG locus_tag=ECB_00205 locus_tags_inactivated=ECB_00205 mutation_category=mobile_element_insertion position_end=6003 position_start=6000 ref_seq=CAAT repeat_size=768
MOB 7 47,48 REL606-5 7000 IS1 -1 3 del_end=3 gene_name=rnhA gene_position=coding (435-437/468 nt) gene_product=ribonuclease H gene_strand=< genes_overlapping=rnhA ins_end=CTT locus_tag=ECB_00207 locus_tags_overlapping=ECB_00207 mutation_category=mobile_element_insertion position_end=7002 position_start=7000 ref_seq=AGT repeat_size=768
Expand All @@ -29,7 +29,7 @@ MOB 18 63,73 REL606-5 26000 IS1 -1 2 gene_name=yafP gene_position=coding (219-22
MOB 19 32,53,74 REL606-5 27000 IS1 1 -3 del_end=6 gene_name=prfH gene_position=coding (298-300/501 nt) gene_product=peptide chain release factor 2 gene_strand=> genes_inactivated=prfH locus_tag=ECB_00231 locus_tags_inactivated=ECB_00231 mutation_category=mobile_element_insertion position_end=27002 position_start=27000 ref_seq=TCC repeat_size=768
MOB 20 33,64,75 REL606-5 28000 IS1 -1 -1 gene_name=pepD gene_position=coding (718/1458 nt) gene_product=aminoacyl-histidine dipeptidase (peptidase D) gene_strand=< genes_inactivated=pepD ins_start=AGGC locus_tag=ECB_00232 locus_tags_inactivated=ECB_00232 mutation_category=mobile_element_insertion position_end=28000 position_start=28000 ref_seq=C repeat_size=768
MOB 21 78,82 REL606-5 35000 IS1 -1 0 del_end=3 del_start=1 gene_name=proA gene_position=coding (496/1254 nt) gene_product=gamma-glutamyl phosphate reductase gene_strand=> genes_inactivated=proA ins_end=TA ins_start=T locus_tag=ECB_00240 locus_tags_inactivated=ECB_00240 mutation_category=mobile_element_insertion position_end=35000 position_start=35000 ref_seq=T repeat_size=768
MOB 22 61,77 REL606-5 36000 IS1 1 7 del_end=2 del_start=2 gene_name=thrW/yagP gene_position=intergenic (+52/+69) gene_product=tRNA-Thr/predicted transcriptional regulator gene_strand=>/< genes_promoter=yagP ins_end=GC ins_start=ATGGC locus_tag=ECB_t00005/ECB_00241 locus_tags_promoter=ECB_00241 mutation_category=mobile_element_insertion position_end=36006 position_start=36000 ref_seq=CCGTATT repeat_size=768
MOB 22 61,77 REL606-5 36000 IS1 1 7 del_end=2 del_start=2 gene_name=thrW/yagP gene_position=intergenic (+52/+69) gene_product=tRNA-Thr/predicted transcriptional regulator gene_strand=>/< ins_end=GC ins_start=ATGGC locus_tag=ECB_t00005/ECB_00241 mutation_category=mobile_element_insertion position_end=36006 position_start=36000 ref_seq=CCGTATT repeat_size=768
MOB 23 76,81 REL606-5 37000 IS1 -1 1 del_end=1 del_start=3 gene_name=yagQ gene_position=coding (421/957 nt) gene_product=hypothetical protein gene_strand=< genes_inactivated=yagQ ins_end=AGC ins_start=AGTC locus_tag=ECB_00242 locus_tags_inactivated=ECB_00242 mutation_category=mobile_element_insertion position_end=37000 position_start=37000 ref_seq=T repeat_size=768
MOB 24 79,80 REL606-5 38000 IS1 1 2 del_end=10 del_start=5 gene_name=yagR gene_position=coding (1628-1629/2199 nt) gene_product=predicted oxidoreductase with molybdenum-binding domain gene_strand=< genes_inactivated=yagR ins_end=CA ins_start=CG locus_tag=ECB_00243 locus_tags_inactivated=ECB_00243 mutation_category=mobile_element_insertion position_end=38001 position_start=38000 ref_seq=AA repeat_size=768
MC 25 . REL606-5 3000 3002 0 0 gene_name=yafD gene_position=coding (445-447/801 nt) gene_product=hypothetical protein gene_strand=> left_inside_cov=0 left_outside_cov=27 locus_tag=ECB_00202 right_inside_cov=0 right_outside_cov=14
Expand Down
2 changes: 1 addition & 1 deletion tests/REL606_fragment_is_junction_only/expected.gd
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#=MAPPED-BASES 1407249
#=MAPPED-READS 39196
MOB 1 8,9 REL606-5 2345 IS150 1 3 gene_name=yafC/yafD gene_position=intergenic (-30/-209) gene_product=predicted DNA-binding transcriptional regulator/hypothetical protein gene_strand=</> genes_promoter=yafC locus_tag=ECB_00201/ECB_00202 locus_tags_promoter=ECB_00201 mutation_category=mobile_element_insertion position_end=2347 position_start=2345 ref_seq=ATT repeat_size=1443
MOB 2 10,11 REL606-5 4000 IS150 -1 3 gene_name=yafE/mltD gene_position=intergenic (+17/+29) gene_product=predicted S-adenosyl-L-methionine-dependent methyltransferase/predicted membrane-bound lytic murein transglycosylase D gene_strand=>/< genes_promoter=mltD locus_tag=ECB_00203/ECB_00204 locus_tags_promoter=ECB_00204 mutation_category=mobile_element_insertion position_end=4002 position_start=4000 ref_seq=GGG repeat_size=1443
MOB 2 10,11 REL606-5 4000 IS150 -1 3 gene_name=yafE/mltD gene_position=intergenic (+17/+29) gene_product=predicted S-adenosyl-L-methionine-dependent methyltransferase/predicted membrane-bound lytic murein transglycosylase D gene_strand=>/< locus_tag=ECB_00203/ECB_00204 mutation_category=mobile_element_insertion position_end=4002 position_start=4000 ref_seq=GGG repeat_size=1443
MOB 3 12,13 REL606-5 4400 IS150 1 3 gene_name=mltD gene_position=coding (988-990/1359 nt) gene_product=predicted membrane-bound lytic murein transglycosylase D gene_strand=< genes_inactivated=mltD locus_tag=ECB_00204 locus_tags_inactivated=ECB_00204 mutation_category=mobile_element_insertion position_end=4402 position_start=4400 ref_seq=CGT repeat_size=1443
MOB 4 15,16 REL606-5 38000 IS1 -1 6 gene_name=yagR gene_position=coding (1624-1629/2199 nt) gene_product=predicted oxidoreductase with molybdenum-binding domain gene_strand=< genes_inactivated=yagR locus_tag=ECB_00243 locus_tags_inactivated=ECB_00243 mutation_category=mobile_element_insertion position_end=38005 position_start=38000 ref_seq=AAACTG repeat_size=768
MOB 5 14,17 REL606-5 42000 IS1 1 6 gene_name=yagU gene_position=coding (317-322/615 nt) gene_product=conserved inner membrane protein gene_strand=> genes_inactivated=yagU locus_tag=ECB_00246 locus_tags_inactivated=ECB_00246 mutation_category=mobile_element_insertion position_end=42005 position_start=42000 ref_seq=ACATTA repeat_size=768
Expand Down
6 changes: 3 additions & 3 deletions tests/REL606_tiled_reads_continuation/expected.gd
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ MOB 4 50,51 REL606-5 2000 IS1 1 7 frequency=1 gene_name=yafC gene_position=codin
INS 5 52 REL606-5 2129 CTT frequency=1 gene_name=yafC gene_position=coding (187/915 nt) gene_product=predicted DNA-binding transcriptional regulator gene_strand=< genes_overlapping=yafC locus_tag=ECB_00201 locus_tags_overlapping=ECB_00201 mutation_category=small_indel position_end=2129 position_start=2129 ref_seq=C
MOB 6 35,53,54 REL606-5 3000 IS1 -1 -3 frequency=1 gene_name=yafD gene_position=coding (445-447/801 nt) gene_product=hypothetical protein gene_strand=> genes_inactivated=yafD locus_tag=ECB_00202 locus_tags_inactivated=ECB_00202 mutation_category=mobile_element_insertion position_end=3002 position_start=3000 ref_seq=CTG repeat_size=768
DEL 7 36,55 REL606-5 3249 3 frequency=1 gene_name=yafD gene_position=coding (694-696/801 nt) gene_product=hypothetical protein gene_strand=> genes_overlapping=yafD locus_tag=ECB_00202 locus_tags_overlapping=ECB_00202 mutation_category=small_indel position_end=3251 position_start=3249 ref_seq=GTT
MOB 8 37,56,57 REL606-5 4000 IS1 1 -7 frequency=1 gene_name=yafE/mltD gene_position=intergenic (+17/+25) gene_product=predicted S-adenosyl-L-methionine-dependent methyltransferase/predicted membrane-bound lytic murein transglycosylase D gene_strand=>/< genes_promoter=mltD locus_tag=ECB_00203/ECB_00204 locus_tags_promoter=ECB_00204 mutation_category=mobile_element_insertion position_end=4006 position_start=4000 ref_seq=GGGAATC repeat_size=768
MOB 8 37,56,57 REL606-5 4000 IS1 1 -7 frequency=1 gene_name=yafE/mltD gene_position=intergenic (+17/+25) gene_product=predicted S-adenosyl-L-methionine-dependent methyltransferase/predicted membrane-bound lytic murein transglycosylase D gene_strand=>/< locus_tag=ECB_00203/ECB_00204 mutation_category=mobile_element_insertion position_end=4006 position_start=4000 ref_seq=GGGAATC repeat_size=768
MOB 9 58,59 REL606-5 5000 IS1 -1 6 del_start=3 frequency=1 gene_name=mltD gene_position=coding (385-390/1359 nt) gene_product=predicted membrane-bound lytic murein transglycosylase D gene_strand=< genes_inactivated=mltD locus_tag=ECB_00204 locus_tags_inactivated=ECB_00204 mutation_category=mobile_element_insertion position_end=5005 position_start=5000 ref_seq=AGGATC repeat_size=768
MOB 10 60,61 REL606-5 6000 IS1 1 4 frequency=1 gene_name=gloB gene_position=coding (214-217/756 nt) gene_product=predicted hydroxyacylglutathione hydrolase gene_strand=< genes_inactivated=gloB ins_end=TG locus_tag=ECB_00205 locus_tags_inactivated=ECB_00205 mutation_category=mobile_element_insertion position_end=6003 position_start=6000 ref_seq=CAAT repeat_size=768
MOB 11 62,63 REL606-5 7000 IS1 -1 3 del_end=3 frequency=1 gene_name=rnhA gene_position=coding (435-437/468 nt) gene_product=ribonuclease H gene_strand=< genes_overlapping=rnhA ins_end=CTT locus_tag=ECB_00207 locus_tags_overlapping=ECB_00207 mutation_category=mobile_element_insertion position_end=7002 position_start=7000 ref_seq=AGT repeat_size=768
MOB 12 64,65 REL606-5 8000 IS1 1 3 frequency=1 gene_name=dnaQ gene_position=coding (500-502/732 nt) gene_product=DNA polymerase III subunit epsilon gene_strand=> genes_inactivated=dnaQ ins_start=ATGGC locus_tag=ECB_00208 locus_tags_inactivated=ECB_00208 mutation_category=mobile_element_insertion position_end=8002 position_start=8000 ref_seq=ATG repeat_size=768
DEL 13 66 REL606-5 8494 3 frequency=1 gene_name=aspV/yafT gene_position=intergenic (+53/-275) gene_product=tRNA-Asp/predicted aminopeptidase gene_strand=>/> genes_promoter=yafT locus_tag=ECB_t00004/ECB_00209 locus_tags_promoter=ECB_00209 mutation_category=small_indel position_end=8496 position_start=8494 ref_seq=TTT
DEL 13 66 REL606-5 8494 3 frequency=1 gene_name=aspV/yafT gene_position=intergenic (+53/-275) gene_product=tRNA-Asp/predicted aminopeptidase gene_strand=>/> locus_tag=ECB_t00004/ECB_00209 mutation_category=small_indel position_end=8496 position_start=8494 ref_seq=TTT
INS 14 81 REL606-5 10708 GGG frequency=1 gene_name=ECB_00212 gene_position=coding (188/372 nt) gene_product=hypothetical protein gene_strand=> genes_overlapping=ECB_00212 locus_tag=ECB_00212 locus_tags_overlapping=ECB_00212 mutation_category=small_indel position_end=10708 position_start=10708 ref_seq=G
MOB 15 38,72,78 REL606-5 15000 IS1 -1 -3 del_end=3 del_start=1 frequency=1 gene_name=fadE gene_position=coding (1383-1385/2445 nt) gene_product=acyl-CoA dehydrogenase gene_strand=< genes_inactivated=fadE ins_end=TA ins_start=T locus_tag=ECB_00216 locus_tags_inactivated=ECB_00216 mutation_category=mobile_element_insertion position_end=15002 position_start=15000 ref_seq=GAC repeat_size=768
MOB 16 39,71,76 REL606-5 16000 IS1 1 -7 del_end=2 del_start=2 frequency=1 gene_name=fadE gene_position=coding (379-385/2445 nt) gene_product=acyl-CoA dehydrogenase gene_strand=< genes_inactivated=fadE ins_end=GC ins_start=ATGGC locus_tag=ECB_00216 locus_tags_inactivated=ECB_00216 mutation_category=mobile_element_insertion position_end=16006 position_start=16000 ref_seq=CGAGAAA repeat_size=768
Expand All @@ -37,7 +37,7 @@ MOB 25 43,69,91 REL606-5 27000 IS1 1 -3 del_end=6 frequency=1 gene_name=prfH gen
MOB 26 80,92 REL606-5 28000 IS1 -1 -1 frequency=1 gene_name=pepD gene_position=coding (718/1458 nt) gene_product=aminoacyl-histidine dipeptidase (peptidase D) gene_strand=< genes_inactivated=pepD ins_start=AGGC locus_tag=ECB_00232 locus_tags_inactivated=ECB_00232 mutation_category=mobile_element_insertion position_end=28000 position_start=28000 ref_seq=C repeat_size=768
DEL 27 32,33 REL606-5 34577 2 frequency=1 gene_name=proA gene_position=coding (73-74/1254 nt) gene_product=gamma-glutamyl phosphate reductase gene_strand=> genes_inactivated=proA locus_tag=ECB_00240 locus_tags_inactivated=ECB_00240 mutation_category=small_indel position_end=34578 position_start=34577 ref_seq=AA repeat_length=1 repeat_new_copies=5 repeat_ref_copies=7 repeat_seq=A
MOB 28 95,99 REL606-5 35000 IS1 -1 0 del_end=3 del_start=1 frequency=1 gene_name=proA gene_position=coding (496/1254 nt) gene_product=gamma-glutamyl phosphate reductase gene_strand=> genes_inactivated=proA ins_end=TA ins_start=T locus_tag=ECB_00240 locus_tags_inactivated=ECB_00240 mutation_category=mobile_element_insertion position_end=35000 position_start=35000 ref_seq=T repeat_size=768
MOB 29 77,94 REL606-5 36000 IS1 1 7 del_end=2 del_start=2 frequency=1 gene_name=thrW/yagP gene_position=intergenic (+52/+69) gene_product=tRNA-Thr/predicted transcriptional regulator gene_strand=>/< genes_promoter=yagP ins_end=GC ins_start=ATGGC locus_tag=ECB_t00005/ECB_00241 locus_tags_promoter=ECB_00241 mutation_category=mobile_element_insertion position_end=36006 position_start=36000 ref_seq=CCGTATT repeat_size=768
MOB 29 77,94 REL606-5 36000 IS1 1 7 del_end=2 del_start=2 frequency=1 gene_name=thrW/yagP gene_position=intergenic (+52/+69) gene_product=tRNA-Thr/predicted transcriptional regulator gene_strand=>/< ins_end=GC ins_start=ATGGC locus_tag=ECB_t00005/ECB_00241 mutation_category=mobile_element_insertion position_end=36006 position_start=36000 ref_seq=CCGTATT repeat_size=768
MOB 30 93,98 REL606-5 37000 IS1 -1 1 del_end=1 del_start=3 frequency=1 gene_name=yagQ gene_position=coding (421/957 nt) gene_product=hypothetical protein gene_strand=< genes_inactivated=yagQ ins_end=AGC ins_start=AGTC locus_tag=ECB_00242 locus_tags_inactivated=ECB_00242 mutation_category=mobile_element_insertion position_end=37000 position_start=37000 ref_seq=T repeat_size=768
MOB 31 96,97 REL606-5 38000 IS1 1 2 del_end=10 del_start=5 frequency=1 gene_name=yagR gene_position=coding (1628-1629/2199 nt) gene_product=predicted oxidoreductase with molybdenum-binding domain gene_strand=< genes_inactivated=yagR ins_end=CA ins_start=CG locus_tag=ECB_00243 locus_tags_inactivated=ECB_00243 mutation_category=mobile_element_insertion position_end=38001 position_start=38000 ref_seq=AA repeat_size=768
RA 32 . REL606-5 34577 0 A . consensus_score=358.9 frequency=1 gene_name=proA gene_position=coding (73/1254 nt) gene_product=gamma-glutamyl phosphate reductase gene_strand=> locus_tag=ECB_00240 major_base=. major_cov=30/30 major_frequency=1.00000000e+00 minor_base=N minor_cov=0/0 new_cov=30/30 polymorphism_frequency=1.00000000e+00 polymorphism_reject=FREQUENCY_CUTOFF,VARIANT_STRAND_COVERAGE,INDEL_HOMOPOLYMER polymorphism_score=NA prediction=consensus ref_cov=0/0 total_cov=30/30
Expand Down
Loading

0 comments on commit 247cd9e

Please sign in to comment.