Skip to content

Commit

Permalink
Add workaround for BAM files hosted on SRA s3 archive.
Browse files Browse the repository at this point in the history
  • Loading branch information
heuermh committed May 10, 2022
1 parent 4fa2b08 commit 4614261
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,11 @@ object FileExtensions {
* @return Returns true if the path name matches a BAM/CRAM/SAM format file extension.
*/
def isBamExt(pathName: String): Boolean = {
pathName.endsWith(".bam") ||
pathName.endsWith(".cram") ||
pathName.endsWith(".sam")
// workaround for BAM files hosted on SRA s3 archive
val trimmed = pathName.replaceAll("\\.[0-9]+$", "")
trimmed.endsWith(".bam") ||
trimmed.endsWith(".cram") ||
trimmed.endsWith(".sam")
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,20 @@ class FileExtensionsSuite extends FunSuite {
assert(FileExtensions.isVcfExt("file.vcf.gz"))
assert(!FileExtensions.isVcfExt("file.vcf.bgzf"))
}

test("is a bam/cram/sam extension") {
assert(FileExtensions.isBamExt("file.bam"))
assert(FileExtensions.isBamExt("file.cram"))
assert(FileExtensions.isBamExt("file.cram"))
assert(!FileExtensions.isBamExt("file.vcf"))
assert(FileExtensions.isBamExt("file.bam.1"))
assert(FileExtensions.isBamExt("file.bam.10"))
assert(FileExtensions.isBamExt("file.cram.1"))
assert(FileExtensions.isBamExt("file.cram.10"))
assert(FileExtensions.isBamExt("file.sam.1"))
assert(FileExtensions.isBamExt("file.sam.10"))
assert(!FileExtensions.isBamExt("file.bam.x"))
assert(!FileExtensions.isBamExt("file.cram.y"))
assert(!FileExtensions.isBamExt("file.sam.z"))
}
}

0 comments on commit 4614261

Please sign in to comment.