changeset 0:2a1a2bc6ae8b draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/bamparse commit 4e42cba873625fad03423e65dfffbf4afa91598c
author artbio
date Fri, 13 Oct 2017 02:59:36 -0400
parents
children ae9ea0488850
files bamparse.py bamparse.xml test-data/alignment1.bam test-data/alignment2.bam test-data/table.tabular test-data/table0.tabular test-data/table1.tabular
diffstat 7 files changed, 886 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bamparse.py	Fri Oct 13 02:59:36 2017 -0400
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+import argparse
+from collections import defaultdict
+
+import pysam
+
+
+def Parser():
+    the_parser = argparse.ArgumentParser()
+    the_parser.add_argument('--output', nargs='+', action='store', type=str,
+                            help='Count tables')
+    the_parser.add_argument('--polarity',
+                            choices=["sense", "antisense", "both"],
+                            help="forward, reverse or both forward an\
+                                reverse reads are counted")
+    the_parser.add_argument('--alignments', nargs='+',
+                            help="bam alignments files")
+    the_parser.add_argument('--labels', nargs='+', help="Alignments labels")
+    the_parser.add_argument('--number',
+                            choices=["unique", "multiple"],
+                            help="output is a single table or multiple tables")
+    args = the_parser.parse_args()
+    return args
+
+
+def get_counts(bamfile, polarity="both"):
+    """
+    Takes an AlignmentFile object and returns a dictionary of counts for sense,
+    antisense, or both sense and antisense reads aligning to the bam references
+    """
+    def filter_sense_read(read):
+        if read.is_reverse:
+            return 0
+        else:
+            return 1
+
+    def filter_antisense_read(read):
+        if read.is_reverse:
+            return 1
+        else:
+            return 0
+
+    counts = defaultdict(int)
+    for ref_name in bamfile.references:
+        counts[ref_name] = 0
+    if polarity == "both":
+        for ref_name in bamfile.references:
+            counts[ref_name] = bamfile.count(reference=ref_name)
+    if polarity == "sense":
+        for ref_name in bamfile.references:
+            for read in bamfile.fetch(ref_name):
+                counts[ref_name] += filter_sense_read(read)
+    if polarity == "antisense":
+        for ref_name in bamfile.references:
+            for read in bamfile.fetch(ref_name):
+                counts[ref_name] += filter_antisense_read(read)
+    return counts
+
+
+def writetable(diclist, labels, output, number):
+    ''' diclist is a list of count dictionnaries '''
+    countlists = []
+    for dic in diclist:
+        counts = sorted(dic.items())
+        counts = [j for (i,j) in counts]
+        countlists.append(counts)
+    if number == "unique":
+        out = open("outputdir/table.tabular", "w")
+        out.write("gene\t%s\n" % "\t".join(labels))
+        for countline in zip(sorted(diclist[0]), *countlists):
+            line = [ str(i) for i in countline]
+            out.write("%s\n" % "\t".join(line))
+        out.close()
+    else:
+        for i, (dic, label) in enumerate(zip(diclist, labels)):
+            out = open("outputdir/table" + str(i) + ".tabular", "w")
+            out.write("gene\t%s\n" % label)
+            for gene in sorted(dic):
+                out.write("%s\t%s\n" % (gene, dic[gene]))
+            out.close()
+
+
+
+def main(alignments, labels, polarity, output, number):
+    diclist = []
+    for file in alignments:
+        bam_object = pysam.AlignmentFile(file, 'rb')
+        diclist.append(get_counts(bam_object, polarity=polarity))
+    writetable(diclist, labels, output, number)
+
+
+if __name__ == "__main__":
+    args = Parser()
+    main(args.alignments, args.labels, args.polarity, args.output, args.number)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bamparse.xml	Fri Oct 13 02:59:36 2017 -0400
@@ -0,0 +1,75 @@
+<tool id="bamparse" name="Count alignments" version="2.0.0">
+    <description>in a BAM file</description>
+    <requirements>
+	        <requirement type="package" version="1.1.2">bowtie</requirement>
+            <requirement type="package" version="1.11.2">numpy</requirement>
+            <requirement type="package" version="0.11.2.1">pysam</requirement>
+    </requirements>
+    <stdio>
+        <exit_code range="1:" level="fatal" description="Tool exception" />
+    </stdio>
+    <command detect_errors="exit_code"><![CDATA[
+        mkdir outputdir &&
+        #for $file in $input_list
+           samtools index '$file' &&
+        #end for
+        python $__tool_directory__/bamparse.py
+        --alignments
+        #for $file in $input_list
+            '$file'
+        #end for
+        --labels
+        #for $file in $input_list
+            '$file.element_identifier'
+        #end for
+	    --polarity '$polarity'
+        --number '$output_option'
+ ]]></command>
+    <inputs>
+        <param name="input_list" type="data" format="bam" label="Select multiple alignments to parse" multiple="true"/>
+        <param name="polarity" type="select" label="how to count sense and antisense reads">
+            <option value="both">count both sense and antisense reads</option>
+            <option value="sense">count only sense reads</option>
+            <option value="antisense">count only antisense reads</option>
+        </param>
+        <param name="output_option" type="select" display="radio" label="Select the number of files for results"
+               help="Results can be returned either as a single multi-column table or in separate two-column
+               datasets (useful for DESeq subsequent analysis)">
+                <option value="unique">A multi-column table</option> 
+                <option value="multiple">One separate two-columns dataset per input bam alignment</option> 
+        </param>
+    </inputs>
+    <outputs>
+        <data name="output" format="tabular" label="Counts">
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)\.tabular" ext="tabular" visible="true" assign_primary_output="true" directory="outputdir"/>
+        </data>
+    </outputs>
+    <help>
+
+**What it does**
+
+Counts the number of reads aligned to each reference (@SN, reference NAME) in one or
+several BAM alignments.
+
+Sense, antisense or both sense and antisense alignments can be counted
+
+The library labels in the returned count table are taken from the input bam datasets
+names in the Galaxy history.
+    </help>
+    <tests>
+        <test>
+            <param name="input_list" value="alignment1.bam,alignment2.bam" ftype="tabular" />
+            <param name="polarity" value="both" />
+            <param name="output_option" value="unique" />
+            <output name="output" ftype="tabular" file="table.tabular" />
+        </test>
+        <test>
+            <param name="input_list" value="alignment1.bam,alignment2.bam" ftype="tabular" />
+            <param name="polarity" value="both" />
+            <param name="output_option" value="multiple" />
+            <output name="output" ftype="tabular" file="table0.tabular">
+                <discovered_dataset designation="table1" ftype="tabular" file="table1.tabular" />
+            </output>
+        </test>
+    </tests>
+</tool>
Binary file test-data/alignment1.bam has changed
Binary file test-data/alignment2.bam has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/table.tabular	Fri Oct 13 02:59:36 2017 -0400
@@ -0,0 +1,239 @@
+gene	alignment1.bam	alignment2.bam
+dme-bantam	1	1
+dme-let-7	0	0
+dme-mir-1	72	0
+dme-mir-10	0	20
+dme-mir-100	0	1
+dme-mir-1000	0	0
+dme-mir-1001	0	0
+dme-mir-1002	0	0
+dme-mir-1003	0	0
+dme-mir-1004	0	0
+dme-mir-1005	0	0
+dme-mir-1006	0	0
+dme-mir-1007	0	0
+dme-mir-1008	0	0
+dme-mir-1009	0	0
+dme-mir-1010	0	0
+dme-mir-1011	0	0
+dme-mir-1012	0	0
+dme-mir-1013	0	0
+dme-mir-1014	0	0
+dme-mir-1015	0	0
+dme-mir-1016	0	0
+dme-mir-1017	0	0
+dme-mir-11	1	2
+dme-mir-12	2	0
+dme-mir-124	0	0
+dme-mir-125	0	1
+dme-mir-133	0	0
+dme-mir-137	0	0
+dme-mir-13a	0	0
+dme-mir-13b-1	0	0
+dme-mir-13b-2	0	0
+dme-mir-14	7	7
+dme-mir-184	146	111
+dme-mir-190	0	0
+dme-mir-193	0	0
+dme-mir-210	0	0
+dme-mir-219	0	0
+dme-mir-2279	0	0
+dme-mir-2280	0	0
+dme-mir-2281	0	0
+dme-mir-2282	0	0
+dme-mir-2283	0	0
+dme-mir-2489	0	0
+dme-mir-2490	0	0
+dme-mir-2491	0	0
+dme-mir-2492	0	0
+dme-mir-2493	0	0
+dme-mir-2494	0	0
+dme-mir-2495	0	0
+dme-mir-2496	0	0
+dme-mir-2497	0	0
+dme-mir-2498	0	0
+dme-mir-2499	0	0
+dme-mir-2500	0	0
+dme-mir-2501	0	0
+dme-mir-252	0	0
+dme-mir-2535b	0	0
+dme-mir-263a	12	2
+dme-mir-263b	0	0
+dme-mir-274	0	0
+dme-mir-275	7	0
+dme-mir-276a	7	5
+dme-mir-276b	1	0
+dme-mir-277	0	1
+dme-mir-278	0	0
+dme-mir-279	8	0
+dme-mir-280	0	0
+dme-mir-281-1	0	3
+dme-mir-281-2	1	28
+dme-mir-282	0	0
+dme-mir-283	0	0
+dme-mir-284	0	0
+dme-mir-285	0	0
+dme-mir-286	0	0
+dme-mir-287	0	0
+dme-mir-288	0	0
+dme-mir-289	0	0
+dme-mir-2a-1	1	0
+dme-mir-2a-2	0	0
+dme-mir-2b-1	0	0
+dme-mir-2b-2	0	1
+dme-mir-2c	0	0
+dme-mir-3	0	0
+dme-mir-303	0	0
+dme-mir-304	0	0
+dme-mir-305	10	2
+dme-mir-306	0	0
+dme-mir-307a	0	0
+dme-mir-307b	0	0
+dme-mir-308	0	0
+dme-mir-309	0	0
+dme-mir-310	0	0
+dme-mir-311	0	0
+dme-mir-312	1	0
+dme-mir-313	0	0
+dme-mir-314	0	0
+dme-mir-315	0	0
+dme-mir-316	1	0
+dme-mir-317	0	0
+dme-mir-318	1	0
+dme-mir-31a	2	22
+dme-mir-31b	1	0
+dme-mir-33	0	0
+dme-mir-34	0	0
+dme-mir-3641	0	0
+dme-mir-3642	0	0
+dme-mir-3643	0	0
+dme-mir-3644	0	0
+dme-mir-3645	0	0
+dme-mir-375	0	0
+dme-mir-4	0	0
+dme-mir-4908	0	0
+dme-mir-4909	0	0
+dme-mir-4910	0	0
+dme-mir-4911	0	0
+dme-mir-4912	0	0
+dme-mir-4913	0	0
+dme-mir-4914	0	0
+dme-mir-4915	0	0
+dme-mir-4916	0	0
+dme-mir-4917	0	0
+dme-mir-4918	0	0
+dme-mir-4919	0	0
+dme-mir-4939	0	0
+dme-mir-4940	0	0
+dme-mir-4941	0	0
+dme-mir-4942	0	0
+dme-mir-4943	0	0
+dme-mir-4944	0	0
+dme-mir-4945	0	0
+dme-mir-4946	0	0
+dme-mir-4947	0	0
+dme-mir-4948	0	0
+dme-mir-4949	0	0
+dme-mir-4950	0	0
+dme-mir-4951	0	0
+dme-mir-4952	0	0
+dme-mir-4953	0	0
+dme-mir-4954	0	0
+dme-mir-4955	0	0
+dme-mir-4956	0	0
+dme-mir-4957	0	0
+dme-mir-4958	0	0
+dme-mir-4959	0	0
+dme-mir-4960	0	0
+dme-mir-4961	0	0
+dme-mir-4962	0	0
+dme-mir-4963	0	0
+dme-mir-4964	0	0
+dme-mir-4965	0	0
+dme-mir-4966	0	0
+dme-mir-4967	0	0
+dme-mir-4968	0	0
+dme-mir-4969	0	0
+dme-mir-4970	0	0
+dme-mir-4971	0	0
+dme-mir-4972	0	0
+dme-mir-4973	0	0
+dme-mir-4974	0	0
+dme-mir-4975	0	0
+dme-mir-4976	0	0
+dme-mir-4977	0	0
+dme-mir-4978	0	0
+dme-mir-4979	0	0
+dme-mir-4980	0	0
+dme-mir-4981	0	0
+dme-mir-4982	0	0
+dme-mir-4983	0	0
+dme-mir-4984	0	0
+dme-mir-4985	0	0
+dme-mir-4986	0	0
+dme-mir-4987	0	0
+dme-mir-5	0	0
+dme-mir-6-1	0	0
+dme-mir-6-2	0	0
+dme-mir-6-3	0	0
+dme-mir-7	0	0
+dme-mir-79	7	0
+dme-mir-8	1	4
+dme-mir-87	0	0
+dme-mir-927	0	0
+dme-mir-929	0	0
+dme-mir-92a	1	0
+dme-mir-92b	2	32
+dme-mir-932	0	0
+dme-mir-954	0	0
+dme-mir-955	0	0
+dme-mir-956	0	51
+dme-mir-957	0	0
+dme-mir-958	0	0
+dme-mir-959	0	1
+dme-mir-960	1	0
+dme-mir-961	0	0
+dme-mir-962	0	0
+dme-mir-963	0	0
+dme-mir-964	0	0
+dme-mir-965	0	1
+dme-mir-966	0	0
+dme-mir-967	0	0
+dme-mir-968	0	0
+dme-mir-969	0	0
+dme-mir-970	0	0
+dme-mir-971	0	0
+dme-mir-972	0	0
+dme-mir-973	0	0
+dme-mir-974	0	0
+dme-mir-975	0	0
+dme-mir-976	0	0
+dme-mir-977	0	0
+dme-mir-978	0	0
+dme-mir-979	0	0
+dme-mir-980	0	0
+dme-mir-981	0	0
+dme-mir-982	1	0
+dme-mir-983-1	0	0
+dme-mir-983-2	0	0
+dme-mir-984	0	0
+dme-mir-985	0	0
+dme-mir-986	0	0
+dme-mir-987	0	0
+dme-mir-988	0	0
+dme-mir-989	2	1
+dme-mir-990	0	0
+dme-mir-991	0	1
+dme-mir-992	0	0
+dme-mir-993	0	0
+dme-mir-994	2	0
+dme-mir-995	0	1
+dme-mir-996	1	0
+dme-mir-997	0	0
+dme-mir-998	0	0
+dme-mir-999	0	1
+dme-mir-9a	0	0
+dme-mir-9b	0	0
+dme-mir-9c	0	0
+dme-mir-iab-4	0	0
+dme-mir-iab-8	0	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/table0.tabular	Fri Oct 13 02:59:36 2017 -0400
@@ -0,0 +1,239 @@
+gene	alignment1.bam
+dme-bantam	1
+dme-let-7	0
+dme-mir-1	72
+dme-mir-10	0
+dme-mir-100	0
+dme-mir-1000	0
+dme-mir-1001	0
+dme-mir-1002	0
+dme-mir-1003	0
+dme-mir-1004	0
+dme-mir-1005	0
+dme-mir-1006	0
+dme-mir-1007	0
+dme-mir-1008	0
+dme-mir-1009	0
+dme-mir-1010	0
+dme-mir-1011	0
+dme-mir-1012	0
+dme-mir-1013	0
+dme-mir-1014	0
+dme-mir-1015	0
+dme-mir-1016	0
+dme-mir-1017	0
+dme-mir-11	1
+dme-mir-12	2
+dme-mir-124	0
+dme-mir-125	0
+dme-mir-133	0
+dme-mir-137	0
+dme-mir-13a	0
+dme-mir-13b-1	0
+dme-mir-13b-2	0
+dme-mir-14	7
+dme-mir-184	146
+dme-mir-190	0
+dme-mir-193	0
+dme-mir-210	0
+dme-mir-219	0
+dme-mir-2279	0
+dme-mir-2280	0
+dme-mir-2281	0
+dme-mir-2282	0
+dme-mir-2283	0
+dme-mir-2489	0
+dme-mir-2490	0
+dme-mir-2491	0
+dme-mir-2492	0
+dme-mir-2493	0
+dme-mir-2494	0
+dme-mir-2495	0
+dme-mir-2496	0
+dme-mir-2497	0
+dme-mir-2498	0
+dme-mir-2499	0
+dme-mir-2500	0
+dme-mir-2501	0
+dme-mir-252	0
+dme-mir-2535b	0
+dme-mir-263a	12
+dme-mir-263b	0
+dme-mir-274	0
+dme-mir-275	7
+dme-mir-276a	7
+dme-mir-276b	1
+dme-mir-277	0
+dme-mir-278	0
+dme-mir-279	8
+dme-mir-280	0
+dme-mir-281-1	0
+dme-mir-281-2	1
+dme-mir-282	0
+dme-mir-283	0
+dme-mir-284	0
+dme-mir-285	0
+dme-mir-286	0
+dme-mir-287	0
+dme-mir-288	0
+dme-mir-289	0
+dme-mir-2a-1	1
+dme-mir-2a-2	0
+dme-mir-2b-1	0
+dme-mir-2b-2	0
+dme-mir-2c	0
+dme-mir-3	0
+dme-mir-303	0
+dme-mir-304	0
+dme-mir-305	10
+dme-mir-306	0
+dme-mir-307a	0
+dme-mir-307b	0
+dme-mir-308	0
+dme-mir-309	0
+dme-mir-310	0
+dme-mir-311	0
+dme-mir-312	1
+dme-mir-313	0
+dme-mir-314	0
+dme-mir-315	0
+dme-mir-316	1
+dme-mir-317	0
+dme-mir-318	1
+dme-mir-31a	2
+dme-mir-31b	1
+dme-mir-33	0
+dme-mir-34	0
+dme-mir-3641	0
+dme-mir-3642	0
+dme-mir-3643	0
+dme-mir-3644	0
+dme-mir-3645	0
+dme-mir-375	0
+dme-mir-4	0
+dme-mir-4908	0
+dme-mir-4909	0
+dme-mir-4910	0
+dme-mir-4911	0
+dme-mir-4912	0
+dme-mir-4913	0
+dme-mir-4914	0
+dme-mir-4915	0
+dme-mir-4916	0
+dme-mir-4917	0
+dme-mir-4918	0
+dme-mir-4919	0
+dme-mir-4939	0
+dme-mir-4940	0
+dme-mir-4941	0
+dme-mir-4942	0
+dme-mir-4943	0
+dme-mir-4944	0
+dme-mir-4945	0
+dme-mir-4946	0
+dme-mir-4947	0
+dme-mir-4948	0
+dme-mir-4949	0
+dme-mir-4950	0
+dme-mir-4951	0
+dme-mir-4952	0
+dme-mir-4953	0
+dme-mir-4954	0
+dme-mir-4955	0
+dme-mir-4956	0
+dme-mir-4957	0
+dme-mir-4958	0
+dme-mir-4959	0
+dme-mir-4960	0
+dme-mir-4961	0
+dme-mir-4962	0
+dme-mir-4963	0
+dme-mir-4964	0
+dme-mir-4965	0
+dme-mir-4966	0
+dme-mir-4967	0
+dme-mir-4968	0
+dme-mir-4969	0
+dme-mir-4970	0
+dme-mir-4971	0
+dme-mir-4972	0
+dme-mir-4973	0
+dme-mir-4974	0
+dme-mir-4975	0
+dme-mir-4976	0
+dme-mir-4977	0
+dme-mir-4978	0
+dme-mir-4979	0
+dme-mir-4980	0
+dme-mir-4981	0
+dme-mir-4982	0
+dme-mir-4983	0
+dme-mir-4984	0
+dme-mir-4985	0
+dme-mir-4986	0
+dme-mir-4987	0
+dme-mir-5	0
+dme-mir-6-1	0
+dme-mir-6-2	0
+dme-mir-6-3	0
+dme-mir-7	0
+dme-mir-79	7
+dme-mir-8	1
+dme-mir-87	0
+dme-mir-927	0
+dme-mir-929	0
+dme-mir-92a	1
+dme-mir-92b	2
+dme-mir-932	0
+dme-mir-954	0
+dme-mir-955	0
+dme-mir-956	0
+dme-mir-957	0
+dme-mir-958	0
+dme-mir-959	0
+dme-mir-960	1
+dme-mir-961	0
+dme-mir-962	0
+dme-mir-963	0
+dme-mir-964	0
+dme-mir-965	0
+dme-mir-966	0
+dme-mir-967	0
+dme-mir-968	0
+dme-mir-969	0
+dme-mir-970	0
+dme-mir-971	0
+dme-mir-972	0
+dme-mir-973	0
+dme-mir-974	0
+dme-mir-975	0
+dme-mir-976	0
+dme-mir-977	0
+dme-mir-978	0
+dme-mir-979	0
+dme-mir-980	0
+dme-mir-981	0
+dme-mir-982	1
+dme-mir-983-1	0
+dme-mir-983-2	0
+dme-mir-984	0
+dme-mir-985	0
+dme-mir-986	0
+dme-mir-987	0
+dme-mir-988	0
+dme-mir-989	2
+dme-mir-990	0
+dme-mir-991	0
+dme-mir-992	0
+dme-mir-993	0
+dme-mir-994	2
+dme-mir-995	0
+dme-mir-996	1
+dme-mir-997	0
+dme-mir-998	0
+dme-mir-999	0
+dme-mir-9a	0
+dme-mir-9b	0
+dme-mir-9c	0
+dme-mir-iab-4	0
+dme-mir-iab-8	0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/table1.tabular	Fri Oct 13 02:59:36 2017 -0400
@@ -0,0 +1,239 @@
+gene	alignment2.bam
+dme-bantam	1
+dme-let-7	0
+dme-mir-1	0
+dme-mir-10	20
+dme-mir-100	1
+dme-mir-1000	0
+dme-mir-1001	0
+dme-mir-1002	0
+dme-mir-1003	0
+dme-mir-1004	0
+dme-mir-1005	0
+dme-mir-1006	0
+dme-mir-1007	0
+dme-mir-1008	0
+dme-mir-1009	0
+dme-mir-1010	0
+dme-mir-1011	0
+dme-mir-1012	0
+dme-mir-1013	0
+dme-mir-1014	0
+dme-mir-1015	0
+dme-mir-1016	0
+dme-mir-1017	0
+dme-mir-11	2
+dme-mir-12	0
+dme-mir-124	0
+dme-mir-125	1
+dme-mir-133	0
+dme-mir-137	0
+dme-mir-13a	0
+dme-mir-13b-1	0
+dme-mir-13b-2	0
+dme-mir-14	7
+dme-mir-184	111
+dme-mir-190	0
+dme-mir-193	0
+dme-mir-210	0
+dme-mir-219	0
+dme-mir-2279	0
+dme-mir-2280	0
+dme-mir-2281	0
+dme-mir-2282	0
+dme-mir-2283	0
+dme-mir-2489	0
+dme-mir-2490	0
+dme-mir-2491	0
+dme-mir-2492	0
+dme-mir-2493	0
+dme-mir-2494	0
+dme-mir-2495	0
+dme-mir-2496	0
+dme-mir-2497	0
+dme-mir-2498	0
+dme-mir-2499	0
+dme-mir-2500	0
+dme-mir-2501	0
+dme-mir-252	0
+dme-mir-2535b	0
+dme-mir-263a	2
+dme-mir-263b	0
+dme-mir-274	0
+dme-mir-275	0
+dme-mir-276a	5
+dme-mir-276b	0
+dme-mir-277	1
+dme-mir-278	0
+dme-mir-279	0
+dme-mir-280	0
+dme-mir-281-1	3
+dme-mir-281-2	28
+dme-mir-282	0
+dme-mir-283	0
+dme-mir-284	0
+dme-mir-285	0
+dme-mir-286	0
+dme-mir-287	0
+dme-mir-288	0
+dme-mir-289	0
+dme-mir-2a-1	0
+dme-mir-2a-2	0
+dme-mir-2b-1	0
+dme-mir-2b-2	1
+dme-mir-2c	0
+dme-mir-3	0
+dme-mir-303	0
+dme-mir-304	0
+dme-mir-305	2
+dme-mir-306	0
+dme-mir-307a	0
+dme-mir-307b	0
+dme-mir-308	0
+dme-mir-309	0
+dme-mir-310	0
+dme-mir-311	0
+dme-mir-312	0
+dme-mir-313	0
+dme-mir-314	0
+dme-mir-315	0
+dme-mir-316	0
+dme-mir-317	0
+dme-mir-318	0
+dme-mir-31a	22
+dme-mir-31b	0
+dme-mir-33	0
+dme-mir-34	0
+dme-mir-3641	0
+dme-mir-3642	0
+dme-mir-3643	0
+dme-mir-3644	0
+dme-mir-3645	0
+dme-mir-375	0
+dme-mir-4	0
+dme-mir-4908	0
+dme-mir-4909	0
+dme-mir-4910	0
+dme-mir-4911	0
+dme-mir-4912	0
+dme-mir-4913	0
+dme-mir-4914	0
+dme-mir-4915	0
+dme-mir-4916	0
+dme-mir-4917	0
+dme-mir-4918	0
+dme-mir-4919	0
+dme-mir-4939	0
+dme-mir-4940	0
+dme-mir-4941	0
+dme-mir-4942	0
+dme-mir-4943	0
+dme-mir-4944	0
+dme-mir-4945	0
+dme-mir-4946	0
+dme-mir-4947	0
+dme-mir-4948	0
+dme-mir-4949	0
+dme-mir-4950	0
+dme-mir-4951	0
+dme-mir-4952	0
+dme-mir-4953	0
+dme-mir-4954	0
+dme-mir-4955	0
+dme-mir-4956	0
+dme-mir-4957	0
+dme-mir-4958	0
+dme-mir-4959	0
+dme-mir-4960	0
+dme-mir-4961	0
+dme-mir-4962	0
+dme-mir-4963	0
+dme-mir-4964	0
+dme-mir-4965	0
+dme-mir-4966	0
+dme-mir-4967	0
+dme-mir-4968	0
+dme-mir-4969	0
+dme-mir-4970	0
+dme-mir-4971	0
+dme-mir-4972	0
+dme-mir-4973	0
+dme-mir-4974	0
+dme-mir-4975	0
+dme-mir-4976	0
+dme-mir-4977	0
+dme-mir-4978	0
+dme-mir-4979	0
+dme-mir-4980	0
+dme-mir-4981	0
+dme-mir-4982	0
+dme-mir-4983	0
+dme-mir-4984	0
+dme-mir-4985	0
+dme-mir-4986	0
+dme-mir-4987	0
+dme-mir-5	0
+dme-mir-6-1	0
+dme-mir-6-2	0
+dme-mir-6-3	0
+dme-mir-7	0
+dme-mir-79	0
+dme-mir-8	4
+dme-mir-87	0
+dme-mir-927	0
+dme-mir-929	0
+dme-mir-92a	0
+dme-mir-92b	32
+dme-mir-932	0
+dme-mir-954	0
+dme-mir-955	0
+dme-mir-956	51
+dme-mir-957	0
+dme-mir-958	0
+dme-mir-959	1
+dme-mir-960	0
+dme-mir-961	0
+dme-mir-962	0
+dme-mir-963	0
+dme-mir-964	0
+dme-mir-965	1
+dme-mir-966	0
+dme-mir-967	0
+dme-mir-968	0
+dme-mir-969	0
+dme-mir-970	0
+dme-mir-971	0
+dme-mir-972	0
+dme-mir-973	0
+dme-mir-974	0
+dme-mir-975	0
+dme-mir-976	0
+dme-mir-977	0
+dme-mir-978	0
+dme-mir-979	0
+dme-mir-980	0
+dme-mir-981	0
+dme-mir-982	0
+dme-mir-983-1	0
+dme-mir-983-2	0
+dme-mir-984	0
+dme-mir-985	0
+dme-mir-986	0
+dme-mir-987	0
+dme-mir-988	0
+dme-mir-989	1
+dme-mir-990	0
+dme-mir-991	1
+dme-mir-992	0
+dme-mir-993	0
+dme-mir-994	0
+dme-mir-995	1
+dme-mir-996	0
+dme-mir-997	0
+dme-mir-998	0
+dme-mir-999	1
+dme-mir-9a	0
+dme-mir-9b	0
+dme-mir-9c	0
+dme-mir-iab-4	0
+dme-mir-iab-8	0