CanvasBin.CanvasBin.ExcludeTagsOverlappingFilterFile C# (CSharp) Method

ExcludeTagsOverlappingFilterFile() static private method

Remove possible alignment positions if they intersect a supplied bed file.
static private ExcludeTagsOverlappingFilterFile ( string filterFile, BitArray>.IDictionary tags ) : void
filterFile string Name of bed file to use for filtering.
tags BitArray>.IDictionary BitArrays of possible alignment positions.
return void
        static void ExcludeTagsOverlappingFilterFile(string filterFile, IDictionary<string, BitArray> tags)
        {
            using (StreamReader reader = new StreamReader(filterFile))
            {
                string row;

                while ((row = reader.ReadLine()) != null)
                {

                    string[] fields = row.Split('\t');

                    string chr = fields[0];
                    int start = Convert.ToInt32(fields[1]);
                    int stop = Convert.ToInt32(fields[2]);

                    if (!tags.ContainsKey(chr))
                        continue;

                    for (int i = start; i < stop; i++)
                        tags[chr][i] = false;
                }
            }
        }