Mercurial > repos > cschu > candisnp
changeset 8:191a144b007e draft default tip
Minor code changes.
author | cschu |
---|---|
date | Thu, 25 Jun 2015 04:59:20 -0400 |
parents | 9d62bd975035 |
children | |
files | candisnp.py |
diffstat | 1 files changed, 18 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/candisnp.py Wed Jun 24 11:44:52 2015 -0400 +++ b/candisnp.py Thu Jun 25 04:59:20 2015 -0400 @@ -73,7 +73,7 @@ self.genotypeNumber = int(genotypeNumber) self.warning = warning if warning else None - self.is_synonymous = not self.effect == 'NON_SYNONYMOUS_CODING' + self.is_synonymous = self.effect != 'NON_SYNONYMOUS_CODING' if self.effect in ('INTRON', 'INTERGENIC'): self.in_cds, self.is_synonymous = False, False else: @@ -120,7 +120,11 @@ # info = dict([field.split('=') for field in args[7].strip().split(';')]) # info = dict(field.split('=') for field in args[7].strip().split(';')) - info = dict(field.split('=') for field in args[7].strip().split(';') if len(field.split('=')) == 2) + try: + info = dict(field.split('=') for field in args[7].strip().split(';') if len(field.split('=')) == 2) + except: + sys.stderr.write('Found a problem in your input data. Please make sure it is a VCF produced by SnpEff.\n') + sys.exit(1) # self.log.write('***'+str(info.get('EFF', '@@@')+'***\n')) self.allele_frequency = float(info.get('AF', '0.0')) @@ -147,8 +151,11 @@ for line in snpEffVCF: if not line.startswith('#'): #fo.write(line) - asf = AnnotatedSNPEffectFactory(*line.strip().split('\t'), log=fo) - snpEffects = list(asf.getEffects()) + try: + asf = AnnotatedSNPEffectFactory(*line.strip().split('\t'), log=fo) + snpEffects = list(asf.getEffects()) + except: + continue #fo.write(str(snpEffects)+'\n') snps.extend(snpEffects) return snps @@ -186,10 +193,13 @@ """ candiData = extractCandiDataFromSnpEffVCF(open(args.snpEff_output), fo) candiMessage = json.dumps({'ref': args.ref, 'data': candiData}) - - request = urllib2.Request(CANDISNP_SERVER + ':8080', - headers=contentHeaders, - data=candiMessage) + + try: + request = urllib2.Request(CANDISNP_SERVER + ':8080', + headers=contentHeaders, + data=candiMessage) + except: + sys.stderr.write('There was a problem with your request. Sorry.\n') try: