Mercurial > repos > ric > test2
comparison galaxy-tools/biobank/utils/prepare_aligned_seq_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 aligned seq data sample 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('--sample', type=str, required=True, | |
| 24 help='sample') | |
| 25 parser.add_argument('--genome_reference', type=str, required=True, | |
| 26 help='genome reference') | |
| 27 parser.add_argument('--dsample_ofile', type=str, default='./genome_variations_dsample.tsv', | |
| 28 help='output file containing data samples definitions') | |
| 29 parser.add_argument('--dobject_ofile', type=str, default='./genome_variations_dobject.tsv', | |
| 30 help='output file containing data samples definitions') | |
| 31 | |
| 32 return parser | |
| 33 | |
| 34 def main(argv): | |
| 35 parser = make_parser() | |
| 36 args = parser.parse_args(argv) | |
| 37 | |
| 38 log_level = getattr(logging, args.loglevel) | |
| 39 kwargs = {'format': LOG_FORMAT, | |
| 40 'datefmt': LOG_DATEFMT, | |
| 41 'level': log_level} | |
| 42 if args.logfile: | |
| 43 kwargs['filename'] = args.logfile | |
| 44 logging.basicConfig(**kwargs) | |
| 45 logger = logging.getLogger('prepare_aligned_seq_dsample_inport') | |
| 46 | |
| 47 | |
| 48 with open(args.dsample_ofile, 'w') as ofile: | |
| 49 out_file_header = ['study', 'label', 'source', 'source_type', 'seq_dsample_type', 'status', 'device', 'sample', 'genome_reference'] | |
| 50 writer = csv.DictWriter(ofile, out_file_header, delimiter='\t') | |
| 51 writer.writeheader() | |
| 52 writer.writerow({'study': args.study, | |
| 53 'label': args.label, | |
| 54 'source': args.source, | |
| 55 'device': args.device, | |
| 56 'source_type' : 'Tube', | |
| 57 'seq_dsample_type': 'AlignedSeqDataSample', | |
| 58 'status': 'USABLE', | |
| 59 'sample' : args.sample, | |
| 60 'genome_reference': args.genome_reference}) | |
| 61 logger.info('Done writing file %s' % args.dsample_ofile) | |
| 62 | |
| 63 with open(args.dobject_ofile, 'w') as ofile: | |
| 64 out_file_header = ['study', 'path', 'data_sample', 'mimetype', 'size', 'sha1'] | |
| 65 writer = csv.DictWriter(ofile, out_file_header, delimiter='\t') | |
| 66 writer.writeheader() | |
| 67 writer.writerow({'study': args.study, | |
| 68 'path': args.path, | |
| 69 'data_sample': args.label, | |
| 70 'mimetype': 'x-vl/bam', | |
| 71 'size': '-1', | |
| 72 'sha1': 'N.A.'}) | |
| 73 logger.info('Done writing file %s' % args.dobject_ofile) | |
| 74 | |
| 75 if __name__ == '__main__': | |
| 76 main(sys.argv[1:]) |
