def testMultipleRegionSingleSetOfPositions(self):
        projects = json.loads("""\
{
    "R1": {
      "max_variants": 5,
      "regions": [
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": null,
                  "start_pos": 42
              }
          ],
          "seed_region_names": [
            "R1a-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [],
          "seed_region_names": [
            "R1b-seed"
          ]
        }
      ]
    }
}
""")
        expected_warnings = ""

        check_key_positions(projects, self.warningIO)

        self.assertMultiLineEqual(expected_warnings, self.warningIO.getvalue())
Beispiel #2
0
    def testMultipleRegionSingleSetOfPositions(self):
        projects = json.loads("""\
{
    "R1": {
      "max_variants": 5,
      "regions": [
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": null,
                  "start_pos": 42
              }
          ],
          "seed_region_names": [
            "R1a-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [],
          "seed_region_names": [
            "R1b-seed"
          ]
        }
      ]
    }
}
""")
        expected_warnings = ""

        check_key_positions(projects, self.warningIO)

        self.assertMultiLineEqual(expected_warnings, self.warningIO.getvalue())
Beispiel #3
0
    def testDuplicateSeedAndCoordinate(self):
        projects = json.loads("""\
{
    "R1": {
      "max_variants": 5,
      "regions": [
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": null,
                  "start_pos": 42
              }
          ],
          "seed_region_names": [
            "R1-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [],
          "seed_region_names": [
            "R1-seed"
          ]
        }
      ]
    }
}
""")
        expected_warnings = (
            "WARNING: project R1 has duplicate seed and coordinate: R1-seed, R1\n")

        check_key_positions(projects, self.warningIO)

        self.assertMultiLineEqual(expected_warnings, self.warningIO.getvalue())
    def testMultipleRegionThreeSetsOfPositions(self):
        projects = json.loads("""\
{
    "R1": {
      "max_variants": 5,
      "regions": [
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": null,
                  "start_pos": 42
              }
          ],
          "seed_region_names": [
            "R1a-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": 99,
                  "start_pos": 1
              }
          ],
          "seed_region_names": [
            "R1b-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": 14,
                  "start_pos": 3
              }
          ],
          "seed_region_names": [
            "R1c-seed"
          ]
        }
      ]
    }
}
""")
        expected_warnings = (
            "WARNING: project R1 has multiple sets of key positions for " +
            "coordinate region R1.\n")

        check_key_positions(projects, self.warningIO)

        self.assertMultiLineEqual(expected_warnings, self.warningIO.getvalue())
Beispiel #5
0
    def testMultipleRegionThreeSetsOfPositions(self):
        projects = json.loads("""\
{
    "R1": {
      "max_variants": 5,
      "regions": [
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": null,
                  "start_pos": 42
              }
          ],
          "seed_region_names": [
            "R1a-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": 99,
                  "start_pos": 1
              }
          ],
          "seed_region_names": [
            "R1b-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": 14,
                  "start_pos": 3
              }
          ],
          "seed_region_names": [
            "R1c-seed"
          ]
        }
      ]
    }
}
""")
        expected_warnings = (
            "WARNING: project R1 has multiple sets of key positions for " +
            "coordinate region R1.\n")

        check_key_positions(projects, self.warningIO)

        self.assertMultiLineEqual(expected_warnings, self.warningIO.getvalue())
    def testDuplicateSeedAndCoordinate(self):
        projects = json.loads("""\
{
    "R1": {
      "max_variants": 5,
      "regions": [
        {
          "coordinate_region": "R1",
          "key_positions": [
              {
                  "end_pos": null,
                  "start_pos": 42
              }
          ],
          "seed_region_names": [
            "R1-seed"
          ]
        },
        {
          "coordinate_region": "R1",
          "key_positions": [],
          "seed_region_names": [
            "R1-seed"
          ]
        }
      ]
    }
}
""")
        expected_warnings = (
            "WARNING: project R1 has duplicate seed and coordinate: R1-seed, R1\n"
        )

        check_key_positions(projects, self.warningIO)

        self.assertMultiLineEqual(expected_warnings, self.warningIO.getvalue())