Skip to main content

A command line app for scalable, semi-supervised Uniprot querying

Project description

Motivation

UniProt is a great database, but there are limited options for bulk searching. Users can download a lot of entries, if they have the associated accessions already in hand, and they can perform lots of flexible searches if they can code. However, non-coders have no tools for bulk searching.

BulkProt fills this gap by allowing users to specify a list of search terms in a CSV input file, and presents the output of multiple searches as a single consolidated CSV for easy analysis. It also allows users to systematically search for entries that are likely to be equivalent to their search term, but are hard to detect via traditional searches due to inconsistent naming conventions.

Approach

Supplementary Figure 1: The BulkProt pipeline. A CSV-formatted file of UniProt queries is used as input to the BulkProt pipeline. Each search is queried against the UniProt database (via the API) to generate a seed table per search term, containing the entries associated with that term. For each seed table, the protein and gene names are extracted and used to construct a second query, which is again queried against UniProt via the API. The resulting “main search” table will contain all of the proteins and genes associated with the initial seed table search term, but will also contain irrelevant entries as a result of the unsupervised query construction. To remove these, entries in the main search table are dropped if they do not have a gene name that is present in the initial seed search table. Dropped and filtered entries are written to separate tables. The tables for all queries are concatenated to consolidate results. The final output of the BulkProt pipeline includes four CSV files: the seed table, the main table, the filtered table, and the dropped table.

Tutorial

usage: BulkProt [-h] -csv [-e] [-q] [-sd] [-f] [-o]

options:
  -h, --help            show this help message and exit
  -csv, --csv_path  (REQUIRED) Full filepath to the CSV-format file containing your queries. (default: None)
  -e, --excel_compatible
                        If set, and you include a sequence field, then sequence will be truncated to 32000 chars (the
                        maximum number of chars in an excel cell). (default: False)
  -q, --quick           If set, will run much faster, but a single query within your CSV of queries can only return up
                        to 500 results. (default: False)
  -sd, --seed_only      If set, will only perform a seed search. (default: False)
  -f, --fields      (OPTIONAL) Result fields you would like to store as columns in the output CSV. Full list of
                        available entries is at https://www.uniprot.org/help/return_fields ("Returned Field"). Input
                        fields should be seperated by a comma with no spaces (e.g. "field1,field2,..."). For example,
                        if you only want Entry and Entry Name for each output entry, put "accession,id". (default: acc
                        ession,id,protein_name,gene_names,organism_name,length,sequence,go_p,go_c,go,go_f,ft_topo_dom,
                        ft_transmem,cc_subcellular_location,ft_intramem)
  -o, --organism_id
                        (OPTIONAL) Default ID codes for homo sapiens. All seed and main search results will be
                        specific to this organism. Including a specific organism as part of your csv queries may cause
                        an error if it conflicts with the organism specified here. See here for all available IDs:
                        https://www.uniprot.org/taxonomy/?query=* (default: 9606)

Examples

See application note ("Citation") and associated data - https://github.com/Tim-Kirkwood/BulkProt_application_note.

Citation

TBC

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bulkprot-0.0.1.post1.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bulkprot-0.0.1.post1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file bulkprot-0.0.1.post1.tar.gz.

File metadata

  • Download URL: bulkprot-0.0.1.post1.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for bulkprot-0.0.1.post1.tar.gz
Algorithm Hash digest
SHA256 238f240507080cc97bb0c935f27a538f3d58d789442b5428e3a3755aab00f75c
MD5 aa55b2338ffe6ba2f58b8a02262401d3
BLAKE2b-256 59220e543ee1cac233e530c914ff31cef7ca1628a2c72a75e05c86e42e31368f

See more details on using hashes here.

File details

Details for the file bulkprot-0.0.1.post1-py3-none-any.whl.

File metadata

  • Download URL: bulkprot-0.0.1.post1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for bulkprot-0.0.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 fbc086cf934a65a69bdbf66b4c77e1839aabdb34ca051d129845efc6c3c9d2c5
MD5 3e1bf3148ad8499f06a2a606e1dde28d
BLAKE2b-256 d4dd5ffc547ed3bdd4939249892803fcfcf213c46c5b686cd68e499dc1baf947

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page