Skip to content


Switch branches/tags
This branch is 1 commit ahead, 9 commits behind jibsch:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

README.txt Authors: Arthur Hsu, Jan Schroeder, Anthony T Papenfuss Date: 27/3/2013

A driver script (developed in Python2.7) - Socrates, can be found in this directory.

Additional documentation is currently being developed.

The Socrates package contains several Java programs (developed in JDK1.6). Each program is designed to process data for a specific stages of analysis.

A Python driver script - "Socrates", for retaining cross-platform compatibility of Java, is included to, is included to execute the programs.

To use Socrates without the driver script, Java class path needs to be set:

socrates=dirname $0/ libs=${socrates}lib/sam-1.77.jar:${socrates}lib/commons-lang3-3.1.jar:${socrates}lib/commons-cli-1.2.jar:${socrates}lib/picard-1.85.jar:${socrates}lib/snappy-java-1.0.3-rc3.jar java -Xmx4g -cp ${socrates}bin:$libs net.wehi.socrates.[PROG] [OPTIONS]`

where PROG is one of BamStratifier, RealignmentBAM, RealignmentClustering and AnnotatePairedClusters.

While default values have worked satisfactorily in our simulated and real cancer genome sequencing datasets, users should set program parameters in the driver scripts appropriately for their own data. Full lists of program parameters are provided in the following sections, together with a discussion on the impact of changing them where applicable.

1.1. Preprocess BAM File

Stratifies the original BAM file into...

usage: Socrates preprocess [options] alignment bam

-b, --base-quality Minimum average base quality score of soft clipped sequence [default: 5]

-h, --help print this message

-k, --keep-duplicate keep duplicate reads [default: false]

-l, --long-sc-len Length threshold of long soft-clip [default: 25 (bp)]

-p, --percent-id Minimum alignment percent identity to reference [default: 95 (%)]

-q, --min-mapq Minimum alignments mapq [default: 5]

-t, --threads Number of threads to use [default: 1]

-v, --verbose be verbose of progress

Minimum base quality option:

A reasonable threshold helps removing low quality soft clips that could lead to erroneous breakpoint calls.

Long soft clip length:

Studies have shown that longer the sequences the more likely they can be uniquely placed in a genome. In an early study, it is demonstrated that while percentage of unique mapping improves with increasing read length, the rate of gain di- minishes past 25nt ( 80% at 25nt and 90% at 40nt). If value for this parameter is too low, many non-unique soft clips will be produced and impact on system requirement, processing time and reliability of results downstream. On the other hand, too high the value results in low number of long soft clips and hence risk of missing breakpoints. Percent identity: We often observe higher-than-expected base mismatch rate for reads in satellite, centromeric and telomeric regions where correctness of alignments can be con- tentious. Minimum percent identity threshold, which is equivalent to maximum allowable mismatch rate, can greatly reduce these erroneous alignments.

Minimum mapping quality:

Higher mapping quality, while may not guarantee unique align- ment, is sufficient to exclude multi-mapping anchor alignments from further analysis for Bowtie2 and BWA aligned reads.

1.2. Process the re-alignment BAM file

usage: Socrates realignment [options] input_bam output_bam

input_bam Re-aligned soft clip BAM file. Use “-” to accept input from stdin

output_bam Output re-alignment BAM with anchor info merged

anchor_info Anchor info file produced by BAMStratifier

This program merges soft clip re-alignment BAM file with anchor alignment information. The program has built-in sorting mechanism and therefore can take unsorted, raw re- alignment output from aligner. While the program accepts input BAM file from standard input channel, this requires more system memory for buffering.

1.3. Predict rearrangements

usage: Socrates predict [options] realigned_sc_bam short_sc_bam metrics_file

-f, --flank Size of flank for promiscuity filter [default: 50 (bp)]

-h, --help print this message

-i, --ideal-only Use only proper pair 5’ SC and anomalous pair 3’ SC [default: false]

-l, --long-sc-len Length threshold of long soft-clip [default: 25 (bp)]

-m, --promiscuity Exclude cluster if more than [promiscuity] clusters within [flank]bp of a break

-p, --percent-id Minimum realignment percent identity to reference [default: 95 (%)]

-q, --min-mapq Minimum realignments mapq [default: 2]

-c, --short-sc-cluster Search for short soft clip cluster support for unpaired clusters

-s, --max-support Maximum realignment support to search for short SC cluster [default: 30]

-t, --threads Number of threads to use [default: 3]

-v, --verbose be verbose of progress

1.4. Annotating rearrangements

usage: Socrates annotate [options] socrates_paired_cluster_output

-n, --normal Socrates paired breakpoint calls for normal sample

-r, --repeatmask UCSC repeat masker track file in BED format, Tabix indexed.


Socrates: Identification of genomic rearrangements in tumour genomes by re-aligning soft clipped reads






No releases published


No packages published


  • Java 89.7%
  • Python 10.1%
  • Shell 0.2%