Skip to content

Commit

Permalink
Merge branch 'release'
Browse files Browse the repository at this point in the history
  • Loading branch information
Adrian-Cantu committed Jul 18, 2018
2 parents 6a4bbe8 + cde96c3 commit b1e0e6b
Show file tree
Hide file tree
Showing 12 changed files with 898 additions and 48 deletions.
30 changes: 23 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ PRINSEQ++ is a C++ implementation of the prinseq-lite.pl program. It can be used
4. pthread

## Download
If you are just interested in compiling and using PRINSEQ++, download the latest [version](https://github.com/Adrian-Cantu/PRINSEQ-plus-plus/releases/download/v1.1/prinseq-plus-plus-1.1.tar.gz).
You can also download the [binary](https://github.com/Adrian-Cantu/PRINSEQ-plus-plus/releases/download/v1.1/binary_prinseq-plus-plus-1.1.tar.gz).
If you are just interested in compiling and using PRINSEQ++, download the latest [version](https://github.com/Adrian-Cantu/PRINSEQ-plus-plus/releases/download/v1.2/prinseq-plus-plus-1.2.tar.gz).
You can also download the [binary](https://github.com/Adrian-Cantu/PRINSEQ-plus-plus/releases/download/v1.2/binary_prinseq-plus-plus-1.2.tar.gz).
If you want to edit the source code, clone this repository.

## To install
1. tar -xvf prinseq-plus-plus-1.1.tar.gz
2. cd prinseq-plus-plus-1.1
1. tar -xvf prinseq-plus-plus-1.2.tar.gz
2. cd prinseq-plus-plus-1.2
3. ./configure
4. make
5. make test
Expand Down Expand Up @@ -49,7 +49,7 @@ If you want to edit the source code, clone this repository.
on the filters that removed sequences. VERBOSE=2 prints numbers for filters
in order (min_len, max_len, min_cg, max_cg, min_qual_score, min_qual_mean,
ns_max_n, noiupac, derep, lc_entropy, lc_dust, trim_tail_left, trim_tail_right,
trim_qual_left, trim_qual_right) to compare stats of diferent files.
trim_qual_left, trim_qual_right, trim_left, trim_right) to compare stats of diferent files.
VERBOSE=0 prints nothing.
(Default=1)

Expand All @@ -66,6 +66,9 @@ If you want to edit the source code, clone this repository.
Input is in fasta format (no quality). Note that the output format is
still fastq by default. Quality will be treated as 31 (A) for all bases.
-phred64
Input quality is in phred64 format. This is for older Illumina/Solexa reads.
***** OUTPUT OPTION *****

-out_format <int>
Expand All @@ -83,7 +86,14 @@ If you want to edit the source code, clone this repository.
not change the header in the 1st line (@header).
-out_gz
Write the output to a compressed file (WARNING this can be really SLOW)
Write the output to a compressed file (WARNING this can be really SLOW,
will be fixed in a future release)
-out_good , -out_single , -out_bad,
-out_good2 , -out_single2, -out_bad2
Rename the output files idividually, this overwrites the names given by
-out_name only for the selected files. File extension won't be added
automatically. (TIP: if you don't need a file, set its name to /dev/null)
***** FILTER OPTION ******
Expand Down Expand Up @@ -124,7 +134,13 @@ If you want to edit the source code, clone this repository.
the 0-1 interval. (Default=0.5)
***** TRIM OPTIONS *****


-trim_left <integer>
Trim <integer> bases from the left (5'->3').
-trim_right <integer>
Trim <integer> bases from the right (3'->5').

-trim_tail_left <integer>
Trim poly-A/T tail with a minimum length of <integer> at the
5'-end.
Expand Down
22 changes: 19 additions & 3 deletions README.md.in
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ If you want to edit the source code, clone this repository.
on the filters that removed sequences. VERBOSE=2 prints numbers for filters
in order (min_len, max_len, min_cg, max_cg, min_qual_score, min_qual_mean,
ns_max_n, noiupac, derep, lc_entropy, lc_dust, trim_tail_left, trim_tail_right,
trim_qual_left, trim_qual_right) to compare stats of diferent files.
trim_qual_left, trim_qual_right, trim_left, trim_right) to compare stats of diferent files.
VERBOSE=0 prints nothing.
(Default=1)

Expand All @@ -66,6 +66,9 @@ If you want to edit the source code, clone this repository.
Input is in fasta format (no quality). Note that the output format is
still fastq by default. Quality will be treated as 31 (A) for all bases.

-phred64
Input quality is in phred64 format. This is for older Illumina/Solexa reads.

***** OUTPUT OPTION *****

-out_format <int>
Expand All @@ -83,7 +86,14 @@ If you want to edit the source code, clone this repository.
not change the header in the 1st line (@header).

-out_gz
Write the output to a compressed file (WARNING this can be really SLOW)
Write the output to a compressed file (WARNING this can be really SLOW,
will be fixed in a future release)

-out_good , -out_single , -out_bad,
-out_good2 , -out_single2, -out_bad2
Rename the output files idividually, this overwrites the names given by
-out_name only for the selected files. File extension won't be added
automatically. (TIP: if you don't need a file, set its name to /dev/null)

***** FILTER OPTION ******

Expand Down Expand Up @@ -124,7 +134,13 @@ If you want to edit the source code, clone this repository.
the 0-1 interval. (Default=0.5)

***** TRIM OPTIONS *****


-trim_left <integer>
Trim <integer> bases from the left (5'->3').

-trim_right <integer>
Trim <integer> bases from the right (3'->5').

-trim_tail_left <integer>
Trim poly-A/T tail with a minimum length of <integer> at the
5'-end.
Expand Down
8 changes: 8 additions & 0 deletions changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
1.2
- Added -trim_left, -trim_right to trim reads unconditionally
- Added the -phred64 option for old files
- Added -out_good , -out_single , -out_bad, -out_good2 , -out_single2, -out_bad2
in case you want to manually name output files. unused options default to the default
filename. You can even send two output streams to the same file.
- fixed a bug were -noiupac was filtering RNA sequences. (those containing 'U')

1.1
Added verbose options and an options to read fasta files. Speed up run time
by only performing filters on good reads.
Expand Down
4 changes: 3 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([PRINSEQ++], [1.1], [garbanyo@gmail.com] ,[prinseq-plus-plus], [https://github.com/Adrian-Cantu/PRINSEQ-plus-plus])
AC_INIT([PRINSEQ++], [1.2], [garbanyo@gmail.com] ,[prinseq-plus-plus], [https://github.com/Adrian-Cantu/PRINSEQ-plus-plus])
##AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([src/main.cpp])
AC_LANG([C++])
Expand All @@ -16,9 +16,11 @@ AC_CONFIG_HEADERS([config.h])
AC_PROG_CXX
AC_PROG_INSTALL
AX_BOOST_BASE([1.41], [], AC_MSG_ERROR([Could not find a useful version of boost]))
AX_BOOST_SYSTEM
AX_BOOST_FILESYSTEM
AX_BOOST_IOSTREAMS
AX_CHECK_ZLIB
AX_PTHREAD

# Checks for libraries.

Expand Down
121 changes: 121 additions & 0 deletions m4/ax_boost_system.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_boost_system.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_BOOST_SYSTEM
#
# DESCRIPTION
#
# Test for System library from the Boost C++ libraries. The macro requires
# a preceding call to AX_BOOST_BASE. Further documentation is available at
# <http://randspringer.de/boost/index.html>.
#
# This macro calls:
#
# AC_SUBST(BOOST_SYSTEM_LIB)
#
# And sets:
#
# HAVE_BOOST_SYSTEM
#
# LICENSE
#
# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
# Copyright (c) 2008 Michael Tindal
# Copyright (c) 2008 Daniel Casimiro <dan.casimiro@gmail.com>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.

#serial 19

AC_DEFUN([AX_BOOST_SYSTEM],
[
AC_ARG_WITH([boost-system],
AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@],
[use the System library from boost - it is possible to specify a certain library for the linker
e.g. --with-boost-system=boost_system-gcc-mt ]),
[
if test "$withval" = "no"; then
want_boost="no"
elif test "$withval" = "yes"; then
want_boost="yes"
ax_boost_user_system_lib=""
else
want_boost="yes"
ax_boost_user_system_lib="$withval"
fi
],
[want_boost="yes"]
)
if test "x$want_boost" = "xyes"; then
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_BUILD])
CPPFLAGS_SAVED="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
export CPPFLAGS
LDFLAGS_SAVED="$LDFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
AC_CACHE_CHECK(whether the Boost::System library is available,
ax_cv_boost_system,
[AC_LANG_PUSH([C++])
CXXFLAGS_SAVE=$CXXFLAGS
CXXFLAGS=
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]],
[[boost::system::error_category *a = 0;]])],
ax_cv_boost_system=yes, ax_cv_boost_system=no)
CXXFLAGS=$CXXFLAGS_SAVE
AC_LANG_POP([C++])
])
if test "x$ax_cv_boost_system" = "xyes"; then
AC_SUBST(BOOST_CPPFLAGS)
AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available])
BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
LDFLAGS_SAVE=$LDFLAGS
if test "x$ax_boost_user_system_lib" = "x"; then
for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
[link_system="no"])
done
if test "x$link_system" != "xyes"; then
for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
ax_lib=${libextension}
AC_CHECK_LIB($ax_lib, exit,
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
[link_system="no"])
done
fi
else
for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do
AC_CHECK_LIB($ax_lib, exit,
[BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
[link_system="no"])
done
fi
if test "x$ax_lib" = "x"; then
AC_MSG_ERROR(Could not find a version of the library!)
fi
if test "x$link_system" = "xno"; then
AC_MSG_ERROR(Could not link against $ax_lib !)
fi
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
fi
])
Loading

0 comments on commit b1e0e6b

Please sign in to comment.