private void loadMembers(ArrayList<Integer>taxList) throws SQLException{
		String qString = getQString(taxList, type);
		if (qString==null) {
			System.out.println("Unknown type "+type);
			System.exit(0);
		}
		cogs = new Hashtable<Integer,ArrayList<Locus>>();
		scaffolds = new Hashtable<Integer,Scaffold>();
		taxonomies = new HashSet<Integer>();
		Connection conn = ConnectionManager.getConnection(0);
		Statement stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(qString);
			int prevCogInfoId=-1;
			ArrayList<Locus> genes = null;
			while(rs.next()) {
				int cogInfoId = rs.getInt(1);
				if (cogInfoId!=prevCogInfoId){
					if (prevCogInfoId!=-1) {
						if (genes.size()>1) cogs.put(prevCogInfoId, genes);
						else System.out.println(type+prevCogInfoId+" has only 1 record for specified taxonomies; not adding");
					}
					prevCogInfoId=cogInfoId;
					genes = new ArrayList<Locus>();
				}
				int locusId = rs.getInt(2);
				int version = rs.getInt(3);
				int taxonomyId = rs.getInt(4);
				int scaffoldId = rs.getInt(5);
				Scaffold sc;
				if (scaffolds.containsKey(scaffoldId)) sc=scaffolds.get(scaffoldId);
				else {
					sc = new Scaffold(scaffoldId,taxonomyId,rs.getInt(6),rs.getByte(7),rs.getInt(8));
					scaffolds.put(scaffoldId, sc);
					taxonomies.add(taxonomyId);
				}
				DnaPosition pos = new DnaPosition(sc, rs.getString(9),rs.getInt(10),rs.getInt(11));
				genes.add(new Locus(locusId, version, cogInfoId, pos, sc));
			}
			if (genes.size()>1) cogs.put(prevCogInfoId, genes);
			else System.out.println(type+prevCogInfoId+" has only 1 record for specified taxonomies; not adding");
			rs.close();
			stmt.close();
	}