Package: abseqPy
Table of contentsIntroductionAbSeqDevelopersPrerequisitesSeamless installation of dependenciesManual installation of dependenciesabseqPy InstallationInstall frompipInstall from sourceUsageBasic usageAdvanced usageGotchasHelpSupported platformsIntroductionAbSeqAbSeqis a comprehensive bioinformatic pipeline for the analysis of sequencing datasets generated from antibody libraries andabseqPyis one of its packages. Given FASTQ or FASTA files (paired or single-ended),abseqPygenerates clonotypes tables,V-(D)-J germline annotations,functional rates, anddiversity estimatesin a combination of csv and HDF files. More specialized analyses for antibody libraries
likeprimer specificity,sequence motif analysis, andrestriction sites analysisare also on the list.This program is intended to be used in conjunction withabseqR,
a reporting and statistical analysis package for the data generated byabseqPy. AlthoughabseqPyworks finewithoutabseqR, it is highly recommended that users also install the R package in order to take the advantage of the interactive HTML reporting capabilities of the pipeline.abseqR's project page shows a fewexamplesof the type of analysisAbSeqprovides; the full documentation can be found inabseqR's vignette.DevelopersAbSeqis developed by Monther Alhamdoosh and JiaHong FongFor comments and suggestions, email m.hamdoosh <at> gmail <dot> comPrerequisitesabseqPydepends on a few external software to work and they should be properly
installed and configured before runningabseqPy.abseqPyruns on Python 2.7. Python 3.6 support is underway.Seamless installation of dependenciesThis is therecommended wayof installing abseqPy's external dependencies.A python script is availableherewhich downloads and installs all the necessary external dependencies.This script assumes the following is already available:perlgitpythonJava JREversion 1.6 or higherC/C++ compilers(not required for Windows)make(not required for Windows)CMake(not required for Windows)To install external dependencies into a folder named~/.local/abseq:$mkdir-p~/.local/abseq
$pythoninstall_dependencies.py~/.local/abseqThis script doesnotinstallabseqPyitself, only its external dependencies.This script works with Python 2 and 3, and~/.local/abseqcan be replaced with any directory.
However:this directory will be there to stay, so choose wiselythe installation script will dump more than just binaries in this directory, it will contain databases and internal filesas soon as the installation succeeds, users will be prompted with an onscreen message
to update their environment variables to include installed dependencies in~/.local/abseq.Manual installation of dependenciesThis section is for when one:finds that the installation script failedis feeling adventurousrefer tothis documentfor a detailed guide.abseqPy installationThis section demonstrates how to installabseqPy.Install frompip$pipinstallabseqPyInstall from source$gitclonehttps://github.com/malhamdoosh/abseqPy.git
$cdabseqPy
$pipinstall.
$abseq--versionTheabseqcommand should now be available on your command line.installingabseqPyalso installs other python packages, consider using a python virtual environment to prevent
overriding existing packages. Seevirtualenvorconda.UsageBasic usageTo get up and running, the following command is often sufficient:$abseq-f1<read1>-f2<read2>-oresults--threads4--taskall-f2is only required if it is a paired-end sequencing experiment.Advanced usageBesides callingabseqwith command line options,abseqalso supports-y <file>or--yaml <file>that reads parameters defined infile. This enables multiple samples to be analyzed at the same time, each
having shared or independentabseqparameters.The basic YAML syntax offileiskey: valwherekeyis anabseq"long"1option (seeabseq --helpfor all the "long" option names) andvalis the value supplied to the "long" option. Additional samples are specified one after another
separated by triple dashes---.ExampleAssuming a file namedexample.ymlhas the following content:# sample one, PCR1name:PCR1file1:fastq/PCR1_R1.fastq.gzfile2:fastq/PCR1_R2.fastq.gz---# sample two, PCR2name:PCR2file1:fastq/PCR2_R1.fastq.gzfile2:fastq/PCR2_R2.fastq.gzbitscore:300# override the defaults' 350 for this sample onlytask:abundance# override the defaults' "all" for this sample onlydetailedComposition:~# enables detailedComposition (-dc) for this sample only---# more samples can go here---# "defaults" is the only special key allowed.# It is not in abseq's options, but is used here# to denote default values to be used for ALL samples# if they're not specified.defaults:task:alloutdir:resultsthreads:7bitscore:350sstart:1-3then executingabseq -y example.ymlis equivalent to simultaneously running 2 instances ofabseqwith the parameters in thedefaultsfield applied to both samples. Here's an
equivalent:$abseq--taskall--outdirresults--threads7--bitscore350--sstart1-3\>--namePCR1--file1fastq/PCR1_R1.fastq.gz--file2fastq/PCR1_R2.fastq.gz
$abseq--taskabundance--outdirresults--threads7--bitscore300--sstart1-3\>--namePCR2--file1fastq/PCR2_R1.fastq.gz--file2fastq/PCR2_R2.fastq.gz\>--detailedCompositionUsing--yamlis recommended because it is self-documenting, reproducible, and simple to run.GotchasIn the above example, specifyingthreads: 7in thedefaultskey ofexample.ymlwill runeachsample with
7 threads, that is,abseqPywill be running with 7 *number of samplestotal processes.HelpInvokingabseq -hin the command line will display the optionsabseqPyuses.Supported platformsabseqPyworks on most Linux distros, macOS, and Windows.Some features aredisabledwhen running inWindowsdue to software incompatibility, they are:Upstream clustering in--task 5utrSequence logo generation in--task diversity1long option names are option names with a double dash prefix, for example,--helpis a long option while-his not↩