Mercurial > repos > iuc > ncbi_entrez_direct_efetch
comparison __efetch_build_options.py @ 0:91efba463050 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ncbi_entrez_direct commit 8f96f378620bb663dcce2845ecb14355413f7afa"
| author | iuc |
|---|---|
| date | Tue, 22 Mar 2022 22:30:08 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:91efba463050 |
|---|---|
| 1 #!/usr/bin/env python | |
| 2 | |
| 3 # Daniel Blankenberg | |
| 4 # Creates the options for tool interface | |
| 5 | |
| 6 # http://eutils.ncbi.nlm.nih.gov/entrez/eutils/einfo.fcgi | |
| 7 db_list = '''<DbName>pubmed</DbName> | |
| 8 <DbName>protein</DbName> | |
| 9 <DbName>nuccore</DbName> | |
| 10 <DbName>nucleotide</DbName> | |
| 11 <DbName>nucgss</DbName> | |
| 12 <DbName>nucest</DbName> | |
| 13 <DbName>structure</DbName> | |
| 14 <DbName>genome</DbName> | |
| 15 <DbName>annotinfo</DbName> | |
| 16 <DbName>assembly</DbName> | |
| 17 <DbName>bioproject</DbName> | |
| 18 <DbName>biosample</DbName> | |
| 19 <DbName>blastdbinfo</DbName> | |
| 20 <DbName>books</DbName> | |
| 21 <DbName>cdd</DbName> | |
| 22 <DbName>clinvar</DbName> | |
| 23 <DbName>clone</DbName> | |
| 24 <DbName>gap</DbName> | |
| 25 <DbName>gapplus</DbName> | |
| 26 <DbName>grasp</DbName> | |
| 27 <DbName>dbvar</DbName> | |
| 28 <DbName>gene</DbName> | |
| 29 <DbName>gds</DbName> | |
| 30 <DbName>geoprofiles</DbName> | |
| 31 <DbName>homologene</DbName> | |
| 32 <DbName>medgen</DbName> | |
| 33 <DbName>mesh</DbName> | |
| 34 <DbName>ncbisearch</DbName> | |
| 35 <DbName>nlmcatalog</DbName> | |
| 36 <DbName>omim</DbName> | |
| 37 <DbName>orgtrack</DbName> | |
| 38 <DbName>pmc</DbName> | |
| 39 <DbName>popset</DbName> | |
| 40 <DbName>probe</DbName> | |
| 41 <DbName>proteinclusters</DbName> | |
| 42 <DbName>pcassay</DbName> | |
| 43 <DbName>biosystems</DbName> | |
| 44 <DbName>pccompound</DbName> | |
| 45 <DbName>pcsubstance</DbName> | |
| 46 <DbName>pubmedhealth</DbName> | |
| 47 <DbName>seqannot</DbName> | |
| 48 <DbName>snp</DbName> | |
| 49 <DbName>sra</DbName> | |
| 50 <DbName>taxonomy</DbName> | |
| 51 <DbName>unigene</DbName> | |
| 52 <DbName>gencoll</DbName> | |
| 53 <DbName>gtr</DbName>'''.replace("<DbName>", "").replace("</DbName>", "").split("\n") | |
| 54 | |
| 55 | |
| 56 help = ''' (all) | |
| 57 docsum DocumentSummarySet XML | |
| 58 docsum json DocumentSummarySet JSON | |
| 59 full Same as native except for mesh | |
| 60 uid Unique Identifier List | |
| 61 url Entrez URL | |
| 62 xml Same as -format full -mode xml | |
| 63 | |
| 64 bioproject | |
| 65 native BioProject Report | |
| 66 native xml RecordSet XML | |
| 67 | |
| 68 biosample | |
| 69 native BioSample Report | |
| 70 native xml BioSampleSet XML | |
| 71 | |
| 72 biosystems | |
| 73 native xml Sys-set XML | |
| 74 | |
| 75 gds | |
| 76 native xml RecordSet XML | |
| 77 summary Summary | |
| 78 | |
| 79 gene | |
| 80 gene_table Gene Table | |
| 81 native Gene Report | |
| 82 native asn.1 Entrezgene ASN.1 | |
| 83 native xml Entrezgene-Set XML | |
| 84 tabular Tabular Report | |
| 85 | |
| 86 homologene | |
| 87 alignmentscores Alignment Scores | |
| 88 fasta FASTA | |
| 89 homologene Homologene Report | |
| 90 native Homologene List | |
| 91 native asn.1 HG-Entry ASN.1 | |
| 92 native xml Entrez-Homologene-Set XML | |
| 93 | |
| 94 mesh | |
| 95 full Full Record | |
| 96 native MeSH Report | |
| 97 native xml RecordSet XML | |
| 98 | |
| 99 nlmcatalog | |
| 100 native Full Record | |
| 101 native xml NLMCatalogRecordSet XML | |
| 102 | |
| 103 pmc | |
| 104 medline MEDLINE | |
| 105 native xml pmc-articleset XML | |
| 106 | |
| 107 pubmed | |
| 108 abstract Abstract | |
| 109 medline MEDLINE | |
| 110 native asn.1 Pubmed-entry ASN.1 | |
| 111 native xml PubmedArticleSet XML | |
| 112 | |
| 113 (sequences) | |
| 114 acc Accession Number | |
| 115 est EST Report | |
| 116 fasta FASTA | |
| 117 fasta xml TinySeq XML | |
| 118 fasta_cds_aa FASTA of CDS Products | |
| 119 fasta_cds_na FASTA of Coding Regions | |
| 120 ft Feature Table | |
| 121 gb GenBank Flatfile | |
| 122 gb xml GBSet XML | |
| 123 gbc xml INSDSet XML | |
| 124 gbwithparts GenBank with Contig Sequences | |
| 125 gene_fasta FASTA of Gene | |
| 126 gp GenPept Flatfile | |
| 127 gp xml GBSet XML | |
| 128 gpc xml INSDSet XML | |
| 129 gss GSS Report | |
| 130 ipg Identical Protein Report | |
| 131 ipg xml IPGReportSet XML | |
| 132 native text Seq-entry ASN.1 | |
| 133 native xml Bioseq-set XML | |
| 134 seqid Seq-id ASN.1 | |
| 135 | |
| 136 snp | |
| 137 chr Chromosome Report | |
| 138 docset Summary | |
| 139 fasta FASTA | |
| 140 flt Flat File | |
| 141 native asn.1 Rs ASN.1 | |
| 142 native xml ExchangeSet XML | |
| 143 rsr RS Cluster Report | |
| 144 ssexemplar SS Exemplar List | |
| 145 | |
| 146 sra | |
| 147 native xml EXPERIMENT_PACKAGE_SET XML | |
| 148 runinfo xml SraRunInfo XML | |
| 149 | |
| 150 structure | |
| 151 mmdb Ncbi-mime-asn1 strucseq ASN.1 | |
| 152 native MMDB Report | |
| 153 native xml RecordSet XML | |
| 154 | |
| 155 taxonomy | |
| 156 native Taxonomy List | |
| 157 native xml TaxaSet XML'''.split("\n") | |
| 158 | |
| 159 db = {} | |
| 160 name = None | |
| 161 all = "(all)" | |
| 162 for line in help: | |
| 163 if line.strip() and line[2] != ' ': | |
| 164 name = line.strip() | |
| 165 db[name] = {} | |
| 166 elif line.strip(): | |
| 167 format = line[0:len(" docsum ")].strip() | |
| 168 mode = line[len(" docsum "):len(" docsum json ")].strip() | |
| 169 if format not in db[name]: | |
| 170 db[name][format] = [] | |
| 171 db[name][format].append(mode) | |
| 172 | |
| 173 for name in db_list: | |
| 174 if name not in db: | |
| 175 db[name] = {} | |
| 176 | |
| 177 db["sequences"] = db["(sequences)"] | |
| 178 del db["(sequences)"] | |
| 179 | |
| 180 print('<conditional name="db">') | |
| 181 print(' <param name="db" type="select" label="Database" argument="-db">') | |
| 182 for name in sorted(db.keys()): | |
| 183 if name == all: | |
| 184 continue | |
| 185 print(' <option value="%s">%s</option>' % (name, name)) | |
| 186 print(' <option value="">Manual Entry</option>') | |
| 187 print(' </param>') | |
| 188 | |
| 189 for name in sorted(db.keys()): | |
| 190 if name == all: | |
| 191 continue | |
| 192 my_dict = db[all].copy() | |
| 193 | |
| 194 for format, modes in db[name].items(): | |
| 195 if format in my_dict: | |
| 196 for mode in modes: | |
| 197 if mode not in my_dict[format]: | |
| 198 my_dict[format].append(mode) | |
| 199 else: | |
| 200 my_dict[format] = modes | |
| 201 if "" not in my_dict: | |
| 202 my_dict[""] = [""] | |
| 203 print(' <when value="%s">' % name) | |
| 204 print(' <conditional name="format">') | |
| 205 print(' <param name="format" type="select" label="Format" argument="-format">') | |
| 206 for format in sorted(my_dict.keys()): | |
| 207 print(' <option value="%s">%s</option>' % (format, format or "None")) | |
| 208 print(' </param>') | |
| 209 for format in sorted(my_dict.keys()): | |
| 210 print(' <when value="%s">' % format) | |
| 211 print(' <param name="mode" type="select" label="Mode" argument="-mode">') | |
| 212 if "" not in my_dict[format]: | |
| 213 my_dict[format].append("") | |
| 214 for mode in sorted(my_dict[format]): | |
| 215 print(' <option value="%s">%s</option>' % (mode, mode or "None")) | |
| 216 print(' </param>') | |
| 217 print(' </when>') | |
| 218 print(' </conditional>') | |
| 219 print(' </when>') | |
| 220 print(' <when value="">') | |
| 221 print(' <param name="db_manual" type="text" label="Database" argument="-db"/>') | |
| 222 print(' <param name="format" type="text" label="Format" argument="-format"/>') | |
| 223 print(' <param name="mode" type="text" label="Mode" argument="-mode"/>') | |
| 224 print(' </when>') | |
| 225 print('</conditional>') |
