This automatically pulls the SONAR code from github and keeps it updated on the Docker image.
2.5K
SONAR is the Antibodyomics2 pipeline developed collaboratively by the Structural Bioinformatics Section of the Vaccine Research Center, NIAID, NIH and the Shapiro lab at Columbia University. It is designed to process longitudinal NGS samples by extracting sequences related to a known antibody or antibodies of interest and reconstructing the ontogeny of the lineage. For more details, please see below. For examples of papers using SONAR, please see here.
If you use SONAR, please cite:
Schramm et al "SONAR: A High-Throughput Pipeline for Inferring Antibody Ontogenies from Longitudinal Sequencing of B Cell Transcripts." Frontiers Immunol, 2016. PMCID: PMC5030719
For GSSPs, please cite:
Sheng et al "Gene-Specific Substitution Profiles Describe the Types and Frequencies of Amino Acid Changes during Antibody Somatic Hypermutation." Frontiers Immunol, 2017. PMCID: PMC5424261.
SONAR requires Python >=3.6
SONAR is available as an automatically updated Docker image. To use Docker:
$> docker pull scharch/sonar
$> docker run -it -e DISPLAY=$DISPLAY -v ~:/host/home scharch/sonar
$root@1abcde234> cd /host/home
$root@1abcde234> /SONAR/sample_data/runVignette.sh
<< *OR* >>
$root@1abcde234> cd /host/home/*path*/*to*/*data*/
$root@1abcde234> sonar 1.1
.
.
.
For details on how to install the prerequisites, follow the recipe used in the Dockerfile.
Then clone the github repo and run the setup utility:
$> git clone https://github.com/scharch/SONAR.git
$> cd SONAR
$> ./setup.py
$> cp sonar ~/bin
If you wish, you may verify/test the installation by running
$> python3 tests/run_tests.py
To see a summary of all SONAR scripts and what they do, simply run sonar -h. Alternatively, take advantange of the fuzzy matching to find the scripts in a particular module, eg sonar annotate. All sonar scripts will print detailed options and usage when passed the -h flag. For a detailed summary, please see the vignette.
I am more than happy to assist with basic SONAR usage. Please file all bugs reports and requests for help as GitHub issues. I will typically respond within a day or two, though it may take me up to a month to push out bug fixes, depending on the criticallity and complexity of the bug, as well as other obligations.
tests/run_tests.py to verify installation and function. Implemented Travis CI.sample_data.mGSSP module, including a new script 5.5-score_sequences.py to identify rare mutations.sample_data.1.0-preprocess.py and 1.3-finalize_assignments.py run on HPCs.1.0-preprocess.py replacing 1.0-MiSeq_assembly.pl. It is specifically designed to be compatible with 2x300 sequencing of cDNA generated using the 10x Chromium platform, but should work with almost any experimental design. See help message for details. All QC functionality in the old script has been ported to the new one.1.1-blast_V.py will look for a cell_id tag in the input sequences and maintain that information. A new script, 1.5-single_cell_statistics.py, can be used to collate the output information in the rearragnements.tsv file generated by 1.3-finalize_assignments.py and create a cell-level summary.--runX flags. Please see help messages for more details.1.4-cluster_sequences.py, the -f parameter for specifying a nonstandard input file has changed to --file. In addition, a new --maxgaps parameter is available.1.3-finalize_assignments.py has been split, with a new parse_blast.py doing most of the work that was originally in the main script. This allow parallel processing/cluster submission of large datasets in the same way as done for 1.1-blast_V.py and 1.2-blast_J.py.unique has been deprecated as a read status to avoid creating problems when testing multiple clustering conditions. Instead, look for centroid==sequence_id and/or a none-null cluster_count field.1.3-finalize_assignments.py now does fall-back isotype detection using the first 3 bases of CH1. This is useful for protocols using primers in the 5' region of CH1 such that isotype cannot be found by BLAST. It can be disabled with the --noFallBack flag.convertToAIRR.py utility to help pull data over, if necessary.1.1-blast_V.py now includes an optional dereplication step, and will preserve replicate counts through the pipeline.1.3-finalize_assignments.py now distinguishes between nonproductive junctions and reads with other indels.third_party/ folder, so that install is smoother and the user doesn't have to input paths to all sorts of things.SONAR_master.pl with a new one sonar that will is more flexible+portable and therefore hopefully more useful. It is generated by setup.sh so as to include a hardcoded path to the SONAR home directory, allowing it be copied/moved to a convenient location and keep the PATH much cleaner. It also allows partial and fuzzy matching for target script names.third_party/ folder.1.4_dereplicate sequences.pl has been replaced by 1.4-cluster_sequences.py and 2.1-calculate_id-div.pl has been replaced by 2.1-calculate_id-div.py.getReadsByAnnotation.py to get more flexible subsets of reads. For instance, all reads assigned to IGHV1-2*02.Content type
Image
Digest
Size
896.2 MB
Last updated
over 5 years ago
docker pull scharch/sonar