Tired of writing vcf_hg18_to_b36 over and over again when necessary. Added a -r flag to this script that does it.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4363 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
chartl 2010-09-28 14:51:57 +00:00
parent 96cccafb0d
commit 37613810bf
1 changed files with 31 additions and 14 deletions

View File

@ -17,6 +17,7 @@ def main():
parser.add_option("", "--dry", dest="dry",
action='store_true', default=False,
help="If provided, nothing actually gets run, just a dry run")
parser.add_option("-r","--reverse",dest="reverse",action="store_true",default=False,help="If set, will convert the hg18VCF to a b36VCF (thus reversing the functionality)")
(OPTIONS, args) = parser.parse_args()
if len(args) != 2:
@ -26,22 +27,38 @@ def main():
temp = open("tmp", 'w')
mitotemp = open("mtmp",'w')
for line in open(b36vcf):
length = len(line)
if length > 2 :
if line[0:2] == 'MT' or line[0] == "#":
if line[0] == "#":
mitotemp.write(line)
if not OPTIONS.reverse:
for line in open(b36vcf):
length = len(line)
if length > 2 :
if line[0:2] == 'MT' or line[0] == "#":
if line[0] == "#":
mitotemp.write(line)
else:
spline = line.split("\t")
spline[0] = "chrM"
mitotemp.write("\t".join(spline))
else:
spline = line.split("\t")
spline[0] = "chrM"
mitotemp.write("\t".join(spline))
else:
line = 'chr' + line
line = 'chr' + line
temp.write(line)
temp.close()
mitotemp.close()
os.system("cat mtmp tmp > "+hg18vcf+" ; rm mtmp ; rm tmp")
else:
for line in open(hg18vcf):
if line.startswith("#") :
temp.write(line)
temp.close()
mitotemp.close()
os.system("cat mtmp tmp > "+hg18vcf+" ; rm mtmp ; rm tmp")
else:
spline = line.split("\t")
if ( spline[0] == "chrM" ):
spline[0] = "MT"
mitotemp.write("\t".join(spline))
else:
spline[0] = spline[0].split("chr")[1]
temp.write("\t".join(spline))
temp.close()
mitotemp.close()
os.system("cat tmp mtmp > "+b36vcf+" ; rm mtmp ; rm tmp")
if __name__ == "__main__":
main()