File: testregion.py

package info (click to toggle)
python-sqt 0.8.0-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 824 kB
  • sloc: python: 5,964; sh: 38; makefile: 10
file content (30 lines) | stat: -rw-r--r-- 1,127 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from sqt.region import Region

def test_region():
	regions = [
		("chr7:5-7", ("chr7", 4, 7, False)),
		("chr7", ("chr7", 0, None, False)),
		("rc:chr7", ("chr7", 0, None, True)),
		("chr7:1-100", ("chr7", 0, 100, False)),
		("rc:chr7:1-100", ("chr7", 0, 100, True)),
		("chr7:20-1,000,000", ("chr7", 19, 1000000, False)),
		("rc:chr7:1-999,999", ("chr7", 0, 999999, True)),
		("chr7:5-", ("chr7", 4, None, False)),
		("rc:chr7:5-", ("chr7", 4, None, True)),
		("chr7:20", ("chr7", 19, 20, False)),
		("rc:chr7:1,200..999,999", ("chr7", 1199, 999999, True)),
		("chr7:12..", ("chr7", 11, None, False)),
		#("chr7:1-", ("chr7", 0, None, False)), # will not round-trip
	]
	for spec, (reference, start, stop, is_reverse_complement) in regions:
		region = Region(spec)
		assert region.reference == reference
		assert region.start == start
		assert region.stop == stop
		assert region.is_reverse_complement == is_reverse_complement
		assert "{}".format(region) == spec.replace(',', '').replace('..', '-'), (region, spec)

		r1 = Region(reference, start, stop, is_reverse_complement)
		r2 = Region(spec)
		assert r1 == r2, (r1, r2)