docs: def parse_bowtie_stats(self, stats_file):
          """
          Parses Bowtie2 stats file, returns series with values.
          :param str  stats_file: Bowtie2 output file with alignment statistics.
          """
          import pandas as pd
          stats = pd.Series(index=["readCount", "unpaired", "unaligned", "unique", "multiple", "alignmentRate"])
          try:
              with open(stats_file) as handle:
                  content = handle.readlines()  # list of strings per line
          except:
              return stats
          # total reads
          try:
              line = [i for i in range(len(content)) if " reads; of these:" in content[i]][0]
              stats["readCount"] = re.sub("\D.*", "", content[line])
              if 7 > len(content) > 2:
                  line = [i for i in range(len(content)) if "were unpaired; of these:" in content[i]][0]
                  stats["unpaired"] = re.sub("\D", "", re.sub("\(.*", "", content[line]))
              else:
                  line = [i for i in range(len(content)) if "were paired; of these:" in content[i]][0]
                  stats["unpaired"] = stats["readCount"] - int(re.sub("\D", "", re.sub("\(.*", "", content[line])))
              line = [i for i in range(len(content)) if "aligned 0 times" in content[i]][0]
              stats["unaligned"] = re.sub("\D", "", re.sub("\(.*", "", content[line]))
              line = [i for i in range(len(content)) if "aligned exactly 1 time" in content[i]][0]
              stats["unique"] = re.sub("\D", "", re.sub("\(.*", "", content[line]))
              line = [i for i in range(len(content)) if "aligned >1 times" in content[i]][0]
              stats["multiple"] = re.sub("\D", "", re.sub("\(.*", "", content[line]))
              line = [i for i in range(len(content)) if "overall alignment rate" in content[i]][0]
              stats["alignmentRate"] = re.sub("\%.*", "", content[line]).strip()
          except IndexError:
              pass
          return stats