From 6fa7f1e1edda25ec36f2373148af223493924803 Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Mon, 1 Feb 2016 13:24:42 -0500 Subject: [PATCH 1/5] Bump pysam to new 0.8.4+gx1. --- lib/galaxy/dependencies/conda-environment.txt | 2 +- .../pinned-hashed-requirements.txt | 39 ++++++++++--------- .../dependencies/pinned-requirements.txt | 2 +- lib/galaxy/dependencies/requirements.txt | 2 +- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/lib/galaxy/dependencies/conda-environment.txt b/lib/galaxy/dependencies/conda-environment.txt index 12d8e4853db..31ad2df1539 100644 --- a/lib/galaxy/dependencies/conda-environment.txt +++ b/lib/galaxy/dependencies/conda-environment.txt @@ -78,4 +78,4 @@ Fabric #Whoosh==2.4.1+gx1 # Flexible BAM index naming -#pysam==0.8.3+gx1 +#pysam==0.8.4+gx1 diff --git a/lib/galaxy/dependencies/pinned-hashed-requirements.txt b/lib/galaxy/dependencies/pinned-hashed-requirements.txt index 3f4516b2fa5..1acd8c4bca1 100644 --- a/lib/galaxy/dependencies/pinned-hashed-requirements.txt +++ b/lib/galaxy/dependencies/pinned-hashed-requirements.txt @@ -149,22 +149,23 @@ ecdsa==0.13 --hash:sha256=89f149066e4a1e419892cef830fd0db85c227d5d427f7075422ace Whoosh==2.4.1+gx1 --hash:sha256=98897e796c048810d71f7f4fc174914869f1b3b77f44e5a19a5e649b078d5e0e \ --hash:sha256=5ec3c22e782c86e981fab62a24ac9feea09e42c43b763a6493c78b82a3b6e3fd -# Flexible BAM index naming -pysam==0.8.3+gx1 --hash:sha256=020aa9101579ac1e82a194fdb08f49f517c634911409e9a2cda4d0a1c72a8c7c \ - --hash:sha256=1a3d86849b9bd962979b65aaa9af236030dcc1db40296c88d2aa436a0c9df79b \ - --hash:sha256=0fc55fb252eb0e7914679e9e22672fdc6a1e09804cbcc62769f004ebbed9b4c1 \ - --hash:sha256=dde8f5037661d7be42e2c3f50c01566dcaedbf2f88133a3bb50c6ae3f75e6e13 \ - --hash:sha256=7809fd926a071519c0a2b220346e45c094577877e5b2adba2903e7b52490c736 \ - --hash:sha256=021070ed70a89e19eee6a989933d69d0bdb076c02342e2987bb5fab43f63ad17 \ - --hash:sha256=374ea868bf64daa4665e8743db1be2e88712953a923020225f57a589b790537c \ - --hash:sha256=9884b6904face1977649847261e7c984120adaa169a0d62e07820a44c71e18c5 \ - --hash:sha256=873b81951e9d572b53ab4c7a0d3ef915f7d0e1db5f75603d8861cf1d3810491e \ - --hash:sha256=37d0ba3880b5a517f354281159f6751f6f9f1c1074ea48bf5f4c424e6ec488dd \ - --hash:sha256=db99cb20cb5e07998b2acfd29e34c367ef408a184a7b3150586212175a0719bf \ - --hash:sha256=a1fcb2a6459b799bff7a046e190452b151c5985dea404eaee82bd645b1bfe34d \ - --hash:sha256=306e4d900dfb582cf87bc21904e2193ef81db76173e976b74152c95ddd93bdc6 \ - --hash:sha256=2341438d636b8e3cb51b219aab1cc909142d3af176042d12b128d4177682b1ab \ - --hash:sha256=0f33df9eba7b079b7489ac3dd908a6e44b0e98d094e633b29035d33bfc990b9e \ - --hash:sha256=faa8aae3f8f105c5c823a7d570dd3caba31ece69b8f3325106435b9f1fcb68d2 \ - --hash:sha256=2db995758d666c51fecf11cbee1afda357477e01077aacf68ae0c00304c7bc51 \ - --hash:sha256=2de7a2098f64672d0396ac727633285f3562f804e7845e105ee19da544d7da8a +# Flexible BAM/tabix index naming +pysam==0.8.4+gx1 --hash:sha256=9a548c88dbc928b64292ffa4a7697a4ee8c6653f998ef75c717c6dd37c8f67d3 \ + --hash:sha256=bc2ba93bdf9228aaf479eae953a2d9012c9f69ee753446eec3edbdd5c55e8bd4 \ + --hash:sha256=55e06fa6ce2df2e2bdb0705a14eefc6ad433effc79ab53d30642d8d0b33a98ff \ + --hash:sha256=dd8600bee61cca3005c0e95b29aefa3611c452d980055799c3999e1c3cc044bb \ + --hash:sha256=e4cc2b4b24d84b71c82f3194815b986e4f450ab62b96d7f28a453f5a47afdc24 \ + --hash:sha256=f4eb92138ac871fe4db2e5a70ddbc2d6ffcf0c77314b4866b013b7a4d3a52aa6 \ + --hash:sha256=c388728ec37d979c84980f662e9329452f90acf5e2e34c3afb1f66403e063b3f \ + --hash:sha256=001620b7ea051fd2c868ef4f83a07838177a28c42839d76a86f653e124f9830b \ + --hash:sha256=c27e705259d74dba190a2d729c326384ee9949e73478d7dca8e9e2aa593b54c1 \ + --hash:sha256=4c3dae36124646a3bed6bc7e6fd2c979a4430aa290b61da1a611d3cf7e9b38e5 \ + --hash:sha256=73124bec6d2699a30396c6eb63584230c8fdc0dce563391c217b9b57777d0d14 \ + --hash:sha256=8db6bde296f6a34b584dddaeac1dc53f5819d0f63b0cded014a143366c64307f \ + --hash:sha256=a40617160ba503ba31c297de24007e189cbb54325ea11265fa1b96e7d3f32625 \ + --hash:sha256=2045ceb8f733dc787b5fa23293330d8f669a42952be14014d91b2d1d4db99c9e \ + --hash:sha256=f140cd6c2c7b78be20f207e86be79772496a770c0d132604db0f632d54564ff8 \ + --hash:sha256=d35cb62c382bda70552878069d7cc0321b41ec6095838332a15c44a14736b8aa \ + --hash:sha256=2fae280fecfa6547b7c8291bc3966a940ce80400d79cdbc612cefb2bc399f5fd \ + --hash:sha256=a85c470c3ae9d77f13b9fd57fcfdddf26b176d69840eb6654112fd711c86c243 \ + --hash:sha256=9028099e40c45a3959add2c091b8817454b41c8aaa192e72d9c3ee9a5a1c5f8b diff --git a/lib/galaxy/dependencies/pinned-requirements.txt b/lib/galaxy/dependencies/pinned-requirements.txt index c8096de4d8c..90243e95c8a 100644 --- a/lib/galaxy/dependencies/pinned-requirements.txt +++ b/lib/galaxy/dependencies/pinned-requirements.txt @@ -66,4 +66,4 @@ ecdsa==0.13 Whoosh==2.4.1+gx1 # Flexible BAM index naming -pysam==0.8.3+gx1 +pysam==0.8.4+gx1 diff --git a/lib/galaxy/dependencies/requirements.txt b/lib/galaxy/dependencies/requirements.txt index 7deb751c777..3fc77f1bcdf 100644 --- a/lib/galaxy/dependencies/requirements.txt +++ b/lib/galaxy/dependencies/requirements.txt @@ -60,4 +60,4 @@ Fabric Whoosh==2.4.1+gx1 # Flexible BAM index naming -pysam==0.8.3+gx1 +pysam==0.8.4+gx1 From ba9ad97c40bd994e0dc51888ef235cf3b434168a Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Tue, 2 Feb 2016 09:30:30 -0500 Subject: [PATCH 2/5] Fix 3.bam @PG header to use : instead of = as a key:value separator. See commentary in https://github.com/galaxyproject/galaxy/pull/1638 for more details. --- test-data/3.bam | Bin 1680 -> 1673 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test-data/3.bam b/test-data/3.bam index 99304709caa375831641c924eeeb4f65d513359a..072adfa2450b7bc1209683deea376a780f0951de 100644 GIT binary patch delta 1161 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 From 39eb262219beca9ec6b849b49c0430d834cfd2ae Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Tue, 2 Feb 2016 13:54:24 -0500 Subject: [PATCH 3/5] More fixes to 3.bam to make it valid stripped out secondary HD header and duplicated sequences chr10-16 --- test-data/3.bam | Bin 1673 -> 1655 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test-data/3.bam b/test-data/3.bam index 072adfa2450b7bc1209683deea376a780f0951de..3ac02133ef4f123c3773eede1a38bc264dc6aa86 100644 GIT binary patch delta 1117 zcmV-j1fu(i4fhOxABzYC000000RIL6LPG)oVg!v_!(=lx~#Pl^X@^t_ap; zTnSycQBe@j+If{~D26E2#egFC2S$=wL;;EAWORHypOD|q*pqf`&f4PB9B^H=D zE^^xuk5Tu3IgwfuI+GMTfSnPJ1V_Y%WuoH<3B+8$(oxJEn`(T?iA0DqR16pAYcPTGL#Tcm{!;CJ=6 zxsB5JI7cpOWs(Vk?BH-399B$sksTa%`iC)L+f3UaPAR5yh3x^byG~GrncX94(E|?WI+h&XvxeZ7fIoaW5F}e^{@EP>qyUE;JT4 zlgmnV8_P;{4^^rI{adfpyU`%1ck~X9!g?nN^=VY^cJz=3oBMI{SEX8Q_A8^PzZ>_W zur`R|ZZNFvccXsbr-~XH^hSeb-0J#!wPwH934?Ym3Il)CYX>#`axFfHwVB=U_-4W= z_W#G!pm}h7Tf<;Ge`v;|f7?l;4~G3-t6P6I+T9F>aeWl*>;_>=Q#1SZkuQ96JJvmU zY@Kv;m9z+cw-=B6)M?ZMbVrPtX%r8FlSCiuy*}OfZ@#IuZ4MY zGCLDK`5j;`f4|LykKZpES1{av?22(ECmh}_7y^OfnV)7dLSBh)!Wl!L(7Co{2xi5@ zwI62ugjSe`8EgMIt{btGE<#H1;}DJTHS!jsidrvnEd% delta 1135 zcmV-#1d#jp42cbYABzYC000000RIL6LPG)obOh~HO>7%Q6n=@*5IaAjH=rC$ke~-* z@BGg=myi@Sg{Blmf>c7R9D5TR*}I8%okS|C5I4jLi9-bl(F+_30`&rFIdK6AdP7K* zV>lu8zy%OUi1F^uW(EWbcPv}-%=dk7-rvkyetd20l_`LKrPVX#XD>8R%`2}z-DpM8 zpxq6dNl;l@f2O>Cq0#CLkXJsh8H5o*1rZM751L^+>Zb%muwXWdG99H16G-?Lb;9d(YBNl z3(OoBx$TI5$EbUp$gBySNs1l7&Im_>BVxlc)p3LbVlH6mDCUk$HQMAvBE%VT082zX z^p|9%E>MA~5=hyA9U12Yb2~Jgb_vInFvabR;M5@Hic(!t2XG7u#gzl6Z9w%d(n1ID zJNnz)L0Np9BNw$Y$pk@ma5xJNE2g{14h}p0!loo54tdhXEr^l^ane_-Ob)em=%L@rU-IyJ8gn7 zrvuY&M@-)mePQjMu)Ce<5;MCLG7EuYK_#{`VE4MBy07i{Ri^TEwlTAvP|h1gIdz_t zwXFHvdT(TYQ-z3dZuf?5OWzK}?JQnO!x2L0_R^}0XUpf#G?t_Nq#KNX-dL}OP>qyV z&Nt>a)6MF_4wlu0Jyc!j>)(2{-ii7_eOtf5QCQy&LcNOXoo#)|gU$UU{a0OBX!fdc z)Eg$1cVc7kRS|J_a&eK6>CTb=ro(Qq>uB=tDh9R^`bQ*-_YE}fl(@kPObJ~x4QA+mz(fh*dxY?htxYKhO#?c@N+W*ha|1vuf08Hv% zniF{a{gYF(W|dok%Qwdg3W9gvC>0cw4ESTUR8TOyaOLnGvm!8m@zL!`BQUYTkKc_K z0t)Bmo|`l)28T1hpD+Rw3f%c+x)5;K3!W+{<`IP1w~zc3@a@=*2}2PD<)=priiB&) zs|CfpZt&i{M+s4|^6~AGp_r!(=HHrt6Zs~HTc6F%+xB$GJ>^hM*<9grx$-7pED~nci_Wc0cMNcT=>Y{l5qvY-G?t5R|>-6H{*stpmh3& z>6}nh;>&Q_5GZV4-7*9-CgJM$GlsyR^1&CC+=*f$0&ksy8MB$I&Z2S1V>lXrfXS+{ z#o@l2^-4i8gAT4=f5I3mD*NI)4;q;OueV>$2}NB`wWbU`K|ei3$tMa76NZN BA$tG- From 66f20e7df91074e07cbade57b20deb68cb840a55 Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Tue, 2 Feb 2016 13:56:40 -0500 Subject: [PATCH 4/5] Fix method signature of bam.set_meta to include a positional argument which is now required. --- lib/galaxy/datatypes/binary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/galaxy/datatypes/binary.py b/lib/galaxy/datatypes/binary.py index 65bb18e6f47..c3979c5dd6e 100644 --- a/lib/galaxy/datatypes/binary.py +++ b/lib/galaxy/datatypes/binary.py @@ -339,7 +339,7 @@ class Bam( Binary ): os.unlink( stderr_name ) # Now use pysam with BAI index to determine additional metadata try: - bam_file = pysam.AlignmentFile( filename=dataset.file_name, mode='rb', index_filename=index_file.file_name ) + bam_file = pysam.AlignmentFile( dataset.file_name, mode='rb', index_filename=index_file.file_name ) dataset.metadata.reference_names = list( bam_file.references ) dataset.metadata.reference_lengths = list( bam_file.lengths ) dataset.metadata.bam_header = bam_file.header From d6325c5039f28062a2cf49d00c091d83a92865c3 Mon Sep 17 00:00:00 2001 From: Dannon Baker Date: Tue, 2 Feb 2016 15:08:24 -0500 Subject: [PATCH 5/5] Update data providers pysam.AlignmentFile usage --- lib/galaxy/visualization/data_providers/genome.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/galaxy/visualization/data_providers/genome.py b/lib/galaxy/visualization/data_providers/genome.py index a8706dfe6f1..a4d0a9a0121 100644 --- a/lib/galaxy/visualization/data_providers/genome.py +++ b/lib/galaxy/visualization/data_providers/genome.py @@ -847,11 +847,11 @@ class BamDataProvider( GenomeDataProvider, FilterableMixin ): """ # Open current BAM file using index. - bamfile = pysam.AlignmentFile( filename=self.original_dataset.file_name, mode='rb', + bamfile = pysam.AlignmentFile( self.original_dataset.file_name, mode='rb', index_filename=self.converted_dataset.file_name ) # TODO: write headers as well? - new_bamfile = pysam.AlignmentFile( template=bamfile, filename=filename, mode='wb' ) + new_bamfile = pysam.AlignmentFile( filename, template=bamfile, mode='wb' ) for region in regions: # Write data from region. @@ -879,7 +879,7 @@ class BamDataProvider( GenomeDataProvider, FilterableMixin ): def open_data_file( self ): # Attempt to open the BAM file with index - return pysam.AlignmentFile( filename=self.original_dataset.file_name, mode='rb', + return pysam.AlignmentFile( self.original_dataset.file_name, mode='rb', index_filename=self.converted_dataset.file_name ) def get_iterator( self, data_file, chrom, start, end, **kwargs ):