def getLocusAndData(self, inputFname, VCFOutputType=2):
		"""
		2011-9-21
		
		"""
		contig_id_pattern = re.compile(r'Contig(\d+).*')
		contig2locus2frequency = {}
		fname = inputFname
		if fname[-6:]!='vcf.gz' and fname[-3:]!='vcf':
			return None
		sys.stderr.write("%s ..."%fname)
		contig_id_pattern_sr = contig_id_pattern.search(inputFname)
		if contig_id_pattern_sr:
			contig_id = contig_id_pattern_sr.group(1)
		else:
			contig_id = os.path.splitext(os.path.split(inputFname)[1])[0]
		
		vcfFile = VCFFile(inputFname=self.inputFname)
		counter = 0
		real_counter = 0
		
		locus_ls = []
		xData_ls = []
		yData_ls = []
		
		for vcfRecord in vcfFile.parseIter():
			locus_id = vcfRecord.locus_id
			chr = vcfRecord.chr
			pos = vcfRecord.pos
			pos = int(pos)
			
			AF1 = vcfRecord.info_tag2value.get("AF", vcfRecord.info_tag2value.get("AF1", None))
			
			if AF1:
				AF1 = float(AF1)
				locus_ls.append(locus_id)
				xData_ls.append(pos)
				yData_ls.append(AF1)
		
		sys.stderr.write("%s loci. Done.\n"%(len(yData_ls)))
		return PassingData(contig_id=contig_id, locus_ls=locus_ls, yData_ls=yData_ls, xData_ls=xData_ls)