-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathfindFlankingRequired.py
executable file
·43 lines (37 loc) · 1.43 KB
/
findFlankingRequired.py
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
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/nfs_mount/bioinfo/users/florian/opt/Python-2.7.6/bin/python2.7
from sys import argv
def checkBf(refBf, repeatSeq):
returnValue = 4
flankSeq = refBf[-returnValue:]
while flankSeq in repeatSeq:
returnValue += 1
flankSeq = refBf[-returnValue:]
return returnValue
def checkAf(refAf, repeatSeq):
returnValue = 4
flankSeq = refAf[:returnValue]
while flankSeq in repeatSeq:
returnValue += 1
flankSeq = refBf[:returnValue]
return returnValue
if len(argv) < 3:
print 'Usage: ' + argv[0] + ' <original markers file> <augmented markers file>'
exit(1)
original_markers_file = argv[1]
augmented_markers_file = argv[2]
with open(original_markers_file, 'r') as om_file:
with open(augmented_markers_file, 'w') as am_file:
for line in om_file:
line = line.split()
refBf = line[4]
refAf = line[5]
repeatSeq = line[6]
nBasesRequiredBf = checkBf(refBf, repeatSeq)
#if nBasesRequiredBf > 4:
#print 'Require ' + str(nBasesRequiredBf) + ' before marker at ' + line[1]
nBasesRequiredAf = checkAf(refAf, repeatSeq)
#if nBasesRequiredAf > 4:
#print 'Require ' + str(nBasesRequiredAf) + ' after marker at ' + line[1]
line.append(str(nBasesRequiredBf))
line.append(str(nBasesRequiredAf))
am_file.write('\t'.join(line)+'\n')