public static void main(String[] args) throws Exception
	{
		HashMap<String, Integer> barcodeMap = getBarcodeToSampleMap();
		HashMap<String, Integer> expectedMap = getExpectedSubjectID();
		System.out.println("got " + expectedMap.size());
		
		BufferedReader reader = new BufferedReader(new FileReader(new File(
			ConfigReader.getIanNov2015Dir() + File.separator + 
			"behavbugs_noindex_l001_r2_001" + File.separator +  "mcsmm" + 
					File.separator + "mcsmm.behavbugsn"	)));
		
		int numPassed = 0;
		int numNotFound =0;
		for(String s= reader.readLine(); s != null && s.trim().length() >0; s= reader.readLine())
		{
			String key = new StringTokenizer(s).nextToken();
			
			if( ! key.startsWith("@"))
				throw new Exception("Incorrect line " + key);
			
			String sequence = reader.readLine();
			
			for( int x=0; x < 2; x++)
			{
				String nextLine = reader.readLine();
				
				if( nextLine == null)
					throw new Exception("No");
			}
			
			Integer expectedFromBarcode = barcodeMap.get(sequence);
			
			if( expectedFromBarcode != null)
			{
				Integer expectedFromSeq = expectedMap.get(key);
				
				if(expectedFromSeq == null)
					throw new Exception("Could not find " + key);
				
				if( ! expectedFromBarcode.equals(expectedFromSeq))
					throw new Exception("Mismatch " + key + " " + expectedFromBarcode + " " + expectedFromSeq);
				
				numPassed++;
				
			}
			else
			{
				numNotFound++;
			}
			
			if( (numPassed + numNotFound) % 10000== 0)
				System.out.println("passed " + numPassed + " skipped "+ numNotFound);
		}
				
		System.out.println("passed " + numPassed + " skipped "+ numNotFound);
		System.out.println("global pass");
	}