Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Combining multiple Piccard commands with Bash

    I'm new to using bash for piping. I'm currently trying to combine (pipe) multiple Piccard commands with Bash.
    I have two executions that both work when I run them one by one in a bash script:

    **********************************************

    Command 1
    #!/bin/bash

    # Set paths
    picardtools='PATH/picard.jar'
    bams="PATH/BAM"
    outpath="PATH/out"

    for i in Bam1 Bam2
    do
    java -jar $picardtools SortSam INPUT=$bams/"$i" OUTPUT=$outpath/"$i" SORT_ORDER=coordinate CREATE_INDEX=TRUE VALIDATION_STRINGENCY=LENIENT
    done

    Command 2
    #!/bin/bash

    # Set paths
    picardtools='PATH/picard.jar'
    bams="PATH/BAM"
    outpath="PATH/out"
    outpath2="PATH/out2"

    for i in Bam1 Bam2
    do
    java -jar $picardtools AddOrReplaceReadGroups INPUT=$outpath/"$i" OUTPUT=$outpath2/"$i" SORT_ORDER=coordinate RGID="$i" RGLB="$i" RGPL=illumina RGPU="$i" RGSM="$i" CREATE_INDEX=True
    done

    **********************************************

    I have now tried to pipe these commands, but it no longer works. I have tried 2 ways of doing the piping:


    Option 1:
    #!/bin/bash

    # Set paths
    picardtools='PATH/picard.jar'
    bams="PATH/BAM"
    outpath="PATH/out"
    outpath2="PATH/out2"

    for i in Bam1 Bam2
    do
    java -jar $picardtools SortSam INPUT=$bams/"$i" OUTPUT=/dev/stdout SORT_ORDER=coordinate CREATE_INDEX=TRUE VALIDATION_STRINGENCY=LENIENT | \
    java -jar $picardtools AddOrReplaceReadGroups INPUT=/dev/stdin OUTPUT=$outpath2/"$i" SORT_ORDER=coordinate RGID="$i" RGLB="$i" RGPL=illumina RGPU="$i" RGSM="$i" CREATE_INDEX=True
    done


    Option 2:
    #!/bin/bash

    # Set paths
    picardtools='PATH/picard.jar'
    bams="PATH/BAM"
    outpath="PATH/out"
    outpath2="PATH/out2"

    for i in Bam1 Bam2
    do
    java -jar $picardtools SortSam INPUT=$bams/"$i" OUTPUT=$outpath/"$i" SORT_ORDER=coordinate CREATE_INDEX=TRUE VALIDATION_STRINGENCY=LENIENT
    java -jar $picardtools AddOrReplaceReadGroups INPUT=$outpath/"$i" OUTPUT=$outpath2/"$i" SORT_ORDER=coordinate RGID="$i" RGLB="$i" RGPL=illumina RGPU="$i" RGSM="$i" CREATE_INDEX=True
    done


    Neither of these two options work. Can someone help me finding the bug?

Latest Articles

Collapse

  • seqadmin
    Advanced Methods for the Detection of Infectious Disease
    by seqadmin




    The recent pandemic caused worldwide health, economic, and social disruptions with its reverberations still felt today. A key takeaway from this event is the need for accurate and accessible tools for detecting and tracking infectious diseases. Timely identification is essential for early intervention, managing outbreaks, and preventing their spread. This article reviews several valuable tools employed in the detection and surveillance of infectious diseases.
    ...
    11-27-2023, 01:15 PM
  • seqadmin
    Strategies for Investigating the Microbiome
    by seqadmin




    Microbiome research has led to the discovery of important connections to human and environmental health. Sequencing has become a core investigational tool in microbiome research, a subject that we covered during a recent webinar. Our expert speakers shared a number of advancements including improved experimental workflows, research involving transmission dynamics, and invaluable analysis resources. This article recaps their informative presentations, offering insights...
    11-09-2023, 07:02 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by seqadmin, Yesterday, 10:48 AM
0 responses
16 views
0 likes
Last Post seqadmin  
Started by seqadmin, 11-29-2023, 08:26 AM
0 responses
12 views
0 likes
Last Post seqadmin  
Started by seqadmin, 11-29-2023, 08:12 AM
0 responses
13 views
0 likes
Last Post seqadmin  
Started by seqadmin, 11-27-2023, 08:12 AM
0 responses
22 views
0 likes
Last Post seqadmin  
Working...
X