Skip to main content

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

Project description

Motivation

UniProt is a great database, but there limited options for bulk searching. Users can download a lot of entries if they have accessions for specific entries already in hand, and they can perform lots of flexible searches if they can code, but 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.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-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bulkprot-0.0.1.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.tar.gz
Algorithm Hash digest
SHA256 613573fd3259a261b5d3a014d7c710ad89aa65dc16a425c521fd73415426eac4
MD5 6a8d55325dd2384ff8870b94ff96e46a
BLAKE2b-256 fccd3f06e445e659b4e6b88d171af168e6d4f0bbda4bb2d9284284df64aebd1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bulkprot-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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-py3-none-any.whl
Algorithm Hash digest
SHA256 79249812a94859cccfae22e9c96de3fe3b25d02bc7bfad7d9c749187d6fdb451
MD5 6e17d7e2ebb52d5446257106ad86dad8
BLAKE2b-256 d1fae68c6cc2e1e30d50b077f8b2a3a426ec2de889a7b5daa9213a8573520e6e

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