#include <fstream>
#include <string>
#include <iostream>
#include <math.h>
// ./purge_seq 95.0 100 test2_vs_test.txt p_test2_vs_test.xls

//Designed by Peter A Noble, 2012, Alabama State University
// panoble@washington.edu

using namespace std;

int main (int argc, char * const argv[]) {
double sim_value;
//string s;
sim_value=atof(argv[1]); // 95.0
int min_bp;
min_bp=atoi(argv[2]); //100;

ifstream in(argv[3]); 		
ofstream out(argv[4]);		

int standard=50;
char c1[standard];
char c2[standard];
char c3[standard];
char c4[standard];
char c5[standard];
double double_1;
double double_2;
int int_1,int_2,int_3,int_4,int_5,int_6,int_7;
//int x=0;
//int flag=0;
out << "Query\t";
out << "Subj\t";
out << "%Sim\t";
out << "Bp_aligned\t";
out << "Num_MM\t";
out << "Num_gaps\t";
out << "Query_start\t";
out << "Query_end\t";
out << "Seq_start\t";
out << "Seq_end\t";
out << "E-value\t";
out << "Bit_score\n";

while(!in.eof())
	{
	in >> c1;		
	in >> c2;		
	in >> double_1;	
	in >> int_1;	
	in >> int_2;	 
	in >> int_3;	 
	in >> int_4;	
	in >> int_5;	
	in >> int_6;	
	in >> int_7;	
	in >> c3;		
	in >> double_2;	
	//in >> c4;
	//in >> c5;
	
	if ((double_1>=sim_value) &&  (int_1>=min_bp))
		{
		out << c1<< "\t";			
	 out << c2 << "\t";		
		out << double_1 << "\t";	
		out << int_1 << "\t";	
		out << int_2 << "\t";	 
		out << int_3 << "\t";	 
		out << int_4 << "\t";	
		out << int_5 << "\t";	
		out << int_6 << "\t";	
		out << int_7 << "\t";	
		out << c3 << "\t";		
		out << double_2 << "\n";	
		//out << c4 << "\t";
		//out << c5 << "\n";
	
		}
	}
    std::cout << "Hello, World!\n";
    return 0;
}
