text:
This site is now read-only. You can find our new documentation site and support forum for posting questions here.
Be sure to read our welcome blog!
(How to) Map reads to a reference with alternate contigs like GRCh38
Document is in
BETA. It may be incomplete and/or inaccurate. Post suggestions to the Comments section and be sure to read about updates also within the Comments section.
This exploratory tutorial provides instructions and example data to map short reads to a reference genome with alternate haplotypes. Instructions are suitable for indexing and mapping reads to GRCh38.
► If you are unfamiliar with terms that describe reference genome components, or GRCh38 alternate haplotypes, take a few minutes to study the Dictionary entry Reference Genome Components.
► For an introduction to GRCh38, see Blog#8180.
Specifically, the tutorial uses BWA-MEM to index and map simulated reads for three samples to a mini-reference composed of a GRCh38 chromosome and alternate contig (sections 1–3). We align in an alternate contig aware (alt-aware) manner, which we also call alt-handling. This is the main focus of the tutorial.
The decision to align to a genome with alternate haplotypes has implications for variant calling. We discuss these in section 5 using the callset generated with the optional tutorial steps outlined in section 4. Because we strategically placed a number of SNPs on the sequence used to simulate the reads, in both homologous and divergent regions, we can use the variant calls and their annotations to examine the implications of analysis approaches. To this end, the tutorial fast-forwards through pre-processing and calls variants for a trio of samples that represents the combinations of the two reference haplotypes (the PA and the ALT). This first workflow (tutorial_8017) is suitable for calling variants on the primary assembly but is insufficient for capturing variants on the alternate contigs.
For those who are interested in calling variants on the alternate contigs, we also present a second and a third workflow in section 6. The second workflow (tutorial_8017_toSE) takes the processed BAM from the first workflow, makes some adjustments to the reads to maximize their information, and calls variants on the alternate contig. This approach is suitable for calling on ~75% of the non-HLA alternate contigs or ~92% of loci with non-HLA alternate contigs (see table in section 6). The third workflow (tutorial_8017_postalt) takes the alt-aware alignments from the first workflow and performs a postalt-processing step as well as the same adjustment from the second workflow. Postalt-processing uses the bwa-postalt.js javascript program that Heng Li provides as a companion to BWA. This allows for variant calling on all alternate contigs including HLA alternate contigs.
The tutorial ends by comparing the difference in call qualities from the multiple workflows for the given example data and discusses a few caveats of each approach.
► The three workflows shown in the diagram above are available as WDL scripts in our GATK Tutorials WDL scripts repository.
Jump to a section
- Index the reference FASTA for use with BWA-MEM
- Include the reference ALT index file
☞ What happens if I forget the ALT index file?
- Align reads with BWA-MEM
☞ How can I tell if a BAM was aligned with alt-handling?
☞ What is the
- (Optional) Add read group information, preprocess to make a clean BAM and call variants
- How can I tell whether I should consider an alternate haplotype for a given sample?
(5.1) Discussion of variant calls for tutorial_8017
- My locus includes an alternate haplotype. How can I call variants on alt contigs?
(6.1) Variant calls for tutorial_8017_toSE
(6.2) Variant calls for tutorial_8017_postalt
- Related resources
Tools involved
BWA v0.7.13 or later releases. The tutorial uses v0.7.15.
Download from here and see Tutorial#2899 for installation instructions.
bwa-postalt.jsscript is within the
Picard tools v2.5.0 or later releases. The tutorial uses v2.5.0.
- Optional GATK tools. The tutorial uses v3.6.
- Optional Samtools. The tutorial uses v1.3.1.
- Optional Gawk, an AWK-like tool that can interpret bitwise SAM flags. The tutorial uses v4.1.3.
- Optional k8 Javascript shell. The tutorial uses v0.2.3 downloaded from here.
Download example data
Download tutorial_8017.tar.gz, either from the GoogleDrive or from the ftp site. To access the ftp site, leave the password field blank. The data tarball contains the paired FASTQ reads files for three samples. It also contains a mini-reference
chr19_chr19_KI270866v1_alt.fasta and corresponding
.dict dictionary,
.fai index and six BWA indices including the
.alt index. The data tarball includes the output files from the workflow that we care most about. These are the aligned SAMs, processed and indexed BAMs and the final multisample VCF callsets from the three presented workflows.
The mini-reference contains two contigs subset from human GRCh38:
chr19 and
chr19_KI270866v1_alt. The ALT contig corresponds to a diverged haplotype of chromosome 19. Specifically, it corresponds to chr19:34350807-34392977, which contains the glucose-6-phosphate isomerase or GPI gene. Part of the ALT contig introduces novel sequence that lacks a corresponding region in the primary assembly.
Using instructions in Tutorial#7859, we simulated paired 2x151 reads to derive three different sample reads that when aligned give roughly 35x coverage for the target primary locus. We derived the sequences from either the 43 kbp ALT contig (sample ALTALT), the corresponding 42 kbp region of the primary assembly (sample PAPA) or both (sample PAALT). Before simulating the reads, we introduced four SNPs to each contig sequence in a deliberate manner so that we can call variants.
► Alternatively, you may instead use the example input files and commands with the full GRCh38 reference. Results will be similar with a handful of reads mapping outside of the mini-reference regions.
1. Index the reference FASTA for use with BWA-MEM
Our example
chr19_chr19_KI270866v1_alt.fasta reference already has
chr19_chr19_KI270866v1_alt.dict dictionary and
chr19_chr19_KI270866v1_alt.fasta.fai index files for use with Picard and GATK tools. BWA requires a different set of index files for alignment. The command below creates five of the six index files we need for alignment. The command calls the
index function of BWA on the reference FASTA.
bwa index chr19_chr19_KI270866v1_alt.fasta
This gives
.amb and
.sa index files that all have the same
chr19_chr19_KI270866v1_alt.fasta basename. Tools recognize index files within the same directory by their identical basename. In the case of BWA, it uses the basename preceding the
.fasta suffix and searches for the index file, e.g. with
.bwt suffix or
.64.bwt suffix. Depending on which of the two choices it finds, it looks for the same suffix for the other index files, e.g.
.alt or
.64.alt. Lack of a matching
.alt index file will cause BWA to map reads without alt-handling. More on this next.
Note that the
.64. part is an explicit indication that index files were generated with version 0.6 or later of BWA and are the 64-bit indices (as opposed to files generated by earlier versions, which were 32-bit). This
.64. signifier can be added automatically by adding
-6 to the
bwa index command.
2. Include the reference ALT index file
Be sure to place the tutorial's mini-ALT index file
chr19_chr19_KI270866v1_alt.fasta.alt with the other index files. Also, if it does not already match, change the file basename to match. This is the sixth index file we need for alignment. BWA-MEM uses this file to prioritize primary assembly alignments for reads that can map to both the primary assembly and an alternate contig. See BWA documentation for details.
- As of this writing (August 8, 2016), the SAM format ALT index file for GRCh38 is available only in the x86_64-linux bwakit download as stated in this bwakit README. The
hs38DH.fa.altfile is in the
- In addition to mapped alternate contig records, the ALT index also contains decoy contig records as unmapped SAM records. This is relevant to the postalt-processing we discuss in section 6.2. As such, the postalt-processing in section 6 also requires the ALT index.
For the tutorial, we subset from
hs38DH.fa.alt to create a mini-ALT index,
chr19_chr19_KI270866v1_alt.fasta.alt. Its contents are shown below.
The record aligns the
chr19_KI270866v1_alt contig to the
chr19 locus starting at position 34,350,807 and uses CIGAR string nomenclature to indicate the pairwise structure. To interpret the CIGAR string, think of the primary assembly as the reference and the ALT contig sequence as the read. For example, the
11307M at the start indicates 11,307 corresponding sequence bases, either matches or mismatches. The
935S at the end indicates a 935 base softclip for the ALT contig sequence that lacks corresponding sequence in the primary assembly. This is a region that we consider highly divergent or novel. Finally, notice the
NM tag that notes the edit distance to the reference.
☞ What happens if I forget the ALT index file?
If you omit the ALT index file from the reference, or if its naming structure mismatches the other indexes, then your alignments will be equivalent to the results you would obtain if you run BWA-MEM with the
-j option. The next section gives an example of what this looks like.
3. Align reads with BWA-MEM
The command below uses an alt-aware version of BWA and maps reads using BWA's maximal exact match (MEM) option. Because the ALT index file is present, the tool prioritizes mapping to the primary assembly over ALT contigs. In the command, the tutorial's
chr19_chr19_KI270866v1_alt.fasta serves as reference; one FASTQ holds the forward reads and the other holds the reverse reads.
bwa mem chr19_chr19_KI270866v1_alt.fasta 8017_read1.fq 8017_read2.fq > 8017_bwamem.sam
The resulting file
8017_bwamem.sam contains aligned read records.
- BWA preferentially maps to the primary assembly any reads that can align equally well to the primary assembly or the ALT contigs as well as any reads that it can reasonably align to the primary assembly even if it aligns better to an ALT contig. Preference is given by the primary alignment record status, i.e. not secondary and not supplementary. BWA takes the reads that it cannot map to the primary assembly and attempts to map them to the alternate contigs. If a read can map to an alternate contig, then it is mapped to the alternate contig as a primary alignment. For those reads that can map to both and align better to the ALT contig, the tool flags the ALT contig alignment record as supplementary (0x800). This is what we call alt-aware mapping or alt-handling.
- Adding the
-joption to the command disables the alt-handling. Reads that can map multiply are given low or zero MAPQ scores.
☞ How can I tell if a BAM was aligned with alt-handling?
There are two approaches to this question.
First, you can view the alignments on IGV and compare primary assembly loci with their alternate contigs. The IGV screenshots to the right show how BWA maps reads with (top) or without (bottom) alt-handling.
Second, you can check the alignment SAM. Of two tags that indicate alt-aware alignment, one will persist after preprocessing only if the sample has reads that can map to alternate contigs. The first tag, the
AH tag, is in the BAM header section of the alignment file, and is absent after any merging step, e.g. merging with MergeBamAlignment. The second tag, the
pa tag, is present for reads that the aligner alt-handles. If a sample does not contain any reads that map equally or preferentially to alternate contigs, then this tag may be absent in a BAM even if the alignments were mapped in an alt-aware manner.
Here are three headers for comparison where only one indicates alt-aware alignment.
File header for alt-aware alignment. We use this type of alignment in the tutorial.
Each alternate contig's
@SQ line in the header will have an
AH:* tag to indicate alternate contig handling for that contig. This marking is based on the alternate contig being listed in the
.alt index file and alt-aware alignment.
File header for
-j alignment (alt-handling disabled) for example purposes. We do not perform this type of alignment in the tutorial.
Notice the absence of any special tags in the header.
File header for alt-aware alignment after merging with MergeBamAlignment. We use this step in the next section.
Again, notice the absence of any special tags in the header.
☞ What is the
pa tag?
For BWA v0.7.15, but not v0.7.13, ALT loci alignment records that can align to both the primary assembly and alternate contig(s) will have a
pa tag on the primary assembly alignment. For example, read
chr19_KI270866v1_alt_4hetvars_26518_27047_0:0:0_0:0:0_931 of the ALTALT sample has five alignment records only three of which have the
pa tag as shown below.
A brief description of each of the five alignments, in order:
- First in pair, primary alignment on the primary assembly; AS=146, pa=0.967
- First in pair, supplementary alignment on the alternate contig; AS=151
- Second in pair, primary alignment on the primary assembly; AS=120; pa=0.795
- Second in pair, supplementary alignment on the primary assembly; AS=54; pa=0.358
- Second in pair, supplementary alignment on the alternate contig; AS=151
pa tag measures how much better a read aligns to its best alternate contig alignment versus its primary assembly (pa) alignment. Specifically, it is the ratio of the primary assembly alignment score over the highest alternate contig alignment score. In our example we have primary assembly alignment scores of 146, 120 and 54 and alternate contig alignment scores of 151 and again 151. This gives us three different
pa scores that tag the primary assembly alignments: 146/151=0.967, 120/151=0.795 and 54/151=0.358.
In our tutorial's workflow, MergeBamAlignment may either change an alignment's
pa score or add a previously unassigned
pa score to an alignment. The result of this is summarized as follows for the same alignments.
- pa=0.967 --MergeBamAlignment--> same
- none --MergeBamAlignment--> assigns pa=0.967
- pa=0.795 --MergeBamAlignment--> same
- pa=0.358 --MergeBamAlignment--> replaces with pa=0.795
- none --MergeBamAlignment--> assigns pa=0.795
If you want to retain the BWA-assigned
pa scores, then add the following options to the workflow commands in section 4.
- For RevertSam, add
- For MergeBamAlignment, add
In our sample set, after BWA-MEM alignment ALTALT has 1412
pa-tagged alignment records, PAALT has 805
pa-tagged alignment records and PAPA has zero
pa-tagged records.
4. Add read group information, preprocess to make a clean BAM and call variants
The initial alignment file is missing read group information. One way to add that information, which we use in production, is to use MergeBamAlignment. MergeBamAlignment adds back read group information contained in an unaligned BAM and adjusts meta information to produce a clean BAM ready for pre-processing (see Tutorial#6483 for details on our use of MergeBamAlignment). Given the focus here is to showcase BWA-MEM's alt-handling, we refrain from going into the details of all this additional processing. They follow, with some variation, the PairedEndSingleSampleWf pipeline detailed here.
Remember these are simulated reads with simulated base qualities. We simulated the reads in a manner that only introduces the planned mismatches, without any errors. Coverage is good at roughly 35x. All of the base qualities for all of the reads are at
I, which is, according to this page and this site, an excellent base quality score equivalent to a Sanger Phred+33 score of 40. We can therefore skip base quality score recalibration (BQSR) since the reads are simulated and the dataset is not large enough for recalibration anyway.
Here are the commands to obtain a final multisample variant callset. The commands are given for one of the samples. Process each of the three samples independently in the same manner [4.1–4.6] until the last GenotypeGVCFs command [4.7].
[4.1] Create unmapped uBAM
java -jar picard.jar RevertSam \ I=altalt_bwamem.sam O=altalt_u.bam \ ATTRIBUTE_TO_CLEAR=XS ATTRIBUTE_TO_CLEAR=XA
[4.2] Add read group information to uBAM
java -jar picard.jar AddOrReplaceReadGroups \ I=altalt_u.bam O=altalt_rg.bam \ RGID=altalt RGSM=altalt RGLB=wgsim RGPU=shlee RGPL=illumina
[4.3] Merge uBAM with aligned BAM
java -jar picard.jar MergeBamAlignment \ ALIGNED=altalt_bwamem.sam UNMAPPED=altalt_rg.bam O=altalt_m.bam \ R=chr19_chr19_KI270866v1_alt.fasta \ SORT_ORDER=unsorted CLIP_ADAPTERS=false \ ADD_MATE_CIGAR=true MAX_INSERTIONS_OR_DELETIONS=-1 \ PRIMARY_ALIGNMENT_STRATEGY=MostDistant \ UNMAP_CONTAMINANT_READS=false \ ATTRIBUTES_TO_RETAIN=XS ATTRIBUTES_TO_RETAIN=XA
[4.4] Flag duplicate reads
java -jar picard.jar MarkDuplicates \ INPUT=altalt_m.bam OUTPUT=altalt_md.bam METRICS_FILE=altalt_md.bam.txt \ OPTICAL_DUPLICATE_PIXEL_DISTANCE=2500 ASSUME_SORT_ORDER=queryname
[4.5] Coordinate sort, fix
NM and
UQ tags and index for clean BAM
As of Picard v2.7.0, released October 17, 2016, SetNmAndUqTags is no longer available. Use SetNmMdAndUqTags instead.
set -o pipefail java -jar picard.jar SortSam \ INPUT=altalt_md.bam OUTPUT=/dev/stdout SORT_ORDER=coordinate | \ java -jar $PICARD SetNmAndUqTags \ INPUT=/dev/stdin OUTPUT=altalt_snaut.bam \ CREATE_INDEX=true R=chr19_chr19_KI270866v1_alt.fasta
[4.6] Call SNP and indel variants in emit reference confidence (ERC) mode per sample using HaplotypeCaller
java -jar GenomeAnalysisTK.jar -T HaplotypeCaller \ -R chr19_chr19_KI270866v1_alt.fasta \ -o altalt.g.vcf -I altalt_snaut.bam \ -ERC GVCF --max_alternate_alleles 3 --read_filter OverclippedRead \ --emitDroppedReads -bamout altalt_hc.bam
[4.7] Call genotypes on three samples
java -jar GenomeAnalysisTK.jar -T GenotypeGVCFs \ -R chr19_chr19_KI270866v1_alt.fasta -o multisample.vcf \ --variant altalt.g.vcf --variant altpa.g.vcf --variant papa.g.vcf
altalt_snaut.bam, HaplotypeCaller's
altalt_hc.bam and the multisample
multisample.vcf are ready for viewing on IGV.
Before getting into the results in the next section, we have minor comments on two filtering options.
In our tutorial workflows, we turn off MergeBamAlignment's
UNMAP_CONTAMINANT_READS option. If set to true, 68 reads become unmapped for PAPA and 40 reads become unmapped for PAALT. These unmapped reads are those reads caught by the
UNMAP_CONTAMINANT_READS filter and their mates. MergeBamAlignment defines contaminant reads as those alignments that are overclipped, i.e. that are softclipped on both ends, and that align with less than 32 bases. Changing the
MIN_UNCLIPPED_BASES option from the default of 32 to 22 and 23 restores all of these reads for PAPA and PAALT, respectively. Contaminants are obviously absent for these simulated reads. And so we set
UNMAP_CONTAMINANT_READS to false to disable this filtering.
--read_filter OverclippedRead option similarly looks for both-end-softclipped alignments, then filters reads aligning with less than 30 bases. The difference is that HaplotypeCaller only excludes the overclipped alignments from its calling and does not remove mapping information nor does it act on the mate of the filtered alignment. Thus, we keep this read filter for the first workflow. However, for the second and third workflows in section 6, tutorial_8017_toSE and tutorial_8017_postalt, we omit the
--read_filter Overclipped option from the HaplotypeCaller command. We also omit the
--max_alternate_alleles 3 option for simplicity.
5. How can I tell whether I should consider an alternate haplotype?
We consider this question only for our GPI locus, a locus we know has an alternate contig in the reference. Here we use the term locus in its biological sense to refer to a contiguous genomic region of interest. The three samples give the alignment and coverage profiles shown on the right.
What is immediately apparent from the IGV screenshot is that the scenarios that include the alternate haplotype give a distinct pattern of variant sites to the primary assembly much like a fingerprint. These variants are predominantly heterozygous or homozygous. Looking closely at the 3' region of the locus, we see some alignment coverage anomalies that also show a distinct pattern. The coverage in some of the highly diverged region in the primary assembly drops while in others it increases. If we look at the origin of simulated reads in one of the excess coverage regions, we see that they are from two different regions of the alternate contig that suggests duplicated sequence segments within the alternate locus.
The variation pattern and coverage anomalies on the primary locus suggest an alternate haplotype may be present for the locus. We can then confirm the presence of aligned reads, both supplementary and primary, on the alternate locus. Furthermore, if we count the alignment records for each region, e.g. using
samtools idxstats, we see the following metrics.
ALT/ALT PA/ALT PA/PA chr19 10005 10006 10000 chr19_KI270866v1_alt 1407 799 0
The number of alignments on the alternate locus increases proportionately with alternate contig dosage. All of these factors together suggest that the sample presents an alternate haplotype.
5.1 Discussion of variant calls for tutorial_8017
The three-sample variant callset gives 54 sites on the primary locus and two additional on the alternate locus for 56 variant sites. All of the eight SNP alleles we introduced are called, with six called on the primary assembly and two called on the alternate contig. Of the 15 expected genotype calls, four are incorrect. Namely, four PAALT calls that ought to be heterozygous are called homozygous variant. These are two each on the primary assembly and on the alternate contig in the region that is highly divergent.
► Our production pipelines use genomic intervals lists that exclude GRCh38 alternate contigs from variant calling. That is, variant calling is performed only for contigs of the primary assembly. This calling on even just the primary assembly of GRCh38 brings improvements to analysis results over previous assemblies. For example, if we align and call variants for our simulated reads on GRCh37, we call 50 variant sites with identical QUAL scores to the equivalent calls in our GRCh38 callset. However, this GRCh37 callset is missing six variant calls compared to the GRCh38 callset for the 42 kb locus: the two variant sites on the alternate contig and four variant sites on the primary assembly.
Consider the example variants on the primary locus. The variant calls from the primary assembly include 32 variant sites that are strictly homozygous variant in ALTALT and heterozygous variant in PAALT. The callset represents only those reads from the ALT that can be mapped to the primary assembly.
In contrast, the two variants in regions whose reads can only map to the alternate contig are absent from the primary assembly callset. For this simulated dataset, the primary alignments present on the alternate contig provide enough supporting reads that allow HaplotypeCaller to call the two variants. However, these variant calls have lower-quality annotation metrics than for those simulated in an equal manner on the primary assembly. We will get into why this is in section 6.
Additionally, for our PAALT sample that is heterozygous for an alternate haplotype, the genotype calls in the highly divergent regions are inaccurate. These are called homozygous variant on the primary assembly and on the alternate contig when in fact they are heterozygous variant. These calls have lower genotype scores
GQ as well as lower allele depth
AD and coverage
DP. The table below shows the variant calls for the introduced SNP sites. In blue are the genotype calls that should be heterozygous variant but are instead called homozygous variant.
Here is a command to select out the intentional variant sites that uses SelectVariants:
java -jar GenomeAnalysisTK.jar -T SelectVariants \ -R chr19_chr19_KI270866v1_alt.fasta \ -V multisample.vcf -o multisample_selectvariants.vcf \ -L chr19:34,383,500 -L chr19:34,389,485 -L chr19:34,391,800 -L chr19:34,392,600 \ -L chr19_KI270866v1_alt:32,700 -L chr19_KI270866v1_alt:38,700 \ -L chr19_KI270866v1_alt:41,700 -L chr19_KI270866v1_alt:42,700 \ -L chr19:34,383,486 -L chr19_KI270866v1_alt:32,714
6. My locus includes an alternate haplotype. How can I call variants on alt contigs?
If you want to call variants on alternate contigs, consider additional data processing that overcome the following problems.
- Loss of alignments from filtering of overclipped reads.
- HaplotypeCaller's filtering of alignments whose mates map to another contig. Alt-handling produces many of these types of reads on the alternate contigs.
- Zero MAPQ scores for alignments that map to two or more alternate contigs. HaplotypeCaller excludes these types of reads from contributing to evidence for variation.
Let us talk about these in more detail.
Ideally, if we are interested in alternate haplotypes, then we would have ensured we were using the most up-to-date analysis reference genome sequence with the latest patch fixes. Also, whatever approach we take to align and preprocess alignments, if we filter any reads as putative contaminants, e.g. with MergeBamAlignment's option to unmap cross-species contamination, then at this point we would want to fish back into the unmapped reads pool and pull out those reads. Specifically, these would have an
SA tag indicating mapping to the alternate contig of interest and an
FT tag indicating the reason for unmapping was because MergeBamAlignment's
UNMAP_CONTAMINANT_READS option identified them as cross-species contamination. Similarly, we want to make sure not to include HaplotypeCaller's
--read_filter OverclippedRead option that we use in the first workflow.
As section 5.1 shows, variant calls on the alternate contig are of low quality--they have roughly an order of magnitude lower QUAL scores than what should be equivalent variant calls on the primary assembly.
For this exploratory tutorial, we are interested in calling the introduced SNPs with equivalent annotation metrics. Whether they are called on the primary assembly or the alternate contig and whether they are called homozygous variant or heterozygous--let's say these are less important, especially given pinning certain variants from highly homologous regions to one of the loci is nigh impossible with our short reads. To this end, we will use the second workflow shown in the workflows diagram. However, because this solution is limited, we present a third workflow as well.
► We present these workflows solely for exploratory purposes. They do not represent any production workflows.
Tutorial_8017_toSE uses the processed BAM from our first workflow and allows for calling on singular alternate contigs. That is, the workflow is suitable for calling on alternate contigs of loci with only a single alternate contig like our GPI locus. Tutorial_8017_postalt uses the aligned SAM from the first workflow before processing, and requires separate processing before calling. This third workflow allows for calling on all alternate contigs, even on HLA loci that have numerous contigs per primary locus. However, the callset will not be parsimonious. That is, each alternate contig will greedily represent alignments and it is possible the same variant is called for all the alternate loci for a given primary locus as well as on the primary locus. It is up to the analyst to figure out what to do with the resulting calls.
The reason for the divide in these two workflows is in the way BWA assigns mapping quality scores (MAPQ) to multimapping reads. Postalt-processing becomes necessary for loci with two or more alternate contigs because the shared alignments between the primary locus and alternate loci will have zero MAPQ scores. Postalt-processing gives non-zero MAPQ scores to the alignment records. The table presents the frequencies of GRCh38 non-HLA alternate contigs per primary locus. It appears that ~75% of non-HLA alternate contigs are singular to ~92% of primary loci with non-HLA alternate contigs. In terms of bases on the primary assembly, of the ~75 megabases that have alternate contigs, ~64 megabases (85%) have singular non-HLA alternate contigs and ~11 megabases (15%) have multiple non-HLA alternate contigs per locus. Our tutorial's example locus falls under this majority.
In both alt-aware mapping and postalt-processing, alternate contig alignments have a predominance of mates that map back to the primary assembly. HaplotypeCaller, for good reason, filters reads whose mates map to a different contig. However, we know that GRCh38 artificially represents alternate haplotypes as separate contigs and BWA-MEM intentionally maps these mates back to the primary locus. For comparable calls on alternate contigs, we need to include these alignments in calling. To this end, we have devised a temporary workaround.
6.1 Variant calls for tutorial_8017_toSE
Here we are only aiming for equivalent calls with similar annotation values for the two variants that are called on the alternate contig. For the solution that we will outline, here are the results.
Including the mate-mapped-to-other-contig alignments bolsters the variant call qualities for the two SNPs HaplotypeCaller calls on the alternate locus. We see the
AD allele depths much improved for ALTALT and PAALT. Corresponding to the increase in reads, the
GQ genotype quality and the QUAL score (highlighted in red) indicate higher qualities. For example, the QUAL scores increase from 332 and 289 to 2166 and 1764, respectively. We also see that one of the genotype calls changes. For sample ALTALT, we see a previous no call is now a homozygous reference call (highlighted in blue). This hom-ref call is further from the truth than not having a call as the ALTALT sample should not have coverage for this region in the primary assembly.
For our example data, tutorial_8017's callset subset for the primary assembly and tutorial_8017_toSE's callset subset for the alternate contigs together appear to make for a better callset.
What solution did we apply? As the workflow's name toSE implies, this approach converts paired reads to single end reads. Specifically, this approach takes the processed and coordinate-sorted BAM from the first workflow and removes the 0x1 paired flag from the alignments. Removing the 0x1 flag from the reads allows HaplotypeCaller to consider alignments whose mates map to a different contig. We accomplish this using a modified script of that presented in Biostars post https://www.biostars.org/p/106668/, indexing with Samtools and then calling with HaplotypeCaller as follows. Note this workaround creates an invalid BAM according to ValidateSamFile. Also, another caveat is that because HaplotypeCaller uses softclipped sequences, any overlapping regions of read pairs will count twice towards variation instead of once. Thus, this step may lead to overconfident calls in such regions.
Remove the 0x1 bitwise flag from alignments
samtools view -h altalt_snaut.bam | gawk '{printf "%s\t", $1; if(and($2,0x1)) {t=$2-0x1}else{t=$2}; printf "%s\t" , t; for (i=3; i<NF; i++){printf "%s\t", $i} ; printf "%s\n",$NF}'| samtools view -Sb - > altalt_se.bam
Index the resulting BAM
samtools index altalt_se.bam
Call variants in
-ERC GVCF mode with HaplotypeCaller for each sample
java -jar GenomeAnalysisTK.jar -T HaplotypeCaller \ -R chr19_chr19_KI270866v1_alt.fasta \ -I altalt_se.bam -o altalt_hc.g.vcf \ -ERC GVCF --emitDroppedReads -bamout altalt_hc.bam
Finally, use GenotypeGVCFs as shown in section 4's command [4.7] for a multisample variant callset. Tutorial_8017_toSE calls 68 variant sites--66 on the primary assembly and two on the alternate contig.
6.2 Variant calls for tutorial_8017_postalt
BWA's postalt-processing requires the query-grouped output of BWA-MEM. Piping an alignment step with postalt-processing is possible. However, to be able to compare variant calls from an identical alignment, we present the postalt-processing as an add-on workflow that takes the alignment from the first workflow.
The command uses the
bwa-postalt.js script, which we run through
k8, a Javascript execution shell. It then lists the ALT index, the aligned SAM
altalt.sam and names the resulting file
> altalt_postalt.sam.
k8 bwa-postalt.js \ chr19_chr19_KI270866v1_alt.fasta.alt \ altalt.sam > altalt_postalt.sam
The resulting postalt-processed SAM,
altalt_postalt.sam, undergoes the same processing as the first workflow (commands 4.1 through 4.7) except that (i) we omit
--max_alternate_alleles 3 and
--read_filter OverclippedRead options for the HaplotypeCaller command like we did in section 6.1 and (ii) we perform the 0x1 flag removal step from section 6.1.
The effect of this postalt-processing is immediately apparent in the IGV screenshots. Previously empty regions are now filled with alignments. Look closely in the highly divergent region of the primary locus. Do you notice a change, albeit subtle, before and after postalt-processing for samples ALTALT and PAALT?
These alignments give the calls below for our SNP sites of interest. Here, notice calls are made for more sites--on the equivalent site if present in addition to the design site (highlighted in the first two columns). For the three pairs of sites that can be called on either the primary locus or alternate contig, the variant site QUALs, the INFO field annotation metrics and the sample level annotation values are identical for each pair.
Postalt-processing lowers the MAPQ of primary locus alignments in the highly divergent region that map better to the alt locus. You can see this as a subtle change in the IGV screenshot. After postalt-processing we see an increase in white zero MAPQ reads in the highly divergent region of the primary locus for ALTALT and PAALT. For ALTALT, this effectively cleans up the variant calls in this region at chr19:34,391,800 and chr19:34,392,600. Previously for ALTALT, these calls contained some reads: 4 and 25 for the first workflow and 0 and 28 for the second workflow. After postalt-processing, no reads are considered in this region giving us
./.:0,0:0:.:0,0,0 calls for both sites.
What we omit from examination are the effects of postalt-processing on decoy contig alignments. Namely, if an alignment on the primary assembly aligns better on a decoy contig, then postalt-processing discounts the alignment on the primary assembly by assigning it a zero MAPQ score.
To wrap up, here are the number of variant sites called for the three workflows. As you can see, this last workflow calls the most variants at 95 variant sites, with 62 on the primary assembly and 33 on the alternate contig.
Workflow total on primary assembly on alternate contig tutorial_8017 56 54 2 tutorial_8017_toSE 68 66 2 tutorial_8017_postalt 95 62 33
7. Related resources
- For WDL scripts of the workflows represented in this tutorial, see the GATK WDL scripts repository.
- To revert an aligned BAM to unaligned BAM, see Section B of Tutorial#6484.
- To simulate reads from a reference contig, see Tutorial#7859.
- Dictionary entry Reference Genome Components reviews terminology that describe reference genome components.
- The GATK resource bundle provides an analysis set GRCh38 reference FASTA as well as several other related resource files.
- As of this writing (August 8, 2016), the SAM format ALT index file for GRCh38 is available only in the x86_64-linux bwakit download as stated in this bwakit README. The
hs38DH.fa.altfile is in the
resource-GRCh38folder. Rename this file's basename to match that of the corresponding reference FASTA.
- For more details on MergeBamAlignment features, see Section 3C of Tutorial#6483.
- For details on the PairedEndSingleSampleWorkflow that uses GRCh38, see here.
- See here for VCF specifications.
First of all, thanks for this wonderful, comprehensive tutorial. I want to bring to your attention that the post-processing step in 6.2 does not work in the form presented here: the script expects the .bam alignment following the ALT index, not a .fasta file containing the reference genome. Thus, it should be as follows: bwa-postalt.js chr19_chr19_KI270866v1_alt.fasta.alt altalt.sam > altalt_postalt.sam
As stupid as it seems, it has taken me a while to figure out why it did not work...
Hi @RMulet,
Thanks for the compliment and thanks for bringing this up. I just want to confirm, are you also using BWA v0.7.15?
Thanks @RMulet for pointing this out. I corrected this in the body of the tutorial on this page. I should mention here that the matching WDL script remains correct and does not include the extraneous fasta file in the command.
You are welcome! Sorry for not replying to the previous comment before, but I did not receive any notification. I guess it's no longer necessary, as it has been modified now, but I am indeed using BWA v0.7.15.
alexey_larionov UKMember ✭
Thank you for the tutorial.
Could you please explain in more details what exactly is done by SetNmAndUqTags ?
This tool is not described in the current Picard page at http://broadinstitute.github.io/picard/index.html
Hi @alexey_larionov,
SetNmAndUqTags is a new tool. I can refer you to two sources of information.
(1) Although the website documentation does not yet reflect the tool specs, you can call them up from the commandline with the
$ java -jar picard.jar SetNmAndUqTags -h
This gives:
USAGE: SetNmAndUqTags [options] Fixes the UQ and NM tags in a SAM file. This tool takes in a SAM or BAM file (sorted by coordinate) and calculates the NM and UQ tags by comparing with the reference. This may be needed when MergeBamAlignment was run with SORT_ORDER different from 'coordinate' and thus could not fix these tags then. Usage example: java -jar picard.jar SetNmAndUqTags \ I=sorted.bam \ O=fixed.bam \ Version: 2.5.0(2c370988aefe41f579920c8a6a678a201c5261c1_1466708365)
(2) Also, I've given an overview of what the tool does in the context of a WDL pipeline. The documentation section pertaining to this tool is at http://broadinstitute.github.io/picard/command-line-overview.html#SetNmAndUqTags. In this pipeline, because of the way it is setup, after the MergeBamAlignment step,
Note the NM tag values will be incorrect at this point and the UQ tag is absent. Update and addition of these are dependent on coordinate sort order. Specifically, the script uses a separate SortAndFixTags task to fix NM tags and add UQ tags.
MergeBamAlignment adds the UQ tag to records given a coordinate sorted BAM. The tag gives the
Phred likelihood of the segment, conditional on the mapping being correct.
If MergeBamAlignment is given a query-group sorted BAM, then the tool omits addition of the UQ tag. Also, the NM tag values will be incorrect. In this situation, SetNmAndUqTags corrects the NM tag values and adds the UQ tags.
I hope this clarifies your question.
HI, @shlee
The Documentation about that tool is still missing at the picard docs .
Hi @EADG, we have on our to do list to update the Picard docs. I hope you have enough information from the thread above to continue with your work.
Actually @EADG, as of Picard v2.7.0, SetNmAndUqTags is now SetNmMdAndUqTags.
java -jar $PICARD SetNmMdAndUqTags -h
USAGE: SetNmMdAndUqTags [options] Documentation: http://broadinstitute.github.io/picard/command-line-overview.html#SetNmMdAndUqTags Fixes the NM, MD, and UQ tags in a SAM file. This tool takes in a SAM or BAM file (sorted by coordinate) and calculates the NM, MD, and UQ tags by comparing with the reference. This may be needed when MergeBamAlignment was run with SORT_ORDER different from 'coordinate' and thus could not fix these tags then. Usage example: java -jar picard.jar SetNmMDAndUqTags \ I=sorted.bam \ O=fixed.bam \ Version: 2.7.1-SNAPSHOT Options: --help -h Displays options specific to this tool. --stdhelp -H Displays options specific to this tool AND options common to all Picard command line tools. --version Displays program version. INPUT=File I=File The BAM or SAM file to fix. Required. OUTPUT=File O=File The fixed BAM or SAM output file. Required. IS_BISULFITE_SEQUENCE=Boolean Whether the file contains bisulfite sequence (used when calculating the NM tag). Default value: false. This option can be set to 'null' to clear the default value. Possible values: {true, false}
@shlee Thank you!
Updates as of January 18, 2017
Post edited by shlee on
- Newer versions of Picard going forward will now copy over
AHtags as well as allow you to specify which
@SQlines header--from the uBAM or aligned BAM--to use in the merged output.
- Newer versions of GATK will allow disabling of the
BadMateFilterin HaplotypeCaller and thereby enable calling variants in GRCh38 alternate contigs after BWA-MEM alt-aware alignment without having to strip the 0x1 SAM flag off of reads.
- Newer versions of Picard going forward will now copy over
Can I replace the "Mark Duplicates" part of best practices with 4.1-4.5 and follow the rest of best practices after mapping reads to reference?
Hi @Wang_GC,
The best practice germline workflow for GRCh38 is outlined in https://gatkforums.broadinstitute.org/gatk/discussion/7899/reference-implementation-pairedendsinglesamplewf-pipeline.
My workflow above is missing BQSR (because the reads are simulated to have no errors) and you will need to include this step in your pipeline. This tutorial is meant to illustrate the effects of alt-aware alignment to a reference with alternate haplotypes. I'm sure there are inefficiencies that could be done better for real analyses. For example, you should already have in hand a uBAM that you can add read groups to and you would not need to revert your alignment. I'm told that the decision to include MergeBamAlignment in your workflow depends on your downstream analyses.
Thanks for your reply! I will rerun my scripts with the recommended pipeline.
ac67479 AustinMember ✭
Dear Mrs Shlee,
I was wondering whether there is any pipeline proposed for RNA-seq differential expression analysis which takes into account these alt loci on GRCh38 ? We are using hisat2 on a regular basis in the lab, so we would like to find a pipeline to use the new reference and take into account these alt loci, preferentially with hisat2.
Alexandre Coudray
Hi @ac67479,
The GATK focuses on variant discovery and not differential expression. We are currently developing, in GATK4, functionality towards differential copy number variant detection. However, these are not applicable to detecting differential RNA expression.
I've heard that HISAT2 is an aligner that can incorporate given variants into its graph-based assembly. This certainly sounds promising towards taking into account ALT loci in GRCh38. I am not familiar with the details of using HISAT2 as our workflows recommend STAR for RNA-Seq alignment and BWA for DNA-Seq alignment.
If you are interested in calling variants from HISAT2 alignments with GATK, then you should first test to see if the output format is compatible with the GATK workflow for germline variant discovery. I am actually interested in knowing what the result of this is.
Keep in mind there are limitations to calling variants from RNA-Seq data compared to DNA-Seq data.
P.S. You can just call me @shlee. If you insist on adding a title to my moniker, I'd prefer
Dr. Thanks.
Actually @ac67479, I wonder if you'd be willing to share your HISAT2 alignment data (assuming non-human) and I could check it out on my spare time. We have an FTP upload, with instructions at https://software.broadinstitute.org/gatk/guide/article?id=1894, if you would be willing.
KyuriChoi Member
@shlee Why new bundle is composed with ALT contig fasta file, not using GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz? using "no alt" fasta is more easy way, isn't it?
SkyWarrior TurkeyMember ✭✭✭
I guess you totally missed the point.
The reasons for using alt contig version are listed in this tutorial, but if you feel strongly about using the non-alt version, you can certainly do so.
wilma SingaporeMember ✭
Thanks for this very useful and comprehensive article!
Assume for a second I needed a unified approach for processing samples to BAM, which leaves the decision to call variants on the ALT contigs or not for later. In that case 0x1 removal can't be part of that pipeline, because it changes the BAM files irreversibly. My question is: is it always safe to include
k8 bwa-postalt.js, i.e. can the output be used for "ALT calling" (after 0x1 removal) and "non-ALT calling" (no further processing needed)?
Someone will get back to you soon.
Hi @wilma,
In GATK4, you can disable a filter and call on the alt reads just as if you had removed the pair flag. This filter is disabled with the
--disable-read-filter MateOnSameContigOrNoMappedMateReadFilteroption. See my March 5 reply to KlausNZ at https://gatkforums.broadinstitute.org/gatk/discussion/comment/46649#Comment_46649.
The decision to include
k8 bwa-postalt.jsprocessing is left to researchers. In the tutorial, I tried to illustrate the effects of including it or not, to illustrate two modes in which our production pipelines were run at some point. As I note in the tutorial, our production currently generates data WITHOUT the
k8 bwa-postalt.jsprocessing and only makes calls on the primary assembly. Again, it is left to researchers to decide what type of calling is best for their research aims.
gilh Member ✭
I see that this section is still in beta for over a year, and the hg38 bundle in the google drive is labelled as "v0". I am just wondering if this protocol is still the correct one, or whether there are updates.
Specifically, I would like to use the mapping with ALT reads to tumor exome data in order to detect somatic variants, and I want to know whether this protocol is fitting.
Thank you,
Hi Gil,
This document is the one to use. I will check and see why it is in beta, but there is no updated/new document that I am aware of.
dear Shlee,
is BWA postalt processing obligatory when alt-aware alignment is done?
(we are not searching for variants in alternative contigs)
if we skip postalt processing - does mutect's disable of MateOnSameContigOrNoMappedMateReadFilter still make sense?
Thank You!
Hi @sergey_ko13,
As I say above in other replies, whether or not you perform post-alt processing is up to you and will depend on your research aims. Perhaps you will find skimming this post helpful.
"As of this writing (August 8, 2016), the SAM format ALT index file for GRCh38 is available only in the x86_64-linux bwakit download as stated in this bwakit README. The hs38DH.fa.alt file is in the resource-GRCh38 folder"
I just want to know is there any ALT index available for current genome version (GRCh38p12) ?
Is there anyway to create that ALT index file on our own? If yes, could you please share the detail steps.
Thank you very much!
Hi @Phuong_Nguyen_1. I checked with Heng Li and he says:
If you don't run the javascript, you can put all the ALT contig names into a file, e.g.
prefix.alt, one name per line. If you want to run the javascript, you have to convert NCBI's alignment in the gff3 format to SAM, which is complicated.
The javascript refers to the
bwa-postalt.js scriptfrom the above tutorial that gets run through k8. I hope this is helpful.
Thank you very much, I guess that I should stick with .alt index from hs38DH., I hope to see some scripts or tutorial which show us how to make .alt index for any version of GRCh38.
Additionally, I would like to ask another point: Are those 3 mapping processes applicable for Mutect2 somatic variant calling, is there any difference? In particular, did I need to perform "remove 0x1 flag" step before running Mutect2?
Thank you very much in advance.
Hi @Phuong_Nguyen_1,
I hope to see such scripts too. One of the features of the .alt file that might be of interest to you is that it is in SAM format and therefore parseable with samtools.
Whichever mapping process you decide on, just note that you should try to match the analysis pipeline for your panel of normals samples, if you are using a PoN.
As for your question
did I need to perform "remove 0x1 flag" step before running Mutect2?
For GATK4 this is no longer necessary as you can now disable the read filter that I was trying to hack around with the "remove 0x1 flag" step. In GATK3 you could not disable this read filter. In GATK4 you need only specify
--disable-read-filter MateOnSameContigOrNoMappedMateReadFilterin your command.
Hi @shlee ,
I am a bit lost with altalt.sam appers first time in this tutorial only when we talk about postalt processing. Is that just same file as altalt_bwamem.sam? Do I run bwa-postalt.js on alighned sam right before MergeBamAlignment?
Thank You!
Hi @sergey_ko13,
The two files are different. The
altalt.samfile is the input to k8 bwa-postalt processing. The output is
k8 bwa-postalt.js \ chr19_chr19_KI270866v1_alt.fasta.alt \ altalt.sam > altalt_postalt.sam
In the tutorial, yes, postalt processing is run immediately after BWA MEM alignment and before MergeBamAlignment. I'd like to mention that since writing this tutorial I've learned that the 1000 Genomes Project , when postalt processing GRCh38 alignments, does NOT perform MergeBamAlignment.
Thank You @shlee . does MergeBamAlignment conflict with postalt alignments or 1000 genomes project just does not comment such choice?
@sergey_ko13, the project makes no comment and I do not know of anyone who has investigated. I suspect there are some implications for pair assignments. If you find out exactly what is the difference, it would be great for you to share.
hi, @shlee
Thanks for the article! May I ask three questions?
1. if the Broad public pipeline does not do ALT calling, why does it specially says "Reference genome must be Hg38 with ALT contigs"?
2. do you know if the current variant annotation tools would be able to annotate variants in those ALT contigs?
3. Are most of the ALT contigs in MHC regions? If so, I suppose variant calling on ALT contigs would be beneficial for study of immunity-related diseases. Do you know any actual studies where variant calling on ALT contigs is used?
Happy New Year, @shlee !
Happy New Year to you too @blueskypy!
- Last I checked, which was a while ago, the Broad GRCh38 pipeline performs alt-aware alignment but does not perform post-alt processing. Alt-aware alignment still requires a reference with ALT contigs.
- As far as I'm aware, GATK4 tools, including Funcotator, should be able to annotate variants in ALT contigs given annotation files such as GTFs that contain information for features in the ALTs. If you find this is not the case, please let us know.
- Please see Blog#8180 for a breakdown of what the ALT contigs represent. The table in section 1 and section 5 should answer your question. Let me recapitulate the table I had made for you here:
I believe there are HLA-specific aligners and callers out there to aid in the study of such loci. Heng Li comments on HLA typing in the BWA repo at https://github.com/lh3/bwa/blob/master/README-alt.md#hla-typing. Also, check out his thoughts in the Preliminary Evaluation section and the Problems and Future Development section.
If you know of any studies where variant calling on ALT contigs is used, please do share.
Thanks so much, @shlee !
hi, @shlee
I'm working on WES. If the target regions of the capturing kit do not include ALT contigs, and I apply
-L target_regionsin BQSR, I suppose the bam files after BQSR won't contain off-target mapping. It won't make sense to apply this alt-mapping and calling in this case, and in general to targeted seq where targets do not include ALT contigs. Is my understanding correct?
hi, @shlee, could you please take a look at my question? I really appreciate!
Hi @blueskypy,
Take a look at Geraldine's post here. As you can see, the GATK Comms Team has reorganized and also expanded (doubled in size in fact!). So, I just wanted to point out that I'm not a part of the Frontline Support Team, who started fielding forum questions since last summer. Sheila was the singular point person previously and so I helped her as I could as the only other Comms member on the GATK side of things. Now I am actually a part of the User Education Team, who develop and write content. I am still active on the forum, but these days typically at the request of the Frontline Support Team for help with some question or another. So I hope you understand I'm not on the forum as much. This is due to the time-pie constant. Even if you ping my handle personally, it is the Frontline Support Team who will typically answer.
So, the new world order is you have to wait until someone from the Frontline Support tickets your question for response. One tip is that you'll have a better chance of someone answering your question quickly if you post to a new thread, instead of to an existing article.
You are asking two questions. For targeted exomes:
I apply -L target_regions in BQSR, I suppose the bam files after BQSR won't contain off-target mapping.
It won't make sense to apply this alt-mapping and calling in this case, and in general to targeted seq where targets do not include ALT contigs. Is my understanding correct?
For your first question, please apply base recalibration to the entirety of your data, including your unmapped reads. I think you will find the gatk-workflows repo's gatk4-exome-analysis-pipeline helpful here. If you dissect the pipeline, you see BQSR is performed on the entirety of data, not just on targets.
Can you rephrase your second question? It's not clear to me what you are asking.
Thanks so much @shlee! I'll address my future questions to the Frontline team.
Regarding my first question, this post says the following:
In addition, there are some processing steps, such as BQSR, that should be restricted to the capture targets in order to eliminate off-target sequencing data, which is uninformative and is a source of noise.
Based on your comment, seems the above statement is wrong. I was wondering that, if it were right, after BQSR, the bam file does not contain reads mapping to ALT contigs anymore if the target region does not include ALT contigs; then there is no need to apply this ALT-mapping and calling any more either.
btw, @shlee, does gatk4-exome-analysis-pipeline perform ALT-mapping and calling?
It makes sense to me as the linked article states to generate the BQSR report from just the padded targets. However, it's my understanding you should apply the base recalibration itself (the second step) to the entirety of the data. I only quickly glanced at the gatk-workflow's exome pipeline and it appeared to me that both steps used all data, presumably because (unchecked) the workflow limits downstream variant calling to the targets. I only took a quick glance so I could be mistaken. I hope @bshifaw can clarify. These pipelined workflows are meant to represent GATK recommendations.
BQSR keeps all reads as its function is to adjust base quality scores. To reiterate, you should have all the reads you started with.
Again, your second question is unclear to me. I think the above point about keeping all reads should help you.
hi, @shlee, thanks for the quick response again! I really aprpeciate! I've posted a new question for the Frontline team.
Regarding my 2nd question, here is what I mean:
If the mapping or variant calling is limited to targets only, and the
target.bedhas only the primary chromosomes, i.e. does not include ALT-contigs, there is no need to apply the approach (ALT-mapping and calling) in this article. is it correct?
It's my understanding exome target kit targets are empirically designed. If a kit's targets have been calibrated to work well across populations so that there is some acceptable level of capture across the board no matter the sample, say 95%, and this sort of cutoff suits your research project and your project's samples, then you STILL need to perform alt-aware alignment if you are in GRCh38. Please see the figure I made for section 4 of Blog#8180. The white reads are secondary alignments and GATK ignore these. If your analysis is limited to the primary assembly, you should perform your own due-diligence for your project aims for the value-add of the additional post-alt processing as there are differences in the data (that Tutorial#8017 outlines) even on the primary assembly, e.g. the handling of reads that map to decoys. I touch upon these briefly in section 6.2.
The alternate contigs represent alternate haplotypes of corresponding regions of the primary assembly. It is not unreasonable to assume that exome target kits accommodate some extent of the alternate haplotypes, which can be common in the population, and in this case you might find it preferable to analyze the corresponding target region on the alternate contig instead of the primary assembly. You could do a quick back-of-the-envelope calculation on how much of your target kit's target baits has corresponding alternate regions by performing a liftover of your bait intervals. You can do this at the UCSC LiftOver site, the NCBI remap site and using Picard LiftOverIntervalList. Last I conversed with Heng Li on this topic, the recommendation is to perform all and compare as there are differences between the methods.
P.S. That your target intervals are limited to the primary assembly is an artificial construct of past methods and resources. To take full advantage of all the improvements GRCh38 brings, you should request from your target kit manufacturer corresponding intervals for the alternate haplotypes.
hi, @shlee, thanks again for the reply! I'm interested in both primary chromosomes and ALT-contigs, the problem is the
target.bedfrom those commercial exome capturing kits, e.g. Agilent SureSelect V7, specifically designed for hg38, only contains chr1-23, X, Y, M, no other contigs.
Therefore, to not use ALT-mapping and calling, I can use a version of hg38 with no ALT contigs based on Heng Li's blog.
But to use ALT-mapping and calling for WES, I wonder if the method 2 in my post is the option?


text:
Generals Wrestling Camps
Washington & Lee University
Lexington, VA 24450
This camp is designed for prospective W&L student/athletes. Campers will have four wrestling workouts, two strength/conditioning workouts, and tour campus and meet with various faculty and staff members at Washington and Lee University.
About Our Coaches
Nate Shearer is in his sixth season as the head wrestling coach at Washington and Lee. Over his first five seasons, he has coached 12 place-winners at the Centennial Conference Championships, including mentoring Ron Tassoni '16 to the 2014 Centennial Conference title at 174-pounds, W&L's first conference title winner since 2001.
Tassoni went on to place third at the NCAA East Regional in 2016, earning the Generals' first NCAA Championship berth in 15 years. Tassoni was also voted the Pres Brown Most Valuable Senior Male Athlete at W&L, the first time a stand alone wrestler has ever received the award.
Tassoni, Brandon Lefore '18 and Alex Pollera '18 all earned NWCA Scholar All-America honors following the 2016 season and W&L received the NWCA Team Academic Award with the seventh-highest GPA in the country.
Shearer coached four place-winners at the East Regional and four at the Centennial Conference Championship during the 2016 season, as both Tassoni and Zach Bylykbashi '19 surpassed the school record for wins in a season.
In 2015, Tassoni and Evan Kueffner '18 both placed third at the Centennial Conference Championships, with Tassoni setting a then W&L record for wins in a season (29-9) and takedowns in a season (95). Lewis and Matt Kaminer '18 both earned Scholar All-America honors from the National Wrestling Coaches Association.
In 2012, Shearer coached David Dennis '12 to all-conference honors, while Sam Campbell earned Centennial Conference Academic Honor Roll and Capital One Academic All-America laurels. Additionally, Campbell and Dennis set records for wins and pins in a season and both were named NWCA Scholar All-Americans.
Shearer came to Washington and Lee from Heidelberg University, where he served as the head coach during the 2010-11 season. He earned the National Wrestling Coaches Association (NWCA) Rookie Coach of the Year Award after leading Heidelberg to a second-place finish in the Ohio Athletic Conference (OAC) Championship. Three of his wrestlers qualified for the NCAA Division III Championship, while four of his athletes received Scholar All-America honors from the NWCA. As a team, Heidelberg received the team Scholar Award from the NWCA after ranking 15th in Division III in Team GPA.
The recipient of a scholarship to attend the NWCA Leadership Academy in 2010, Shearer took over as the head coach at Heidelberg after holding an assistant post with 'Berg during the 2009-10 school year. During that time, he was the team's recruiting coordinator and he helped coach six Scholar All-Americans and four NCAA Championship qualifiers, including one All-American.
A 2005 graduate of Ohio Northern with a bachelor of arts in social studies, Shearer served as an assistant coach at his alma mater from 2005-08, coordinating the staff's recruiting efforts and helping mentor six Scholar All-Americans and 14 NCAA qualifiers. His experiences also included a stint as the coach of the Ada, Ohio youth wrestling program (2005-06) and assisting with numerous youth wrestling camps and clinics.
As an undergraduate, Shearer was a four-year letterwinner for the wrestling team, helping the Polar Bears to the 2002 OAC Regular Season Championship and an appearance in the NCAA Division III Championship. He finished his career ranked 11th all-time at ONU with an 89-44 overall record.
Shearer also holds as master of education in mild/moderate intervention services from Bowling Green State University (2008). In 2012, Shearer was elected to serve as the Division III representative to the NWCA Board of Directors.
Camp Details
This camp is designed for prospective W&L student/athletes. Campers will have four wrestling workouts, two strength/conditioning workouts, and tour campus and meet with various faculty and staff members at Washington and Lee University.

subset: commoncrawl


text:
Or at least it seem that way. I seem to go in spurts in blogging. I hope I am on the up side now…….I have been researching my husbands side for the past few months. He seems to have more interesting ancestors than I. This is because they arrived from 1733 to the early 1800's.
My Irish relatives came over in the 1880's and my mother and her parents came over in 1926. I find the Irish and German research to be very difficult. I found a lot of information after their arrival but not a lot in Europe.
I find it unusual is the fact that both of our families settled in Pennsylvania and STAYED THERE. How rare is that? I have been perusing the local county Historical Societies and looking on the Gen Web site for those counties. I guess a road trip will be in order. The good thing is that they are no more than a two hour drive away.
I felt the need for a little autumnal color.


text:
communiqués de presse
Rochester City School District Saves Millions of Dollars in Software Maintenance Costs with Rimini Street
School District Retains Jobs and Funds New Strategic Projects with Savings from Third-Party Support for its Oracle PeopleSoft System
LAS VEGAS, February 12, 2013 - Rimini Street, Inc., the leading third-party maintenance and support provider for enterprise software, including SAP AG (NYSE:SAP) software and Oracle Corporation's (NASDAQ: ORCL) Siebel, PeopleSoft, JD Edwards, E-Business Suite, Oracle Database and Hyperion software, today announced that Rochester City School District based in Rochester, New York, is saving a projected $6 million in cumulative support costs over 10 years while leveraging Rimini Street Support for PeopleSoft. Since switching annual support from Oracle to Rimini Street in 2011, the District has also benefitted from improved, more responsive service for its PeopleSoft applications. Rochester City School District, like more than 50 other public sector organizations, made the switch to Rimini Street to reduce total support costs by up to 90 percent, enabling them to meet mandated budget cuts and reallocate resources towards protecting fundamental programs and funding strategic initiatives.
Fiscal Uncertainty Remains a Challenge for Public Sector in 2013
Fiscal uncertainties at the U.S. federal, state and local levels continue to have a major influence on public sector organizations. The effects of repeated budget crises and lingering questions about longer-term solutions to current fiscal imbalances make it difficult for public sector organizations to successfully navigate today's challenging economic conditions.
Rimini Street helps public sector organizations address these current and potential future budget challenges by replacing annual support from the software vendor with a more responsive, concierge-level support program that delivers savings of 50 percent in annual support fees, and also drives significant reductions in related support and maintenance costs with savings of up to 90 percent in total overall support costs. Rimini Street enables cost reductions beyond the 50 percent savings in annual support fees by allowing clients to run their current software releases without any required upgrades for at least 10 years and providing support for customizations, interoperability, performance and interfaces at no additional fee. Additionally, Rimini Street provides clients with a 24X7X365 premium-level service model with an assigned Primary Support Engineer (PSE) that eliminates the need for extra maintenance resources and headcount associated with inefficient, burdensome vendor support processes and policies.
These additional cost reductions drive total maintenance cost savings of 15x their current annual support fees over a decade for a typical organization switching to Rimini Street Support. For example, an organization paying the software vendor $1 million annually in support fees would realize overall savings of $1.5 million per year or $15 million in total maintenance cost savings over 10 years with Rimini Street. This dramatic reduction in total maintenance costs realized by switching to Rimini Street provides immediate budget relief, allowing public sector organizations to use the savings to retain jobs and continue to fund vital services that benefit the public.
Rimini Street Helps Rochester City School District Save Jobs and Implement Key Initiatives
Rochester City School District provides education services for nearly 32,000 students ranging from pre-Kindergarten through grade 12, including 10,000 adults in its community. As with many urban school districts around the country, the District has faced budget deficits that required cuts to fundamental educational services nearly every year.
Led by chief technology officer Annmarie Lehner, Rochester City School District moved from vendor support to Rimini Street after determining that their existing Oracle PeopleSoft system was mature and stable and able to run mission-critical operations for a decade or longer. Furthermore, after having recently upgraded to PeopleSoft 8.9 and 9.1 releases, Lehner concluded that Oracle's expensive maintenance costs were not justified by the level of service and support they were receiving or the value being delivered in incremental upgrades.
"The move to third-party support of our PeopleSoft apps was not a decision we made lightly," said Lehner. "However, we were facing an extremely challenging fiscal period and we knew that our current support model was not sustainable. In evaluating Rimini Street's customer base, we received very favorable assessments of Rimini Street's service and support and we felt confident in our decision. I would strongly urge any public sector CIO who is evaluating their organization's enterprise software strategy to proactively consider the responsive service and substantial cost savings of third-party support."
As a result, Rochester City School District has been able to redirect budget savings to several strategic IT initiatives that benefit its teachers and staff and help to enhance student progress and school performance overall. In 2011, Lehner's team rolled out new functionality for its PeopleSoft system, including the ePerformance module. Additionally, the District recently licensed Oracle Business Intelligence Enterprise Edition (OBIEE) in order to implement a centralized reporting system across the District. The new platform is in the process of being rolled out to every principal, teacher and building administrator in the district.
More Than 50 Public Sector Organizations Cut Maintenance Costs with Premium-Level Support from Rimini Street
550+ organizations, including more than 50 public sector organizations, have switched to Rimini Street Support to maximize the return on their software investments. These organizations include federal institutions, state, county and city governments, health and educational institutions, non-profit organizations, public utilities and other public sector entities, such as Abilene Independent School District; Birdville Independent School District; Brazoria County, Texas; City of Eugene, Ore.; City of Flint, Mich.; City Of Louisville, Ky.; City of Ontario, Calif.; City of Santa Monica, Calif.; Cowlitz County, Wash.; Detroit City Public Schools; Douglas County, Wis.; Frederick County Government; Hillsborough County Sheriff's Office; Kansas City Missouri School District; Laramie County School District 1; Lucas County, Ohio; Michigan Education Special Services Association (MESSA); National FFA (Future Farmers of America) Organization; Oakland County, Mich.; Pittsburgh Public School District; Shawnee Mission Schools and Spokane County.
"The public sector continues to face significant budgetary hurdles to providing much-needed services for our communities, and Rimini Street is committed to partnering with these organizations to help them save up to 90 percent in total support costs over a decade and gain award-winning, premium-level services," said Seth Ravin, Rimini Street CEO. "We are proud to be a trusted partner to Rochester City School District in their tireless efforts to provide high-quality education to their communities, and we will continue to dedicate ourselves to providing all of our clients with the most value-driven, ultra-responsive enterprise software support option in the industry."
About Rimini Street, Inc.
Rimini Street is the leading third-party provider of enterprise software support services. The company is redefining enterprise support services with an innovative, award-winning program that enables Oracle and SAP licensees to save up to 90 percent on total support costs over a decade, including saving 50 percent on annual support fees. Clients can remain on their current software release without any required upgrades or migrations for at least 10 years. Hundreds of global, Fortune 500, midmarket, and public sector organizations from virtually all industries have selected Rimini Street as their trusted, independent support provider. To learn more, please visit www.riministreet.com or call within the USA 888-870-9692 or internationally +1 702-839-9671.
# # #
Rimini Street and the Rimini Street logo are trademarks of Rimini Street, Inc. All other company and product names may be trademarks of their respective owners. Copyright © 2013. All rights reserved.


text:
Content Count46
Last visited
Community Reputation0 Neutral
About crzy3by
Advanced Member
- Birthday 11/16/1978
Profile Information
100,000 coins contest
crzy3by replied to akdrv's topic in Expired or Ended Contests/Giveawaysnovember 16
2x2 page giveaway/contest EXPIRED
crzy3by replied to superbeast1098's topic in Expired or Ended Contests/Giveawayscount me in..
British minors giveaway
crzy3by replied to Blackhawk's topic in Expired or Ended Contests/GiveawaysIf I'm not yet too late.. pls enter me..
Hello Steve, Got my great prize today! Thank you so much!
WOW! Im so lucky... THANK YOU GUYS AND THANK YOU SO MUCH DOCK!!!
Civil War Coins Givaway
crzy3by replied to jtryka's topic in Expired or Ended Contests/GiveawaysKey Moments in the Civil War By Professor Ernest Butner (Irish) "Just an old man's opinion" Many good folks delve into the key moments of the Civil War. It can be a way of second guessing and pondering what ifs. As I used to tell my students: What I am about to deliver should in no way be considered an answer to anything. It is however; an attempt to create a question. We second guess, that is human nature. It is very easy to take a hindsight approach. This essay does not attempt to study all of the critical junctures in the Civil War, just a few--And hopefully this essay will provoke questions. To believe that I have the right to come up with a definitive answer to all of the nineteenth century problems in warfare would be an effort in futility and an exercise in stupidity. The people is never in the right as soon as it begins to revolt. This is a fact, and when I speak of people I refer to the constituents of a government, thus the word is instead of are. This is a fact when it came to Lincoln's' perception of the people and also his perception of a government under revolt. When creating a new government, it is important not to tie one's hands by laws that are too detailed. Constitutions are the work of time, and it is impossible to leave too wide an opening for improvements. Lincoln understood this, and Davis did not. With this understanding Lincoln also knew that Laws are like the statues of certain divinities which are veiled on certain occasions. One of the first key moments of the war was found in the security of the border states and the long wide, rolling transportation conduits known as the Ohio, Tennessee, Cumberland and Mississippi Rivers. These were the grand prizes that would either spell defeat or victory in the eyes of the people who held them. Also key political land masses were important. It seems likely that Maryland would have followed Virginia into the Confederacy had not Lincoln veiled certain statues in that divinity called the United States Constitution. Not only a key moment, but critical moment in time. Arrests were made, fear of the government was made an issue, and Maryland was held. There were many reasons for securing the border states...too many to list here. Here are a few, maybe not the most important, but enough to hopefully create a flow of imaginative juices known as what ifs. The border states were just that...border. They had border line politics, border line beliefs, they had commitment to differing ideals, and they were certainly the prize of whichever government knew how to bring them into the fold. The border states produced probably as many soldiers for the North as they did for the South. Although a nice prize, those men would have and did join their respective armies because of their own personal beliefs, they were not the prize. The prize was geography. Lincoln understood this better than anyone. Geography--the Ohio River, the key to the Mississippi and the eventual key to the war. The South gave it little emphasis until it was too late. The North made it the grand prize. It should be noted that Lincoln, the great manipulator, had created an idea in the hearts and minds of the people in the North and the South-- the belief that Richmond was the main focus. He knew as well as anyone that the South could still fight without Richmond. He knew they would eventually perish without the Mississippi or the Ohio. Virginia is only about one hundred miles from Lake Erie. The thoroughfare from Maryland to the Great Lakes could have produced a portion of the Anaconda Plan in reverse. President Lincoln's maneuvers in securing the border states were as sound as any flank march that was attributed to Stonewall Jackson. Second Key Point: Gettysburg: If the art of war were nothing but the art of avoiding risks, glory would become the prey of mediocre minds. Lee came onto a field he did not want, and had no knowledge of. But the enemy was there and so were the risks. There are many key points during the battle of Gettysburg that will be rehashed until the end of time. "If Ewell would have only advanced and taken the hills." "If Longstreet would have moved his corps with celerity the second day's assault would have produced a great victory." "If Lee would not have ordered Picketts' charge, his army would have been preserved to take the offensive another day." And I am certain there are others. If Ewell would have advanced and would have taken the hills...what then? The Gettysburg line would have fallen. The Pipe Creek line would have been solidified. The Army of Northern Virginia could have either circled to the east and north and presented itself in a strong defensive position between the Federal army and Washington (this was still an option at the end of the first day at Gettysburg). Or...the enemy was on the Pipe Creek line in a weakened state having lost two corps of troops. An assault on a well established defensive line near Pipe Creek may have produced the same results that were produced at Gettysburg. Would Lee have swung to the east and north as Longstreet wanted? Or would he have went after the Federal army at Pipe Creek? What if? On the Second Day. What if? Men take only their needs into consideration never their abilities. On the Second day of Gettysburg Longstreet faced a problem in command that is not unlike officers of an earlier day and those of a later day. Having been given orders he did not believe would prove successful; he hesitated, and historians and time are very unforgiving. Had he progressed with enthusiasm and celerity...then what? Could he have pierced the line? Then changing front, rolled up the Federal line? But what about the Federal Fifth Corps? or the Sixth Corps? Where were they? Could they have destroyed Longstreet at the moment of seemed victory? What if he would have taken the hills--and perceiving the Fifth and Sixth Corps coming in on his flank and rear he would have held the hills and not advanced? What if Sickles would have obeyed orders and had not advanced? Would the Confederate onslaught proved victorious? "The mistakes of our enemies often are more useful to them than their abilities and cause us to commit mistakes still greater than theirs (Napoleon Bonaparte)" Sickles' advance was a mistake. It caused a still greater mistake in the ranks of the Confederate army in the progression of events. Pickett's charge...when had Lee's instincts failed him? There is a moment in every battle at which the least maneuver is decisive and gives superiority. Had that moment happened? If he had not charged would he be crucified by historians and time as Ewell and Longstreet. He who fears to lose his reputation is sure to lose it. War consists of nothing but accidents and a commander, though he must always adjust himself to general principles, should never overlook anything that might enable him to exploit these accidents. Some would call this luck, but in fact it is the characteristic of genius. Lee had an instinct for finding Federal accidents, he had to try. However; what if? True character always pierces through in moments of crisis. There are sleepers whose awakening is terrifying--The attack of the First Minnesota, the courage of Cushing, Joshua Lawrence Chamberlain on Little Round Top, Buford on Seminary Ridge, Hancock reorganizing on the first day, the ability of Meade to change his well-conceived Pipe Creek plans based on Hancock's report...the list goes on and on. The last key moment for this essay would be the actions in the western theater more specifically the fall of Vicksburg and thus the fall of the Mississippi River. Vicksburg fell in July of 1863, and with it most of the hopes of a successful war effort for the South. The seeds of this monumental disaster were sowed in the first few months of 1862, when the South failed to achieve enough success in Kentucky. The fall of Kentucky was tantamount in that it gave the Federal forces the Ohio River. The Federal philosophy of river warfare and the Confederate conception was very much apart. The North created gunboats, the South placed their chances of victory in fortified positions along the river. The South put all of their eggs in one basket. A fort could possibly hold out for a long time, and expend a great deal of enemy energy...but once it fell it gave up large expanses of river. The fall of Vicksburg could be easily blamed on Joe Johnston's failure to relieve Pemberton. It could be given to Bragg for not stopping Rosecrans. It could be given to Davis for issuing impossible orders to Pemberton. It could be given to an outdated belief that fixed fortifications can withstand the onslaught of an invading army. There were many reasons why Vicksburg was lost to the Confederacy. 1. Losing the Ohio River, and New Orleans (both flanks had been turned) That in itself is a defensive disaster on a large scale. 2. The failure of the offensive to take the Tennessee River with the eventual defeat at Shiloh, and the retreat from Murfreesboro gave the Federal armies free reign along the rivers leading to the Mississippi. Was it at this critical time that all armies operating in the west should have been consolidated into one powerful force with a singular offensive target? Losing Forts Henry and Donelson...and New Orleans should have raised a very large red flag in the war department in Richmond--It is axiomatic in the art of war that the side which remains behind its fortified line is always defeated. Experience and theory agree on that point. Alas, by the time if got down to blaming Johnston for not supporting from Jackson, and Bragg not supporting from the vicinity of Chattanooga the Battle and siege of Vicksburg had already been decided. And with the fall of the Mississippi, the entire Confederacy was not far behind. Every offensive war is invasion warfare; every well conducted war is methodical warfare. Defensive warfare does not exclude attacking, nor does offensive warfare exclude defensive fighting, although its aim is to force the frontier and to invade the enemy's country. What distinguishes successful commanders from less successful ones is not the cleverness of maneuver but the ability to bring about a bold action. In the advance on Vicksburg, Grant's supply line was nearly destroyed by the cleverness of Nathan Bedford Forrest and Earl van Dorn, his response was foraging and confiscation of food...and possibly the boldest move of the war from either side...not just the movement on Vicksburg, but how he did it.---Again just an old man's opinion. Source: From the papers of the late Dr. Ernest Butner
Toned Aussie Cent Giveaway
crzy3by replied to Blackhawk's topic in Expired or Ended Contests/Giveawayscount me in too!
Guess prize of russian coins
crzy3by replied to Timewarp's topic in Expired or Ended Contests/Giveaways120 euros
crzy3by replied to daggit's topic in Expired or Ended Contests/Giveawaysthose are such beautiful coins.. and I dont have any of those so... please count me in daggit!
Free Giveaway!
crzy3by replied to San_Miguel98's topic in Expired or Ended Contests/GiveawaysI received my Saddam Note today.. mY FIRST BIG NOTE! THANK YOU SO MUCH MIKE!
Hockey 25c giveaway
crzy3by replied to ccg's topic in Expired or Ended Contests/GiveawaysREDWINGS!
4000 post contest
crzy3by replied to gxseries's topic in Expired or Ended Contests/GiveawaysEXONUMIA FORUM
5000 Posts Cointest
crzy3by replied to Scottishmoney's topic in Expired or Ended Contests/GiveawaysANCIENT COIN FORUM. ;-)
Ugly Banknote Competition 2007
crzy3by replied to thedeadpoint's topic in Ugly Coin CompetitionEgypt, 25 Piastres, cant read the date


text:
Many of you have seen the trail of cicli stuff in front of the book shelf when you've come over.
On Saturday morning, long before anyone else in the house was awake, I was prepping for my ride. I have a big black duffel bag that holds a bunch of my riding gear. I moved it a foot or two from where it was sitting on the floor. As I bent over to grab my shoes out of it, I saw something on the floor. Something red. A drawing. One of Pablo's trademark smiley faces.
I couldn't believe my eyes. The rarity of this find. The first thought in my mind was that this was Pablo's version of sanskrit—Pabskrit. The precious uneven lines of his young, developing hand. The beauty of it. Imagining how Pablo would have snuck over to the book shelf with a juicy red Sharpie when nobody was looking. Imagining the rush of excitement he must have had while he was doing it, fearing he'd be caught in the act.
Thankfully he was not found out. Thankfully we discovered this on Saturday July 18, three weeks after his passing. Thankfully Pablo's floor drawing is a wonderful, joyful, cute + hilarious gift for us to enjoy. Forever.
As I stood there, with the whole house still asleep, I could barely contain myself. I was certain no one had ever seen it. This is the kind of thing anyone around here—even a guest—would scream about at the top of their lungs. I was certain that nobody could possibly forget to mention that they'd discovered a Pablo drawing on the floor. I contemplated waking Jo Ann. I did not. She has a hard enough time sleeping. I took a picture of the drawing—the one you see above. And I told Jo Ann et al about it when I came home from my ride. After I put my bike in the garage.
Today, I say: Thank you, Pablo!


text:
- Getting Started
- Tutorials
- COPYandPAY
- Server-to-Server
- Standalone 3D Secure
- Mobile SDK
- Manage Payments
- Plugins
- Fraud Screening
- ReD Shield
- Reporting
- Single Sign On
- Webhooks
- Reference
- API Reference
- Result Codes
- Brands Reference
How do I know which of my transactions the webhook notification is referring to?
If the webhook notification is for a transaction status change, you will get at least one of the following data: id, referenceId, registrationId, or merchantTransactionId. You can use these fields to match your transaction data against the webhook notification.


text:
In the industry for over 40 years, Sabre provides highly-engineered support structures for a wide variety of industries including electric transmission and distribution, wireless communications, renewable energy, oil and gas, and government and defense. An integrated provider, we also offer a variety of value-added services that are critical to the development, expansion, and maintenance of both power delivery systems and wireless communication networks.
Sabre's goal is to provide the best in products and services in all the industries we serve; and we believe that can only be accomplished by hiring skilled employees that are dedicated to their work. We look for talented and ambitious individuals who want to work in an environment that values their skills and creativity. Sabre provides a variety of employment opportunities from manufacturing positions, to engineering, to support staff and service technicians. Committed to the highest standards, we seek to provide our employees with opportunities for challenge, professional growth and development. To join our team, visit our Careers section.


text:
Gathering and Issuing: Energy management for distance running and walking
Let's discuss a principle of T'ai Chi that is not mentioned in either the ChiRunning or ChiWalking books. The principle is called Gathering and Issuing. This principle, or "law," provides the underpinnings of energy management, which is different from energy efficiency because it governs how you manage your expenditure of energy when you're practicing ChiRunning or ChiWalking. Rest, renewal, recuperation and rejuvenation are all great themes, but most people think of these as occurring after a workout. So how can you rejuvenate in the midst of your workout?
Gathering can best be equated to resting, storing or "collecting," energy. Gathering can be thought of as preparation for issuing. One example of a good time to focus on gathering energy is the beginning of a run or race. The beginning is the time to prepare your body, to focus your mind, to gather in the energy of your body into your spine. It is a time to marshal and conserve your energy, to check in with your posture and remind yourself to relax, and to reinstate your "C" Shape, which in itself is a type of gathering posture. Gathering to your center and relaxing everything else is a gathering of energy. There are times to issue and there are times to gather. Allowing your body to slowly warm up during the run will provide many benefits later on – when you decide it's time to hit the gas pedal, shift to a higher gear and focus on issuing that energy. When you can Body Sense when to do each of them at their appropriate times, you won't end up trying to draw from an empty well.
Issuing is precisely what it sounds like. It' happens when you apply your available energy, whether going up a hill or finishing a race with strength, speed and confidence. Whenever you're running at a steady pace for an extended period of time, you can practice gathering and issuing alternatively; gathering in when you are feeling tired, issuing when it feels good. This puts you in control of your energy management at all times.
The disadvantage many people have is not knowing when to gather and when to issue. Once you can Body Sense what it feels like to gather and issue, you can then learn when to apply one or the other at the most ideal time in your workout. This allows you to rest and recover energy during your workout. You can devote entire workouts to gathering energy, and then use that energy for your work, family or projects.
Runners and walkers "hit the wall" in races or workouts when they issue too much at the beginning and neglect the gathering aspect. Overall, we Western folk seem to focus more on issuing energy and less on gathering in. The result is injury, exhaustion or burn out.
When you are walking or running, the "C" Shape – lengthening the back of your neck, dropping your chin, and leveling your pelvis – creates a container in your pelvic area and in your torso. Even when issuing, if you keep the "C" Shape, you will not issue beyond your capacity. Maintain your "C" Shape even when issuing at top speed.
To issue your energy, focus on your legs going out the back. This will create a strong, healthy twist of your spine which, when released, will generate a lot of power … an issuing of energy. The rotation of the pelvis is another place where energy can be issued, when the time is right. At first, you want to allow your pelvis rotate from pure relaxation (while maintaining a level pelvis – that is crucial). Once you have a natural rotation, you can begin to encourage the rotation when it is time to issue energy. We'll cover this technique in a future article.
The real key to gathering and issuing is the focus of your mind. Mentally focus on gathering your energy in toward your center, toward your spine. Then focus on feeling that energy issuing that energy out your arms and legs and Body Sense how it feels.
There are many times I've come back from a run with more energy than I left with, and you might find that you can gain more energy from running and walking than by resting and recuperating on the sofa.
Posted in Lifestyle


text:
Embarcadero Technologies has updated its recently acquired CodeGear Rapid Application Development (RAD) suite and languages for Windows.
Delphi 2009 and C++Builder 2009 feature the first merging of previously separate development environments from CodeGear and Embarcadero, sharpening the focus on database development. The tools also expand the former CodeGear's Visual Component Library (VCL) of re-usable components for Windows XP, Vista and the web.
CodeGear's Delphi and C++ Builder Architect Editions come with Embarcadero's ER/Studio Developer Edition data modeling tool - although it's not clear how far integration goes or whether Embarcadero is capable of delivering more polished products than CodeGear could on its own.
CodeGear's dbExpress data-access layer has also been updated to provide built-in support for the high-performance, small-footprint Blackfish database along with the usual database suspects from Microsoft, Oracle, IBM and Sun Microsystems.
Also included is CodeGear's DataSnap architecture, for multi-tiered web-based applications.
The VCL components have been updated for building applications in Microsoft's Silverlight browser plug-in for media and - somewhat late - AJAX. Components have also been added for building a ribbon-style interface for Microsoft's Office, Portable Network Graphics (PNG) image format, and interfaces for Windows XP and Vista.
At the language level, Delphi features generics and anonymous methods. Embarcadero also claimed it's the first commercial integrated development environment (IDE) to support the planned new C++0X and Technical Report 1 (TR1) extensions to C++.
Delphi 2009 and C++Builder 2009 are available in three flavors: Professional, Enterprise, and Architect.
Separately, Mainsoft announced integration between the latest edition of Microsoft's Visual Studio and its own cross-platform tools.
Mainsoft for Java Enterprise Edition 2.5 features Mainsoft's cross compiler for C# and Visual Basic, allowing developers to write applications inside Visual Studio 2008 using ASP.NET 2.0, AJAX Extensions and AJAX Control Toolkit and then have them run as native Java bytecode on a standards-compliant EE application server. Version 2.5 features support for Visual Studio 2008, C# 3.0 and Visual Basic 9.0.
Version 5.2 of Mainsoft for Unix and Linux also embraces Visual Studio 2008, while expanding its existing support for 21-flavours of Unix and Linux. The suite now also caters to Red Hat Enterprise Linux 5 on x86, SuSE Linux Enterprise Server 10 on x86, HP-UX 11i version 2 and HP-UX 11i version 3 on HP's Itanium-based Integrity servers, and HP-UX 11i v3 on HP 9000 servers running PA-RISC.®


text:
Let $p$ be a prime number and let $a_i$ be a sequence of natural numbers such that the series $\sum_{i=1}^\infty p^{a_i} x^i$ is rational. A warm-up question:
Question 1. Does it follow that the series $\sum_{i=1}^\infty a_i x^i$ is rational?
Let $p$ be a prime number and let $L$ be a regular language. Let $a\colon L\to \mathbb N$ be a function such that the series $$ \sum_{w\in L} p^{a(w)}x^{|w|} $$ is rational.
Queston 2. Does it follow that the series $\sum_{w\in L} a(w) x^{|w|}$ is rational?
Let $L$ be a regular language and let $T=T_w$, $w\in L$, be a family of finite dimensional matrices with integral coefficients. Consider the series $$ F(T,p)(x) := \sum_{w\in L} \dim_{\mathbb F_p}\ker_{\mathbb F_p} T_w \cdot x^{|w|}, $$ and the series $$ G(T,p)(x) := \sum_{w\in L} |\ker_{\mathbb F_p} T_w| \cdot x^{|w|}, $$ where $|\ker_{\mathbb F_p} T_w|$ is the number of elements in $\ker_{\mathbb F_p} T_w$. The relation between $G$ and $F$ is as in the questions above. In my specific situation the series $G$ is rational, roughly because the elements of $\ker_{\mathbb F_p} T_w$ also form a regular language. I would like to know that the series $F$ is rational because $F(T,p)(\frac{1}{2})$ is a so called $l^2$-Betti number over $\mathbb F_p$ and it would be very nice to know that these are rational in the case at hand.
In the key example I have (section 2-C is the relevant one) the series $$ F(T)(x) := \sum_{w\in L} \dim_{\mathbb C}\ker_{\mathbb C} T_w \cdot x^{|w|} $$ is transcendental, but all the series $F(T,p)$ are rational, because $a(w)$ are bounded, and in this case the answer to Question 2 is, as explained by Dylan below, positive. Reason for transcendality over complex numbers is that the family of vectors which make it transcendental have rapidly growing coefficients, and so no single prime number can detect this family. Questions above can be informally seen as asking whether "unboundedness of elements in the kernels" can also be a reason for the series not being rational.


text:
Once you have gone through the Growth Track Intensive, you can take the GROW Team Training. For the training you meet first as a large group for the first 15 minutes while eating a small lunch and then you break off into your different training sessions. You will get to meet with your future GROW Team leader and learn more about the specific ministry you want to be involved in. For each ministry team you want to be on, you need to sign up for this training! *You can be on as many teams as you want! You only need to take the training each time, not the entire intensive!
Stef Grick
(610) 286-5153
Registration closed on Sunday, January 19, 2020


text: This Classic Knit Sweater features baylor Colors (Green & Yellow) with the #1 or #10 on front and back. This is a Unisex sweater made out of 100% Acrylic. Ideal for tailgating or crisp fall football games. Made of acrylic yarns with full-fashioned sleeves. Comes assorted sizes Small, Medium, Large and XL. You will receive an assortment of sizes on #1 & #10.


text:
Join 207046 others who are connecting with their cousins and common researchers!
FamilyTreeCircles is easy and free.
Researching family history.
Best, Caton, Daly, Haylan, Lammey, Sawyers, Sweeney, Terry,
Isabella Best married Leslie McFawn 1869 Nsw Australia
Thomas Halion married Mary Daly abt 1813 Ireland
Patrick Haylan/Halian married Bridget Caton/Keating 1836 Ireland
James Haylan married Mary J Sweeney 1869 Nsw Australia
Edward... more...