text:
CAL Store
Directory of Foreign Language Immersion Programs in U.S. Schools
Welcome to CAL's searchable directory of language immersion programs!
The Foreign Language Immersion Directory was first compiled by CAL in 1981. CAL continues to make this directory available online as a resource to the field. Note that the directory data was last summarized in 2011 (see below for links to the summary of data).
To help keep the CAL directory current, we encourage you to submit your total or partial immersion program. Please note the definitions below to ensure that your program fits into the definitions for immersion used for this directory.
Complete the online form to submit your program information. To update a current entry, search for your school and make changes directly on your school's "Immersion Detail Form".
Please email CAL if you have comments or questions about the directory.
Information about the Directory
This directory includes elementary, middle, and high schools that teach all or part of their curriculum through a second language. Such programs are usually referred to as total or partial immersion programs. In general, the programs are designed for students whose native language is English.
The following definitions are used in this directory:
Total Immersion – Programs in which all or almost all subjects taught in the lower grades (K-2) are taught in the foreign language; instruction in English usually increases in the upper grades (3-6) to 20%-50%, depending on the program.
Partial Immersion – Programs in which up to 50% of subjects are taught in the foreign language; in some programs, the material taught in the foreign language is reinforced in English.
Two-Way Immersion – Programs that give equal emphasis to English and a non-English language and in which one to two thirds of the students are native speakers of the non-English language, with the remainder being native speakers of English.
Note: The language profession is continually reviewing program definitions, and has noted that some schools have started using different terminology for their immersion programs. For schools that offer immersion programs but do not use the terms "total immersion" or "partial immersion," we request that they list "other" as their Immersion Type, and then specify the terminology and definition in the Notes Field. It should also be noted that this directory also includes a few Spanish-English two-way immersion programs, in which classes include both native English and native Spanish speakers. These two-way programs typically began as partial or total immersion programs and are thus included in the Foreign Language Immersion Directory for historical reasons. For a national directory of two-way programs, and to submit information about a two-way program, please see CAL's Directory of Two-Way Bilingual Programs in the United States.
You may search the directory in a variety of ways. If you want to find the entry for a specific school, enter the name of the school in the appropriate box below, then click the "search" button. If you want to identify programs that have certain characteristics, for example, all schools in a particular district that have French immersion programs, type the name of the district in the appropriate box, click on "French," and then click "Search." The directory will retrieve a list of all schools that meet your criteria. If you want to select more than one language, hold down the control key while clicking on additional language names. The directory will retrieve programs that teach one or more of the languages you selected. You may choose one, several, or all categories to conduct a search. (Note: If you click "Search" without specifying any search criteria, you will retrieve the entire list of schools in the database. This is the format of the directory that most people prefer when printing a hardcopy.)
State: All States... AK AL AR AZ CA CO CT DC DE FL GA HI IA ID IL IN KS KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM NV NY OH OK OR PA RI SC SD TN TX UT VA VT WA WI WV WY
Grade Levels:
PK K 1 2 3 4 5
Language: All Languages... Arabic Cantonese Chinook Danish Diné French German Greek Hawaiian Italian Japanese Mandarin Norwegian Ojibwe Russian Spanish Swedish Yup'ik Others
SUMMARY OF THE DATA IN THIS DIRECTORY, 2011*
Click on the links below for tables and graphs of the content of this directory.
Number of Language Immersion Schools by State
Language Immersion Schools by State
Percentage of Immersion Programs by Language of Instruction
Language of Instruction in Immersion Programs
Growth of Language Immersion Programs in the U.S., 1971-2011
*The data on these tables represent the total number of language immersion programs as of November 2011. The directory is updated regularly, but the tables will only be updated sporadically, so at any given time the tables may not include the most recent additions to the directory.
HOW TO CITE THIS DIRECTORY
To cite this immersion directory using APA publication standards, we suggest the following:
Center for Applied Linguistics. (2011). Directory of foreign language immersion programs in U.S. schools. Retrieved {insert date}, from http://webapp.cal.org/Immersion/.
4646 40th St. NW Washington, DC 20016 T: 202-362-0700 F: 202-362-3740 E: info@cal.org
Copyright © 2016 CAL


Saddle Hills are hills which are located in Western Australia nearby to Mount Herbert, Number Two Dam and Change Creek. It is also nearby to Mount Marion and Karramindie Soak. The latitude of Saddle Hills is -31.03333, and the longitude is 121.41667 with the gps coordinates of 31° 01′ 59.98″ S and 121° 25′ 00.01″ E.


text:
Sponsored by Newstead Parish Council
Cemetery Regulation
Cemetery Charges
Records Retention Policy
Subject Access Request Procedure
Parish Plan
Updates & Acknowledgements
Doctors Practices
Gedling Community
Future Newstead
Residents Association
Allotment Association
Newstead Action Group
The Pit Micropub
Newstead Centre
GDPR defines a personal data breach as "a breach of security leading to accidental or unlawful destruction, loss, alteration, unauthorised disclosure of, or access to, personal data transmitted, stored or otherwise processed". Examples include:
Access by an unauthorised third party
Deliberate or accidental action (or inaction) by a controller or processor
Sending personal data to an incorrect recipient
Computing devices containing personal data being lost or stolen
Alteration of personal data without permission
Loss of availability of personal data
Newstead Parish Council takes the security of personal data seriously, computers are password protected and hard copy files are kept in locked cabinets.
Consequences of a personal data breach
A breach of personal data may result in a loss of control of personal data, discrimination, identity theft or fraud, financial loss, damage to reputation, loss of confidentiality of personal data, damage to property or social disadvantage. Therefore a breach, depending on the circumstances of the breach, can have a range of effects on individuals.
Newstead Parish Council's duty to report a breach
If the data breach is likely to result in a risk to the rights and freedoms of the individual, the breach must be reported to the individual and ICO without undue delay and, where feasible, not later than 72 hours after having become aware of the breach. The Data Protection Officer must be informed immediately so they are able to report the breach to the ICO in the 72 hour timeframe.
If the ICO is not informed within 72 hours, Newstead Parish Council via the DPO must give reasons for the delay when they report the breach.
When notifying the ICO of a breach, Newstead Parish Council must:
Describe the nature of the breach including the categories and approximate number of data subjects concerned and the categories and approximate number of personal data records concerned
Communicate the name and contact details of the DPO
Describe the likely consequences of the breach
Describe the measures taken or proposed to be taken to address the personal data breach including, measures to mitigate its possible adverse affects.
When notifying the individual affected by the breach, Newstead Parish Council must provide the individual with (ii)-(iv) above.
Newstead Parish Council would not need to communicate with an individual if the following applies:
It has implemented appropriate technical and organisational measures (i.e.encryption) so those measures have rendered the personal data unintelligible to any person not authorised to access it;
It has taken subsequent measures to ensure that the high risk to rights and freedoms of individuals is no longer likely to materialise, or
It would involve a disproportionate effort
However, the ICO must still be informed even if the above measures are in place.
Data processors duty to inform Newstead Parish Council
If a data processor (i.e. payroll provider) becomes aware of a personal data breach, it must notify Newstead Parish Council without undue delay. It is then Newstead Parish Council's responsibility to inform the ICO, it is not the data processors responsibility to notify the ICO.
Records of data breaches
All data breaches must be recorded whether or not they are reported to individuals. This record will help to identify system failures and should be used as a way to improve the security of personal data.
Record of Data Breaches
Date of breach Type of breach Number of individuals affected Date reported to ICO/individual Actions to prevent breach recurring
To report a data breach use the ICO online system:
https://ico.org.uk/for-organisations/report-a-breach/
Adopted by the Council on the 6th June 2018
(c) 2017 newsteadvillage.org

redpajama_set_name: RedPajamaCommonCrawl


Can bike fitters use our extenders?
YES. Now bike fitters can give their customers a solution to knee pain without having to order longer spindles which are typically made of heavy steel. Also, these tend to be special order and the customer has to wait for them. Now bike fitters can simply use PedalX titanium extenders and their customers favorite light weight pedals. This package is lighter and superior to what bike fitters have been doing for years.
How do bike stores benefit?
Now bike stores can offer their customers a light weight and simple solution to prevent or alleviate knee pain. Using PedalX extenders bike stores can now sell any pedals to their customers. A customer can get the pedals they want, not what they get stuck with.
Our product packaging has UPC bar codes on it for your convenience.
How do I install these on my bike?
(1) Screw pedal into body. Tighten using a 17mm wrench and your pedal wrench size.
(2) Screw threaded stud into other side of the body. Tighten with the 17mm wrench and a 6mm allen wrench.
(3) Tighten entire assembly into your crank arm using the 17mm wrench area.
Disclaimer: Improper installation can result in possible bodily injury.
Warning: Carbon fiber crank arms have not been fully tested. Contact your crank arm manufacturer before installing.
How much lighter are these than steel to reduce my rotating weight?
Our pedal extenders are less than half the weight of steel. A reduction in rotating weight is always desirable when cycling and that is why we have used the lightest and strongest material possible (titanium 6Al-4V).
How well will these hold up on my bike?
Once installed these pedal extenders are virtually indestructible. Made from one of the highest grades of titanium (ti 64). Coupled with the diameter of the solid stud that connects your crank arms to your pedals we have designed them to be used under all cycling conditions.
Will this help alleviate or prevent knee pain?
Using pedal extenders has either alleviated or prevented all these scenarios for years.
Disclaimer: We do not suggest that using pedal extenders will work for everyone but we have seen pedal extenders work on a majority of people with these issues.
Will this product work on my pedals and crank?
YES! These will work on all pedals and cranks that are 9/16 inch thread. We design our product to work on any manufacturer / model available today.
There are special circumstances where a pedal manufacturer may not conform to the industry standard of 9/16 deep V threads.
If you have a question about whether your pedals will fit please send us an email at info@pedalx.com.


