def test_collapse(self): """testing GFF function""" from mirtop.libs import logger from mirtop.mirna import mapper, fasta from mirtop.gff import body, header logger.initialize_logger("test", True, True) logger = logger.getLogger(__name__) precursors = fasta.read_precursor("data/examples/annotate/hairpin.fa", "hsa") # depend on https://github.com/miRTop/mirtop/issues/6 matures = mapper.read_gtf_to_precursor( "data/examples/annotate/hsa.gff3") # matures = mirtop.mirna.read_mature("data/examples/annotate/mirnas.gff", "hsa") from mirtop.bam import bam bam_fn = "data/aligments/collapsing-isomirs.sam" reads = bam.read_bam(bam_fn, precursors) ann = bam.annotate(reads, matures, precursors) fn = bam_fn + ".gff" h = header.create(bam_fn, ["example"], "miRBase21") gff = body.create(ann, "miRBase21", "example", fn, header) print gff return True
def reader(args): """ Realign BAM hits to miRBAse to get better accuracy and annotation """ database = mapper.guess_database(args.gtf) # hairpin, mirna = download_mirbase(args) precursors = fasta.read_precursor(args.hairpin, args.sps) matures = mapper.read_gtf_to_precursor(args.gtf) # check numnbers of miRNA and precursors read # print message if numbers mismatch out_dts = dict() for fn in args.files: sample = op.splitext(op.basename(fn))[0] fn_out = op.join(args.out, sample + ".gff") if args.format == "BAM": reads = _read_bam(fn, precursors) elif args.format == "seqbuster": reads = seqbuster.read_file(fn, precursors) custom = seqbuster.header() elif args.format == "srnabench": reads = srnabench.read_gile(fn, precursors) h = header.create([sample], database, "") ann = annotate(reads, matures, precursors) out_dts[fn] = body.create(ann, database, sample, fn_out, h)
def annotate(fn, precursors, matures): from mirtop.bam import bam from mirtop.gff import body reads = bam.read_bam(fn, precursors) ann = bam.annotate(reads, matures, precursors) gff = body.create(ann, "miRBase21", "example", fn + ".gff3", "#")
def annotate(fn, precursors, matures): from mirtop.importer import srnabench from mirtop.bam import bam reads = srnabench.read_file(fn, precursors) ann = bam.annotate(reads, matures, precursors) return True
def annotate(fn, precursors, matures): from mirtop.importer import seqbuster from mirtop.bam import bam reads = seqbuster.read_file(fn, precursors) ann = bam.annotate(reads, matures, precursors) return True