Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

addressing issue #120 fix deletion post primer #124

Merged
merged 15 commits into from
Jul 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions data/test.gff
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## GFF3 file format
test Genbank primer_binding_site 2 290 . + . ID=id-test1;Note=daft punk
test Genbank long_terminal_repeat 1 55 . + . ID=id-test2;Note=random access memories
test Genbank CDS 2 292 . + . ID=id-test3;Note=eluvite
test Genbank CDS 1 55 . + . ID=id-test4;Note=ategnato
test Genbank CDS 2 292 . + . ID=id-testedit1;Note=PinkFloyd;EditPosition=100;EditSequence=A
test Genbank CDS 2 292 . + . ID=id-testedit2;Note=AnotherBrickInTheWall;EditPosition=102;EditSequence=AA
test Genbank primer_binding_site 2 290 . + . ID=id-test1;Note=daft punk;Parent=geneFragmentsOfTime;
test Genbank long_terminal_repeat 1 55 . + . ID=id-test2;Note=random access memories;Parent=geneGetLucky;
test Genbank CDS 2 292 . + . ID=id-test3;Note=eluvite;gene=geneKatyPerry;
test Genbank CDS 1 55 . + . ID=id-test4;Note=ategnato;gene=geneKatyPerry;
test Genbank CDS 2 292 . + . ID=id-testedit1;Note=PinkFloyd;EditPosition=100;EditSequence=A;
test Genbank CDS 2 292 . + . ID=id-testedit2;Note=AnotherBrickInTheWall;EditPosition=102;EditSequence=AA;gene=geneTaylorSwift;
7 changes: 6 additions & 1 deletion src/call_variants.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ int call_variants_from_plup(std::istream &cin, std::string out_file, uint8_t min
ref_antd refantd(ref_path, gff_path);
std::ostringstream out_str;
std::ofstream fout((out_file+".tsv").c_str());
//make columns in the file
fout << "REGION"
"\tPOS"
"\tREF"
Expand All @@ -47,6 +48,7 @@ int call_variants_from_plup(std::istream &cin, std::string out_file, uint8_t min
"\tREF_AA"
"\tALT_CODON"
"\tALT_AA"
"\tPOS_AA"
<< std::endl;
int ctr = 0;
int64_t pos = 0;
Expand Down Expand Up @@ -118,6 +120,7 @@ int call_variants_from_plup(std::istream &cin, std::string out_file, uint8_t min
freq_depth = get_frequency_depth(*it, pdepth, mdepth);
if(freq_depth[0] < min_threshold)
continue;
//this only adds the first bit of the information to the tsv
out_str << region << "\t";
out_str << pos << "\t";
out_str << ref << "\t";
Expand All @@ -135,6 +138,7 @@ int call_variants_from_plup(std::istream &cin, std::string out_file, uint8_t min
Exp | Error | Err free |
Obs | AD | RD |
*/
//adding pvalue related info
err = pow(10, ( -1 * (it->mean_qual)/10));
kt_fisher_exact((err * mdepth), (1-err) * mdepth, it->depth, ref_it->depth, &pval_left, &pval_right, &pval_twotailed);
out_str << pval_left << "\t";
Expand All @@ -143,10 +147,11 @@ int call_variants_from_plup(std::istream &cin, std::string out_file, uint8_t min
} else {
out_str << "FALSE" << "\t";
}
//adding codon related info, can add gene info here too
if(it->nuc[0] != '+' && it->nuc[0] != '-'){
refantd.codon_aa_stream(region, out_str, fout, pos, it->nuc[0]);
} else {
fout << out_str.str() << "NA\tNA\tNA\tNA\tNA" << std::endl;
fout << out_str.str() << "NA\tNA\tNA\tNA\tNA\tNA" << std::endl;
}
out_str.str("");
out_str.clear();
Expand Down
18 changes: 15 additions & 3 deletions src/ref_seq.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,23 +109,35 @@ ref_antd::~ref_antd()
if (this->fai) fai_destroy(this->fai);
}

//used to add codon info to variants output
int ref_antd::codon_aa_stream(std::string region, std::ostringstream &line_stream, std::ofstream &fout, int64_t pos, char alt){
std::vector<gff3_feature> features = gff.query_features(pos, "CDS");
if(features.size() == 0){ // No matching CDS
fout << line_stream.str() << "NA\tNA\tNA\tNA\tNA" << std::endl;
fout << line_stream.str() << "NA\tNA\tNA\tNA\tNA\tNA" << std::endl;
return 0;
}
std::vector<gff3_feature>::iterator it;
char *ref_codon, *alt_codon;
for(it = features.begin(); it != features.end(); it++){
fout << line_stream.str();
fout << it->get_attribute("ID") << "\t";
//add in gene level info, control for case it's not present
std::string gene = it->get_attribute("gene");
if (gene.empty()){
fout << it->get_attribute("ID") << "\t";
} else {
fout << gene + ":" + it->get_attribute("ID") << "\t";
}
ref_codon = this->get_codon(pos, region, *it);
fout << ref_codon[0] << ref_codon[1] << ref_codon[2] << "\t";
fout << codon2aa(ref_codon[0], ref_codon[1], ref_codon[2]) << "\t";
alt_codon = this->get_codon(pos, region, *it, alt);
fout << alt_codon[0] << alt_codon[1] << alt_codon[2] << "\t";
fout << codon2aa(alt_codon[0], alt_codon[1], alt_codon[2]);
fout << codon2aa(alt_codon[0], alt_codon[1], alt_codon[2]) << "\t";

//adding amino acid position
int64_t start = it->get_start();
int64_t aa_pos = ((pos - start) / 3)+1;
fout << aa_pos;
fout << std::endl;

delete[] ref_codon;
Expand Down
34 changes: 33 additions & 1 deletion src/trim_primer_quality.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ cigar_ primer_trim(bam1_t *r, bool &isize_flag, int32_t new_pos, bool unpaired_r
int32_t n, start_pos = 0, ref_add = 0;
bool pos_start = false;
del_len = max_del_len;

while(i < r->core.n_cigar){
if (del_len == 0 && pos_start){ // No more bases on query to soft clip
ncigar[j] = cigar[i];
Expand All @@ -200,7 +201,18 @@ cigar_ primer_trim(bam1_t *r, bool &isize_flag, int32_t new_pos, bool unpaired_r
pos_start = true;
continue;
}

//add the condition that we have a leading deletion
if(cig == 2 && del_len == 0){
ncigar[j] = cigar[i];
pos_start = true;
i++;
j++;
continue;
}

ref_add = n;

if ((bam_cigar_type(cig) & 1)){ // Consumes Query
if(del_len >= n ){
ncigar[j] = bam_cigar_gen(n, BAM_CSOFT_CLIP);
Expand All @@ -221,18 +233,38 @@ cigar_ primer_trim(bam1_t *r, bool &isize_flag, int32_t new_pos, bool unpaired_r
ncigar[j] = bam_cigar_gen(n, cig);
j++;
}
//add the condition that we have a leading deletion
if(cig == 2 && del_len == 0){
ncigar[j] = cigar[i];
pos_start = true;
i++;
j++;
}

if(del_len ==0 && (bam_cigar_type(ncigar[j-1]) & 1) && (bam_cigar_type(ncigar[j-1]) & 2)){ // After soft clipping of query complete, keep incrementing start_pos until first base that consumes both query and ref
pos_start = true;
pos_start = true;
}
}

//deletions consume the reference but not the query,
//insertions consume the query but not the reference
if((bam_cigar_type(cig) & 2)) { // Consumes reference but not query
//std::cout << "ref add " << ref_add << " " << start_pos << " " << cig << "\n";
start_pos += ref_add;
}
i++;
}

/*uint32_t p=0;
while(p < j){
std::cout << bam_cigar_op(ncigar[p]) << " " << bam_cigar_oplen(ncigar[p]) <<"\n";
p++;
}*/
//std::cout << "start pos " << start_pos << "\n";
if(reverse){
reverse_cigar(ncigar, j);
}

return {
ncigar,
true,
Expand Down
23 changes: 12 additions & 11 deletions tests/test_primer_trim.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,29 +37,29 @@ int main(){
int primer_indices[] = {0, 0, 7, 7, 6};
uint8_t cigar_flag[5][11] = {
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CMATCH},
{BAM_CMATCH, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CDEL, BAM_CPAD, BAM_CDEL, BAM_CMATCH},
{BAM_CMATCH, BAM_CPAD, BAM_CDEL, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP},
{BAM_CMATCH, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH}
};
uint32_t cigar_len[5][11] = {
{6, 5, 1, 139},
{24, 3, 1, 1, 4, 114},
{121, 4, 1, 1, 11, 6},
{24, 3, 1, 1, 4, 1, 1, 1,114}, //change this
{121, 1, 4, 4, 1, 1, 11, 6}, //change this
{103, 1, 10,1,13, 24},
{23, 18, 3, 57, 1, 10, 1, 39}
};
uint32_t read_start_pos[5] = {
30, 31, 231, 249, 274
30, 29, 231, 249, 274 //also change
};
uint8_t condense_cigar_flag[5][8] = {
{BAM_CSOFT_CLIP, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CMATCH},
{BAM_CMATCH, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CDEL, BAM_CPAD, BAM_CDEL, BAM_CMATCH}, //change this
{BAM_CMATCH, BAM_CPAD, BAM_CDEL, BAM_CSOFT_CLIP}, //change this
{BAM_CMATCH, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH}
};
uint32_t condense_cigar_len[5][8] = {{12, 139}, {33, 114}, {121, 23}, {103, 49}, {23, 18,3, 57, 1, 10, 1, 39}};
uint32_t condense_cigar_len[5][8] = {{12, 139}, {33, 1,1,1,114}, {121, 1, 4, 23}, {103, 49}, {23, 18,3, 57, 1, 10, 1, 39}};
unsigned int overlapping_primer_sizes[] = {0, 2, 2, 0, 0, 0, 0, 2, 2, 1};
int ctr = 0;
std::vector<primer> overlapping_primers;
Expand Down Expand Up @@ -100,11 +100,12 @@ int main(){
cigar = bam_get_cigar(aln);
for (uint i = 0; i < t.nlength; ++i){
if(((cigar[i]) & BAM_CIGAR_MASK) != cigar_flag[primer_ctr][i]){
std::cout << bam_cigar_op(cigar[i]) << " " << bam_cigar_oplen(cigar[i]) << " i " << i << "\n";
success = -1;
std::cout << "Cigar flag didn't match for " << cand_primer.get_indice() << " ! Expected " << (uint) cigar_flag[primer_ctr][i] << " " << "Got " << ((cigar[i]) & BAM_CIGAR_MASK) << std::endl;
}
if((((cigar[i]) >> BAM_CIGAR_SHIFT)) != cigar_len[primer_ctr][i]){
success = -1;
success = -1;
std::cout << "Cigar length didn't match for " << bam_get_qname(aln) << " ! Expected " << (uint) cigar_len[primer_ctr][i] << " " << "Got " << ((cigar[i]) >> BAM_CIGAR_SHIFT) << std::endl;
}
}
Expand All @@ -117,10 +118,10 @@ int main(){
for (uint i = 0; i < t.nlength; ++i){
if(((cigar[i]) & BAM_CIGAR_MASK) != condense_cigar_flag[primer_ctr][i]){
success = -1;
std::cout << "Cigar flag didn't match! Expected " << condense_cigar_flag[primer_ctr][i] << " " << "Got " << ((cigar[i]) & BAM_CIGAR_MASK) << std::endl;
std::cout << "Cigar flag didn't match! Expected " << condense_cigar_flag[primer_ctr][i] << " " << "Got " << ((cigar[i]) & BAM_CIGAR_MASK) << std::endl;
}
if((((cigar[i]) >> BAM_CIGAR_SHIFT)) != condense_cigar_len[primer_ctr][i]){
success = -1;
success = -1;
std::cout << "Cigar length didn't match after condense! Expected " << condense_cigar_len[primer_ctr][i] << " " << "Got " << ((cigar[i]) >> BAM_CIGAR_SHIFT) << std::endl;
}
}
Expand Down
24 changes: 12 additions & 12 deletions tests/test_unpaired_trim.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,35 +41,35 @@ int main(){
int primer_ctr = 0;
int forward_primer_indices[] = {1, 1, 5, 5, 6};
int rev_primer_indices[] = {3, -1, -1, -1, 4};
uint8_t cigar_flag[5][16] = {
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CINS, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP}, // 3S15M5D2M1D14M1I56M1P6M3P93M2D4M2I8M
uint8_t cigar_flag[5][17] = {
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CDEL, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CINS, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP}, // 3S15M5D2M1D14M1I56M1P6M3P93M2D4M2I8M
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CSOFT_CLIP, BAM_CDEL, BAM_CPAD, BAM_CDEL, BAM_CMATCH, BAM_CPAD, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CSOFT_CLIP}
};
uint32_t cigar_len[5][16] = {
{3, 15, 2, 1, 14, 1, 56, 1, 6, 3, 93, 2, 1, 3, 2, 8},
uint32_t cigar_len[5][17] = {
{3, 15, 5, 2, 1, 14, 1, 56, 1, 6, 3, 93, 2, 1, 3, 2, 8}, //change here
{1, 19, 1, 56, 1, 6, 3, 99, 2, 65},
{8, 13, 1, 6, 3, 99, 2, 62, 3},
{9, 10, 3, 97, 2, 26},
{9, 10, 3, 3, 3, 2, 97, 2, 26}, //change here
{18, 71, 2, 89, 18}
};
uint32_t read_start_pos[5] = {
94, 92, 173, 175, 201
89, 92, 173, 170, 201
};
uint8_t condense_cigar_flag[5][14] = {
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CINS, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CDEL, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CINS, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CDEL, BAM_CMATCH, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CPAD, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CSOFT_CLIP},
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH},
{BAM_CSOFT_CLIP, BAM_CDEL, BAM_CPAD, BAM_CDEL, BAM_CMATCH, BAM_CPAD, BAM_CMATCH}, //change here
{BAM_CSOFT_CLIP, BAM_CMATCH, BAM_CPAD, BAM_CMATCH, BAM_CSOFT_CLIP}
};
uint32_t condense_cigar_len[5][13] = {
{18, 2, 1, 14,1, 56, 1, 6, 3, 93, 2, 1, 13},
uint32_t condense_cigar_len[5][14] = {
{18, 5, 2, 1, 14,1, 56, 1, 6, 3, 93, 2, 1, 13}, //change here
{1, 19, 1, 56, 1, 6, 3, 99, 2, 65},
{31, 99, 2, 62, 3},
{22, 97, 2, 26},
{22, 3, 3, 2, 97, 2, 26}, //change here
{18, 71, 2, 89, 18}
};
unsigned int fwd_overlapping_primer_sizes[] = {2, 1, 1, 1, 1};
Expand Down
14 changes: 8 additions & 6 deletions tests/test_variants.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@ int call_var_check_outfile(std::string prefix, uint8_t min_qual, uint8_t min_dep
std::string l;
getline(outFile, l); // Ignore first line
int comp = 0, ctr = 0;

while(ctr < len){
getline(outFile, l);
std::cout << l << std::endl;
std::cout << out[ctr] << " -> CORRECT" << std::endl;
comp += l.compare(out[ctr]);
std::cout << l.compare(out[ctr]) << "\n";
ctr++;
}
return comp;
Expand All @@ -25,20 +27,20 @@ int call_var_check_outfile(std::string prefix, uint8_t min_qual, uint8_t min_dep
int main() {
int num_success = 0;
// Quality threshold 20. Frequency threshold: 0.03. Total_DP = 3. Indel passes filters with total_depth 4. Has two lines.
std::string t_20_02_1[4] = {"test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-test3\tAAG\tK\tATG\tM", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-testedit1\tGAA\tE\tGAT\tD", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-testedit2\tAGA\tR\tTGA\t*", "test\t210\tA\t+GT\t1\t1\t41\t1\t0\t20\t0.25\t4\t0.4\tFALSE\tNA\tNA\tNA\tNA\tNA"};
std::string t_20_02_1[4] = {"test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tgeneKatyPerry:id-test3\tAAG\tK\tATG\tM\t70", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-testedit1\tGAA\tE\tGAT\tD\t70", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tgeneTaylorSwift:id-testedit2\tAGA\tR\tTGA\t*\t70", "test\t210\tA\t+GT\t1\t1\t41\t1\t0\t20\t0.25\t4\t0.4\tFALSE\tNA\tNA\tNA\tNA\tNA\tNA"};
// Quality threshold 3-. Frequency threshold: 0.03. Total_DP = 3. Freq = 0.666667 No Indel
std::string t_20_03[3] = {"test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-test3\tAAG\tK\tATG\tM", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-testedit1\tGAA\tE\tGAT\tD", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-testedit2\tAGA\tR\tTGA\t*"};
std::string t_20_03[3] = {"test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tgeneKatyPerry:id-test3\tAAG\tK\tATG\tM\t70", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tid-testedit1\tGAA\tE\tGAT\tD\t70", "test\t210\tA\tT\t1\t1\t41\t2\t1\t40\t0.666667\t3\t0.2\tFALSE\tgeneTaylorSwift:id-testedit2\tAGA\tR\tTGA\t*\t70"};
// Quality threshold 25. Frequency threshold: 0.03. Total_DP = 2. Freq = 0.5 No Indel.
std::string t_25_03[3] = {"test\t210\tA\tT\t1\t1\t41\t1\t1\t58\t0.5\t2\t0.4\tFALSE\tid-test3\tAAG\tK\tATG\tM", "test\t210\tA\tT\t1\t1\t41\t1\t1\t58\t0.5\t2\t0.4\tFALSE\tid-testedit1\tGAA\tE\tGAT\tD", "test\t210\tA\tT\t1\t1\t41\t1\t1\t58\t0.5\t2\t0.4\tFALSE\tid-testedit2\tAGA\tR\tTGA\t*"};
std::string t_25_03[3] = {"test\t210\tA\tT\t1\t1\t41\t1\t1\t58\t0.5\t2\t0.4\tFALSE\tgeneKatyPerry:id-test3\tAAG\tK\tATG\tM\t70", "test\t210\tA\tT\t1\t1\t41\t1\t1\t58\t0.5\t2\t0.4\tFALSE\tid-testedit1\tGAA\tE\tGAT\tD\t70", "test\t210\tA\tT\t1\t1\t41\t1\t1\t58\t0.5\t2\t0.4\tFALSE\tgeneTaylorSwift:id-testedit2\tAGA\tR\tTGA\t*\t70"};
// Minimum depth threshold. Should be empty
std::string t_25_03_20[] = {};
num_success = call_var_check_outfile("../data/test.indel", 20, 0, 0.02, t_20_02_1, 4);
std::cout << num_success << std::endl;
num_success += call_var_check_outfile("../data/test.indel", 20, 0, 0.03, t_20_03, 3);
num_success += call_var_check_outfile("../data/test.indel2", 20, 0, 0.03, t_20_03, 3);
std::cout << num_success << std::endl;
num_success += call_var_check_outfile("../data/test.indel", 25, 0, 0.03, t_25_03, 3);
num_success += call_var_check_outfile("../data/test.indel3", 25, 0, 0.03, t_25_03, 3);
std::cout << num_success << std::endl;
num_success += call_var_check_outfile("../data/test.indel", 25, 20, 0.03, t_25_03_20, 0);
num_success += call_var_check_outfile("../data/test.indel4", 25, 20, 0.03, t_25_03_20, 0);
std::cout << num_success << std::endl;
if(num_success == 0)
return 0;
Expand Down