The status of those Jews as refugees, although challenged, has been found to be in accordance with the United Nations Convention on the Status of Refugees, which established the definition of "refugee," and which was adopted in July 1951, and entered into force in April 1954.
Libya in 1961 deprived the less than 10% of the Jews who had remained there of their citizenship, as did Algeria in 1962. Iraq seized the property of Jews. As a result, Jews began leaving, were driven out, or were brought out. By the mid 1970s almost all Jews -- more than 850,000 -- had left those countries. According to figures and analysis provided by "Justice for Jews from Arab Countries," and by Stanley Urman, its executive vice president, the largest numbers came from Morocco (265,000); Algeria (140,000); Iraq (135,000), and Tunisia (105,000). Almost all of the 55,000 Jews living in Yemen were taken to Israel by the air operation, "Magic Carpet." About 130,000 Jews were airlifted from Iraq to Israel.
It is high time to end the virtual silence and unwillingness to consider the question of Jewish refugees, and to recognize that they should be part of any final resolution of the Middle East refugee problem. The crucial United Nations Security Council Resolution 242 of November 22 1967 mentioned that a comprehensive peace settlement should include "a just settlement of the refugee problem." It was Arthur Goldberg, the U.S. representative to the UN largely responsible for drafting the Resolution, who clarified that the language referred "both to Arab and Jewish refugees, for about an equal number of each abandoned their homes as a result of the several wars." The implication was that any arrangements made would apply to all -- not only Arab -- refugees in the Middle East.
This article is the prima facie proof of the anti-Semitism inherent to all international consortia dealing with the Muslim-Jewish confrontation. Close to a million Jewish refugees - dust to dust. Six hundred and fifty Arab refugees, the minority of whom actually left the land of Israel - victims to be cherished.
Well, if those international consortia love those Muslims so much then, by all means adopt them. Israel is willing to make another exchange: three million Muslims now occupying Israel for three million Jews presently scattered throughout the world.
In this very welcome article, Prof. Curtis points out that the Jewish refugees from Arab lands have been unjustly overlooked for many years. He also briefly describes the traditional dhimmi stratus of Jews in Arab and other Muslim lands, while only hinting at Arab collaboration in the Holocaust. While the Jewish refugees from Arab lands have been getting attention lately, the dhimmi is still largely unknown, even to people ordinarily well-informed. Likewise, Arab Holocaust collaboration, especially in the person of the Palestinian Arab mufti, Amin el-Husseini, is widely unknown nowadays, although it was notorious during the war and in the post-war period. (See my article on this in Midstream, September-October 1994.) I think that both the dhimmi and the Arab Holocaust collaboration should be made familiar to everyone concerned about the Middle East.
Israel's current ambassador to the UN on April 24th of this year made much the same statement in brief to the assembled UN body. There is a vast body of documentation on the above issue, but if Israel fails to use the upcoming negotiations regarding Palestinian refugees as the opportunity to resolve the above matter, I cannot imagine any possible future opportunity. It's now or never!
Modern public relations owes much to the teachings of Freud, who knowingly addressed the issue. Goebbels used those teachings with great success. Now for the last sixty some years, the Arab League has sold the Palestinian refugee tragedy with remarkable success as well. Half of Israelis have had an equal or even greater claim against the misfortunes of expulsion from the eleven Moslem countries of 1947-67 and the expropriation of their lands and other assets. But these Jews have avoided considering themselves to be refugees all these years.
While there is nothing new about Jews being periodically purged from their native and host lands, or left homeless, destitute and often slaughtered by defenders of freedom and justice, these disruptions traditionally strengthen their resolve to regroup and advance socially, spiritually, politically, and to the chagrin of the world, economically. Unfortunately, the world has moved so far and fast to the Left that new and adverse precedents are being created virtually by the week, and though wiser Jews may be preparing for the next upheaval in order to survive as a race, it is a safe bet that Israel will not celebrate her centenary as a Jewish state.
There is a saying "The squeeky wheel get the oil." The Arabs have played various roles, including the squeeky wheel, which has enthralled the media. Israelis seem to deal with a problem silently and, therefore, gets no lubrication. I noted at the CNN coverage of the recent turmoil with Gaza and Hamas. I in particular note the reporting of the reporter Arwa Damon, who seems to relish the reporting of the Arab without any balance of concern for the Israeli mothers and fathers. I mention this because I feel that the press is complicit in the propoganda service of the Arab community. That is perhaps a very good reason that the Jewish refugee issue is and remains unaddressed.
I have had the opportunity to know here in Israel scores of immigrants from the Arab countries since my first arrival in Israel in 1952, and to this date have found it remarkable that none of them ever spoke of themselves as refugees. I knew them intimately as my college students, friends, gardeners, and domestic helpers - but never as refugees. Even a 35 year old student in 1959 just released from a Russian gulag looked 65 but never spoke of himself as a refugee.
This has always puzzled me because all these people were refugees by any definition and certainly no less than the Palestinian Arabs have insisted for themselves or the UN has designated both these Jews and Arabs. Considering the unfortunate plight of the UNRWA refugees, who not only persist in calling themselves refugees but so do their children and their children's children as does UNRWA, it seems that there is an important difference emotionally and psychologically between the Palestinians and the Israeli refugees.
The "We, too" argument uses a false comparison as justification for mistreatment of Palestinian refugees. Jews who fled their home countries at least had somewhere to go, the new state of Israel, with UN-defined boundaries. Palestinians had nowhere to go but refugee camps. In any case, the "We, too" argument ignores the thrust of the real Palestinian argument: their lands were stolen from them and settled by Jews. That is what really needs to be resolved. The "We, too" case is a red herring in that respect.
Curious Dave has observed that the Jewish refugees from Arab lands had a refuge awaiting them in Israel whereas the Palestinians had none. That observation ignores some important facts: The Jewish refugees had lived in the Arab world for up to 2,600 years and were in most cases well-integrated into the cultures of Iran, Iraq, Morocco, etc. and were not generally Hebrew speakers. Their appearance in Israel as refugees at a time of great deprival and shortages was not greeted with great enthusiasm.
Curious Dave's comments are not valid. The Palestinans have twelve Arab countries to go to and some did go to them. They are still in refugee camps for political and other reasons, such as these countries no wanting them. After WWII there were five million refugees that by 1951 had all been resettled in various countries.
L.H. Rowse's remarks show his/her ignorance of Palestinains nationalism, which dates back to the early 1900s - if not earlier. Yes, the Palestinians are Arabs, but nationally they are Palestinians. French Canadians do not consider France, or Belgium, or the French-speaking cantons of Switzerland as being equivalent to their homeland in French Canada.
Quite right about the Jewish refugees from Arab lands, who often even thought of themselves as Jewish Arabs! They achieved much distinction in many Arab countries. I have relatives by marriage who were forced out of Iraq and fled to Israel in the late 1940s and early 1950s. In Iraq they had been lawyers and bankers for centuries. When they came to Israel they were treated abominably - and I don't mean just the living conditions they were forced to endure. They faced dreadful discrimination and, yes, racism from many of their fellow Jews and from the sakhnut. How long did it take for one of the major political parties to have a Sephardic Jew in their top echelons? David Levy (born in Morocco 1937, made aliya 1957) from the working class became a leader in the Mizrakhi youth movement and in 1977 was made a cabinet minister by Begin. Your characterization of the Palestinian refugees from 1947-49, however is way off the rails. While it is true that there had been an influx of Arabs into Palestine both pre and post mandate, the claim put forward initially by Joan Peters, I believe (in her book, From Time Immemorial, 1984), has been thoroughly debunked by by many scholars, such as Yehoshua Porath, expert in Palestinian nationalism at Hebrew U. The large bulk of Palestinian refugees (Benny Morris uses 700 or 750,000) were certainly "rooted" there. Palestine was their home and homeland. They were displaced by a civil and then an intensive war (of independence vs. the naqba). Why wouldn't they expect to return following their displacement (Morris gives several non-exclusive causes) after the fighting stopped?
Curtis makes an excellent point, and I would personally hope that the property confiscated from the Jewish refugees would force those seeking the "right of return" for Arab refugees to pause and reconsider.
But there is little mystery as to why the treatment of these two groups of refugees is so different. The Jewish state fully integrated and assimiliated (some would argue, too well) the Jewish refugees from Arab lands into Israeli society, granted them citizenship, and encouraging them to settle throughout Israel. In contrast, the Arabs have put forth a great effort to isolate and perpetuate its Arab refugees (most of whom are only refugees by choice - Israel did not expel them, but they left at the behest of Arab leaders who wanted them out of the way of their own invading armies), and keep them as political tools in their political war against the Jewish state. The reason why they have their own UN commission (UNWRA) to deal with them and not UNHCR, is that the mission of UNHCR is to promote the integration of refugees into their new host lands, not to perpetuate, from generation to generation, the refugee status in the hopes of some day forcing the original country to take them back. That is exactly the mission of UNWRA, though, complete with education programs designed to foment hatred of Israel and the Jews, all on the UN's dime. Also, under UNHCR, only refugees and their children are entitled to the status of refugee. UNWRA makes it possible for infinite generations to retain that status. Clearly, the UN has been fully enlisted in the Arab political war against Israel. Until UNWRA is disolved, and the Arab refugees are integrated into the Arab nations of the Middle East, there can be no resolution to the Israel-Arab conflict.


