snvheaders = filter(None, """ CHROM POS REF ALT """.split()) snvdata = {} # extrasnvheaders = [] # usedsnvheaders = set() snvchroms = defaultdict(set) for filename in opt.snvs: base, extn = filename.rsplit('.', 1) extn = extn.lower() if extn == 'csv': snvs = CSVFileTable(filename=filename) elif extn == 'vcf': snvs = VCFFile(filename=filename) elif extn == 'tsv': snvs = TSVFileTable(filename=filename) elif extn == 'xls': snvs = XLSFileTable(filename=filename) elif extn == 'xlsx': snvs = XLSXFileTable(filename=filename) elif extn == 'txt': snvs = TXTFileTable(filename=filename, headers=snvheaders) else: raise RuntimeError("Unexpected SNV file extension: %s" % filename) for h in snvheaders: if h not in snvs.headers(): raise RuntimeError("Required header: %s missing from SNV file %s" % (h, filename))
filename0 = filename base, extn = filename.rsplit('.', 1) extn = extn.lower() tempfilename = None if opt.exoncoords: if extn != 'vcf': extn = 'tsv' tempfileno, tempfilename = tempfile.mkstemp(suffix="." + extn) execprog.execute("exonicFilter", "--exons", opt.exoncoords, "--input", filename, "--output", tempfilename) filename = tempfilename if extn == 'csv': snps = CSVFileTable(filename=filename) elif extn == 'vcf': snps = VCFFile(filename=filename) elif extn == 'tsv': snps = TSVFileTable(filename=filename) elif extn == 'xls': snps = XLSFileTable(filename=filename) elif extn == 'xlsx': snps = XLSXFileTable(filename=filename) elif extn == 'txt': snps = TXTFileTable(filename=filename, headers=snpheaders) else: raise RuntimeError("Unexpected SNP file extension: %s" % filename) for h in snpheaders: if h not in snps.headers(): raise RuntimeError("Required header: %s missing from SNP file %s" % (h, filename))