def METHOD_NAME(s, w=None, sample_ids=None, source_id=0, scale_quality=None):
    s = textwrap.dedent(s).strip()
    if w is not None:
        w = textwrap.dedent(w).strip().split("\n")
    rs = ReadSet()
    for index, line in enumerate(s.split("\n")):
        if len(line) == 0:
            continue
        if sample_ids is None:
            read = Read(f"Read {index + 1}", 50, source_id)
        else:
            read = Read(f"Read {index + 1}", 50, source_id, sample_ids[index])
        for pos, c in enumerate(line):
            if c == " ":
                continue
            q = 1
            if w is not None:
                q = int(w[index][pos])
            if scale_quality is not None:
                read.add_variant(position=(pos + 1) * 10, allele=int(c), quality=q * scale_quality)
            else:
                read.add_variant(position=(pos + 1) * 10, allele=int(c), quality=q)
        assert len(read) > 1, "Reads covering less than two variants are not allowed"
        rs.add(read)
    print(rs)
    return rs