示例#1
0
 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
示例#2
0
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)
示例#3
0
 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", "#")
示例#4
0
 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
示例#5
0
 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