private void go(){
		
		try {
			FileReader fr = new FileReader(inputFile);
			BufferedReader br = new BufferedReader(fr);
			String ln = br.readLine();
			String[] species = {};
			
			while(ln != null){
				StringTokenizer stk = new StringTokenizer(ln,", \t");
				int nsp = stk.countTokens()-1;
				String tok;
				if(first){
					species = new String[nsp];
					stk.nextToken();
					for(int i = 0; i < nsp-1; i++){
						tok = stk.nextToken();
						species[i] = tok;
						fm.put(tok, new TreeMap<String,String>());
					}
					first = false;
				}

				else{
					String pu = stk.nextToken();
					for(int i = 0; i < nsp-1; i++){
						tok = stk.nextToken();
						if(Double.parseDouble(tok)>0){
							//fm.get(species[i]).put(pu, tok);
							fm.get(species[i]).put(pu, "1");
						}
					}
				}
				
				ln = br.readLine();
			}
			
			Iterator<String> it = fm.keySet().iterator();
			FileWriter fw = new FileWriter(outputFile);
			BufferedWriter bw = new BufferedWriter(fw);
			bw.write("species,pu,amount\n");
			
			while(it.hasNext()){
				
				String spec = it.next();
				Map<String,String> fm2 = fm.get(spec);
				Iterator<String> it2 = fm2.keySet().iterator();
				
				while(it2.hasNext()){
					String punit = it2.next();
					bw.write(spec + ", " + punit + ", " + fm2.get(punit)+"\n");
				}
				
			}
			
			br.close();
			bw.flush();
			bw.close();
			fw.close();
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		catch (IOException e) {
			e.printStackTrace();
		}
		
	}