Mercurial > repos > ric > test2
comparison galaxy-tools/biobank/utils/prepare_genome_variations_dsample_import.py @ 0:ba6cf6ede027 draft default tip
Uploaded
| author | ric |
|---|---|
| date | Wed, 28 Sep 2016 06:03:30 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:ba6cf6ede027 |
|---|---|
| 1 import csv, sys, argparse, logging | |
| 2 | |
| 3 LOG_FORMAT = '%(asctime)s|%(levelname)-8s|%(message)s' | |
| 4 LOG_DATEFMT = '%Y-%m-%d %H:%M:%S' | |
| 5 LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] | |
| 6 | |
| 7 | |
| 8 def make_parser(): | |
| 9 parser = argparse.ArgumentParser(description='build sequencer output import files') | |
| 10 parser.add_argument('--logfile', type=str, help='log file (default=stderr)') | |
| 11 parser.add_argument('--loglevel', type=str, choices=LOG_LEVELS, | |
| 12 help='logging level', default='INFO') | |
| 13 parser.add_argument('--study', type=str, required=True, | |
| 14 help='study') | |
| 15 parser.add_argument('--label', type=str, required=True, | |
| 16 help='label') | |
| 17 parser.add_argument('--source', type=str, required=True, | |
| 18 help='source') | |
| 19 parser.add_argument('--device', type=str, required=True, | |
| 20 help='device') | |
| 21 parser.add_argument('--path', type=str, required=True, | |
| 22 help='path') | |
| 23 parser.add_argument('--genome_reference', type=str, required=True, | |
| 24 help='genome reference') | |
| 25 parser.add_argument('--dsample_ofile', type=str, default='./genome_variations_dsample.tsv', | |
| 26 help='output file containing data samples definitions') | |
| 27 parser.add_argument('--dobject_ofile', type=str, default='./genome_variations_dobject.tsv', | |
| 28 help='output file containing data samples definitions') | |
| 29 | |
| 30 return parser | |
| 31 | |
| 32 def main(argv): | |
| 33 parser = make_parser() | |
| 34 args = parser.parse_args(argv) | |
| 35 | |
| 36 log_level = getattr(logging, args.loglevel) | |
| 37 kwargs = {'format': LOG_FORMAT, | |
| 38 'datefmt': LOG_DATEFMT, | |
| 39 'level': log_level} | |
| 40 if args.logfile: | |
| 41 kwargs['filename'] = args.logfile | |
| 42 logging.basicConfig(**kwargs) | |
| 43 logger = logging.getLogger('prepare_genome_variations_dsample_inport') | |
| 44 | |
| 45 | |
| 46 with open(args.dsample_ofile, 'w') as ofile: | |
| 47 out_file_header = ['study', 'label', 'source', 'device', 'device_type', 'source_type','data_sample_type', | |
| 48 'status','genome_reference'] | |
| 49 writer = csv.DictWriter(ofile, out_file_header, delimiter='\t') | |
| 50 writer.writeheader() | |
| 51 writer.writerow({'study': args.study, | |
| 52 'label': args.label, | |
| 53 'source': args.source, | |
| 54 'device': args.device, | |
| 55 'device_type': 'Device', | |
| 56 'source_type' : 'Tube', | |
| 57 'data_sample_type': 'GenomeVariationsDataSample', | |
| 58 'status': 'USABLE', | |
| 59 'genome_reference': args.genome_reference}) | |
| 60 logger.info('Done writing file %s' % args.dsample_ofile) | |
| 61 | |
| 62 with open(args.dobject_ofile, 'w') as ofile: | |
| 63 out_file_header = ['study', 'path', 'data_sample', 'mimetype', 'size', 'sha1'] | |
| 64 writer = csv.DictWriter(ofile, out_file_header, delimiter='\t') | |
| 65 writer.writeheader() | |
| 66 writer.writerow({'study': args.study, | |
| 67 'path': args.path, | |
| 68 'data_sample': args.label, | |
| 69 'mimetype': 'x-vl/vcf', | |
| 70 'size': '-1', | |
| 71 'sha1': 'N.A.'}) | |
| 72 logger.info('Done writing file %s' % args.dobject_ofile) | |
| 73 | |
| 74 if __name__ == '__main__': | |
| 75 main(sys.argv[1:]) |
