private VariantCall[] LoadIlluminaFinalReportVariant(string line) { if (line[0] != 'r') { return null; } if (line[1] != 's') { return null; } if (_splitter == null) { var testSplit = line.Split('\t'); _splitter = new StringSplitter(testSplit.Length); } _splitter.Split(line, '\t'); var lineSplit = _splitter.Results; var newVar = new VariantCall(); newVar.Id = lineSplit[0]; newVar.AlleleA = lineSplit[16]; newVar.AlleleB = lineSplit[17]; return new[] { newVar }; }
private VariantCall[] LoadIlluminaMatrixReportVariant(string line) { if (line[0] != 'r') { return null; } if (line[1] != 's') { return null; } if (_splitter == null) { var testSplit = line.Split('\t'); _splitter = new StringSplitter(testSplit.Length); } _splitter.Split(line, '\t'); var lineSplit = _splitter.Results; var variants = new VariantCall[lineSplit.Length - 1]; for (var i = 1; i < lineSplit.Length; i++) { var variant = new VariantCall(); variant.Id = lineSplit[0]; variant.AlleleA = lineSplit[i][0].ToString(); variant.AlleleB = lineSplit[i][1].ToString(); variants[i - 1] = variant; } return variants; }
private VariantCall[] LoadVcfVariant(string line) { //Check for comment headers if (line.Length < 2) { return null; } if (line.Substring(0, 2) == "##") { return null; } if (line[0] == '#') { return null; } if (_splitter == null) { var testSplit = line.Split('\t'); _splitter = new StringSplitter(testSplit.Length); } _splitter.Split(line, '\t'); var lineSplit = _splitter.Results; //Check if we passed QC if (lineSplit[6] != "PASS") { return null; } //Check if id starts with rs if (lineSplit[2][0] != 'r') { return null; } if (lineSplit[2][1] != 's') { return null; } //Create variant var newVar = new VariantCall(); newVar.Id = lineSplit[2]; newVar.VcfRef = lineSplit[3]; newVar.VcfAlt = lineSplit[4]; return new[] {newVar}; }