Giter Club home page Giter Club logo

abstar's Introduction

Build Status Documentation Status

abstar

VDJ assignment and antibody sequence annotation. Scalable from a single sequence to billions of sequences.

install

pip install abstar

use

To run abstar on a single FASTA or FASTQ file:
abstar -i <input-file> -o <output-directory> -t <temp-directory>

To iteratively run abstar on all files in an input directory:
abstar -i <input-directory> -o <output-directory> -t <temp-directory>

To run abstar using the included test data as input:
abstar -o <output-directory> -t <temp-directory> --use-test-data

When using the abstar test data, note that although the test data file contains 1,000 sequences, one of the test sequences is not a valid antibody recombination. Only 999 sequences should be processed successfully.

When using BaseSpace as the input data source, you can optionally provide all of the required directories:
abstar -i <input-directory> -o <output-directory> -t <temp-directory> -b

Or you can simply provide a single project directory, and all required directories will be created in the project directory:
abstar -p <project_directory> -b

additional options

-l LOG_LOCATION, --log LOG_LOCATION Change the log directory location. Default is the parent directory of <output_directory>.

-m, --merge Input directory should contain paired FASTQ (or gzipped FASTQ) files. Paired files will be merged with PANDAseq prior to processing with abstar. Note that when using the BaseSpace option (-b, --basespace), this option is implied.

-b, --basespace Download a sequencing run from BaseSpace, which is Illumina's cloud storage environment. Since Illumina sequencers produce paired-end reads, --merge is implied.

-u N, --uaid N Sequences contain a unique antibody ID (UAID, or molecular barcode) of length N. The uaid will be parsed from the beginning of each input sequence and added to the JSON output. Negative values result in the UAID being parsed from the end of the sequence.

-s SPECIES, --species SPECIES Select the species from which the input sequences are derived. Supported options are 'human', 'mouse', and 'macaque'. Default is 'human'.

-c, --cluster Runs abstar in distributed mode on a Celery cluster.

-h, --help Prints detailed information about all runtime options.

-D --debug Much more verbose logging.

api

Most core abstar functions are available through a public API, making it easier to run abstar as a component of integrated analysis pipelines. See the abstar documentation for more detail about the API.

helper scripts

A few helper scripts are included with abstar:
batch_mongoimport automates the import of multiple JSON output files into a MongoDB database.
build_abstar_germline_db creates abstar germline databases from IMGT-gapped FASTA files of V, D and J gene segments.
make_basespace_credfile makes a credentials file for BaseSpace, which is required if downloading sequences from BaseSpace with abstar. Developer credentials are required, and the process for obtaining them is explained here

testing

To run the test suite, clone or download the repository and run pytest ./ from the top-level directory.

requirements

Python 3.8+
abutils
biopython
celery
nwalign3
pymongo
pytest
scikit-bio

All of the above dependencies can be installed with pip, and will be installed automatically when installing abstar with pip.
If you're new to Python, a great way to get started is to install the Anaconda Python distribution, which includes pip as well as a ton of useful scientific Python packages.

sequence merging requires PANDAseq
batch_mongoimport requires MongoDB
BaseSpace downloading requires the BaseSpace Python SDK

abstar's People

Contributors

briney avatar jwillis0720 avatar collinj0 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.