From 1e5fa922d6e36ebd5919f5e7d5e93204002a601f Mon Sep 17 00:00:00 2001 From: mmterpstra Date: Fri, 21 Jul 2017 09:37:59 +0200 Subject: [PATCH] added N extention to UMI if too short with option -l for UmiAwareMarkDuplicatesWithMateCigar --- ...oups-0.1.10-foss-2016a-Perl-5.20.2-bare.eb | 36 +++++++++++++++++++ src/NugeneDigitalSplitter.pl | 10 ++++-- 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 eb/DigitalBarcodeReadgroups-0.1.10-foss-2016a-Perl-5.20.2-bare.eb diff --git a/eb/DigitalBarcodeReadgroups-0.1.10-foss-2016a-Perl-5.20.2-bare.eb b/eb/DigitalBarcodeReadgroups-0.1.10-foss-2016a-Perl-5.20.2-bare.eb new file mode 100644 index 0000000..94cbbe1 --- /dev/null +++ b/eb/DigitalBarcodeReadgroups-0.1.10-foss-2016a-Perl-5.20.2-bare.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'DigitalBarcodeReadgroups' +version = '0.1.10' + +homepage = 'https://github.com/mmterpstra/%s' % (name) +description = """Misc tools""" + +toolchain = {'name': 'foss', 'version': '2016a'} + +source_urls = [('https://github.com/mmterpstra/%s/archive/' % (name) )] +sources = [ '%s.tar.gz' % version ] + +perl = 'Perl' +perlver = '5.20.2' +perlversuffix = '-bare' +versionsuffix = '-%s-%s%s' % (perl, perlver, perlversuffix) + +samtools='SAMtools' +samtoolsver='1.3' + +dependencies = [ + (perl, perlver, perlversuffix), + (samtools, samtoolsver), +] + +# +# Check if all binaries are present. +# + +sanity_check_paths = { + 'files': [ 'src/NugeneDigitalSplitter.pl', 'src/NugeneMergeFastqFiles.pl' ], + 'dirs': [ 'src/' ], +} + +moduleclass = 'bio' diff --git a/src/NugeneDigitalSplitter.pl b/src/NugeneDigitalSplitter.pl index 4199ee6..41cea16 100644 --- a/src/NugeneDigitalSplitter.pl +++ b/src/NugeneDigitalSplitter.pl @@ -125,10 +125,14 @@ sub ApplyPicardTag { @{$sam} = split("\t",$line); #my $rgID = SamGetReadGroupID($sam); my $randombc = SamGetRandombc($sam); + + $sam = SamRemoveRandombc($sam); + $line = SamAsString($sam); + $randombc = substr($randombc,0,$opts -> {'l'}) if(defined($opts -> {'l'}) && $opts -> {'l'} > 0); - $sam = SamRemoveRandombc($sam); - $line = SamAsString($sam); - #a + # + $randombc = $randombc .'N' x ($opts -> {'l'} - length($randombc)) if(defined($opts -> {'l'}) && $opts -> {'l'} > 0 && length($randombc) < $opts -> {'l'}); + $line .= "\t$tag:Z:$randombc"; #die "$line"; print $out $line."\n";