|
- import re
-
- def position_to_bed(chromo,pos,ref,alt):
- # snv
- # Start cooridinate BED = start coordinate VCF - 1
- # End cooridinate BED = start coordinate VCF
-
- if len(ref) == 1 and len(alt) == 1:
- StartPos = int(pos) -1
- EndPos = int(pos)
-
- # deletions
- # Start cooridinate BED = start coordinate VCF - 1
- # End cooridinate BED = start coordinate VCF + (reference length - alternate length)
-
- elif len(ref) > 1 and len(alt) == 1:
- StartPos = int(pos) - 1
- EndPos = int(pos) + (len(ref) - 1)
-
- #insertions
- # For insertions:
- # Start cooridinate BED = start coordinate VCF - 1
- # End cooridinate BED = start coordinate VCF + (alternate length - reference length)
-
- else:
- StartPos = int(pos) - 1
- EndPos = int(pos) + (len(alt) - 1)
-
- return chromo,StartPos,EndPos
-
- def padding_region(chromo,pos1,pos2,padding):
- StartPos1 = pos1 - padding
- EndPos1 = pos1
- StartPos2 = pos2
- EndPos2 = pos2 + padding
- return chromo,StartPos1,EndPos1,StartPos2,EndPos2
|