public IPdb(string filename, bool multimeric) { int lineCount = 0; //Check to see if the file needs decomrpession (this is the case for full PDB scans) if (filename.Substring(filename.Length - 3, 3) == ".gz") { IGzip gzip = new IGzip(); string PdbDecompressed = gzip.Decompress(filename); gzip = null; //Console.WriteLine("Filename: " + filename); string[] lines = PdbDecompressed.Split('\n'); foreach (string line in lines) { ParseLine(line); lineCount++; } } //Standard PDB (already unzipped) else { StreamReader PdbFile = File.OpenText(filename); string line = PdbFile.ReadLine(); while (line != null) { ParseLine(line); line = PdbFile.ReadLine(); lineCount++; } PdbFile.Close(); } this.filesize = lineCount; this.PdbCode = ParsePdbCode(filename, multimeric); }