def process_alts( ref,alts,contig,pos,contig2position,gene2position,contig2fasta,l ): """ """ outline = "" for alt in alts: genes = filter( lambda x: x[0]<pos+1<x[1], contig2position[contig] ) if genes: for start,stop,feature,geneid in genes: # check effect of mutations if len(ref)!=len(alt): # indel if feature == 'gene': contig,CDSs,strand,function = gene2position[geneid] # get exons cds = filter( lambda x: x[0]<pos+1<x[1],CDSs ) # check if overlaping with indel if cds and len(ref)%3 != len(alt)%3: outline += "%s\texonic\t%s\tframe-shift\t\t\t\t\t\t%s\n" % ( l,geneid,function ) else: outline += "%s\tintronic\t%s\t\t\t\t\t\t%s\n" % ( l,geneid,function ) else: outline += "%s\tintergenic\n" % l elif feature == 'gene': contig,CDSs,strand,function = gene2position[geneid] outline += "%s\t%s\t%s\n" % ( l,coding_snp_info( contig2fasta[contig],geneid,CDSs,strand,ref,alt,pos ),function ) else: outline += "%s\t%s\n" % ( l,feature ) else: outline += "%s\tintergenic\n" % ( l, ) return outline
def process_alt( ref, alt, contig, pos, contig2position, gene2position, contig2fasta, trans2ann, trans2pfam, trans2tab, l ): """ """ outline = "" genes = [] if contig in contig2position: genes = filter(lambda x: x[0] < pos + 1 < x[1], contig2position[contig]) if genes: for start, stop, feature, geneid in genes: if feature == "gene": fastaAnn = pfamAnn = tabAnn = "" if geneid in trans2ann: fastaAnn = trans2ann[geneid] if geneid in trans2pfam: pfamAnn = trans2pfam[geneid] if geneid in trans2tab: tabAnn = trans2tab[geneid] contig, CDSs, strand, function, frame = gene2position[geneid] outline += "%s\t%s\t%s\t%s\t%s\t%s\n" % ( l, coding_snp_info(contig2fasta[contig], geneid, CDSs, strand, ref, alt, pos), function, fastaAnn, pfamAnn, "; ".join(tabAnn), ) else: outline += "%s\t%s\n" % (l, feature) else: outline += "%s\tintergenic\n" % (l,) return outline
def process_alt(ref, alt, contig, pos, contig2position, gene2position, contig2fasta, \ trans2ann, trans2pfam, trans2tab, l): """ """ outline = "" genes = [] if contig in contig2position: genes = filter(lambda x: x[0]<pos+1<x[1], contig2position[contig]) if genes: for start,stop,feature,geneid in genes: if feature == 'gene': fastaAnn = pfamAnn = tabAnn = "" if geneid in trans2ann: fastaAnn = trans2ann[geneid] if geneid in trans2pfam: pfamAnn = trans2pfam[geneid] if geneid in trans2tab: tabAnn = trans2tab[geneid] contig,CDSs,strand,function,frame = gene2position[geneid] outline += "%s\t%s\t%s\t%s\t%s\t%s\n" % (l, coding_snp_info(contig2fasta[contig], geneid, CDSs, strand, ref, alt, pos), function, fastaAnn, pfamAnn, "; ".join(tabAnn)) else: outline += "%s\t%s\n" % (l, feature) else: outline += "%s\tintergenic\n" % (l,) return outline
def process_alt( ref,alt,contig,pos,contig2position,gene2position,contig2fasta,l ): """ """ outline = "" genes = filter( lambda x: x[0]<pos+1<x[1], contig2position[contig] ) if genes: for start,stop,feature,geneid in genes: # check effect of mutations if len(ref)!=len(alt): # indel if feature == 'gene': contig,CDSs,strand,function = gene2position[geneid] # get exons cds = filter( lambda x: x[0]<pos+1<x[1],CDSs ) # check if overlaping with indel if cds and len(ref)%3 != len(alt)%3: outline += "%s\texonic\t%s\tframe-shift\t\t\t\t\t\t%s\n" % ( l,geneid,function ) else: outline += "%s\tintronic\t%s\t\t\t\t\t\t%s\n" % ( l,geneid,function ) else: outline += "%s\tintergenic\n" % l elif feature == 'gene': contig,CDSs,strand,function = gene2position[geneid] outline += "%s\t%s\t%s\n" % ( l,coding_snp_info( contig2fasta[contig],geneid,CDSs,strand,alt,pos ),function ) else: outline += "%s\t%s\n" % ( l,feature ) else: outline += "%s\tintergenic\n" % ( l, ) return outline