parser.add_argument( "-o", "--outfile", default=False, help="Filename for writing a list of segments on the raw contigs to mask for being promiscuous in linking.", ) # -m 2 -w 1000 -M $( cat {input.threshold} ) args = parser.parse_args() if args.infile: asf = HiriseAssembly() asf.load_assembly(args.infile) for segments_file in args.mask: asf.add_mask_regions(filename=segments_file) asf.merge_masked_regions() if args.outfile: of = open(args.outfile, "wt") else: of = sys.stdout for ocontig in asf.ocontigs_iter(): chunk = struct.unpack("<L", hashlib.md5(ocontig.encode("utf-8")).digest()[:4])[0] % args.nchunks if not chunk == args.chunk: continue links = {} asf.get_links([ocontig], skipI=True, mapq=args.mapq, links=links, contigs=False, raw=True) # print(ocontig,chunk,links) process_links(links, args.window, args.min_links, args.max_others, segments=of) of.close()
# -m 2 -w 1000 -M $( cat {input.threshold} ) args = parser.parse_args() if args.infile: asf = HiriseAssembly() asf.load_assembly(args.infile) for segments_file in args.mask: asf.add_mask_regions(filename=segments_file) asf.merge_masked_regions() if args.outfile: of = open(args.outfile, "wt") else: of = sys.stdout for ocontig in asf.ocontigs_iter(): chunk = struct.unpack( "<L", hashlib.md5( ocontig.encode("utf-8")).digest()[:4])[0] % args.nchunks if not chunk == args.chunk: continue links = {} asf.get_links([ocontig], skipI=True, mapq=args.mapq, links=links, contigs=False, raw=True) # print(ocontig,chunk,links) process_links(links, args.window,
# -m 2 -w 1000 -M $( cat {input.threshold} ) args = parser.parse_args() if args.infile: asf = HiriseAssembly() asf.load_assembly(args.infile) for segments_file in args.mask: asf.add_mask_regions(filename=segments_file) asf.merge_masked_regions() if args.contig: contig_iter=iter([args.contig]) else: contig_iter = asf.ocontigs_iter() if args.outfile: of=open(args.outfile,"wt") else: of=sys.stdout for ocontig in contig_iter: chunk = struct.unpack("<L", hashlib.md5(ocontig.encode("utf-8")).digest()[:4])[0]%args.nchunks if (not args.contig) and (not chunk == args.chunk): continue links={} asf.get_links([ocontig],skipI=True,mapq=args.mapq,links=links,contigs=False,raw=False,debug=args.debug) for c1,c2 in links.keys(): l1,l2=asf.contig_length(c1),asf.contig_length(c2) l=links[c1,c2] n=len(l) of.write("\t".join(map(str,[c1,c2,l1,l2,n,l]))+"\n")