def gfa1_to_gapped_transcript(
gfa_in, fasta_out, number_of_ns=100, soft_mask_overlaps=False, hard_mask_overlaps=False):
if soft_mask_overlaps == True and hard_mask_overlaps == True:
raise Exception("I can't soft mask and hard mask at the same time, dude!")
# Process
gfa1 = read_gfa1(gfa_in)
exon_dict = _segments_to_exon_dict(gfa1["segments"])
coordinate_dict = _containments_to_coordinate_dict(gfa1["containments"])
overlap_dict = _links_to_overlap_dict(gfa1["links"])
path_dict = _paths_to_path_dict(gfa1["paths"])
# Mask if necessary
_mask(exon_dict, overlap_dict, soft_mask_overlaps, hard_mask_overlaps)
composed_paths = _compose_paths(exon_dict, path_dict, number_of_ns)
# Write
SeqIO.write(format="fasta", sequences=composed_paths, handle=fasta_out)
评论列表
文章目录