Mercurial > repos > artbio > small_rna_map
annotate test-data/test/small_rna_map.bash @ 5:d65045e976e6 draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit b673d39fbe79f5164ba6489b33cfa78ac238ee09
author | artbio |
---|---|
date | Sat, 22 Jul 2017 11:45:52 -0400 |
parents | 1ad5d040f85f |
children |
rev | line source |
---|---|
0
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
1 #! /bin/bash |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
2 # Execution command : bash small_rna_map.bash <sam file> |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
3 samtools view -h -o input.sam ../test-data/input.bam |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
4 samfile="input.sam" |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
5 cut -f2,3,4,5,6 ../test-data/output.tab > test-data.dat |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
6 grep -e "^@SQ" $samfile > header.tab |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
7 cat $samfile | perl -ne 'print unless /^@/ or ( (split /\t/)[1] != 0 and (split /\t/)[1] != 16 )' > output1.tab |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
8 |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
9 cat << EOF > pyscript.py |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
10 lendic = {} |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
11 for line in open("header.tab"): |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
12 fields = line[:-1].split() |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
13 lendic[fields[1][3:]] = fields[2][3:] |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
14 readdic = {} |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
15 for line in (open("output1.tab")): |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
16 fields = line[:-1].split() |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
17 key = "-".join([fields[2],fields[3],"F" if fields[1]=="0" else "R"]) |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
18 try: |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
19 readdic[key] += 1 |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
20 except KeyError: |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
21 readdic[key] = 1 |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
22 Out = open("output.tab", "w") |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
23 Out.write("Chromosome\tChrom_length\tCoordinate\tNbr_reads\tPolarity\n") |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
24 for key in sorted(readdic): |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
25 fields = key.split("-") |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
26 Chromosome, Coordinate, Polarity = fields[0], fields[1], fields[2] |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
27 Chrom_length = lendic[Chromosome] |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
28 Nbr_reads = str(readdic[key]) |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
29 Out.write("\t".join([Chromosome, Chrom_length, Coordinate, Nbr_reads, Polarity]) ) |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
30 Out.write("\n") |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
31 Out.close |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
32 EOF |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
33 |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
34 python ./pyscript.py |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
35 rm output1.tab header.tab pyscript.py |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
36 sort -k 1,1 -k 3,3n -k 5,5 output.tab -o output.tab |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
37 if ! diff -q output.tab test-data.dat &>/dev/null; then |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
38 >&2 echo "different" |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
39 else |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
40 >&2 echo "Test passed" |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
41 fi |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
42 |
1ad5d040f85f
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_map commit fa452d860cf550c7524df59e77b36fd39e3e2a45
artbio
parents:
diff
changeset
|
43 rm output.tab input.sam test-data.dat |