I'm examining some genomic coverage data which is basically a long list (a few million values) of integers, each saying how well (or "deep") this position in the genome is covered.
I would like to look for "valleys" in this data, that is, regions which are significantly "lower" than their surrounding environment.
Note that the size of the valleys I'm looking for may range from 50 bases to a few thousands.
What kind of paradigms would you recommend using to find those valleys?
UPDATE
Some graphical examples for the data:

UPDATE 2
Defining what is a valley is of course one of the question I'm struggling with. These are obvious ones for me:

but there some more complex situations. In general, there are 3 criteria I consider: 1. The (average? maximal?) coverage in the window with respect to the global average. 2. The (...) coverage in the window with respect to its immediate surrounding. 3. How large is the window: if I see very low coverage for a short span it is interesting, if I see very low coverage for a long span it's also interesting, if I see mildly low coverage for a short span it's not really interesting, but if I see mildly low coverage for a long span - it is.. So it's a combination of the length of the sapn and it's coverage. The longer it is, the higher I let the coverage be and still consider it a valley.
Thanks,
Dave