commit/galaxy-central: dan: Add VCF viewer for IGV. Add necessary datatypes and converters to support this view (vcf_bgzip; vcf_bgzip to tabix).
1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/changeset/43a4ef4ec6d1/ changeset: 43a4ef4ec6d1 user: dan date: 2011-11-15 23:24:38 summary: Add VCF viewer for IGV. Add necessary datatypes and converters to support this view (vcf_bgzip; vcf_bgzip to tabix). affected #: 7 files diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 datatypes_conf.xml.sample --- a/datatypes_conf.xml.sample +++ b/datatypes_conf.xml.sample @@ -9,7 +9,7 @@ <converter file="bam_to_summary_tree_converter.xml" target_datatype="summary_tree" depends_on="bai"/><display file="ucsc/bam.xml" /><display file="ensembl/ensembl_bam.xml" /> - <!-- <display file="igv/bam.xml" /> --> + <display file="igv/bam.xml" /></datatype><datatype extension="bed" type="galaxy.datatypes.interval:Bed" display_in_upload="true"><converter file="bed_to_gff_converter.xml" target_datatype="gff"/> @@ -154,8 +154,10 @@ <datatype extension="blastxml" type="galaxy.datatypes.xml:BlastXml" mimetype="application/xml" display_in_upload="true"/><datatype extension="vcf" type="galaxy.datatypes.tabular:Vcf" display_in_upload="true"><converter file="vcf_to_bgzip_converter.xml" target_datatype="bgzip"/> + <converter file="vcf_to_vcf_bgzip_converter.xml" target_datatype="vcf_bgzip"/><converter file="vcf_to_tabix_converter.xml" target_datatype="tabix" depends_on="bgzip"/><converter file="vcf_to_summary_tree_converter.xml" target_datatype="summary_tree"/> + <display file="igv/vcf.xml" /></datatype><datatype extension="wsf" type="galaxy.datatypes.wsf:SnpFile" display_in_upload="true"/><datatype extension="velvet" type="galaxy.datatypes.assembly:Velvet" display_in_upload="false"/> @@ -168,6 +170,10 @@ <datatype extension="interval_index" type="galaxy.datatypes.binary:Binary" subclass="True" /><datatype extension="tabix" type="galaxy.datatypes.binary:Binary" subclass="True" /><datatype extension="bgzip" type="galaxy.datatypes.binary:Binary" subclass="True" /> + <datatype extension="vcf_bgzip" type_extension="bgzip" subclass="True" > + <display file="igv/vcf.xml" /> + <converter file="vcf_bgzip_to_tabix_converter.xml" target_datatype="tabix"/> + </datatype><!-- Start EMBOSS tools --><datatype extension="acedb" type="galaxy.datatypes.data:Text"/><datatype extension="asn1" type="galaxy.datatypes.data:Text"/> diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 display_applications/igv/bam.xml --- a/display_applications/igv/bam.xml +++ b/display_applications/igv/bam.xml @@ -1,12 +1,32 @@ +<?xml version="1.0"?><display id="igv_bam" version="1.0.0" name="display with IGV"> - <link id="web" name="web"> - <url>$jnlp.url</url> - <param type="data" name="bam_file" url="galaxy_${DATASET_HASH}.bam" strip_https="True" /> - <param type="data" name="bai_file" url="galaxy_${DATASET_HASH}.bam.bai" metadata="bam_index" strip_https="True" /> - <param type="template" name="jnlp" url="galaxy_${DATASET_HASH}.jnlp" viewable="True" strip_https="True" mimetype="application/x-java-jnlp-file"><?xml version="1.0" encoding="utf-8"?> + + <!-- Load links from file: one line to one link --> + <dynamic_links from_file="tool-data/shared/igv/igv_build_sites.txt" skip_startswith="#" id="0" name="1"> + + <!-- Define parameters by column from file, allow splitting on builds --> + <dynamic_param name="site_id" value="0"/> + <dynamic_param name="site_name" value="1"/> + <dynamic_param name="site_link" value="2"/> + <dynamic_param name="site_dbkeys" value="3" split="True" separator="," /> + <dynamic_param name="site_organisms" value="4" split="True" separator="," /> + + <!-- Filter out some of the links based upon matching site_dbkeys to dataset dbkey --> + <filter>${dataset.dbkey in $site_dbkeys}</filter> + + <!-- We define url and params as normal, but values defined in dynamic_param are available by specified name --> + <url>${redirect_url}</url> + + <param type="data" name="bam_file" url="galaxy_${DATASET_HASH}.bam" /> + <param type="data" name="bai_file" url="galaxy_${DATASET_HASH}.bam.bai" metadata="bam_index" /> + <param type="template" name="site_organism" strip="True" > + $site_organisms[ $site_dbkeys.index( $bam_file.dbkey ) ] + </param> + + <param type="template" name="jnlp" url="galaxy_${DATASET_HASH}.jnlp" viewable="True" mimetype="application/x-java-jnlp-file"><?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" - codebase="http://www.broadinstitute.org/igvdata/jws/prod"> + codebase="${site_link}"> <information> <title>IGV 1.5</title> <vendor>The Broad Institute</vendor> @@ -54,17 +74,22 @@ <application-desc main-class="org.broad.igv.ui.IGVMainFrame"> <argument>-g</argument> - <argument>${bam_file.dbkey}</argument> + <argument>${site_organism}</argument> <argument>${bam_file.url}</argument> </application-desc> </jnlp> - </param> - </link> - - <link id="local" name="local"> - <url>http://localhost:60151/load?file=${qp($bam_file.url)}&genome=${qp($bam_file.dbkey)}&merge=true</url> - <param type="data" name="bam_file" url="galaxy_${DATASET_HASH}.bam" strip_https="True" /> - <param type="data" name="bai_file" url="galaxy_${DATASET_HASH}.bam.bai" metadata="bam_index" strip_https="True" /> - </link> + <param type="template" name="redirect_url" strip="True" > + #if $site_id.startswith( 'local_' ) + ${site_link}?file=${bam_file.qp}&genome=${site_organism}&merge=true + #elif $site_id.startswith( 'web_link_' ): + ${site_link}?sessionURL=${bam_file.qp}&genome=${site_organism}&merge=true + #else: + ${jnlp.url} + #end if + </param> + </dynamic_links> + + </display> +<!-- Dan Blankenberg --> \ No newline at end of file diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 display_applications/igv/vcf.xml --- /dev/null +++ b/display_applications/igv/vcf.xml @@ -0,0 +1,95 @@ +<?xml version="1.0"?> +<display id="igv_vcf" version="1.0.0" name="display with IGV"> + + <!-- Load links from file: one line to one link --> + <dynamic_links from_file="tool-data/shared/igv/igv_build_sites.txt" skip_startswith="#" id="0" name="1"> + + <!-- Define parameters by column from file, allow splitting on builds --> + <dynamic_param name="site_id" value="0"/> + <dynamic_param name="site_name" value="1"/> + <dynamic_param name="site_link" value="2"/> + <dynamic_param name="site_dbkeys" value="3" split="True" separator="," /> + <dynamic_param name="site_organisms" value="4" split="True" separator="," /> + + <!-- Filter out some of the links based upon matching site_dbkeys to dataset dbkey --> + <filter>${dataset.dbkey in $site_dbkeys}</filter> + + <!-- We define url and params as normal, but values defined in dynamic_param are available by specified name --> + <url>${redirect_url}</url> + + <param type="data" name="bgzip_file" url="galaxy_${DATASET_HASH}.vcf.gz" format="vcf_bgzip" /> + <param type="data" name="tabix_file" dataset="bgzip_file" url="galaxy_${DATASET_HASH}.vcf.gz.tbi" format="tabix" /> + <param type="template" name="site_organism" strip="True" > + $site_organisms[ $site_dbkeys.index( $bgzip_file.dbkey ) ] + </param> + + <param type="template" name="jnlp" url="galaxy_${DATASET_HASH}.jnlp" viewable="True" mimetype="application/x-java-jnlp-file"><?xml version="1.0" encoding="utf-8"?> +<jnlp + spec="1.0+" + codebase="${site_link}"> + <information> + <title>IGV 1.5</title> + <vendor>The Broad Institute</vendor> + <homepage href="http://www.broadinstitute.org/igv"/> + <description>IGV Software</description> + <description kind="short">IGV</description> + </information> + <security> + <all-permissions/> + </security> + <resources> + +<j2se version="1.5+" initial-heap-size="256m" max-heap-size="1100m"/> + <jar href="igv.jar" download="eager" main="true"/> + <jar href="batik-codec.jar" download="eager"/> + <property name="apple.laf.useScreenMenuBar" value="true"/> + <property name="com.apple.mrj.application.growbox.intrudes" value="false"/> + <property name="com.apple.mrj.application.live-resize" value="true"/> + <property name="com.apple.macos.smallTabs" value="true"/> + </resources> + + <resources os="Mac" arch="i386"> + <property name="apple.awt.graphics.UseQuartz" value="false"/> + <nativelib href="hdfnative-macintel.jar"/> + </resources> + + <resources os="Mac" arch="ppc"> + <property name="apple.awt.graphics.UseQuartz" value="false"/> + <nativelib href="hdfnative-macppc.jar"/> + </resources> + + <resources os="Mac" arch="PowerPC"> + <property name="apple.awt.graphics.UseQuartz" value="false"/> + <nativelib href="hdfnative-macppc.jar"/> + </resources> + + <resources os="Windows"> + <property name="sun.java2d.noddraw" value="true"/> + <nativelib href="hdfnative-win.jar"/> + </resources> + + <resources os="Linux"> + <nativelib href="hdfnative-linux64.jar"/> + </resources> + + <application-desc main-class="org.broad.igv.ui.IGVMainFrame"> + <argument>-g</argument> + <argument>${site_organism}</argument> + <argument>${bgzip_file.url}</argument> + </application-desc> +</jnlp> + </param> + <param type="template" name="redirect_url" strip="True" > + #if $site_id.startswith( 'local_' ) + ${site_link}?file=${bgzip_file.qp}&genome=${site_organism}&merge=true + #elif $site_id.startswith( 'web_link_' ): + ${site_link}?sessionURL=${bgzip_file.qp}&genome=${site_organism}&merge=true + #else: + ${jnlp.url} + #end if + </param> + </dynamic_links> + + +</display> +<!-- Dan Blankenberg --> \ No newline at end of file diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 lib/galaxy/datatypes/converters/vcf_bgzip_to_tabix_converter.xml --- /dev/null +++ b/lib/galaxy/datatypes/converters/vcf_bgzip_to_tabix_converter.xml @@ -0,0 +1,14 @@ +<tool id="CONVERTER_vcf_bgzip_to_tabix_0" name="Convert BGZ VCF to tabix" version="1.0.0" hidden="true"> +<!-- <description>__NOT_USED_CURRENTLY_FOR_CONVERTERS__</description> --> + <command interpreter="python">interval_to_tabix_converter.py 'vcf' '' '$input1' '$output1'</command> + <inputs> + <page> + <param format="vcf_bgzip" name="input1" type="data" label="Choose BGZIP'd VCF file"/> + </page> + </inputs> + <outputs> + <data format="tabix" name="output1"/> + </outputs> + <help> + </help> +</tool> diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 lib/galaxy/datatypes/converters/vcf_to_vcf_bgzip_converter.xml --- /dev/null +++ b/lib/galaxy/datatypes/converters/vcf_to_vcf_bgzip_converter.xml @@ -0,0 +1,14 @@ +<tool id="CONVERTER_vcf_to_vcf_bgzip_0" name="Convert VCF to VCF_BGZIP" version="1.0.0" hidden="true"> +<!-- <description>__NOT_USED_CURRENTLY_FOR_CONVERTERS__</description> --> + <command interpreter="python">bgzip.py vcf $input1 $output1</command> + <inputs> + <page> + <param format="vcf" name="input1" type="data" label="Choose Vcf file"/> + </page> + </inputs> + <outputs> + <data format="vcf_bgzip" name="output1"/> + </outputs> + <help> + </help> +</tool> diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 run.sh --- a/run.sh +++ b/run.sh @@ -15,6 +15,7 @@ tool_sheds_conf.xml.sample universe_wsgi.ini.sample tool-data/shared/ucsc/builds.txt.sample + tool-data/shared/igv/igv_build_sites.txt.sample tool-data/*.sample static/welcome.html.sample " diff -r 7897af491f07535915e2cd917afd0da981a1b45c -r 43a4ef4ec6d18dbbb50dc285afe01dfb8c6a29f8 tool-data/shared/igv/igv_build_sites.txt.sample --- /dev/null +++ b/tool-data/shared/igv/igv_build_sites.txt.sample @@ -0,0 +1,4 @@ +#site_id site_name site_url dbkey ivg_build_name +web_link_main web current http://www.broadinstitute.org/igv/projects/current/igv.php hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum +#web_jnlp_1.5 web 1.5 http://www.broadinstitute.org/igvdata/jws/prod hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum +local_default local http://localhost:60151/load hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum \ No newline at end of file Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.
participants (1)
-
Bitbucket