Code owners
Assign users and groups as approvers for specific file changes. Learn more.
new_test-intersect.sh 13.58 KiB
BT=${BT-../../bin/bedtools}
check()
{
if diff $1 $2; then
echo ok
else
echo fail
fi
}
###########################################################
# Test intersection of a as bed from file vs b as bed from file
############################################################
echo " intersect.new.t01...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a a.bed -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bed from redirect vs b as bed from file
############################################################
echo " intersect.new.t02...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a - -b b.bed < a.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bed from pipe vs b as bed from file
############################################################
echo " intersect.new.t03...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
cat a.bed | $BT intersect -a - -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bed from fifo vs b as bed from file
############################################################
echo " intersect.new.t04...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a <(cat a.bed) -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as gzipped from file vs b as bed from file
############################################################
echo " intersect.new.t05...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a a_gzipped.bed.gz -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as gzipped from redirect vs b as bed from file
############################################################
echo " intersect.new.t06...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a - -b b.bed < a_gzipped.bed.gz > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as gzipped from pipe vs b as bed from file
############################################################
echo " intersect.new.t07...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
cat a_gzipped.bed.gz | $BT intersect -a - -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as gzipped from fifo vs b as bed from file
############################################################
echo " intersect.new.t08...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a <(cat a_gzipped.bed.gz) -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bgzipped from file vs b as bed from file
############################################################
echo " intersect.new.t09...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a a_bgzipped.bed.gz -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bgzipped from redirect vs b as bed from file
############################################################
echo " intersect.new.t10...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a - -b b.bed < a_bgzipped.bed.gz > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bgzipped from pipe vs b as bed from file
############################################################
echo " intersect.new.t11...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
cat a_bgzipped.bed.gz | $BT intersect -a - -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bgzipped from fifo vs b as bed from file
############################################################
echo " intersect.new.t12...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a <(cat a_bgzipped.bed.gz) -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a as bam from file vs b as bed from file
############################################################
echo " intersect.new.t13...\c"
$BT intersect -a a.bam -b b.bed> obs
check obs aVSb.bam
rm obs
###########################################################
# Test intersection of a as bam from redirect vs b as bed from file
############################################################
echo " intersect.new.t14...\c"
$BT intersect -a - -b b.bed < a.bam> obs
check obs aVSb.bam
rm obs
###########################################################
# Test intersection of a as bam from pipe vs b as bed from file
############################################################
echo " intersect.new.t15...\c"
cat a.bam | $BT intersect -a - -b b.bed> obs
check obs aVSb.bam
rm obs
###########################################################
# Test intersection of a as bam from fifo vs b as bed from file
############################################################
echo " intersect.new.t16...\c"
$BT intersect -a <(cat a.bam) -b b.bed > obs
check obs aVSb.bam
rm obs
###########################################################
# Test intersection of bam file containing both good reads
# and those where both read and mate are unmapped vs b file
# as bed.
############################################################
echo " intersect.new.t17...\c"
echo \
"chr1 100 101 a2 255 - 100 200 0,0,0 1 100, 0,
chr1 100 110 a2 255 - 100 200 0,0,0 1 100, 0," > exp
$BT intersect -a a_with_bothUnmapped.bam -b b.bed -bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of bam file containing both good reads
# and those where both read and mate are unmapped vs b file
# as bed, with noHit (-v) option.
############################################################
echo " intersect.new.t18...\c"
echo \
"chr1 10 20 a1 255 + 10 20 0,0,0 1 10, 0,
. -1 -1 FCC1MK2ACXX:1:1101:5780:51632#/1 0 . -1 -1 -1 0,0,0 0 . .
. -1 -1 FCC1MK2ACXX:1:1101:5780:51632#/2 0 . -1 -1 -1 0,0,0 0 . .
. -1 -1 FCC1MK2ACXX:1:1101:8137:99409#/1 0 . -1 -1 -1 0,0,0 0 . .
. -1 -1 FCC1MK2ACXX:1:1101:8137:99409#/2 0 . -1 -1 -1 0,0,0 0 . .
. -1 -1 FCC1MK2ACXX:1:1102:6799:2633#/1 0 . -1 -1 -1 0,0,0 0 . .
. -1 -1 FCC1MK2ACXX:1:1102:6799:2633#/2 0 . -1 -1 -1 0,0,0 0 . ." > exp
$BT intersect -a a_with_bothUnmapped.bam -b b.bed -bed -v > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of bam file containing read where one
# mate is mapped and one is not.
############################################################
echo " intersect.new.t19...\c"
echo \
"chr1 98650 98704 FCC1MK2ACXX:1:1212:13841:9775#/1 0 + 98604 98704 0,0,0 1 100, 0," > exp
$BT intersect -a oneUnmapped.bam -b j1.bed -bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of bam file containing read where one
# mate is mapped and one is not, with noHit (-v) option.
############################################################
echo " intersect.new.t20...\c"
echo \
"chr1 -1 -1 FCC1MK2ACXX:1:1212:13841:9775#/2 0 . -1 -1 -1 0,0,0 0 . ." > exp
$BT intersect -a oneUnmapped.bam -b j1.bed -bed -v > obs
check obs exp
rm obs exp
###########################################################
# Test intersection with -sorted, see that order specified
# in genome file is enforced.
############################################################
echo " intersect.new.t21...\c"
echo \
"Error: Sorted input specified, but the file chromOrderA.bed has the following record with a different sort order than the genomeFile human.hg19.genome
chr10 10 20 a3 100 +" > exp
$BT intersect -a chromOrderA.bed -b chromOrderB.bed -sorted -g human.hg19.genome 2>obs
check obs exp
rm obs exp
###########################################################
# Test intersection with -sorted, see that hits are missed
# With no genome file
############################################################
echo " intersect.new.t22...\c"
echo \
"chr1 15 20 a1 100 +
chr2 15 20 a2 100 +
chrX 15 20 a5 100 +" > exp
$BT intersect -a chromOrderA.bed -b chromOrderB.bed -sorted > obs
check obs exp
rm obs exp
###########################################################
# Test intersection with -sorted, see that hits are correct
# when sort order of files matches genome file sort order
############################################################
echo " intersect.new.t23...\c"
echo \
"chr1 15 20 a1 100 +
chr2 15 20 a2 100 +
chr10 15 20 a3 100 +
chr11 15 20 a4 100 +
chrX 15 20 a5 100 +
chrM 15 20 a6 100 +" > exp
$BT intersect -a chromOrderA.bed -b chromOrderB.bed -sorted -g human.hg19.vSort.genome > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bed from file vs b as bed from file
############################################################
echo " intersect.new.t24...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a a_withLargeHeader.bed -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bed from redirect vs b as bed from file
############################################################
echo " intersect.new.t25...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a - -b b.bed < a_withLargeHeader.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bed from pipe vs b as bed from file
############################################################
echo " intersect.new.t26...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
cat a_withLargeHeader.bed | $BT intersect -a - -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bed from fifo vs b as bed from file
############################################################
echo " intersect.new.t27...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a <(cat a_withLargeHeader.bed) -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as gzipped from file vs b as bed from file
############################################################
echo " intersect.new.t28...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a a_withLargeHeader_gzipped.bed.gz -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as gzipped from redirect vs b as bed from file
############################################################
echo " intersect.new.t29...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a - -b b.bed < a_withLargeHeader_gzipped.bed.gz > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as gzipped from pipe vs b as bed from file
############################################################
echo " intersect.new.t30...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
cat a_withLargeHeader_gzipped.bed.gz | $BT intersect -a - -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as gzipped from fifo vs b as bed from file
############################################################
echo " intersect.new.t31...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a <(cat a_withLargeHeader_gzipped.bed.gz) -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bgzipped from file vs b as bed from file
############################################################
echo " intersect.new.t32...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a a_withLargeHeader_bgzipped.bed.gz -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bgzipped from redirect vs b as bed from file
############################################################
echo " intersect.new.t33...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a - -b b.bed < a_withLargeHeader_bgzipped.bed.gz > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bgzipped from pipe vs b as bed from file
############################################################
echo " intersect.new.t34...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
cat a_withLargeHeader_bgzipped.bed.gz | $BT intersect -a - -b b.bed > obs
check obs exp
rm obs exp
###########################################################
# Test intersection of a with large header as bgzipped from fifo vs b as bed from file
############################################################
echo " intersect.new.t35...\c"
echo \
"chr1 100 101 a2 2 -
chr1 100 110 a2 2 -" > exp
$BT intersect -a <(cat a_withLargeHeader_bgzipped.bed.gz) -b b.bed > obs
check obs exp
rm obs exp