Mercurial > repos > fubar > jbrowse2
comparison jbrowse2.py @ 49:7e867ff86e44 draft
planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 3a43e9e0ffce0966101203102e769d1ced28618a-dirty
author | fubar |
---|---|
date | Thu, 07 Mar 2024 00:27:48 +0000 |
parents | 460d5b6c5d98 |
children | f350467f9433 |
comparison
equal
deleted
inserted
replaced
48:460d5b6c5d98 | 49:7e867ff86e44 |
---|---|
600 # dsId = trackData["metadata"]["dataset_id"] | 600 # dsId = trackData["metadata"]["dataset_id"] |
601 # url = "%s/api/datasets/%s/display?to_ext=hic " % (self.giURL, dsId) | 601 # url = "%s/api/datasets/%s/display?to_ext=hic " % (self.giURL, dsId) |
602 useuri = trackData["useuri"].lower() == "yes" | 602 useuri = trackData["useuri"].lower() == "yes" |
603 if useuri: | 603 if useuri: |
604 uri = data | 604 uri = data |
605 adapt = { | |
606 "type": "HicAdapter", | |
607 "hicLocation": uri, | |
608 "locationType": "UriLocation", | |
609 }, | |
605 else: | 610 else: |
606 uri = trackData["hic_url"] | 611 uri = trackData["hic_url"] |
612 adapt = { | |
613 "type": "HicAdapter", | |
614 "hicLocation": uri, | |
615 }, | |
607 trackDict = { | 616 trackDict = { |
608 "type": "HicTrack", | 617 "type": "HicTrack", |
609 "trackId": tId, | 618 "trackId": tId, |
610 "name": uri, | 619 "name": uri, |
611 "assemblyNames": [self.genome_name], | 620 "assemblyNames": [self.genome_name], |
612 "adapter": { | 621 "adapter": adapt, |
613 "type": "HicAdapter", | |
614 "hicLocation": uri, | |
615 }, | |
616 "displays": [ | 622 "displays": [ |
617 { | 623 { |
618 "type": "LinearHicDisplay", | 624 "type": "LinearHicDisplay", |
619 "displayId": "%s-LinearHicDisplay" % tId, | 625 "displayId": "%s-LinearHicDisplay" % tId, |
620 }, | 626 }, |
779 "constraints": {} | 785 "constraints": {} |
780 """ | 786 """ |
781 useuri = trackData["useuri"].lower() == "yes" | 787 useuri = trackData["useuri"].lower() == "yes" |
782 if useuri: | 788 if useuri: |
783 url = data | 789 url = data |
790 adapt = { | |
791 "type": "BigWigAdapter", | |
792 "bigWigLocation": {"uri": url}, | |
793 "locationType": "UriLocation", | |
794 } | |
784 else: | 795 else: |
785 url = "%s.bigwig" % trackData["label"] | 796 url = "%s.bigwig" % trackData["label"] |
786 # slashes in names cause path trouble | 797 # slashes in names cause path trouble |
787 dest = os.path.join(self.outdir, url) | 798 dest = os.path.join(self.outdir, url) |
788 cmd = ["cp", data, dest] | 799 cmd = ["cp", data, dest] |
789 self.subprocess_check_call(cmd) | 800 self.subprocess_check_call(cmd) |
790 bwloc = {"uri": url} | 801 adapt = { |
802 "type": "BigWigAdapter", | |
803 "bigWigLocation": {"uri": url}, | |
804 } | |
791 tId = trackData["label"] | 805 tId = trackData["label"] |
792 trackDict = { | 806 trackDict = { |
793 "type": "QuantitativeTrack", | 807 "type": "QuantitativeTrack", |
794 "trackId": tId, | 808 "trackId": tId, |
795 "name": trackData["name"], | 809 "name": trackData["name"], |
796 "assemblyNames": [ | 810 "assemblyNames": [ |
797 self.genome_name, | 811 self.genome_name, |
798 ], | 812 ], |
799 "adapter": { | 813 "adapter": adapt, |
800 "type": "BigWigAdapter", | |
801 "bigWigLocation": bwloc, | |
802 }, | |
803 "displays": [ | 814 "displays": [ |
804 { | 815 { |
805 "type": "LinearWiggleDisplay", | 816 "type": "LinearWiggleDisplay", |
806 "displayId": "%s-LinearWiggleDisplay" % tId, | 817 "displayId": "%s-LinearWiggleDisplay" % tId, |
807 } | 818 } |
816 tId = trackData["label"] | 827 tId = trackData["label"] |
817 useuri = trackData["useuri"].lower() == "yes" | 828 useuri = trackData["useuri"].lower() == "yes" |
818 bindex = bam_index | 829 bindex = bam_index |
819 if useuri: | 830 if useuri: |
820 url = data | 831 url = data |
832 adapt = { | |
833 "type": "BamAdapter", | |
834 "bamLocation": {"uri": url}, | |
835 "index": { | |
836 "location": { | |
837 "uri": bindex, | |
838 "locationType": "UriLocation", | |
839 } | |
840 } | |
841 } | |
821 else: | 842 else: |
822 fname = "%s.bam" % trackData["label"] | 843 fname = "%s.bam" % trackData["label"] |
823 dest = "%s/%s" % (self.outdir, fname) | 844 dest = "%s/%s" % (self.outdir, fname) |
824 url = fname | 845 url = fname |
825 bindex = fname + '.bai' | 846 bindex = fname + '.bai' |
826 self.subprocess_check_call(["cp", data, dest]) | 847 self.subprocess_check_call(["cp", data, dest]) |
848 adapt = { | |
849 "type": "BamAdapter", | |
850 "bamLocation": {"uri": url}, | |
851 "index": { | |
852 "location": { | |
853 "uri": bindex, | |
854 } | |
855 } | |
856 } | |
827 if bam_index is not None and os.path.exists(bam_index): | 857 if bam_index is not None and os.path.exists(bam_index): |
828 if not os.path.exists(bindex): | 858 if not os.path.exists(bindex): |
829 # bai most probably made by galaxy and stored in galaxy dirs, need to copy it to dest | 859 # bai most probably made by galaxy and stored in galaxy dirs, need to copy it to dest |
830 self.subprocess_check_call( | 860 self.subprocess_check_call( |
831 ["cp", bam_index, bindex] | 861 ["cp", bam_index, bindex] |
842 trackDict = { | 872 trackDict = { |
843 "type": "AlignmentsTrack", | 873 "type": "AlignmentsTrack", |
844 "trackId": tId, | 874 "trackId": tId, |
845 "name": trackData["name"], | 875 "name": trackData["name"], |
846 "assemblyNames": [self.genome_name], | 876 "assemblyNames": [self.genome_name], |
847 "adapter": { | 877 "adapter": adapt, |
848 "type": "BamAdapter", | |
849 "bamLocation": {"uri": url}, | |
850 "index": { | |
851 "location": { | |
852 "uri": bindex, | |
853 } | |
854 }, | |
855 }, | |
856 "displays": [ | 878 "displays": [ |
857 { | 879 { |
858 "type": "LinearAlignmentsDisplay", | 880 "type": "LinearAlignmentsDisplay", |
859 "displayId": "%s-LinearAlignmentsDisplay" % tId, | 881 "displayId": "%s-LinearAlignmentsDisplay" % tId, |
860 }, | 882 }, |
869 tId = trackData["label"] | 891 tId = trackData["label"] |
870 useuri = trackData["useuri"].lower() == "yes" | 892 useuri = trackData["useuri"].lower() == "yes" |
871 bindex = cram_index | 893 bindex = cram_index |
872 if useuri: | 894 if useuri: |
873 url = data | 895 url = data |
896 adapt = { | |
897 "type": "CramAdapter", | |
898 "cramLocation": {"uri": url}, | |
899 "craiLocation": { | |
900 "uri": bindex, | |
901 "locationType": "UriLocation", | |
902 }, | |
903 "sequenceAdapter": self.genome_sequence_adapter, | |
904 } | |
874 else: | 905 else: |
875 fname = "%s.cram" % trackData["label"] | 906 fname = "%s.cram" % trackData["label"] |
876 dest = "%s/%s" % (self.outdir, fname) | 907 dest = "%s/%s" % (self.outdir, fname) |
877 bindex = fname + '.bai' | 908 bindex = fname + '.bai' |
878 url = fname | 909 url = fname |
879 self.subprocess_check_call(["cp", data, dest]) | 910 self.subprocess_check_call(["cp", data, dest]) |
880 | 911 adapt = { |
912 "type": "CramAdapter", | |
913 "cramLocation": {"uri": url}, | |
914 "craiLocation": { | |
915 "uri": bindex, | |
916 }, | |
917 "sequenceAdapter": self.genome_sequence_adapter, | |
918 } | |
881 if bindex is not None and os.path.exists(bindex): | 919 if bindex is not None and os.path.exists(bindex): |
882 if not os.path.exists(dest+'.crai'): | 920 if not os.path.exists(dest+'.crai'): |
883 # most probably made by galaxy and stored in galaxy dirs, need to copy it to dest | 921 # most probably made by galaxy and stored in galaxy dirs, need to copy it to dest |
884 self.subprocess_check_call( | 922 self.subprocess_check_call( |
885 ["cp", os.path.realpath(cram_index), dest + ".crai"] | 923 ["cp", os.path.realpath(cram_index), dest + ".crai"] |
898 trackDict = { | 936 trackDict = { |
899 "type": "AlignmentsTrack", | 937 "type": "AlignmentsTrack", |
900 "trackId": tId, | 938 "trackId": tId, |
901 "name": trackData["name"], | 939 "name": trackData["name"], |
902 "assemblyNames": [self.genome_name], | 940 "assemblyNames": [self.genome_name], |
903 "adapter": { | 941 "adapter": adapt, |
904 "type": "CramAdapter", | |
905 "cramLocation": {"uri": url}, | |
906 "craiLocation": { | |
907 "uri": bindex, | |
908 }, | |
909 "sequenceAdapter": self.genome_sequence_adapter, | |
910 }, | |
911 "displays": [ | 942 "displays": [ |
912 { | 943 { |
913 "type": "LinearAlignmentsDisplay", | 944 "type": "LinearAlignmentsDisplay", |
914 "displayId": "%s-LinearAlignmentsDisplay" % tId, | 945 "displayId": "%s-LinearAlignmentsDisplay" % tId, |
915 }, | 946 }, |
928 # ) | 959 # ) |
929 | 960 |
930 useuri = trackData["useuri"].lower() == "yes" | 961 useuri = trackData["useuri"].lower() == "yes" |
931 if useuri: | 962 if useuri: |
932 url = data | 963 url = data |
964 adapt = { | |
965 "type": "VcfTabixAdapter", | |
966 "vcfGzLocation": { | |
967 "uri": url, | |
968 "locationType": "UriLocation", | |
969 }, | |
970 "index": { | |
971 "location": { | |
972 "uri": url + ".tbi", | |
973 "locationType": "UriLocation", | |
974 } | |
975 }, | |
976 }, | |
933 else: | 977 else: |
934 url = "%s.vcf.gz" % tId | 978 url = "%s.vcf.gz" % tId |
935 dest = "%s/%s" % (self.outdir, url) | 979 dest = "%s/%s" % (self.outdir, url) |
936 cmd = "bgzip -c %s > %s" % (data, dest) | 980 cmd = "bgzip -c %s > %s" % (data, dest) |
937 self.subprocess_popen(cmd) | 981 self.subprocess_popen(cmd) |
938 cmd = ["tabix", "-f", "-p", "vcf", dest] | 982 cmd = ["tabix", "-f", "-p", "vcf", dest] |
939 self.subprocess_check_call(cmd) | 983 self.subprocess_check_call(cmd) |
984 adapt = { | |
985 "type": "VcfTabixAdapter", | |
986 "vcfGzLocation": { | |
987 "uri": url | |
988 }, | |
989 "index": { | |
990 "location": { | |
991 "uri": url + ".tbi", | |
992 } | |
993 }, | |
994 } | |
940 trackDict = { | 995 trackDict = { |
941 "type": "VariantTrack", | 996 "type": "VariantTrack", |
942 "trackId": tId, | 997 "trackId": tId, |
943 "name": trackData["name"], | 998 "name": trackData["name"], |
944 "assemblyNames": [self.genome_name], | 999 "assemblyNames": [self.genome_name], |
945 "adapter": { | 1000 "adapter": adapt, |
946 "type": "VcfTabixAdapter", | |
947 "vcfGzLocation": { | |
948 "uri": url | |
949 }, | |
950 "index": { | |
951 "location": { | |
952 "uri": url + ".tbi", | |
953 } | |
954 }, | |
955 }, | |
956 "displays": [ | 1001 "displays": [ |
957 { | 1002 { |
958 "type": "LinearVariantDisplay", | 1003 "type": "LinearVariantDisplay", |
959 "displayId": "%s-LinearVariantDisplay" % tId, | 1004 "displayId": "%s-LinearVariantDisplay" % tId, |
960 }, | 1005 }, |
993 | 1038 |
994 def add_gff(self, data, ext, trackData): | 1039 def add_gff(self, data, ext, trackData): |
995 useuri = trackData["useuri"].lower() == "yes" | 1040 useuri = trackData["useuri"].lower() == "yes" |
996 if useuri: | 1041 if useuri: |
997 url = trackData["path"] | 1042 url = trackData["path"] |
1043 adapter = { | |
1044 "type": "Gff3TabixAdapter", | |
1045 "gffGzLocation": { | |
1046 "uri": url, | |
1047 "locationType": "UriLocation", | |
1048 }, | |
1049 "index": { | |
1050 "location": { | |
1051 "uri": url + ".tbi", | |
1052 "locationType": "UriLocation", | |
1053 } | |
1054 }, | |
1055 } | |
998 else: | 1056 else: |
999 url = "%s.%s.gz" % (trackData["label"], ext) | 1057 url = "%s.%s.gz" % (trackData["label"], ext) |
1000 dest = "%s/%s" % (self.outdir, url) | 1058 dest = "%s/%s" % (self.outdir, url) |
1001 self._sort_gff(data, dest) | 1059 self._sort_gff(data, dest) |
1060 adapter = { | |
1061 "type": "Gff3TabixAdapter", | |
1062 "gffGzLocation": { | |
1063 "uri": url, | |
1064 }, | |
1065 "index": { | |
1066 "location": { | |
1067 "uri": url + ".tbi", | |
1068 } | |
1069 }, | |
1070 } | |
1002 tId = trackData["label"] | 1071 tId = trackData["label"] |
1003 trackDict = { | 1072 trackDict = { |
1004 "type": "FeatureTrack", | 1073 "type": "FeatureTrack", |
1005 "trackId": tId, | 1074 "trackId": tId, |
1006 "name": trackData["name"], | 1075 "name": trackData["name"], |
1007 "assemblyNames": [self.genome_name], | 1076 "assemblyNames": [self.genome_name], |
1008 "adapter": { | 1077 "adapter": adapt, |
1009 "type": "Gff3TabixAdapter", | |
1010 "gffGzLocation": { | |
1011 "uri": url, | |
1012 }, | |
1013 "index": { | |
1014 "location": { | |
1015 "uri": url + ".tbi", | |
1016 } | |
1017 }, | |
1018 }, | |
1019 "displays": [ | 1078 "displays": [ |
1020 { | 1079 { |
1021 "type": "LinearBasicDisplay", | 1080 "type": "LinearBasicDisplay", |
1022 "displayId": "%s-LinearBasicDisplay" % tId, | 1081 "displayId": "%s-LinearBasicDisplay" % tId, |
1023 }, | 1082 }, |
1035 def add_bed(self, data, ext, trackData): | 1094 def add_bed(self, data, ext, trackData): |
1036 tId = trackData["label"] | 1095 tId = trackData["label"] |
1037 useuri = trackData["useuri"].lower() == "yes" | 1096 useuri = trackData["useuri"].lower() == "yes" |
1038 if useuri: | 1097 if useuri: |
1039 url = data | 1098 url = data |
1099 adapt = { | |
1100 "type": "BedTabixAdapter", | |
1101 "bedGzLocation": { | |
1102 "uri": url, | |
1103 "locationType": "UriLocation", | |
1104 }, | |
1105 "index": { | |
1106 "location": { | |
1107 "uri": url + ".tbi", | |
1108 "locationType": "UriLocation", | |
1109 } | |
1110 }, | |
1111 } | |
1040 else: | 1112 else: |
1041 url = "%s.%s.gz" % (trackData["label"], ext) | 1113 url = "%s.%s.gz" % (trackData["label"], ext) |
1042 dest = "%s/%s" % (self.outdir, url) | 1114 dest = "%s/%s" % (self.outdir, url) |
1043 self._sort_bed(data, dest) | 1115 self._sort_bed(data, dest) |
1116 adapt = { | |
1117 "type": "BedTabixAdapter", | |
1118 "bedGzLocation": { | |
1119 "uri": url, | |
1120 }, | |
1121 "index": { | |
1122 "location": { | |
1123 "uri": url + ".tbi", | |
1124 } | |
1125 }, | |
1126 } | |
1044 trackDict = { | 1127 trackDict = { |
1045 "type": "FeatureTrack", | 1128 "type": "FeatureTrack", |
1046 "trackId": tId, | 1129 "trackId": tId, |
1047 "name": trackData["name"], | 1130 "name": trackData["name"], |
1048 "assemblyNames": [self.genome_name], | 1131 "assemblyNames": [self.genome_name], |
1049 "adapter": { | 1132 "adapter": adapt, |
1050 "type": "BedTabixAdapter", | |
1051 "bedGzLocation": { | |
1052 "uri": url, | |
1053 }, | |
1054 "index": { | |
1055 "location": { | |
1056 "uri": url + ".tbi", | |
1057 } | |
1058 }, | |
1059 }, | |
1060 "displays": [ | 1133 "displays": [ |
1061 { | 1134 { |
1062 "type": "LinearBasicDisplay", | 1135 "type": "LinearBasicDisplay", |
1063 "displayId": "%s-LinearBasicDisplay" % tId, | 1136 "displayId": "%s-LinearBasicDisplay" % tId, |
1064 }, | 1137 }, |
1104 trackDict = { | 1177 trackDict = { |
1105 "type": "SyntenyTrack", | 1178 "type": "SyntenyTrack", |
1106 "trackId": tId, | 1179 "trackId": tId, |
1107 "assemblyNames": passnames, | 1180 "assemblyNames": passnames, |
1108 "name": tname, | 1181 "name": tname, |
1109 "adapter": { | 1182 "adapter": adapt, |
1110 "type": "PAFAdapter", | |
1111 "pafLocation": {"uri": url}, | |
1112 "assemblyNames": passnames, | |
1113 }, | |
1114 # "displays": [ | 1183 # "displays": [ |
1115 # { | 1184 # { |
1116 # "type": "LinearSyntenyDisplay", | 1185 # "type": "LinearSyntenyDisplay", |
1117 # "displayId": "%s-LinearSyntenyDisplay" % tId, | 1186 # "displayId": "%s-LinearSyntenyDisplay" % tId, |
1118 # }, | 1187 # }, |