def Generate(input, output, numins, numdel): reference = list(input) result = "".join([ch.seq for ch in reference]) l = sum([len(ch) for ch in reference]) ins = GroupByChrom(GenerateInsertions(numins, result), reference) d = GroupByChrom(GenerateDeletions(numdel, result), reference) for ch_ins, ch_d, chrom in itertools.izip(ins, d, reference): sys.stdout.write("Chromosome " + chrom.id + "\n") rec = SeqIO.SeqRecord(Apply(chrom.seq, ch_ins, ch_d), chrom.id) SeqIO.write(rec, output, "fasta")
def PrintResults(recs, reference, references_file, coordinates_file): aln = open(coordinates_file, "w") fasta = open(references_file, "w") for rec in recs: aln.write(str(rec) + "\n") sequence = reference[rec.rname][rec.left:rec.right] rec_id = str(rec.rname) + "_(" + str(rec.left) + "-" + str( rec.right) + ")" SeqIO.write(SeqIO.SeqRecord(sequence, rec_id), fasta, "fasta") aln.close() fasta.close()