code: def requirements_check():
      
      required_programs = [
          ('samtools',
           'http://samtools.sourceforge.net/'),
          ('bedtools',
           'http://bedtools.readthedocs.org/en/latest/'),
          ('bigWigToBedGraph',
           'http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/'),
          ('bedGraphToBigWig',
           'http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/'),
      ]
      for req, url in required_programs:
          try:
              p = subprocess.Popen(
                  [req], stderr=subprocess.PIPE, stdout=subprocess.PIPE)
              stdout, stderr = p.communicate()
          except OSError:
              raise ValueError("Please install %s (%s)" % (req, url))
docs: Ensure we have programs needed to download/manipulate the data