Mercurial > repos > mvdbeek > tepid_merge_deletions
view flip_deletions.py @ 3:08de71d3ea76 draft default tip
planemo upload for repository https://github.com/ListerLab/TEPID commit 82fd0448ff5baa9822a388aee78753e4b1cd94d7-dirty
author | mvdbeek |
---|---|
date | Fri, 27 Jan 2017 08:16:01 -0500 |
parents | ff6683f8e9a1 |
children |
line wrap: on
line source
#! /usr/bin/python from argparse import ArgumentParser import sys parser = ArgumentParser(description='Invert the TE deletion calls to give a consistent data format between TE insertions and deletions') parser.add_argument('-s', '--samples', help='list of all sample names', nargs="+", required=True) parser.add_argument('-d', '--deletions', help='merged TEPID deletions', required=True) parser.add_argument('-r', '--reference', help='reference sample name, eg Col-0', required=True) parser.add_argument('-o', '--output', help='output file name', required=True) options = parser.parse_args() def filter_del(options): with open(options.deletions, 'r') as dels, open(options.output, 'w+') as outfile: sample_names = options.samples for line in dels: line = line.strip().split('\t') accessions = line[5] sys.stderr.write(accessions) sys.stderr.write(",".join(sample_names)) accessions = accessions.split(',') coords = line[:4] temp = [options.reference] te = line[4] for sample in sample_names: if sample not in accessions: temp.append(sample) else: pass coords.pop(3) # remove strand info = '\t'.join(coords) + '\t' + te + '\t' + ','.join(temp) + '\n' outfile.write(info) if __name__ == "__main__": filter_del(options)