aboutsummaryrefslogtreecommitdiff
path: root/academic
diff options
context:
space:
mode:
authorRob van Nues <sborg63@disroot.org>2019-04-13 06:29:59 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2019-04-13 06:29:59 +0700
commit2f3ac418ad77e5f757b87be8794b4bac08b6eed5 (patch)
tree28cb340711d4ac9a9a9fdfd737a2708589e6a33a /academic
parentcb0d5e103033e4e65b894612a06cd8bcbb7ce6f0 (diff)
academic/pyCRAC: Updated for version 1.4.4.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'academic')
-rw-r--r--academic/pyCRAC/README24
-rw-r--r--academic/pyCRAC/README.tests4
-rw-r--r--academic/pyCRAC/pyCRAC.SlackBuild48
-rw-r--r--academic/pyCRAC/pyCRAC.info16
-rw-r--r--academic/pyCRAC/setup_slack.py25
-rw-r--r--academic/pyCRAC/test_slack.sh121
6 files changed, 195 insertions, 43 deletions
diff --git a/academic/pyCRAC/README b/academic/pyCRAC/README
index a5be782d7397..1583f3e62c7f 100644
--- a/academic/pyCRAC/README
+++ b/academic/pyCRAC/README
@@ -1,4 +1,4 @@
-The pyCRAC package is a collection of python2-scripts to analyse high
+The pyCRAC package is a collection of python scripts to analyse high
throughput data generated by RNA-sequencing, especially of molecules
crosslinked by UV to an immunoprecipitated protein of interest (i.e.
data generated by CLIP or CRAC protocols).
@@ -9,7 +9,7 @@ Included is the pipeline used for the analysis of a group of CRAC data
sets.
An R-function used for kinetic CRAC analysis can be found in
-/usr/share/pyCRAC/kinetic_crac_pipeline
+/usr/share/pyCRAC-$VERSION/kinetic_crac_pipeline
References
@@ -25,3 +25,23 @@ A, Langford A, Franklin R, Iosub I, Wadsworth P, Sanguinetti G,
Granneman S.
If you want to run the test suite after installation, see README.tests.
+
+Note on the Crac pipelines:
+
+The CRAC_pipeline_PE.py and CRAC_pipeline_SE.py scripts now ONLY work
+with pyCRAC version 1.3.3 and Flexbar version 3.4.0 and later(!)
+Use the -h flag to get a detailed help menu.
+
+The CRAC_pipeline_PE.py script needs to be run from the folder that
+contains the fastq files
+
+The barcode list file should contain two tab-separated columns in which
+the first column is the barcode sequence and the second column is the
+name of the experiment
+
+The file containing the adapter sequences should be in the fasta format.
+
+The chromosome_lengths file should contain two tab-separated columns in
+which the first column has the chromosome name and the second the
+chromosome length.
+
diff --git a/academic/pyCRAC/README.tests b/academic/pyCRAC/README.tests
index 15def4bfebde..ee98d3fdaaaa 100644
--- a/academic/pyCRAC/README.tests
+++ b/academic/pyCRAC/README.tests
@@ -1,7 +1,9 @@
To test the pyCRAC scripts after installing the package on Slackware:
- cp -R /usr/share/pyCRAC <path-to-your-work-directory>/
+ cp -R /usr/share/pyCRAC-$VERSION <path-to-your-work-directory>/
cd <path-to-your-work-directory>/pyCRAC/tests
sh test.sh
If all tests complete without an error, the package is working.
+
+In case of any problems please email the SBo maintainer of pyCRAC
diff --git a/academic/pyCRAC/pyCRAC.SlackBuild b/academic/pyCRAC/pyCRAC.SlackBuild
index af4e827e0f11..bf5735f06499 100644
--- a/academic/pyCRAC/pyCRAC.SlackBuild
+++ b/academic/pyCRAC/pyCRAC.SlackBuild
@@ -23,15 +23,22 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pyCRAC
-VERSION=${VERSION:-1.3.3}
+VERSION=${VERSION:-1.4.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-SRCNAM=sgrann-pycrac
-SRCVER=${SRCVER:-fafa1e7d1fae}
+# pyCRAC works with python2 as well as python3;
+# Note that python2 is being phased out; therefore python3 is set as default.
+# This is the same for the python pyCrac dependencies
+
+#set which python version to install it for
+PYTHON2=false
+PYTHON3=true
+
PIPENAM=kinetic_crac_pipeline
-PIPEVER=${PIPEVER:-1bdb8c231d2d}
+PIPEVER=${PIPEVER:-ffe91cc6bf7a}
+PIPETAG=sgrann
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -65,20 +72,24 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $SRCNAM-$SRCVER
-tar xvf $CWD/$SRCNAM-$SRCVER.tar.gz || tar xvf $CWD/$SRCVER.tar.gz
-cd $SRCNAM-$SRCVER
+rm -rf $PRGNAM-$VERSION
+rm -rf $PIPETAG-$PIPENAM-$PIPEVER
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
mkdir $PRGNAM/$PIPENAM
-tar xvf $CWD/sgrann-$PIPENAM-$PIPEVER.tar.gz -C $PRGNAM/$PIPENAM --strip-components=1 || \
- tar xvf $CWD/$PIPEVER.tar.gz -C $PRGNAM/$PIPENAM --strip-components=1
-#replace setup.py
+if [[ -f $CWD/$PIPETAG-$PIPENAM-$PIPEVER.tar.gz ]]; then
+ tar xvf $CWD/$PIPETAG-$PIPENAM-$PIPEVER.tar.gz -C $PRGNAM/$PIPENAM --strip-components=1
+elif [[ -f $CWD/$PIPEVER.tar.gz ]]; then
+ tar xvf $CWD/$PIPEVER.tar.gz -C $PRGNAM/$PIPENAM --strip-components=1
+fi
+
+#replace setup.py; test.sh
rm setup.py
cp $CWD/setup_slack.py setup.py
-#replace Manifest
-rm MANIFEST.txt
-cp $CWD/MANIFEST_slack.txt MANIFEST.txt
+rm tests/test.sh
+cp $CWD/test_slack.sh tests/test.sh
chown -R root:root .
find -L . \
@@ -87,7 +98,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-python setup.py install --root=$PKG
+if $PYTHON2; then
+ python setup.py install --root=$PKG
+fi
+if $PYTHON3; then
+ python3 setup.py install --root=$PKG
+fi
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -99,8 +115,8 @@ cp $PRGNAM/$PIPENAM/gaussianProcessAnalysis.R $PKG/usr/share/$PRGNAM-$VERSION/$P
# the manual etc.
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- LICENCE.txt README.txt "The pyCRAC Manual.pdf" VERSION.txt \
- $CWD/README.tests $CWD/setup_slack.py $CWD/MANIFEST_slack.txt \
+ README.md \
+ $CWD/README.tests $CWD/setup_slack.py \
$CWD/README \
$PKG/usr/doc/$PRGNAM-$VERSION
cp -a $PRGNAM/$PIPENAM/README.md $PKG/usr/doc/$PRGNAM-$VERSION/$PIPENAM-README.md
diff --git a/academic/pyCRAC/pyCRAC.info b/academic/pyCRAC/pyCRAC.info
index a2e57d33bacf..084ba6b10a87 100644
--- a/academic/pyCRAC/pyCRAC.info
+++ b/academic/pyCRAC/pyCRAC.info
@@ -1,12 +1,12 @@
PRGNAM="pyCRAC"
-VERSION="1.3.3"
-HOMEPAGE="https://bitbucket.org/sgrann/"
-DOWNLOAD="https://bitbucket.org/sgrann/pycrac/get/fafa1e7d1fae.tar.gz \
- https://bitbucket.org/sgrann/kinetic_crac_pipeline/get/1bdb8c231d2d.tar.gz"
-MD5SUM="3e9ed2a34449176bb6680589c221c5df \
- e1dfcdb757af5f32d811c5458a68c15c"
+VERSION="1.4.4"
+HOMEPAGE="http://sandergranneman.bio.ed.ac.uk/Granneman_Lab/pyCRAC_software.html"
+DOWNLOAD="https://files.pythonhosted.org/packages/d2/fa/c089e3dd8640f3c8a2d37287e351e5eafc3e2855c4c83b3a213482910ac5/pyCRAC-1.4.4.tar.gz \
+ https://bitbucket.org/sgrann/kinetic_crac_pipeline/get/ffe91cc6bf7a.tar.gz"
+MD5SUM="e64dd0042da31b99f24bf5af0c97f012 \
+ 8c19a15c439941cc5ae17e083f52143a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="flexbar novocraft numpy pysam scipy pandas ruffus"
-MAINTAINER="rob van nues"
+REQUIRES="python3 flexbar novocraft numpy pysam scipy pandas ruffus"
+MAINTAINER="Rob van Nues"
EMAIL="sborg63@disroot.org"
diff --git a/academic/pyCRAC/setup_slack.py b/academic/pyCRAC/setup_slack.py
index 9f8adab60515..610c4588a373 100644
--- a/academic/pyCRAC/setup_slack.py
+++ b/academic/pyCRAC/setup_slack.py
@@ -1,11 +1,11 @@
#!/usr/bin/python
-# not compatible with python 3
+
__author__ = "Sander Granneman"
-__copyright__ = "Copyright 2018"
-__version__ = "1.3.3"
+__copyright__ = "Copyright 2019"
+__version__ = "1.4.4"
__credits__ = ["Sander Granneman","Hywell Dunn Davies"]
-__maintainer__ = ["Rob van Nues, via SlackBuilds.org"]
-__email__ = "sgrannem@staffmail.ed.ac.uk"
+__maintainer__ = ["Sander Granneman","Rob van Nues via SlackBuilds.org"]
+__email__ = ["sgrannem@staffmail.ed.ac.uk", "sborg63@disroot.org"]
__status__ = "Production"
import sys
@@ -13,18 +13,12 @@ import os
import platform
import setuptools
from setuptools import setup
+from setuptools.command import easy_install
DEFAULT_PATH = "/usr/share/"
-if sys.version[0:3] < '2.7' : raise ImportError('Python version 2.7 or above is required for pyCRAC')
-if sys.version[0:3] >= '3.0': raise ImportError('pyCRAC is not compatible with Python 3.0 or higher')
-
sys.stdout.write("\nInstalling pyCRAC version %s...\n" % __version__)
-path_files = open("pyCRAC/defaults.py","w")
-#path_files.write("DEFAULT_PATH=\"%s\"\n" % DEFAULT_PATH)
-path_files.write("GTF=\"%spyCRAC-%s/db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf\"\nTAB=\"%spyCRAC-%s/db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab\"\nCHROM=\"%spyCRAC-%s/db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt\"\n" % (DEFAULT_PATH,__version__,DEFAULT_PATH,__version__,DEFAULT_PATH,__version__))
-path_files.close()
setup(name='pyCRAC',
version='%s' % __version__,
@@ -33,7 +27,7 @@ setup(name='pyCRAC',
author_email='sgrannem@staffmail.ed.ac.uk',
url='http://sandergranneman.bio.ed.ac.uk/Granneman_Lab/pyCRAC_software.html',
packages=['pyCRAC','pyCRAC.Parsers','pyCRAC.Classes','pyCRAC.Methods'],
- install_requires=['numpy >= 1.5.1', 'cython >=0.19', 'pysam >= 0.6'],
+ install_requires=['numpy >= 1.5.1', 'cython >=0.19', 'pysam >= 0.6','six >= 1.9.0'],
scripts=[
'pyCRAC/pyReadAligner.py',
'pyCRAC/pyMotif.py',
@@ -64,17 +58,16 @@ setup(name='pyCRAC',
'pyCRAC/kinetic_crac_pipeline/CRAC_pipeline_PE.py',
'pyCRAC/kinetic_crac_pipeline/CRAC_pipeline_PeakFinder.py',
'pyCRAC/kinetic_crac_pipeline/CRAC_pipeline_SE.py',
- 'pyCRAC/kinetic_crac_pipeline/TrimNucs.py'
],
classifiers=[ 'Development Status :: 5 - Production/Stable',
- 'Environment :: Terminal',
+ 'Environment :: Console',
'Intended Audience :: Education',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'License :: Freeware',
'Operating System :: MacOS :: MacOS X',
'Operating System :: POSIX',
- 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3.6',
'Topic :: Scientific/Engineering :: Bio-Informatics',
'Topic :: Software Development :: Libraries :: Application Frameworks'
],
diff --git a/academic/pyCRAC/test_slack.sh b/academic/pyCRAC/test_slack.sh
new file mode 100644
index 000000000000..0606665d69e2
--- /dev/null
+++ b/academic/pyCRAC/test_slack.sh
@@ -0,0 +1,121 @@
+#!/usr/bin/env bash
+echo
+echo "##### testing all pyCRAC tools #####"
+echo
+echo "# pyBarcodeFilter.py..."
+echo "...demultiplexing illumina indexes"
+pyBarcodeFilter.py -f test_f.fastq -r test_r.fastq -b indexes.txt -i -m 1
+echo "...demultiplexing illumina indexes on compressed files"
+pyBarcodeFilter.py -f test_f.fastq.gz -r test_r.fastq.gz -b indexes.txt -i -m 1 --file_type=fastq.gz
+echo "...demultiplexing random barcodes in 5' adapter"
+pyBarcodeFilter.py -f test_f_dm.fastq -r test_r_dm.fastq -b barcodes.txt -m 1
+echo "...demultiplexing random barcodes in 5' adapter on compressed data and compressing output files"
+pyBarcodeFilter.py -f test_f_dm.fastq -r test_r_dm.fastq -b barcodes.txt -m 1 --gz
+echo "# pyReadCounters..."
+echo "...range 300 and deletions only"
+pyReadCounters.py -f test.novo -m 10000 -r 300 --mutations=delsonly --discarded=pyReadCounters_discarded.txt --rpkm -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "...same as above but counting hits for introns only"
+pyReadCounters.py -f test.novo -m 10000 -r 300 --mutations=delsonly --discarded=pyReadCounters_discarded.txt --rpkm -a protein_coding --hittable -s intron -o test_intron -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "...same as above but now counting hits in exons only"
+pyReadCounters.py -f test.novo -m 10000 -r 300 --mutations=delsonly --discarded=pyReadCounters_discarded.txt --rpkm -a protein_coding --hittable -s exon -o test_exon -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "# pyClusterReads..."
+pyClusterReads.py -f test_count_output_reads.gtf -r 300 --cic=5 --ch=5 --co=5 --mutsfreq=10 -o test_count_output_clusters.gtf -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "...counting overlap between clusters and genomic features"
+pyReadCounters.py -f test_count_output_clusters.gtf --file_type=gtf -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "# pyMotif..."
+echo "...with range setting"
+pyMotif.py -f test_count_output_clusters.gtf -r 300 -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "...with annotation = protein_coding"
+pyMotif.py -f test_count_output_clusters.gtf -a protein_coding -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "# pyBinCollector..."
+echo "...with annotation = protein_coding"
+pyBinCollector.py -f test_count_output_clusters.gtf -a protein_coding -n 50 -o test_count_output_protein_coding_50.pileup -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "...with all annotations"
+pyBinCollector.py -f test_count_output_clusters.gtf -n 50 -o test_count_output_all_50.pileup -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "...with --binoverlap flag"
+pyBinCollector.py -f test_count_output_clusters.gtf -n 50 --binoverlap 1 5 -o test_count_output_selected_1_5.gtf -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "...with --outputall flag"
+pyBinCollector.py -f test_count_output_clusters.gtf -n 50 --outputall -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "# pyPileup..."
+echo "...with genes list"
+pyPileup.py -f test.novo -g genes.list --limit=1000 --discarded=pyPileup_discarded.txt -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "...with genes list and removal of duplicates"
+pyPileup.py -f test.novo -g genes.list --limit=1000 --blocks -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "...with chromosome coordinates"
+pyPileup.py -f test.novo --chr test_coordinates.txt --limit=1000 -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "...with chromosome coordinates and removal of duplicates"
+pyPileup.py -f test.novo --chr test_coordinates.txt --limit=1000 --blocks -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "# pyReadAligner..."
+echo "...with chromosome coordinates"
+pyReadAligner.py -f test.novo --chr test_coordinates.txt --limit=1000 --discarded=pyReadAligner_discarded.txt -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "...with genes list and mutation filtering"
+pyReadAligner.py -f test.novo -g genes.list --limit=500 --mutations=delsonly -v --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf --tab=../db/Saccharomyces_cerevisiae.EF2.59.1.0.fa.tab
+echo "# pyCalculateFDRs..."
+pyCalculateFDRs.py -f test_count_output_reads.gtf -r 200 -o test_count_output_FDRs_005.gtf -v -m 0.05 --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "# pyCalculateMutationFrequencies..."
+pyCalculateMutationFrequencies.py -i test_count_output_FDRs_005.gtf -r test_count_output_reads.gtf -o test_count_output_FDRs_005_with_muts.gtf --mutsfreq=20 -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo
+echo "##### testing pyCRAC scripts #####"
+echo
+echo "# pyFastqJoiner.py..."
+pyFastqJoiner.py -f test_f.fastq test_r.fastq -c "|" -o test_joined.fastq
+echo "...with compressed data and output compression"
+pyFastqJoiner.py -f test_f.fastq.gz test_r.fastq.gz --file_type=fastq.gz -c "|" --gz -o test_joined_compressed.fastq
+echo "...with reverse-complementing the reverse read"
+pyFastqJoiner.py -f test_f.fastq test_r.fastq --reversecomplement -c "|" -o test_reverse_joined.fastq
+echo "# pyFastqDuplicateRemover.py..."
+echo "...with single-end data"
+pyFastqDuplicateRemover.py -f test_f.fastq -o test_f.fasta
+echo "...with paired-end data"
+pyFastqDuplicateRemover.py -f test_f.fastq -r test_r.fastq -o test
+echo "# pyFastqSplitter.py..."
+pyFastqSplitter.py -f test_joined.fastq -c "|" -o test_splitted
+echo "...with compressed data"
+pyFastqSplitter.py -f test_joined_compressed.fastq.gz --file_type=fastq.gz -c "|" -o test_compressed_splitted
+echo "...with compressed data and compressing output"
+pyFastqSplitter.py -f test_joined_compressed.fastq.gz --file_type=fastq.gz -c "|" -o test_compressed_splitted --gzip
+echo "# pyCheckGTFfile.py..."
+pyCheckGTFfile.py --gtf=test.gtf -o test_corrected.gtf
+echo "# pyGetGTFSources.py..."
+pyGetGTFSources.py --gtf=test.gtf -o test_gtf_sources.txt --count
+echo "# pyGetGeneNamesFromGTF.py..."
+pyGetGeneNamesFromGTF.py --gtf=test.gtf -a gene_name -o test_gtf_gene_names.txt --count
+echo "# pyNormalizeIntervalLengths with various flags..."
+pyNormalizeIntervalLengths.py -f test_count_output_FDRs_005.gtf -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt --fixed 20 -o test_count_output_FDRs_fixed_20.gtf -v
+pyNormalizeIntervalLengths.py -f test_count_output_FDRs_005.gtf -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt --min 20 -o test_count_output_FDRs_min_20.gtf -v
+pyNormalizeIntervalLengths.py -f test_count_output_FDRs_005.gtf -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt --addboth 20 -o test_count_output_FDRs_addboth_20.gtf -v
+pyNormalizeIntervalLengths.py -f test_count_output_FDRs_005.gtf -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt --addleft 20 -o test_count_output_FDRs_addleft_20.gtf -v
+pyNormalizeIntervalLengths.py -f test_count_output_FDRs_005.gtf -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt --addright 20 -o test_count_output_FDRs_addright_20.gtf -v
+echo "# pyAlignment2Tab.py..."
+pyAlignment2Tab.py -f sense-reads_SNR17A_genomic_test.fasta -o sense-reads_SNR17A_genomic_test.tab
+echo "# pyExtractLinesFromGTF.py..."
+pyExtractLinesFromGTF.py --gtf=test.gtf -g genes.list -o test_snR17A.gtf -a gene_name
+echo "# pyGTF2bed.py..."
+pyGTF2bed.py --gtf=test_count_output_reads.gtf -o test.bed -n test_gtf -d test_gtf --color red
+echo "# pyGTF2bedGraph.py..."
+echo "...default settings"
+pyGTF2bedGraph.py --gtf=test_count_output_reads.gtf -o test_out -t reads -n test_gtf -d test_gtf -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "...normalized to hits per million"
+pyGTF2bedGraph.py --gtf=test_count_output_reads.gtf -o test_out_norm --permillion -t reads -n test_gtf -d test_gtf -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "...start positions"
+pyGTF2bedGraph.py --gtf=test_count_output_reads.gtf -o test_out_norm_5end --permillion -t startpositions -n test_gtf -d test_gtf -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "...end positions"
+pyGTF2bedGraph.py --gtf=test_count_output_reads.gtf -o test_out_norm_3end --permillion -t endpositions -n test_gtf -d test_gtf -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "# pyGTF2sgr.py..."
+echo "...default settings"
+pyGTF2sgr.py --gtf=test_count_output_reads.gtf -o test_out -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "...normalized to hits per million"
+pyGTF2sgr.py --gtf=test_count_output_reads.gtf -o test_out_norm --permillion -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "...start positions"
+pyGTF2sgr.py --gtf=test_count_output_reads.gtf -o test_out_norm_5end --permillion -t startpositions -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "...end positions"
+pyGTF2sgr.py --gtf=test_count_output_reads.gtf -o test_out_norm_3end --permillion -t endpositions -v -c ../db/Saccharomyces_cerevisiae.EF2.59.1.0_chr_lengths.txt
+echo "# pyFilterGTF.py..."
+pyFilterGTF.py -f test_count_output_reads.gtf -o test_sense_filtered_reads.gtf -a protein_coding --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "# pybed2GTF.py..."
+pybed2GTF.py --bed=test.bed -o test_bed2gtf.gtf --gtf=../db/Saccharomyces_cerevisiae.EF2.59.1.3.gtf
+echo "# pyFasta2tab.py..."
+pyFasta2tab.py -f sense-reads_SNR17A_genomic_test.fasta -o sense-reads_SNR17A_genomic_test_f2a.tab
+echo
+echo "##### tests finished #####"
+echo