text:
Konnector v2.0: pseudo-long reads from paired-end sequencing data
Benjamin P Vandervalk1,
Chen Yang1,
Zhuyi Xue1,
Karthika Raghavan1,
Justin Chu1,
Hamid Mohamadi1,
Shaun D Jackman1,
Readman Chiu1,
René L Warren1 &
Inanç Birol1
Reading the nucleotides from two ends of a DNA fragment is called paired-end tag (PET) sequencing. When the fragment length is longer than the combined read length, there remains a gap of unsequenced nucleotides between read pairs. If the target in such experiments is sequenced at a level to provide redundant coverage, it may be possible to bridge these gaps using bioinformatics methods. Konnector is a local de novo assembly tool that addresses this problem. Here we report on version 2.0 of our tool.
Konnector uses a probabilistic and memory-efficient data structure called Bloom filter to represent a k-mer spectrum - all possible sequences of length k in an input file, such as the collection of reads in a PET sequencing experiment. It performs look-ups to this data structure to construct an implicit de Bruijn graph, which describes (k-1) base pair overlaps between adjacent k-mers. It traverses this graph to bridge the gap between a given pair of flanking sequences.
Here we report the performance of Konnector v2.0 on simulated and experimental datasets, and compare it against other tools with similar functionality. We note that, representing k-mers with 1.5 bytes of memory on average, Konnector can scale to very large genomes. With our parallel implementation, it can also process over a billion bases on commodity hardware.
If genomes were composed of random sequences, a sequence of length L would be specific enough to describe a locus on a genome of length G when 4L>>G. For instance, a typical HiSeq 4000 sequencer (Illumina, San Diego, CA) generates 150 base pair (bp) reads, for which 4L would be more than 80 orders of magnitude larger than the human genome. But, of course, genomes are not random sequences; they have structure, otherwise, we would not be here to write this paper, nor would you be there to read it.
Long read lengths are desirable to reveal structures in genomes of interest. While sequencing technologies from Pacific Biosciences (Menlo Park, CA) and Oxford Nanopore Technologies (Oxford, UK) can generate reads that are several kilo bases (kb) long, their low throughput and high error make them challenging to use in experiments that interrogate large targets.
Many experimental designs with short sequencing data use a paired-end tag (PET) sequencing strategy, where short sequences are determined from both ends of a DNA fragment. These PET sequences are then associated in downstream analysis to resolve structures as long as fragment lengths. Typically, these fragments are less than 1 kb, and ideally have unimodal length distributions. To resolve even longer structures, there are specialized library preparation protocols, such as Nextera and Moleculo from Illumina and GemCode from 10X Genomics (Pleasanton, CA).
In this study, we focus on the PET reads. We describe Konnector v2.0, a tool that uses the coverage redundancy in a high-throughput sequencing experiment to reconstruct fragment sequences (pseudo-reads). Optionally, it also extends those fragment sequences in 3' and 5' directions, as long as the extensions are unambiguous. The tool builds on our earlier implementation [1] that filled in the bases of the sequence gap between read pairs by navigating a de Bruijn graph [2]. Konnector represents a de Bruijn graph using a Bloom filter [3], a probabilistic and memory-efficient data structure.
The utility of long pseudo-reads has been demonstrated before [4], and forms the backbone of some de novo assembly tools [5]. Long pseudo-reads can be generated by merging overlapping PETs [6, 7], or by localizing the sequence assembly problem around PETs [8, 9]. Our focus in this study is the latter problem.
For example, the ELOPER algorithm [8] identifies read pairs that share an overlap in both reads simultaneously, and uses these overlaps to generate "elongated paired-end reads". The GapFiller algorithm [9], on the other hand, formulates this problem as a collection of seed-and-extend local assembly problems. The latter concept has also been implemented within the MaSuRCA de novo assembly pipeline [5], a wrapper around the Celera Assembler software [10].
We benchmark Konnector v2.0 on simulated datasets, compare its performance against ELOPER [8], GapFiller [9], and a similar tool within MaSuRCA [5]. We demonstrate its utility for assembly finishing problems and variant calling. With its frugal memory use and algorithm implementation, we show that Konnector v2.0 can handle large sequence datasets with over a billion reads from Gbp scale genomes in a timely manner. Furthermore, we note that it consistently provides highly accurate results for a range of targets.
Konnector creates long pseudo-reads from paired-end sequencing reads (Figure 1) by searching for connecting paths between read pairs using a Bloom filter representation of a de Bruijn graph. In addition to connecting read pairs, Konnector v2.0 can also extend connected or unconnected sequences by following paths from the ends of sequences up to the next branching point or dead end in the de Bruijn graph. When the sequence extension feature of Konnector v2.0 is enabled, an additional Bloom filter is employed to avoid the production of an intractable quantity of duplicate sequences. Figure 2 provides a flowchart overview of the Konnector 2.0 algorithm.
A connecting path between two non-overlapping paired-end sequencing reads within a de Bruijn graph. Konnector joins the sequence provided by the input paired-end reads (green) by means a graph search for a connecting path (blue). Sequencing errors in the input sequencing data produce bubbles and branches in the de Bruijn graph of up to k nodes in length (red). Bloom filter false positives produce additional branches (yellow) with lengths that are typically much shorter than the error branches.
The Konnector2 algorithm. (1): The algorithm builds a Bloom filter representation of the de Bruijn graph by loading all k-mers from the input paired-end sequencing data. (2): For each read pair, a graph search for connecting paths within the de Bruijn graph is performed. (3): If one or more connecting paths are found, a consensus sequence for the paths is built. (4): If no connecting paths are found, error-correction is attempted on reads 1 and 2. (5) and (6): the algorithm queries for the existence of either the consensus connecting sequence or the error-corrected reads in the "duplicate filter". The duplicate filter is an additional Bloom filter, separate from the Bloom filter de Bruijn graph, which tracks the parts of the genome that have already been assembled. (7) and (8): If one or more of the k-mers in the query sequence are not found in the duplicate filter, the sequence is extended outwards in the de Bruijn graph, until either a dead end or a branching point is encountered in the graph. Finally, the extended sequences are written to the output pseudo-reads file.
Bloom filter de Bruijn graph
As the throughput of the Illumina platforms increased rapidly to generate up to 1Tb in a six-day run with the HiSeq SBS V4 Kits, one important concern for pseudo-read generating tools is their computational efficiency. In related problems, bioinformatics tools have used strategies such as parallel computing [11, 12], FM indexing [13, 14], and compressed data structures [15] for handling big data.
To fit large assembly problems in small memory, one recent approach has been the use of Bloom filters [16, 3] to represent de Bruijn graphs, as demonstrated by the Minia assembler [17]. Konnector adopts a similar approach. Briefly, a Bloom filter is a bit array that acts as a compact representation of a set, where the presence or absence of an element in the set is indicated by the state of one or more bits in the array. The particular position of the bits that correspond to each element is determined by a fixed set of hash functions. While Bloom filters are very memory-efficient, the principal challenge of developing Bloom filter algorithms is in dealing with the possibility of false positives. A false positive occurs when the bit positions of an element that is not in the set collide with the bit positions of an element that is in the set. In the context of Bloom filter de Bruijn graphs, false positives manifest themselves as false branches, as depicted by the yellow nodes in Figure 1.
In the first step of the algorithm (Figure 2, step (1)), the Bloom filter de Bruijn graph is constructed by shredding the input reads into k-mers, and loading the k-mers into a Bloom filter. To diminish the effect of sequencing errors at later stages of the algorithm, k-mers are initially propagated between two Bloom filters, where the first Bloom filter contains k-mers that have been seen at least once, and the second Bloom filter contains k-mers that have been seen at least twice. At the end of k-mer loading, the first Bloom filter is discarded, and the second Bloom filter is kept for use in the rest of the algorithm. We note here that only the k-mers of the input reads, corresponding to the nodes in the de Bruijn graph, are stored in the Bloom filter whereas there is no explicit storage of edges. Instead, the neighbours of a k-mer are determined during graph traversal by querying for the presence of all four possible neighbours (i.e. single base extensions) at each step.
Searching for connecting paths
In a second pass over the input sequencing data, Konnector searches for connecting paths within the de Bruijn graph between each read pair (Figure 2, step (2)). The graph search is initiated by choosing a start k-mer in the first read and a goal k-mer in the second read, and is carried out by means of a depth-limited, bidirectional, breadth-first search between these two k-mers.
The start and goal k-mers are selected to reduce the probability of dead-end searches due to sequencing errors or Bloom filter false positives. First, the putative non-error k-mers of each read are identified by querying for their existence in the Bloom filter de Bruijn graph. (Recall that after the loading stage, this Bloom filter only contains k-mers that occur twice or more.) Next, the algorithm attempts to find a consecutive run of three non-error k-mers within the read, and chooses the k-mer on the distal end (i.e. 5' end) of the run as the start/goal k-mer. This method ensures that if the chosen start/goal k-mer is a Bloom filter false positive, the path search will still proceed through at least two more k-mers instead of stopping at a dead end. In the likely case that there are multiple runs of "good" k-mers within a read, the run that is closest to the 3' (gap-facing) end of the read is chosen, in order reduce the depth of subsequent path search. In the case that there are no runs of three good k-mers, the algorithm falls back to using the longest run found (i.e. two k-mers or a single k-mer).
Once the start and goal k-mers have been selected, Konnector performs the search for connecting paths. In order to maximize the accuracy of the sequence connecting the reads, it is important for the algorithm to consider all possible paths between the reads, up to the depth limit dictated by the DNA fragment length. For this reason, a breadth-first search is employed rather than a shortest path algorithm such as Dijkstra or A*. Konnector implements a bidirectional version of breadth-first search, which improves performance by conducting two half-depth searches, and thus reducing the overall expansion of the search frontier. The bidirectional search is implemented by alternating between two standard breadth-first searches that can "see" each other's visited node lists. If one search encounters a node that has already been visited by the other search, the edge leading to that node is recorded as a "common edge", and the search proceeds no further through that particular node. As the two searches proceed, all visited nodes and edges are added to a temporary, in-memory "search graph". This facilitates the final step, where the full set of connecting paths are constructed by performing an exhaustive search both backwards and forwards from each common edge towards the start and goal k-mers, respectively.
If the search algorithm finds a unique path between the start and goal k-mers, then the path is converted to a DNA sequence, and is used to join the read sequences into a single pseudo-read. In the case of multiple paths, a multiple sequence alignment is performed, and the resulting consensus sequence is used to join the reads instead (Figure 2, step (3)). In order to fine-tune the quality of the results, the user may specify limits with respect to the maximum number of paths that can be collapsed to a consensus and/or the maximum number of mismatches that should be tolerated between alternate paths.
Extending connected and unconnected sequences
Konnector v2.0 introduces a new capability to extend both connected and unconnected sequences by traversing from the ends of sequences to the next branching point or dead-end in the de Bruijn graph (Figure 2, steps (7) and (8)). If a read pair is successfully connected, the algorithm will extend the pseudo-read outwards in both directions; if the read pair is not successfully connected, each of the two reads will be extended independently, both inwards and outwards. The extensions are seeded in the same manner described above for the connecting path searches; a putative non-error k-mer is selected near the end of the sequence, and following two consecutive non-error k-mers if possible.
The extension of connected reads or unconnected reads that are contained within the same linear path of the de Bruijn graph results in identical sequences. For this reason, the algorithm uses an additional Bloom filter to track the k-mers of sequences that have already been assembled. (Hereafter this Bloom filter will be referred to as the "duplicate filter" in order to reduce confusion with the Bloom filter de Bruijn graph.)
The logic for tracking duplicate sequences differs for the cases of connected and unconnected read pairs. In the case of connected reads, only the k-mers of the connecting sequence are used to query the duplicate filter (Figure 2, step (5)). By virtue of being present in the Bloom filter de Bruijn graph, the connecting k-mers are putative non-error k-mers that have occurred at least twice in the input sequencing data, and thus a 100% match is expected in the case that the genomic region in question has already been covered. If one or more k-mers from the connecting sequence are not found in the duplicate filter, the pseudo-read is kept and is extended outwards to its full length (Figure 2, step (7)). The k-mers of the extended sequence are then added to the duplicate filter, and the sequence is written to the output pseudo-reads file.
In the case of unconnected reads, the reads must first be corrected prior to querying the duplicate filter (Figure 2, step (4)). This is done by first extracting the longest contiguous sequence of non-error k-mers within the read, where k-mers that are present in the Bloom filter de Bruijn graph are considered to be putative non-error k-mers. An additional step is then performed to correct for recurrent read-errors that may have made it past the two-level Bloom filter. Starting from the rightmost k-mer of the selected subsequence, the algorithm steps left by k nodes, aborting the correction step if it encounters a branching point or dead-end before walking the full distance. As the longest branch that can be created by a single sequencing error is k nodes, this navigates out of any possible branch or bubble created by an error (red nodes of Figure 1). Finally, the algorithm steps right up to (k+1) nodes to generate a high confidence sequence for querying the duplicate filter. The second rightward step stops early upon encountering a branching point or dead-end, but any sequence generated up to that point is kept, and is still used to query the duplicate filter. Following error correction, the subsequent steps for handling unconnected reads are similar to the case for connected reads. If the high confidence sequence contains k-mers that are not found in the duplicate filter, the sequence is extended to its full length, added to the duplicate filter, and written to the output pseudo-reads file.
Finally, some additional look-ahead logic is employed in the extension algorithm to handle the common cases of false positive branches and simple bubbles created by heterozygous SNPs. All branches shorter than or equal to three nodes in length are assumed to be false positive branches and are ignored during extension. Upon reaching a fork with two (non-false-positive) branches, a look-ahead of (k+1) nodes is performed to see if the branches re-converge. If so, the bubble is collapsed and the extension continues.
Read-elongation tools comparison
To evaluate Konnector v2.0, we performed a comparison with several other read-elongation tools: ELOPER [8], GapFiller [9], the MaSuRCA super-reads module [5], and the previously published version of Konnector [1].
ELOPER v1.2 (ELOngation of Paired-End Reads) [8] operates by calculating gapped overlaps between read pairs, where a gapped overlap requires simultaneous overlap of both reads across two read pairs. The main idea of the algorithm is that overlaps across read pairs yield higher-confidence sequence extensions than overlaps between individual reads alone. The program produces extended paired-end reads as output and single-end pseudo-reads in cases where paired reads can be extended far enough to overlap with their mates. The all-by-all computation of gapped overlaps between read pairs is realized using a hash table-based approach.
GapFiller v2.1.1 [9] fills the sequencing gap between paired-end reads using a seed-and-extend approach, where each input read is considered in turn as a seed. Reads are iteratively extended towards their mates by identifying overlapping reads, building a consensus sequence for the extension, and then repeating the process with extended sequence. GapFiller uses the eventual overlap of an extended read with its mate as a correctness check, and chooses not to continue the extension beyond the fragment length in favour of higher confidence results. The algorithm for detecting overlaps is implemented by computing some fingerprint values for the prefixes and suffixes of each read, and storing the mapping between fingerprints and reads in a hash-table. In order to calculate the consensus sequences during extension, the full set of input read sequences is stored in memory using a compressed 2-bit representation.
MaSuRCA v2.2.1 [5] is an extension of the CABOG overlap-layout-consensus assembler [18] that preprocesses the input short sequencing reads to generate a highly-reduced set of "super-reads" for input to the Celera assembler [10]. Much like the extension feature of Konnector v2.0, the super-reads are generated by extending the reads outward to the next branching point or dead-end within a de Bruijn graph. These "k-unitig" sequences are then joined by spanning read pairs or bridging single-end reads, in cases where such links are unambiguous.
The previously published version of Konnector [1] uses the same concept for connecting read pairs as Konnector v2.0, but does not include the sequence extension or duplicate filtering logic. Its output format is most similar to GapFiller, in the sense that it generates one fragment-length sequence for each successfully connected read pair.
We compared the performance and results of the tools across four paired-end sequencing data sets from organisms with a wide range of genome sizes: E. coli, S. cerevisiae, C. elegans, and H. sapiens (Table 1). The E. coli data set consists of 100 bp synthetic reads generated with the pIRS read simulator [19] using a 0.1% error rate, 50x coverage, and an insert size of 400 ± 50 bp, while the other three data sets are experimental paired-end Illumina sequencing data with coverage levels ranging from 26x to 76x.
Table 1 Datasets analyzed.
For each combination of data set and tool, we measured running time, peak memory usage, N50 length of the output pseudo-reads, sum length of the misassembled pseudo-reads, and percent coverage of the reference genome (Table 2). The N50 length was calculated using the QUAST [20] assembly assessment tool, except for the human data set where the 'abyss-fac' utility (ABySS v1.5.2 [11]) was used instead. The "Misassembled Reads Length" column of Table 2 was also calculated by QUAST, and reports the sum length of all pseudo-reads that had split alignments to the reference with distance greater 1 kb, overlap greater 1 kb, or mappings to different strands/chromosomes. We found that QUAST was not able to scale to an analysis of the human Konnector and Konnector v2.0 pseudo-reads, and so those results were omitted from Table 2. Finally, the genome coverage results were calculated by aligning the pseudo-reads to the reference with bwa mem v0.7.12 [21], with the multimapping option (-a) turned on, and then using the resulting BAM file as input to the bedtools v2.17.0 [22] 'genomecov' command.
Table 2 Comparative analysis of read elongation tools.
The Konnector and Konnector v2.0 jobs for the comparison were run across a range of k-mer lengths to achieve the best possible results. For the previous version of Konnector, the run with the highest percentage of connected read pairs was selected, whereas for Konnector v2.0, a k-mer size was selected that provided a favourable combination of both N50 and misassembled reads length (Figure 3).
Comparison of pseudo-read tools by N50 and misassembled reads length. Results are shown for Konnector v2.0 and three other pseudo-read-generating tools across E. coli (synthetic), S. cerevisiae, and C. elegans sequencing data sets. The "misassembled reads length" on the x-axis of each plot denotes the sum length of all pseudo-reads reported as misassembled by QUAST. MaSuRCA performs best on the synthetic E. coli data set, producing the highest N50 and creating no misassemblies. However, on the experimental S. cerevisiae and C. elegans data sets, Konnector v2.0 outperforms the other tools in terms of both N50 and misassembled sequence, for a range of k-mer lengths.
From the results of Table 2, we observe that MaSuRCA was generally the fastest tool. While Konnector and Konnector v2.0 showed competitive run times, ELOPER and GapFiller were notably slower, and did not scale well to larger data sets. In the category of memory usage, both versions of Konnector outperformed the competitors by more than an order of magnitude due to their use of Bloom filters rather than hash tables.
The N50 and Misassembled Reads Length results from Table 2 are plotted in Figure 3, with additional data points shown for alternate runs of Konnector v2.0 with different k-mer sizes. The plots show that Konnector 2 generated the longest pseudo-reads and the least misassembled sequence for the experimental S. cerevisiae and C. elegans data sets, while MaSuRCA generated the longest and most accurate pseudo-reads for the synthetic E. coli data set.
Working with a maximum of 120 GB available memory on any single machine, Konnector and Konnector v2.0 were the only tools that could be run on the largest of the four data sets in Table 2 (H. sapiens). One of the main advantages of Konnector for this data set was the ability to split work across machines. This was accomplished by first building a reusable Bloom filter file with the companion 'abyss-bloom' utility (ABySS v1.5.2), and then sharing this file across 20 parallel Konnector jobs, each processing a disjoint subset of the paired-end reads. The two-level Bloom filter size was 40 GB, and each of the jobs was run on a machine with 12 cores and 48 GB RAM. The wall clock time for the job was less than 24 hours, and the aggregate memory requirement for job was just under 0.5TB. We note that the larger memory usage of Konnector v2.0 is due to the use of an additional Bloom filter for tracking duplicate sequences. The large improvement in running time between Konnector and Konnector v2.0 on the H. sapiens data set is due primarily to the introduction of multithreaded Bloom filter construction in Konnector v2.0.
Sealer: a Konnector-based gap-closing application
A natural application to Konnector includes automated finishing of genomes, by systematically targeting all regions of unresolved bases, or gaps, in draft genomes of wide-ranging sizes. This is accomplished by first identifying these scaffold gaps, deriving flanking sequences on the 5' and 3' ends of each gap, running Konnector with comprehensive short read data set, and patching the gaps by placing successfully merged sequences in those regions. We have developed a stand-alone utility called Sealer for this specific application [23].
To test the utility of Konnector for filing scaffold gaps, we ran Sealer on an ABySS E. coli genome assembly (5 Mbp) and, to assess the scalability of the approach, on an ABySS H. sapiens (3.3 Gbp) draft assembly of next-generation Illumina sequences (SRA:ERR309932) derived from the 1000 Genomes Project (individual NA19238) (Table 3). For E. coli, we were able to successfully close all but one gap using a single k-mer size of 90 bp. On the human assembly, gaps were closed with Sealer using 31 k-mers (250 - 130 bp, decrementing by 10, and 125 - 40 bp, decrementing by 5; parameters for Konnector were -B 1000 -F 700 -P10), and compared the result to two similar tools GapFiller (v1.10) [24] and SOAPdenovo2 GapCloser (v1.12) [25]. Default settings were used for both tools in our tests, maximizing the number of compute threads, when needed (-t 16 for GapCloser on the human data set). On the H. sapiens draft assembly GapFiller was manually stopped after running for over 350 hours (approximately 14 days) without completion or output. All Sealer processes were executed on a 12-core computer running CentOS 5.4 with two Intel Xeon X5650 CPUs @ 2.67 GHz and 48 GB RAM. GapFiller and GapCloser were benchmarked on a machine using CentOS 5.10 with 16 cores @ 2.13 GHz, 125 GB RAM. The GapCloser run on the H. sapiens data ran on a CentOS 5.9 with 16 cores @ 2.13 GHz and 236 GB RAM to allow for its high memory requirement. We also compared the results of Sealer with two versions of Konnector on the E. coli and H. sapiens dataset, and noticed a marked improvement in speed of execution: ~12 h compared to ~29 h runs on human data with Konnector v2.0 and Konnector v1.0, respectively. We also noted improved sensitivity in Sealer results, when used in conjunction with Konnector v2.0 (6,566 or 2.8% more gaps closed). To test the limits of scalability of Konnector, we applied Sealer on a draft white spruce genome assembly of length 20 Gbp [26] (data not shown).
Table 3 Performance evaluation of Sealer and other gap-filling applications for finishing draft genomes.
KVarScan: a Konnector-based method for indel detection
Konnector long pseudo-reads can potentially improve the sensitivity of existing variant detection pipelines. To explore this idea, we conducted an experiment where we detected insertions and deletions (indels) using VarScan [27] 'pileup2indel' (version 2.3.7 with default parameters), and compared the results when using either regular reads or Konnector pseudo-reads as input. We refer to the two protocols as VarScan and KVarScan, respectively. For KVarScan, Konnector reads were generated by running Konnector on regular reads for a range of k-mer sizes from 90 bp to 30 bp, with a step size of 10 bp. Starting with the largest k-mer size of 90 bp, left over read pairs that were not connected were used for the next run of Konnector with the next smaller k-mer size. After running Konnector with a k-mer size of 30 bp, any remaining unconnected reads were used concurrently with the connected reads as input to the VarScan run. All connected reads output from the -p/--all-paths and -o/--output-prefix parameters of Konnector were used. The other parameters used for Konnector included: max path set to 4 (-P), max mismatches set to nolimit (-M), path identity set to 98 (-X), max branches set to 100 (-B), max fragment set to 525 (-F). Prior to the Konnector runs, a Bloom filter for each k-mer size was built using the abyss-bloom utility with the trim quality (-q) set to 15 and levels (-l) set to 2.
We performed a comparison of the VarScan and KVarScan methods on synthetic human data from chromosome 10 by simulating indels in the size range of 10 - 200 bp on hg19 using RSVsim v1.2.1 [28]. A final number of 224 insertions (10 - 192 bp) and 216 deletions (10-144 bp) were generated. We used pIRs v1.1.1 [19] to generate a diploid human chromosome 10 sequence, and combined it with the rearranged sequence to simulate a 30x coverage library of 100 bp Illumina PET reads. The average insert size was set at 400 bp; default parameters were used otherwise.
Both VarScan and KVarScan were able to detect small indels as short as 10 bp, the shortest available in the simulated data. However, the maximum size of indels detected by VarScan was 30 bp, while it was 99 bp for the KVarScan protocol. As illustrated by the distributions of the sizes of indels detected in Figure 4, we note that the use of long pseudo-reads generated by Konnector expands the range detection for VarScan. Hence, long pseudo-reads may find an application for profiling cancer genomes and other genomes that harbour structural variations that would otherwise be missed by shorter sequence reads.
Indels detected by VarScan using unaltered reads ("VarScan") or Konnector long pseudo-reads ("KVarScan") as input. Results are shown for synthetic read data generated from hg19 chromosome 10 and containing 440 simulated indels. The indels detected by VarScan (green) range from 10 bp to 30 bp, whereas the indels detected by KVarScan (blue) range from 10 bp to 99 bp.
Long reads are highly desirable for both de novo assembly applications and reference-based applications such as variant calling. While long read sequencing technologies such Pacific Biosciences (Menlo Park, CA) and Oxford Nanopore Technologies (Oxford, UK) have yet to hit the mainstream, bioinformatics algorithms continue to be developed to better exploit the sequence and distance information captured by Illumina paired-end sequencing reads, currently ranging in length from 150 - 300 bp and spanning DNA fragments with sizes of 300 - 1000 bp.
In this paper we have presented Konnector v2.0, a tool for producing long "pseudo-reads" from Illumina paired-end libraries. While many tools exist to merge overlapping paired-end reads (e.g. [6, 7]), our software addresses the more challenging problem of filling the sequencing gap between non-overlapping reads. Konnector accomplishes this by building a compact, Bloom filter based representation of a de Bruijn graph and performing a constrained path search between each pair of reads within the graph. Konnector v2.0 introduces a significant improvement to the algorithm by additionally extending sequences outwards within the de Bruijn graph, up to the point where such extensions are unambiguous. It also keeps the functionality of Konnector v1.0, as an option.
In a comparison of Konnector v2.0 against several similar tools, we have demonstrated that the software generates pseudo-reads with high accuracy, high yield, low memory usage, and fast run times. Owing to its use of a Bloom filter de Bruijn graph, Konnector was the only tool able to process 76x human sequencing data on a set of computing nodes with 48 GB of RAM, and was able to do so in under 24 hours.
While the long pseudo-read generating tools were all reported for their utility in de novo assembly applications in earlier studies [6–8], we demonstrated the utility of our tool on two novel uses cases: assembly finishing and variant detection. With its scaling properties and broad applications, we think Konnector will be an enabling technology in many genomics studies.
Project name: Konnector
Project home page: http://www.bcgsc.ca/platform/bioinfo/software/konnector
Source code for version in evaluated in paper: https://github.com/bcgsc/abyss/tree/konnector2-prerelease
Operating system(s): Unix
Programming language: C++
Other requirements: Boost graph library, Google sparsehash library is recommended
License: Free for academic use under the British Columbia Cancer Agency's academic license
Any restrictions to use by non-academics: Contact ibirol@bcgsc.ca for license
ABySS:
Assembly By Short Sequences
CABOG:
Celera Assembler with the Best Overlap Graph
ELOPER:
Elongation of Paired-end Reads
MaSuRCA:
Maryland Super-Read Celera Assembler.
Vandervalk BP, Jackman SD, Raymond A, Mohamadi H, Yang C, Attali DA, Konnector : Connecting paired-end reads using a bloom filter de Bruijn graph. Bioinformatics and Biomedicine (BIBM) 2014 IEEE International Conference. 2014
Pevzner PA, Tang H, Waterman MS: An Eulerian path approach to DNA fragment assembly. Proceedings of the National Academy of Sciences of the United States of America. 2001, 17: 9748-53.
Bloom BH: Space/Time Tradeoffs in Hash Coding With Allowable Errors. Communications of the Acm. 1970, 13 (7): 422-10.1145/362686.362692. doi:10.1145/362686.362692
Chaisson MJ, Pevzner PA: Short read fragment assembly of bacterial genomes. Genome Research. 2008, 18: 324-30. 10.1101/gr.7088808.
Zimin AV, Marcais G, Puiu D, Roberts M, Salzberg SL, Yorke JA: The MaSuRCA genome assembler. Bioinformatics. 2013, 29 (21): 2669-77. 10.1093/bioinformatics/btt476. doi:10.1093/bioinformatics/btt476
Magoc T, Salzberg SL: FLASH: fast length adjustment of short reads to improve genome assemblies. Bioinformatics. 2011, 27 (21): 2957-63. 10.1093/bioinformatics/btr507. doi:10.1093/bioinformatics/btr507
Liu B, Yuan J, Yiu SM, Li Z, Xie Y, Chen Y, et al: COPE: an accurate k-mer-based pair-end reads connection tool to facilitate genome assembly. Bioinformatics. 2012, 28 (22): 2870-4. 10.1093/bioinformatics/bts563. doi:10.1093/bioinformatics/bts563
Silver DH, Ben-Elazar S, Bogoslavsky A, Yanai I: ELOPER: elongation of paired-end reads as a pre-processing tool for improved de novo genome assembly. Bioinformatics. 2013, 29 (11): 1455-7. 10.1093/bioinformatics/btt169. doi:10.1093/bioinformatics/btt169
Nadalin F, Vezzi F, Policriti A: GapFiller: a de novo assembly approach to fill the gap within paired reads. Bmc Bioinformatics. 2012, 13-doi:10.1186/1471-2105-13-s14-s8
Myers EW, Sutton GG, Delcher AL, Dew IM, Fasulo DP, Flanigan MJ, et al: A whole-genome assembly of Drosophila. Science. 2000, 287: 2196-204. 10.1126/science.287.5461.2196.
Simpson JT, Wong K, Jackman SD, Schein JE, Jones SJ, Birol I: ABySS: a parallel assembler for short read sequence data. Genome Res. 2009, 19 (6): 1117-23. 10.1101/gr.089532.108. doi:10.1101/gr.089532.108
Boisvert S, Laviolette F, Corbeil J: Ray: simultaneous assembly of reads from a mix of high-throughput sequencing technologies. J Comput Biol. 2010, 17 (11): 1519-33. 10.1089/cmb.2009.0238. doi:10.1089/cmb.2009.0238
Li H, Durbin R: Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics. 2009, 25 (14): 1754-60. 10.1093/bioinformatics/btp324. doi:10.1093/bioinformatics/btp324
Langmead B, Trapnell C, Pop M, Salzberg SL: Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome biology. 2009, 10 (3): R25-10.1186/gb-2009-10-3-r25. doi:10.1186/gb-2009-10-3-r25
Simpson JT, Durbin R: Efficient de novo assembly of large genomes using compressed data structures. Genome Research. 2012, 22 (3): 549-56. 10.1101/gr.126953.111. doi:10.1101/gr.126953.111
Stranneheim H, Kaller M, Allander T, Andersson B, Arvestad L, Lundeberg J: Classification of DNA sequences using Bloom filters. Bioinformatics. 2010, 26 (13): 1595-600. 10.1093/bioinformatics/btq230. doi:10.1093/bioinformatics/btq230
Chikhi R, Rizk G: Space-efficient and exact de Bruijn graph representation based on a Bloom filter. Algorithms for Molecular Biology. 2013, 8-doi:10.1186/1748-7188-8-22
Miller JR, Delcher AL, Koren S, Venter E, Walenz BP, Brownley A, et al: Aggressive assembly of pyrosequencing reads with mates. Bioinformatics. 2008, 24: 2818-24. 10.1093/bioinformatics/btn548.
Hu X, Yuan J, Shi Y, Lu J, Liu B, Li Z, et al: pIRS: Profile-based Illumina pair-end reads simulator. Bioinformatics. 2012, 28 (11): 1533-5. 10.1093/bioinformatics/bts187. doi:10.1093/bioinformatics/bts187
Gurevich A, Saveliev V, Vyahhi N, Tesler G: QUAST: quality assessment tool for genome assemblies. Bioinformatics. 2013, 29 (8): 1072-5. 10.1093/bioinformatics/btt086. doi: 10.1093/bioinformatics/btt086
Li H: Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM. arXiv preprint. 2013
Quinlan AR, Hall IM: BEDTools: a flexible suite of utilities for comparing genomic features. Bioinformatics. 2010, 26 (6): 841-2. 10.1093/bioinformatics/btq033.
Paulino D, Warren RL, Vandervalk BP, Raymond A, Jackman SD, Birol I: Sealer: a scalable gap-closing application for finishing draft genomes. BMC Bioinformatics. 2015, 16 (230):
Boetzer M, Pirovano W: Toward almost closed genomes with GapFiller. Genome biology. 2012, 13 (6): R56-10.1186/gb-2012-13-6-r56.
Luo R, Liu B, Xie Y, Li Z, Huang W, Yuan J, et al: SOAPdenovo2: an empirically improved memory-efficient short-read de novo assembler. Gigascience. 2012, 1 (1): 18-10.1186/2047-217X-1-18. doi:10.1186/2047-217X-1-18
Birol I, Raymond A, Jackman SD, Pleasance S, Coope R, Taylor GA, et al: Assembling the 20 Gb white spruce (Picea glauca) genome from whole-genome shotgun sequencing data. Bioinformatics. 2013, doi:10.1093/bioinformatics/btt178
Koboldt DC, Chen K, Wylie T, Larson DE, McLellan MD, Mardis ER, et al: VarScan: variant detection in massively parallel sequencing of individual and pooled samples. Bioinformatics. 2009, 2283-5. 25
Bartenhagen C, Dugas M: RSVSim: an R/Bioconductor package for the simulation of structural variations. Bioinformatics. 2013, btt198
The authors thank the funding organizations, Genome Canada, British Columbia Cancer Foundation, and Genome British Columbia for their partial support of the publication. Research reported in this publication was also partly supported by the National Human Genome Research Institute of the National Institutes of Health under Award Number R01HG007182. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health or other funding organizations.
Canada's Michael Smith Genome Sciences Centre, British Columbia Cancer Agency, Vancouver, BC V5Z 4S6, Canada
Benjamin P Vandervalk, Chen Yang, Zhuyi Xue, Karthika Raghavan, Justin Chu, Hamid Mohamadi, Shaun D Jackman, Readman Chiu, René L Warren & Inanç Birol
Benjamin P Vandervalk
Chen Yang
Zhuyi Xue
Karthika Raghavan
Hamid Mohamadi
Shaun D Jackman
René L Warren
Inanç Birol
Correspondence to Inanç Birol.
BV implemented the search and extension algorithms for Konnector v2.0, and wrote descriptions of the algorithm and tools comparison. CY conducted analyses for the tools comparison and for Sealer. KR ran QUAST evaluations and other exploratory data analyses. ZX and RC did the analysis and writing for the KVarScan application. HM and JC provided improved Bloom filter algorithms and implementations. SDJ implemented the Bloom filter class and the de Bruijn graph interface for Konnector, and also implemented algorithmic improvements for the new version of Sealer. RLW did analysis and writing for the Sealer section, ran jobs for the tools comparison, and oversaw the planning and organization the paper. IB designed the algorithms for Konnector v2.0 and oversaw the development, evaluation, and manuscript preparation.
Vandervalk, B.P., Yang, C., Xue, Z. et al. Konnector v2.0: pseudo-long reads from paired-end sequencing data. BMC Med Genomics 8 (Suppl 3), S1 (2015). https://doi.org/10.1186/1755-8794-8-S3-S1
Bloom filter
de Bruijn graph
paired-end sequencing
de novo
genome assembly


This one day event brings together an international guest list of speakers, panelists and workshop hosts to inspire you on your own journey to better business.
Don't miss this opportunity to meet your tribe.
Sorry you missed tickets for Meaning 2018.
Super early-bird tickets for Meaning 2019 will be on sale from midday on 15 November via our website.
REFUNDS: Meaning tickets can be refunded up to and including 15 October. Person to person transfers can be made right up to the day of the conference.
GIFTED PLACES: For those who feel you belong at Meaning, but can't manage the cost, we have all small number of 'gifted places' for small charities and social enterprises, thanks to the generosity of the Meaning community. Applications for these have now closed.


text:
Q: Accessing Spring Boot resource as File in Controller I need to access the files I have in /src/main/resources/static/myfolder in my Spring Boot Controller using the java.io.File API. I tried
File folder = new File("/myfolder/");

But it doesn't work. Any ideas?

A: This should work
File file = new File(getClass().getResource("/static/myfolder").getFile());
File[] files = file.listFiles();

redpajama_set_name: RedPajamaStackExchange


The driving force behind our firm's momentum is some of the most qualified search consultants in the industry. Vivifying the company heartbeat and called upon to respond with deep commitment, our Partners define the intrinsic expertise of The Ransom Group. Individual performance is not the primary indicator by which we measure success. Rather, we assess the involvement of each Partner in the attainment of maximum Client satisfaction, the Partner's collaborative contribution to the firm's long-term goals, and the degree to which each Partner places the Client's interests ahead of self-interest. We firmly believe that this business ideal will sustain the continued success and development of each Partner, as well as that of the entire firm.
David provides overall leadership and strategic direction for The Ransom Group. He utilizes his knowledge and experience to improve the execution and performance standards of each search. David allocates considerable time to business development, client management and the refinement of innovative search solutions. In addition to his leadership role within the firm, he has built an extensive personal network of the industry's top leaders and has personally completed hundreds of senior management searches. Prior to founding The Ransom Group, David held the position of partner in a national search firm. For more than eight years, he was recognized as one of the firm's leading consultants. David is a graduate of Eastern Illinois University.
For over two decades, Kevin has specialized in executive search and staffing. His expertise includes senior executive search, and on-site recruitment & management of workforces to Fortune 500 clients within healthcare, banking, finance, and manufacturing. Kevin's contribution to the growth of The Ransom Group has been significant. His primary focus is on business development and client management. He has completed searches for CEO's, COO's, CFO's, functional Vice Presidents, and Physician Executives. Previously, Kevin held the position of Managing Partner for a regional staffing company and Area Manager for a publicly traded staffing firm. Kevin is a graduate of The Ohio State University.
David's role at TRG has been paramount to the ongoing development of some of the company's largest client relationships. With twenty years of executive search experience, David has focused on delivering measurable results to each client while developing market expertise within the healthcare industry. David successfully completed searches within all segments of the healthcare industry including a special emphasis in managing recruitment initiatives for integrated health systems and freestanding pediatric hospitals. His search experience includes Physician Executives, Clinical Innovation Leaders and Executive Officers. David is nationally recognized for his knowledge of the industry and the executive search process. David is a Miami University of Ohio graduate.


text:
Q: Matrices in Swift Since I am quite new with Swift, I was reading about Subscripts in Swift. It gave this example under Subscript Options: theExample
My question is how is the formula, grid[(row * columns) + column], is suppose to correspond to the right value in the grid array because when I calculate it it corresponds to the wrong value. Somebody please help.

A:      0   1   2   3   4
   --------------------
0 |  0,  1,  2,  3,  4,
1 |  5,  6,  7,  8,  9,
2 | 10, 11, 12, 13, 14

You have columns = 5.
If you want to get 8, row = 1 and column = 3.
row * columns + column
1 * 5 + 3 = 8.


text:
A Guide To Tasting Irish Whiskey While Visiting Ireland
By Mehwish January 3, 2023 No Comments7 Mins Read
If you're thinking of traveling to Ireland, and you're interested in sampling some of its famed whiskeys, here's a guide to help you out! Not only will this guide teach you about the different types of Irish whiskey, but it'll also give you tips on how to taste them properly. So whether you're a whiskey enthusiast or just want to learn more about this beautiful country, read on!
When visiting Ireland, one of the best ways to experience the country's rich culture and heritage is by tasting its unique whiskeys. Whether you are a whiskey enthusiast or just looking for a new way to explore this beautiful country, here is a guide to some of the best Irish whiskeys for visitors to try.
First and foremost, it is important to note that not all whiskey produced in Ireland is considered "Irish Whiskey". In fact, there are over 100 different types of whiskey produced in Ireland (including single malt and blended whiskies), but only a handful of them are actually classified as Irish Whiskeys. The two most popular types of Irish Whiskey are Single Malt Scotch Whisky and Single Grain Whiskey.
Single Malt Scotch Whisky: If you are looking for an intense, smoky taste with hints of spice and wood, then a Single Malt Scotch Whisky is what you want. Typically, Single Malt Scotch Whiskies are made from malted barley which has been fermented and then aged in oak barrels for at least three years. Some of the most well-known brands include Macallan, Glenlivet, Ardbeg, and Lagavulin.
Single Grain Whiskey: If you're after something lighter and fruitier in your whiskey experience, then a Single Grain Whiskey is perfect. Single Grain Whiskeys typically have no malted barley involved; instead they are made from corn (or other grains)
What is Irish Whiskey?
Irish whiskey is a type of whiskey made in Ireland. Irish whiskey is made from a blend of grain, water, and malt. Irish whiskey typically has a higher alcohol content than other types of whiskey.
The History of Irish Whiskey
The Irish whiskey industry is one of the oldest in the world and has a long and complex history. The distillation of alcohol has been occurring since ancient times, and it was likely that whiskey was being produced in Ireland well before the arrival of the first Europeans. However, it wasn't until the early 1800s that whiskey production began to take off in Ireland.
At first, Irish whiskey was mostly consumed by those living in rural areas. However, as time went on and transportation improved, Irish whiskey began to be exported to other parts of Europe. Today, there are many different types of Irish whiskey available on the market, all of which have their own unique flavor profile. Some popular examples include Jameson, Tullamore Dew, Bushmills, Midleton and Powers Gold Label.
If you're visiting Ireland and want to try some delicious Irish whiskey samples, be sure to check out some of the famous distilleries like Bushmills or Midleton. Alternatively, you can also explore some independent distilleries that are less well-known but offer equally great whisky experiences. Whichever way you choose to enjoy your Irish whisky experience, make sure to savor every sip!
Factors that Influence the Taste of a Whiskey
When visiting Ireland, one of the first things you'll want to do is taste some of the country's famous whiskeys. Irish whiskey is a unique and complex beverage that can vary greatly in taste depending on the distillery from which it was made. Here are some factors that influence the taste of Irish whiskey:
Distilling Methods – The way in which Irish whiskey is distilled plays a big role in its flavor. Pot Still Whiskey is made by slowly boiling down fermented mash for several hours, while Grain Whiskey is distilled using a more efficient technique called column stills.
– The way in which Irish whiskey is distilled plays a big role in its flavor. Pot Still Whiskey is made by slowly boiling down fermented mash for several hours, while Grain Whiskey is distilled using a more efficient technique called column stills. Age – Younger whiskeys will have a lighter, more floral flavor while older whiskeys will have a deeper, richer flavor. Some whiskeys can even have different flavors based on how long they've been aged for.
– Younger whiskeys will have a lighter, more floral flavor while older whiskeys will have a deeper, richer flavor. Some whiskeys can even have different flavors based on how long they've been aged for. Batch Size – The size of the batch also affects the taste of Irish whiskey. Smaller batches tend to produce lighter-bodied whiskies with more delicate flavors, while larger batches often result in heavier and bolder spirits with
How to Taste Whiskey?
If you're ever in Ireland and want to try some good whiskey, here's how:
Start with a bang by trying the most popular Irish whiskey, Jameson. It's easy to find and comes in all sorts of flavors (shaken, stirred, blackberry, etc.). Just be warned that it can be pretty strong!
If you're looking for something a bit less intense, try Bushmills or Tullamore Dew. Both are made from single malt whiskey and are generally smoother than Jameson or other Irish whiskies.
If you're feeling adventurous, head to an artisan distillery like Bowmore or Midleton. These places make small batches of high-quality whiskeys that are hard to find elsewhere. Just make sure you know what you're getting yourself into—some of these whiskeys can be pretty challenging to drink (especially if you don't like firewhiskey!).
Drinking Irish Whiskey: What are your Options?
If you're looking to sample some of Ireland's finest whiskey, you've come to the right place! Here, we'll outline three different ways to enjoy Irish whiskey while in Ireland – and trust us, each option has its own unique flavor profile that will leave you wanting more.
The first way to experience Irish whiskey is on the rocks. Local favorites such as Jameson and Bushmills are perfect for sipping neat or with a simple mixer such as tonic water or citrus juice.
If you're feeling a bit more adventurous, try mixing your Irish whiskey with some citrusy liqueur like Pernod Ricard's Ricard White or Cointreau. This will give the drink a refreshing edge that'll take it from standard booze-laced nightcap to Something Special!
Finally, if you really want to wow your palate (and stomach!) try using Irish whiskey as the base for a classic cocktail. Try our favorite: The Black & Tan: Combine 1 oz Jameson Black Whiskey with 1/2 oz Tanqueray gin and 1/4 oz Angostura bitters. Garnish with an orange twist and call it good!
If you are planning a trip to Ireland and would like to be able to taste some of the country's most excellent whiskey, this guide is for you. By following these tips, you will be able to find out what makes each Irish whiskey unique, taste them all without spending an arm and a leg, and even learn a bit about the history of Irish whiskey. So if you are ever in Dublin or anywhere near it and want to enjoy some fine whiskey – now you know where to start!
Mehwish
I am a Web Developer at different sites come and visit now. latest Govt jobs Read more Indeed jobs Read more Pakistan jobs


In some case, you will like these floating shelves design. Some days ago, we try to collected imageries to find unique inspiration, maybe you will agree that these are best galleries. We like them, maybe you were too. Perhaps the following data that we have add as well you need. Floating shelves done well, Although prime examples floating shelves cindy black designs her recent article just tip fine homebuilding iceberg ideas here some more great cool kitchen storage idea culled pages fhb.
You must click the picture to see the large or full size image. If you like and want to share you must click like/share button, maybe you can help more people can inspired too. Right here, you can see one of our floating shelves design gallery, there are many picture that you can surf, do not miss them.
They will obtain these savings with a logical, effectively deliberate strategy beginning with the design of the home, proper development strategies, properly insulated home windows, doors, and partitions after which comply with via with every day, monthly and annual operational methods. Once you have thought of these parts, consumers should use the latest methods in designing their properties with high insulation values within the partitions, vitality environment friendly heating and cooling systems as well as vitality environment friendly appliances. Construction of the muse for houses varies an amazing deal throughout the continent. Consumers residing in colder climates will be extra concerned about winter heating prices whereas consumers residing in southern areas of the continent will fear about the cost of air conditioning. Energy conservation and home design begins with the orientation of your house to maximise the heating of your own home by pure photo voltaic heating in colder climates and avoiding solar heating in scorching climates. The common aims of residing in a comfortable house and managing your vitality consumption can simply be met by following just a few simple guidelines.
As you and your home designer or architect focus on your plans and your objectives to your new home, always emphasize that energy administration and house comfort are an important ingredient of the ultimate design that your are looking for. For instance, you'll have paid for a nicely insulated house, sealed all of the cracks, https://www used caulking have been you have been alleged to and installed the most effective windows and doorways. Leaving lights on, operating appliances with partial hundreds e.g. the dishwasher and many others can even enhance your vitality consumption beyond what you will have been expecting. Old appliances could also be vitality guzzlers, while new appliances should be chosen based mostly on their energy scores. A fireplace can generate an enormous loss of energy if not managed properly and designed with power conservation in thoughts. Our houses are actually a complex setting that have to be managed to make sure that we dwell comfortably, have sufficient recent air, while controlling our energy consumption at the identical time.
The summer time brings the reverse when we must cool our homes and handle the cooling during hot summer time days. A common theme all through this report is to orient your home so that the solar can heat the home naturally in the winter, while minimizing the results of photo voltaic heating during scorching summer season days. Electronic ignition of gasoline appliances, profiting from shade for your air conditioner and using a digital thermostat that enables timed management of your homes interior temperature are all elements of the power design of your private home. Even customers who've been in their homes for a couple of years will discover this guidelines helpful for managing their power consumption. Depending on the climate shoppers will wish to orient their houses on the property to handle the amount of solar heating that the home shall be uncovered to. Natural wooden burning fireplaces have the bottom effectivity, while sealed gasoline fireplaces might be very environment friendly, whereas still offering the ambiance that many customers are on the lookout for.
Consumers who have designed and insulated their dwelling with power conservation in mind will probably be able to maximise their financial savings in the event that they make vitality conservation a part of their day-after-day life. Making this approach part of your lifestyle will ensure that your power financial savings continue after you will have moved in to your new dwelling and lived there for someday. Filling up the dishwasher or the clothes washer before running them takes no additional effort on your half and saves you energy utilization at the identical time. Adding a storm door to the outside will increase the level of insulating and vitality financial savings that you can obtain. Adding timber or shrubs to supply shade and making the most of natural land formations to provide shelter from prevailing winds is the first step in managing your power prices. Selection of fluorescent lighting, making the most of natural lighting are additional elements to be thought of within the design of your new house. Our dwelling power checklist covers many objects that house house owners can consider as a technique of taking advantage of all the energy environment friendly attributes of their dwelling to scale back their power consumption even additional.
If you loved this write-up and you would certainly such as to get even more info relating to decor wonderland kindly visit our page.
Below are 6 top images from 17 best pictures collection of floating shelves design photo in high resolution. Click the image for larger image size and more details.


85" 65" - 55" 50" - 43" 40" - 32" 28"
By clicking "Subscribe", you will be able to hear about the newest information about Newsroom from TCL.
design 10 layers of color coating CNC?
to present richer colour than ever before and produces images with 3D-like depth that effectively delivers an immersive viewing experience.
brightness enhancement. It can also greatly increase the contrast ratio to deliver greater picture.
natural colors for a truly immersive viewing experience via 3,840 x 2,160 pixels (4 x the number of pixels on Full HD TVs).
Micro Dimming analyses the TV content in hundreds of separate zones to adjust the brightness and darkness.
The picture quality is simply improved and pampers your eyes. You will enjoy a fantastic viewing experience with great contrast especially in dark.
precision lighting control and brightness enhancement, Local Dimming greatly increases the contrast ratio.
proprietary software algorithm, you can experience every detail when viewing fast-moving, action-packed content (example: Sports).
harman/kardon speaker delivers powerful and high impact sound.
It takes the entertainment quotient higher with its effective audio output.
This speaker is classically designed and packed into TCL TV. You can keep your family entertained (as long as the TV is on).
Delivers immersive 5.1 surround sound with Dolby decoder which optimizes the TV's sound quality.
and also capable to cast video and audio to mobile device, you can enjoy the non-stopped entertainment in every corner of your home.
create a rich acoustic-field replicating the sound of live-studio recordings. The TV set will produce the sound quality that can rival a family stereo.
look through the complicated navigation bar or do any tiresome typing, you can easily get what you like by asking.
More movies and games, music and photos, internet and apps are ready. With TCL Android TV?, discover a new worlds of entertainment with you and your family.
Netflix, YouTube, and more apps are available on TCL Android TV. All apps for movies, shows, music, sports and videos are ready to be downloaded from Google Play Store. Android TV also supports Cast Ready apps at g.co/castapps.
Google Play Music have 50,000 songs from their personal libraries at no cost. An "All Access" subscription, sold in combination with YouTube Red, entitles users to on-demand streaming of any song in the Google Play Music catalogue. Users can purchase additional tracks for their library through the music store section of Google Play.
Android TV offers a new way to play Android games on your phone, tablet or TV. Start at home on your TV, then continue on your phone when you're on the move. Google Play Games tracks your progress so you can pick up where you left off.
Android TV brings a world of content to your biggest screen. With the Google Assistant built in, you can quickly access entertainment, get answers, and control devices around your home. Find the latest blockbuster, check the score of the big game, or dim the lights.
and sports resources for you to enjoy non-stopped entertainment with your beloved family.
subscription. Members will be able to enjoy more HDR content in the coming months.
ranging from video-on-demand, social, gaming, music, and photo sharing that enables interaction between TV and mobile sets.
As one of the world's leading internet television with a huge range of popular content, Netflix has something for everyone.
You can watch TV shows recommended just for you, including award-winning Netflix original series, movies, and documentaries.
to what's trending in gaming,entertainment, news and more. Subscribe to channels you love, share with friends, and view on any device.
which could be used in two unidirectional data paths: one is to receive data and the other is to transmit data.
TCL's built-in bluetooth technology allows you to enjoy favorite music on your compatible bluetooth device.
Enjoy your favorite on-demand content at a great lick through your existing network with built-in Wi-Fi.
HDMI2.0 supports 4K resolution image with high transmission speed, up to 4 audio streams could even provide a higher standard for better sound quality.
"DTS Decode(DTS HD,DTS express 5.1) DTS Premium Sound/DTS Studio Sound dts-Premium"
Copyright ? 2018 TCL. All Rights Reserved.


text:
Walk This Way (feat. Aerosmith)
Run–D.M.C., Aerosmith
Black Skinhead
Blood Sugar Sex Magik
Suite-Pee
No Sleep Till Brooklyn
Evil Is Alive And Well
Peace Dog
Snakes Of Christ
Inertiatic Esp
I Gotsta Get Paid
Don't You Remember
Broken, Beat & Scarred
Half-Life Of An Autodidact
William Patrick Corgan
Curated by Julien Bitoun
Pop Hip-Hop, Rap Rock Recording Producer Mentor
A Life in Music
The legendary producer has creatively guided the likes of Johnny Cash, the Beastie Boys, Adele, and Kanye West over the last three decades.
It is not the producer themselves that cause us to become fans of their work. First, we are fans of artists, and then we prefer some of their albums to others, and then we realise that those we prefer were all produced by the same person. And here we decide that this wasn't just a happy coincidence, and we become interested in the discography of the producer in question.
That's how I became a fan of Rick Rubin, when I realised that Slayer's Reign In Blood, AC/DC's Ballbreaker, the Beastie Boys' Licensed to Ill, and Johnny Cash's American Recordings had all been recorded by the same someone. I found, in the career of the awesome and bearded New Yorker, the confirmation of a philosophy of music that I was already sensing bit by bit throughout my musical discoveries: no matter the style, no matter the universe, and no matter the training, all that matters is to make a sincere and authentic album, the best possible album at the time of recording.
Rubin began as a music lover, and set up his label Def Jam in 1984 (which would become Def American, then American Recordings) with the idea of producing new artists. He had a crucial role in the beginnings of hip hop, as he worked very closely with the Beastie Boys, Public Enemy, and Run DMC, three of the pioneers of the style whom he helped during their search for a new sound.
His first stroke of genius was mixing hip hop with hard rock through Run DMC's single with Aerosmith, 'Walk This Way'. It was both a way for Run DMC's hip hop to reach a new white audience, and a way for Aerosmith to regain credibility after some years in the wilderness.
Therefore, Rubin's discography can be read along two main lines: on the one hand, the groups he helped in their invention of a new hybrid style (Slayer, Red Hot Chili Peppers, System of a Down) and on the other, the artists who would use his services to save them during a phase of their career where few fans would have bet on them. He signed Johnny Cash to his label in 1994 and produced his last albums, these twilight jems, at a time when Cash was seen as something of a notorious has-been. He was followed by AC/DC, Neil Diamond, ZZ Top, Black Sabbath, and Eminem, all looking to breathe new life into their careers.
And then there were the artists tackling both issues at the same time, those who wanted to reinvent themselves, having experienced difficulties in their previous bands, like Audioslave (a mix of the rhythm section of Rage Against The Machine with the singer of Soundgarden), Mars Volta (put together by ex-members of At The Drive In) and more recently Billy Corgan (ex-future or future-ex member of Smashing Pumpkins), each time allowing these artists to reach a new stage of their career.
Even in cases where he's contributed to albums by artists as popular as Adele or Kanye West, Rubin has never hesitated in forcing these established musicians out of their comfort zone, with very surprising results. Rubin understood that the role of a producer is not to impose one's own style, but to push those with whom one works to give the best of themselves.
Get Deeper
Article: American Communion (David Kamp, 2010)
Documentary Series: Shangri-La (2019)
Podcast: Broken Record Episode 1 – Rick Rubin (2018)
Article: Rick Rubin, My Life in 21 Songs (2016)
U.S. punk rock on a silver platter.
The rock 'n' roll revolution began with a small independent Memphis record label. It truly changed the world.
The Imaginary Western
Here is the music, it's up to you to imagine the movie!
J Dilla Beats
Taken from us far too young, J Dilla remains one of hip hop's most influential producers ever.


text:
Q: How can I set all animations to "unanimate" as well in CSS? I have a webpage whose menu I'm trying to make with CSS animations:

Here is my CSS file that is linked:
.button-orange {
    border: none;
    transition: background 0.4s, border 0.4s, height 0.4s;
    background: orange;
}

.button-orange:hover {
    border-bottom: 3px solid blue;
    border-top: 3px solid rgba(0, 0, 0, 0);
    background: green;
    height: 94px;
}

The div is 100x100px, and the top border is only needed to keep the text in the middle (otherwise it goes up by 1.5px)
I tried using outline, but quickly dropped it because it can only be used on all sides.
When hovering, everything works correctly, but when moving the mouse somewhere else, the bordes quickly disappear and the height is animated. How can I get them to both animate?

A: The border property is a shorthand and changes more than one single property. By applying border: none you are changing border-style from solid to none, which cannot be transitioned (is not animatable).
In order to transition border-width you need to keep border-style:solid in both states and only change border-width:

.button-orange {
    border: 0 solid;
    border-color: transparent transparent blue;
    transition: background 0.4s, border-width 0.4s, height 0.4s;
    background: orange;
}

.button-orange:hover {
    border-bottom: 3px solid blue;
    border-top: 3px solid rgba(0, 0, 0, 0);
    background: green;
    height: 94px;
}

Button

However, you'll notice transitioning border-width is not really good looking, mostly because major browsers apply anti-aliasing to sub-pixel values of the border and the transition will not look smooth.
The most commonly used and eye-catchy effect for "border-like" effects is to have an additional element (usually a pseudo-element acting as a "live" border), animating from 0 to full element width, on X axis.
For example:

.button-orange {
    transition: background-color 0.4s, height 0.4s;
    background: orange;
    position: relative;
    height: 18px;
}
.button-orange:hover {
    background-color: green;
    height: 94px;
}
.button-orange:after {
  content: '';
  height: 3px;
  width: 0;
  bottom: -3px;
  left: 50%;
  background-color: blue;
  position: absolute;
  transition: width .4s cubic-bezier(.4,0,.2,1);
  transform: translateX(-50%)
}

.button-orange:hover:after {
  width: 100%;
}

Button

(looks better when not moving the pseudo while changing its width - in our case, could have been placed on top of the element instead of bottom).

Another possible option is to keep the same border-width and animate the border from a "solid" color to transparent, keeping border-width unchanged. It looks smoother and keeps the element from "jumping" because of the difference in border-width.
For example:

.button-orange {
    border: 3px solid transparent;
    transition: background 0.4s, border-color 0.4s, height 0.4s;
    background: orange;
    height: 18px;
}

.button-orange:hover {
    border-bottom-color: blue;
    background: green;
    height: 94px;
}

Button

Also note that in your initial example (as well as in my first snippet), the height property is not, actually animating, because you're trying to animate from default, which is auto, to a specific value and that, again, is not animatable. You need to set a value on the default state if you want to animate height. It tricks you into believing it's working but, in fact, it's the border-width that's animating, creating the illusion the element height is changing. In fact, the border is changing width while having a style of none.


text:
U.S. Markets open in 7 hrs 4 mins
Apple bid for education market - new software, same iPad price
Reuters March 27, 2018
FILE PHOTO - An Apple employee uses an iPad with an augmented reality app on it to show off features of the new Apple Park at the Apple Visitor Center in Cupertino, California November 17, 2017. REUTERS/Elijah Nouvelage
By Richa Naidu and Stephen Nellis
CHICAGO/SAN FRANCISCO (Reuters) - Apple Inc on Tuesday rolled out a new iPad and classroom software aimed at grabbing more of the U.S. education market, but did not cut the price of its entry-level tablet despite schools flocking to laptops costing a third less.
Apple is looking to reassert dominance in U.S. schools, where inexpensive laptops running software from Alphabet Inc's Google and Microsoft Corp now top iPad by sales, offering a cheap way to get to cloud-based productivity tools.
The new iPad has a more powerful computing chip and an extensive set of new, free software for teachers to manage students and schoolwork. But the unchanged starting price of $299 (£211) for students and $329 for the general public, without a keyboard or case, compares with less than $200 for some Windows and Google Chrome models.
Apple shares were down 1.4 percent to $170.26 after the event, slightly better than the NASDAQ Composite, which was down 1.6 percent in midday trading.
Some analysts had believed Apple might cut prices, but the company stuck with its more traditional approach of packing more features into a device.
Despite the new software, Apple faces a tough battle in the educational market given the popularity of Google and Microsoft's productivity suites, said Carolina Milanesi of Creative Strategies. Google's G Suite fuelled Chromebook sales because it was seen as easy to use to manage assignments.
"Most teachers don't look past G Suite for education," she said.
Apple, as part of its response, on Tuesday announced improvements in its iWork suite at an event in Chicago, where school bells and announcements over a public address system directed press and more than 300 teachers into an auditorium at Lane Tech College Prep High School.
The event came during a spring buying season when many schools are making purchasing decisions for the upcoming school year.
"We've been at this for 40 years and we care deeply about education," Apple Chief Executive Tim Cook said at the event.
Apple executives said the new iPad works with its pencil accessory and features an upgraded A10 Fusion chip, the same CPU that powers the iPhone 7. It is available immediately.
The Apple Pencil remains priced at $99 for the public and $89 for schools, though Lenovo will release a device called Crayon for $49, the first third-party stylus to work with the iPad.
Apple made up just 17 percent of the K-12 U.S. educational market in the third quarter, according to data from Futuresource Consulting. Meanwhile 60 percent of mobile computing shipments to schools ran Google's Chrome and 22 percent had Windows.
Chromebooks sold by Dell Technologies Inc cost as little as $189. Microsoft last year introduced an education-focused laptop from Lenovo Group Ltd running Windows 10 S for a similar price.
Acer Inc announced a tablet that runs Chrome OS for $329 on Monday that comes with a built-in stylus.
Apple in recent years made changes to its operating system so that more than one student can log into an iPad, and to its software to let teachers better manage students.
On Tuesday it updated iWork - which includes word processing, spreadsheet and presentation software - to allow students to take handwritten notes more easily, along with adding more free storage on its iCloud service.
Apple also released a new app called Schoolwork to help teachers create assignments and track student progress. Google has a similar app for managing student profiles, but analysts highlighted Apple's Schoolwork app as unique in helping teachers manage assignments and progress.
The previously iPad-focused Classroom teacher administration app would start working on Mac computers in June, Apple said.
In the fall Apple will roll out "Everyone Can Create" lessons on video, photography, music, and drawing, joining existing "Everyone Can Code" guides for computer programming skills.
The new courses highlight features that some low-priced laptops do not have, such as a camera and microphone.
"If you look at it as a Chromebook competitor, it's expensive. But if you look at it and say, I can do music with GarageBand, I can take pictures or use it as a video camera and now I can do (augmented reality) ... it appeals to teachers and schools that want to push the envelope on education," Milanesi said.
Sales of iPads made up just 8.3 percent of Apple's $229.2 billion total revenue last year, compared with the nearly 62 percent of sales generated by iPhones.
(Reporting by Stephen Nellis; Editing by Meredith Mazzilli and Peter Henderson)
Microsoft Data Shows Hackers Still Targeting U.S. Elections
Apple 13-inch MacBook Pro review (2019): This is the one
As Kirkland Urban work wraps up, developer plans next project nearby
This is one way Toyota plans to shuttle people around during the 2020 Olympics