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()
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()