Skip to main content

Command Line Interface to upload data to the European Nucleotide Archive

Project description

ENA upload tool

About

The program submits experimental data and respective metadata to the European Nucleotide Archive (ENA). The metadata should be provided in separate tables corresponding to the following ENA objects:

  • STUDY
  • SAMPLE
  • EXPERIMENT
  • RUN

The program to perform the following actions:

  • add: add an object to the archive
  • modify: modify an object in the archive
  • cancel: cancel a private object and its dependent objects (under development)
  • release: release a private object immediately to the public (under development)

The tool dependencies in LINUX

  • curl
  • Genshi
  • subprocess
  • shlex
  • json
  • argparse
  • hashlib
  • ftplib
  • uuid
  • datetime
  • lxml
  • pandas

Installation

pip install ena-upload-cli

Test the tool

This is still a developmental version, please run the tool in the program directory for now.

inputs:

  • metadata tables
    • examples in example_table
    • Please define actions in status column e.g. add, modify, cancel, release
    • to perform bulk submission of all objects, the aliases ids in different ENA objects should be in the association where alias ids in experiment object link all objects together
  • experimental data
    • examples in example_data

outputs:

  • In the same directory of inputs
  • metadata tables with updated info in status and other relevant columns, e.g:
    • updated status: added, modified, canceled, released
    • accession ids
    • submission date

test command: add metadata and sequence data

python ena_upload.py --action add --center 'your_center_name' --webin_id your_id --password your_password --study example_tables/ENA_template_studies.tsv --sample example_tables/ENA_template_samples.tsv --experiment example_tables/ENA_template_experiments.tsv --run example_tables/ENA_template_runs.tsv --data example_data/*gz

test command: modify a metadata

python ena_upload.py --action modify --center 'your_center_name' --webin_id your_id --password your_password --study example_tables/ENA_template_studies-2020-05-01T14\:21.tsv

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

ena-upload-cli-0.1.2.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

ena_upload_cli-0.1.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file ena-upload-cli-0.1.2.tar.gz.

File metadata

  • Download URL: ena-upload-cli-0.1.2.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for ena-upload-cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b4e89bc61edb62517d1e155f8c5d7a435b621bcb24f1e28b5f4d33d721554ae0
MD5 7e8bfd18c586d927324400bc09380077
BLAKE2b-256 a405db2bc8619797e1ac7677de690e3d7388a25d9bd7f2f2d1ca00e6c076e54d

See more details on using hashes here.

Provenance

File details

Details for the file ena_upload_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ena_upload_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for ena_upload_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9a864cd973421becc8825250acb8c997b5e8149266dc292a096c60f0f334b752
MD5 1396a6121ce04ac52b3bf435ea771023
BLAKE2b-256 efcdd39c46e9f9b40e9aa25464ac6109d0ddc0e2e41cbeb259473bf637fa2bda

See more details on using hashes here.

Provenance

Supported by

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