VDJ assignment and antibody sequence annotation. Scalable from a single sequence to billions of sequences.
- Source code: github.com/briney/abstar
- Documentation: abstar.readthedocs.org
- Download: pypi.python.org/pypi/abstar
- Docker: hub.docker.com/r/briney/abstar/
pip install abstar
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
-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.
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.
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
To run the test suite, clone or download the repository and run pytest ./
from the top-level directory.
Python 2.7, 3.5+
abutils
biopython
celery
mock (Python 2.7 only)
nwalign3 (nwalign for Python 2.7)
pymongo
pytest
scikit-bio (<=0.4.2 for Python 2.7)
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