JsonSerializer has a number of properties on it to customize how it serializes JSON. These can also be used with the methods on JsonConvert via the JsonSerializerSettings overloads.
MissingMemberHandling
MissingMemberHandling controls how missing members, e.g. JSON contains a property that isn't a member on the object, are handled during deserialization.
| Member | Description |
|---|---|
| Ignore |
By default Json.NET ignores JSON if there is no field
or property for its value to be set to during deserialization.
|
| Error |
Json.NET errors when there is a missing member during
deserialization.
|
ReferenceLoopHandling
ReferenceLoopHandling controls how circular referencing objects, e.g. a Person object referencing itself via a Manager property, are serialized.
| Member | Description |
|---|---|
| Error |
By default Json.NET will error if a reference loop is
encountered (otherwise the serializer will get into an infinite loop).
|
| Ignore |
Json.NET will ignore objects in reference loops and
not serialize them. The first time an object is encountered it will be
serialized as usual but if the object is encountered as a child object of itself
the serializer will skip serializing it.
|
| Serialize |
This option forces Json.NET to serialize objects in
reference loops. This is useful if objects are nested but not indefinitely.
|
ReferenceLoopHandling can also be customized on individual properties with JsonPropertyAttribute.
NullValueHandling
NullValueHandling controls how null values on .NET objects are handled during serialization and how null values in JSON are handled during deserialization.
| Member | Description |
|---|---|
| Include |
By default Json.NET writes null values to JSON when
serializing and sets null values to fields/properties when deserializing.
|
| Ignore |
Json.NET will skip writing JSON properties if the .NET
value is null when serializing and will skip setting fields/properties if the
JSON property is null when deserializing.
|
NullValueHandling can also be customized on individual properties with JsonPropertyAttribute.
DefaultValueHandling
DefaultValueHandling controls how Json.NET uses default values set using the .NET DefaultValueAttribute when serializing and deserializing.
| Member | Description |
|---|---|
| Include |
By default Json.NET will write a field/property value
to JSON when serializing if the value is the same as the field/property's
default value. The Json.NET deserializer will continue setting a field/property
if the JSON value is the same as the default value.
|
| Ignore |
Json.NET will skip writing a field/property value to
JSON if the value is the same as the field/property's default value. The
Json.NET deserializer will skip setting a .NET object's field/property if the
JSON value is the same as the default value.
|
DefaultValueHandling can also be customized on individual properties with JsonPropertyAttribute.
ObjectCreationHandling
ObjectCreationHandling controls how objects are created and deserialized to during deserialization.
| Member | Description |
|---|---|
| Auto |
By default Json.NET will attempt to set JSON values onto
existing objects and add JSON values to existing collections during
deserialization.
|
| Reuse |
Same behaviour as auto.
|
| Replace |
Json.NET will always recreate objects and collections
before setting values to them during deserialization.
|
ObjectCreationHandling can also be customized on individual properties with JsonPropertyAttribute.
TypeNameHandling
TypeNameHandling controls whether Json.NET includes .NET type names during serialization with a $type property and reads .NET type names from that property to determine what type to create during deserialization.
| Member | Description |
|---|---|
| None |
By default Json.NET does not read or write type names
during deserialization.
|
| Objects |
Json.NET will write and use type names for objects
but not collections.
|
| Arrays |
Json.NET will write and use type names for collections
but not objects.
|
| Auto |
Json.NET will check whether an object/collection matches
its declared property and writes the type name if they do not match, e.g. a
property with a type of Mammal has a derived instance of Dog assigned. Auto will
ensure that type information isn't lost when serializing/deserializing
automatically without having to write type names for every object.
|
| All |
Json.NET will write and use type names for objects and
collections.
|
TypeNameHandling can also be customized on individual properties with JsonPropertyAttribute.
TypeNameAssemblyFormat
TypeNameAssemblyFormat controls how type names are written during serialization.
| Member | Description |
|---|---|
| Simple |
By default Json.NET writes the partial assembly name
with the type, e.g. System.Data.DataSet, System.Data. Note that Silverlight and
Windows Phone are not able to use this format.
|
| Full |
Json.NET will write the full assembly name, including
version number, culture and public key token.
|
Read more about the valid values at FormatterAssemblyStyle.
Binder
The serialization binder is used to resolve type names to a .NET type.
Read more about the serialization binder here: SerializationBinder
ConstructorHandling
ConstructorHandling controls how constructors are used when initializing objects during deserialization.
| Member | Description |
|---|---|
| Default |
By default Json.NET will first look for a constructor
marked with the JsonConstructorAttribute, then look for a public default
constructor (a constructor that doesn't take any arguments) and finally check if
the class has a single public constructor with arguments. If the class has
multiple public constructors with arguments an error will be thrown. This can be
fixed by marking one of the constructors with the JsonConstructorAttribute.
|
| AllowNonPublicDefaultConstructor |
Json.NET will fallback to
using a classes private default constructor if available.
|
Converters
This is the collection of JsonConverters that will be used during serialization and deserialization.
JsonConverters allows JSON to be manually written during serialization and read during deserialization. This is useful for particularly complex JSON structures or for when you want to change how a type is serialized.
When a JsonConverter has been added to a JsonSerializer it will be checked for every value that is being serialized/deserialized using its CanConvert to see if it should be used. If CanConvert returns true then the JsonConverter will be used to read or write the JSON for that value.
To create your own custom converter inherit from the JsonConverter class. Read more about the built-in JsonConverters below:
- Serializing Dates in JSON
- Converting between JSON and XML
- CustomCreationConverter
- StringEnumConverter
ContractResolver
Internally for every .NET type the JsonSerializer will create a contract of how the type should be serialized and deserialized, based on type metadata and attributes applied to the class. Specifying a custom IContractResolver allows the creation of contracts to be customized.
Read more about Contract Resolvers here: Contract Resolvers
Error
The Error event can catch errors during serialization and either handle the event and continue with serialization or let the error bubble up and be thrown to the application.
Read more about error handling here: Serialization Error Handling


Match Play. Red trails 2-3 to 7. Should Red redouble? If redoubled, should White take?
pips Red=13 White=12
(CorrectAnswer= 0/0, ErrorScore= 0)
Thanks to Martin for the match score analysis and take points (see comments).
Most people don’t do this over the board either because they can’t or because they haven’t got the time. I am able to do these calculations but only do so in major tournaments as they take time and certainly on Gridgammon people would become impatient. I use the Janowski formula to do my match equity calculations.
Without doing the calculations I would reason as follows:
This is somewhere around a three-roll position but with lots of potential misses for both sides so it could actually be a 1,2, 3 or 4-roll position.
As Red if I redouble and win I will be 6-3 (Crawford) ahead and my opponent is on an odd number of points ahead which is very good for me.
If I redouble and lose then I lose the match which is obviously bad for me buy hey you can't win them all.
On roll and 1 pip behind I am favourite probably somewhere between 60 and 70%.
The position is highly volatile so ‘taking a roll’ looks wrong – I should nearly certainly redouble now.
Finally apply Woolsey’s Law and give the problem to White – Redouble!
In fact Red is about 65% in this position. The take is trivial but the redouble is massively correct – it is more than a double blunder not to redouble.
Most people don’t do this over the board either because they can’t or because they haven’t got the time. I am able to do these calculations but only do so in major tournaments as they take time and certainly on Gridgammon people would become impatient. I use the Janowski formula to do my match equity calculations.
Without doing the calculations I would reason as follows:
This is somewhere around a three-roll position but with lots of potential misses for both sides so it could actually be a 1,2, 3 or 4-roll position.
As Red if I redouble and win I will be 6-3 (Crawford) ahead and my opponent is on an odd number of points ahead which is very good for me.
If I redouble and lose then I lose the match which is obviously bad for me buy hey you can't win them all.
On roll and 1 pip behind I am favourite probably somewhere between 60 and 70%.
The position is highly volatile so ‘taking a roll’ looks wrong – I should nearly certainly redouble now.
Finally apply Woolsey’s Law and give the problem to White – Redouble!
In fact Red is about 65% in this position. The take is trivial but the redouble is massively correct – it is more than a double blunder not to redouble.
Cube analysis 2-ply cubeless equity +0.274 (Money: +0.274) 0.637 0.000 0.000 - 0.363 0.000 0.000 Cubeful equities: 1. Double, take +0.666 2. Double, pass +1.000 (+0.334) 3. No double +0.452 (-0.214) Proper cube action: Redouble, take


Formed in 2009, Imagine Dragons first revealed their limitless passion and genre-bending sensibilities with a series of independently released EPs that quickly earned a grassroots following. Over the last half-decade, Imagine Dragons have emerged as one of the biggest and most compelling rock bands in the world. Within a year of its June 2017 release, their third studio album EVOLVE went double-platinum, yielding three back-to-back #1 singles: Believer, Thunder, and It Takes. Self-identifying as “genreless,” Imagine Dragon artfully blends rock, hip-hop, pop, and folk with their lyrics that speak to a sometimes-painful self-awareness, but ultimately uplift and inspire.
These are some of the best songs from various albums. Sucker for pain having been used as a sound track movie Suicide Squad.
Dan Reynold:Singer.
He is an American singer, songwriter, and record producer. He is the lead vocalist and only remaining original member of the Imagine Dragons band.
He is a recipient of the Songwriters Hall of Fame Hal David Starlight Award.
Wayne Sermon:Guitarist.
He is an American musician, songwriter, and record producer. He is the lead guitarist for the Imagine Dragons band.
As a youth Sermon learned to play both cello and guitar. He was determined to be a guitarist even as a child.
His dad had an audio-phile quality amplifier, a record player,
and all of The Beatles albums on vinyl, which Sermon enjoyed listening to.
Ben Mkcee:Bass.
He is an American musician,
songwriter, and record producer. He is the bassist for the pop rock band Imagine Dragons.
He grew up playing acoustic guitar and violin, before picking up acoustic bass in fifth grade. In high school,
he continued learning bass guitar as a member of a jazz trio, which influenced his decision to attend Berklee College of Music.
Daniel Platzman:Drumist.
He is an American musician, songwriter, record producer and composer. He is the drummer for the Imagine Dragons band.
He attended Berklee College of Music where he earned a degree in film scoring. While at Berklee, Platzman played in the Concert Jazz Orchestra,
the Urban Outreach Jazz Orchestra and the Berklee Rainbow Big Band, and received the Vic Firth Award for Outstanding Musicianship


Disabling/enabling event listeners
Steps to reproduce
- Open Firebug
- Switch to the HTML panel and there to the Events side panel
- Inspect the element #testspan -> there should be two "click" event listeners
- Click the element on the page -> the output 12 should appear, indicating that both
event listeners ran
- Disable the first listener, and click the element again -> the output should be 2
- Enable the first listener again, and click the element -> the output should be 12
- Disable the second listener, and click the element -> the output should be 1
- Enable the second listener, and click the element -> the output should be 12
Expected result
-
It should be possible to enable and disable event listeners (including event handlers),
and their order should be preserved when doing so.


{% extends "base.html" %} {% block page_title %} About {% endblock page_title %} {% block content %}
This is a personal project by Johannes Gehrs, not associated with CentOS. I was annoyed by the fact that I could not search for CentOS packages on the web and therefore wrote this webapp.
This software is released under the MIT license and you can find the source code on Github. The visual theme of this site is the Bootstrap-based Superhero theme. Bootstrap includes Glyphicons which are used in this project. The search functionality is powered by Whoosh, and the pages are served by Flask.
The CentOS Plus repository is currently not searched because it's deactivated by default in CentOS and I wanted to keep things simple.
If you have general feedback please send me an email. If you have any specific improvement in mind you may rather want to create an issue or pull request at Github.


Last updated: November 19, 2019
These Terms and Conditions ("Terms", "Terms and Conditions") govern your relationship with GoSocial mobile application (the "Service") operated by Hapramp Studio Private Limited ("us", "we", or "our").
Please read these Terms and Conditions carefully before using our GoSocial mobile application (the "Service").
Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.
By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.
Our Service allows you to post, link, store, share and otherwise make available certain information, text, graphics, videos, or other material ("Content"). You are responsible for the Content that you post to the Service, including its legality, reliability, and appropriateness.
By posting Content to the Service, you grant us the right and license to use, modify, publicly perform, publicly display, reproduce, and distribute such Content on and through the Service. You retain any and all of your rights to any Content you submit, post or display on or through the Service and you are responsible for protecting those rights. You agree that this license includes the right for us to make your Content available to other users of the Service, who may also use your Content subject to these Terms.
You represent and warrant that: (i) the Content is yours (you own it) or you have the right to use it and grant us the rights and license as provided in these Terms, and (ii) the posting of your Content on or through the Service does not violate the privacy rights, publicity rights, copyrights, contract rights or any other rights of any person.
When you create an account with us, you must provide us information that is accurate, complete, and current at all times. Failure to do so constitutes a breach of the Terms, which may result in immediate termination of your account on our Service.
You are responsible for safeguarding the password that you use to access the Service and for any activities or actions under your password, whether your password is with our Service or a third-party service.
You agree not to disclose your password to any third party. You must notify us immediately upon becoming aware of any breach of security or unauthorized use of your account.
You may not use as a username the name of another person or entity or that is not lawfully available for use, a name or trade mark that is subject to any rights of another person or entity other than you without appropriate authorization, or a name that is otherwise offensive, vulgar or obscene.
The Service and its original content (excluding Content provided by users), features and functionality are and will remain the exclusive property of Hapramp Studio Private Limited and its licensors. The Service is protected by copyright, trademark, and other laws of both the India and foreign countries. Our trademarks and trade dress may not be used in connection with any product or service without the prior written consent of Hapramp Studio Private Limited.
Our Service may contain links to third-party web sites or services that are not owned or controlled by Hapramp Studio Private Limited.
Hapramp Studio Private Limited has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that Hapramp Studio Private Limited shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services.
We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or services that you visit.
We may terminate or suspend your account immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms.
Upon termination, your right to use the Service will immediately cease. If you wish to terminate your account, you may simply discontinue using the Service.
In no event shall Hapramp Studio Private Limited, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from (i) your access to or use of or inability to access or use the Service; (ii) any conduct or content of any third party on the Service; (iii) any content obtained from the Service; and (iv) unauthorized access, use or alteration of your transmissions or content, whether based on warranty, contract, tort (including negligence) or any other legal theory, whether or not we have been informed of the possibility of such damage, and even if a remedy set forth herein is found to have failed of its essential purpose.
Your use of the Service is at your sole risk. The Service is provided on an "AS IS" and "AS AVAILABLE" basis. The Service is provided without warranties of any kind, whether express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, non-infringement or course of performance.
Hapramp Studio Private Limited its subsidiaries, affiliates, and its licensors do not warrant that a) the Service will function uninterrupted, secure or available at any particular time or location; b) any errors or defects will be corrected; c) the Service is free of viruses or other harmful components; or d) the results of using the Service will meet your requirements.
These Terms shall be governed and construed in accordance with the laws of India, without regard to its conflict of law provisions.
Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have between us regarding the Service.
We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 15 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.
By continuing to access or use our Service after those revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, please stop using the Service.
If you have any questions about these Terms, please contact us on hi@hapramp.com


| Class | AI::CSP::Backtracking |
| In: |
ai/csp/backtracking.rb
|
| Parent: | Object |
Implements chronological backtracking for CSPs. If propagation is turned on, this amounts roughly to forward checking (depending on the constraints).
See AI::CSP for an overview and more examples.
| constraint_checks | [R] | For recording statistics |
| description | [R] | |
| nodes_explored | [R] | |
| solutions | [R] | |
| time | [R] |


Start Bootstrap
Home
About
Services
Portfolio
Contact
Start writing better copy!
Let's write some better copy


"Simple" Screens
"Moderately Complex" Screens
"Very Complex" Screens
"Simple" Reports
"Moderately Complex" Reports
"Very Complex" Reports
Code Modules Written In Imperative Languages
Rate Your Producitivty (Skill + Experience + CASE Capabilities)
Very Low
Low
Nominal
High
Very High
How Much Code Will You Be Reusing, From 0% - 100%
Application Points/Month
Total Application Points
Total Application Points (Minus Code Reuse)
Project Effort Estimate (In Person-Months)
Project Effort Estimate (In Person-Days)
Best-Case Estimate (In Days)
Normal-Case Estimate (In Days)
Worst-Case Estimate (In Days)
Ken Norton's Estimate (In Days)


Romeo: [To JULIET] If I profane with my unworthiest hand This holy shrine, the gentle fine is this: My lips, two blushing pilgrims, ready stand To smooth that rough touch with a tender kiss.
Juliet: Good pilgrim, you do wrong your hand too much, Which mannerly devotion shows in this; For saints have hands that pilgrims' hands do touch, And palm to palm is holy palmers' kiss.
Romeo: Have not saints lips, and holy palmers too?
Juliet: Ay, pilgrim, lips that they must use in prayer.
Romeo: O, then, dear saint, let lips do what hands do; They pray, grant thou, lest faith turn to despair.


Kung Fu Panda VS Grease Pencil
by Bart VeldhuizenMind blown!
Maisam Hosaini writes:
Another magic of Blender and Grease Pencil. My favorite animated(Kung Fu Panda), my favorite software(Blender), and my favorite Tool(Grease Pencil), together.
I done this in Blender 2.82, everything painted by grease pencil.
I say it again, Grease Pencil is an endless potential for 2D artists.
It seems to use this technique, which Maisam explained last week: Here's another cool effect that Maisam presented last week (unrelated to the Kung Fu Panda video):


Insects evolved ingenious adaptations to use extraordinary food sources. Particularly, the diet of herbivores enriched with noxious plant secondary metabolites requires detoxification mechanisms. Sequestration, which involves the uptake, transfer, and concentration of occasionally modified phytochemicals into specialized tissues or hemolymph, is one of the most successful detoxification strategies found in most insect orders. Due to the ability of ATP-binding cassette (ABC) carriers to transport a wide range of molecules including phytochemicals and xenobiotics, it is highly likely that they play a role in this sequestration process. To shed light on the role of ABC proteins in sequestration, we describe an inventory of putative ABC transporters in various tissues in the sequestering juvenile poplar leaf beetle, Chrysomela populi.
In the transcriptome of C. populi, we predicted 65 ABC transporters. To link the proteins with a possible function, we performed comparative phylogenetic analyses with ABC transporters of other insects and of humans. While tissue-specific profiling of each ABC transporter subfamily suggests that ABCB, C and G influence the plant metabolite absorption in the gut, ABCC with 14 members is the preferred subfamily responsible for the excretion of these metabolites via Malpighian tubules. Moreover, salicin, which is sequestered from poplar plants, is translocated into the defensive glands for further deterrent production. In these glands and among all identified ABC transporters, an exceptionally high transcript level was observed only for Cpabc35 ( Cpmrp). RNAi revealed the deficiency of other ABC pumps to compensate the function of CpABC35, demonstrating its key role during sequestration.
We provide the first comprehensive phylogenetic study of the ABC family in a phytophagous beetle species. RNA-seq data from different larval tissues propose the importance of ABC pumps to achieve a homeostasis of plant-derived compounds and offer a basis for future analyses of their physiological function in sequestration processes.
Lipid bilayers form efficient barriers for cellular partitioning. The translocation across these membranous barriers is crucial for many aspects of cell physiology, including the uptake of nutrients, the elimination of waste products, or energy generation and cell signaling. The ATP-binding cassette (ABC) transporters constitute one of the largest families of membrane translocators [1]. The core functional unit of ABC proteins consists of four domains: two cytoplasmic domains containing the highly conserved nucleotide-binding domains (NBDs), which are responsible for the ATP hydrolysis needed to provide energy for the transport cycle, and two transmembrane domains (TMDs), each in most cases composed of six membrane-spanning helices, which impart substrate specificity and translocation [2]– [4]. The NBDs harbor several conserved sequence motifs from N- to C-terminus. These are the Walker A motif (also called P-loop) which is glycine-rich, a flexible loop with a conserved glutamine residue (Q-loop), the ABC signature (LSGGQ) motif (also called C-loop), the Walker B motif, and a conserved histidine residue (His-switch). The ABC signature motif is diagnostic for this family as it is present only in ABC transporters, while Walker A and B motifs are found in many other ATP-utilizing proteins. The domains are encoded by separate genes, either by genes encoding one NBD and one TMD whose products dimerize to form the functional transporter, or by genes encoding two NBDs and two TMDs on a single polypeptide.
In eukaryotic genomes, ABC genes are widely dispersed and highly conserved between species, indicating that most of these genes have existed since the beginning of eukaryotic evolution [5]– [8]. ABC transporters can be classified into subfamilies according to sequence homology and domain topology. The existing eukaryotic genes have been grouped into major subfamilies, termed from ABCA to ABCI [1], [9]. Both subfamilies H and I are not present in humans. The subfamily ABCH was defined after the analysis of the genome of the fruit fly Drosophila melanogaster and was found in other invertebrates and zebrafish to date. The subfamily ABCI is limited to plants [10]. Most ABC proteins transport a wide range of compounds, either within the cell as part of a metabolic process into an intracellular compartment (e.g. endoplasmic reticulum (ER), mitochondria, and peroxisomes) or outside the cell for transport processes to other organs. In humans, the known functions of ABC transporters include cholesterol and lipid transport, multidrug resistance, antigen presentation, mitochondrial iron homeostasis and the ATP-dependent regulation of ion channels [11]– [14]. Owing to the importance of ABC transporters for cell functions, they are still extensively investigated in many eukaryotes. In insects, one of the best studied ABC proteins is White, which is crucial for pigment transfer in insect eyes [15]– [20]. As is known for D. melanogaster, ABC transporters facilitate translocation of attractants for germ cell migration [21] or participate in the modulation of the molting hormones’ (ecdysteroids’) signaling in insect tissues [22]. Furthermore, they seem to be frequently implicated in insecticide resistance [23], [24], such as in the DTT tolerance of the Anopheles mosquitoes which transmit malaria agents [25] or in the tolerance against pest control toxins from Bacillus thuringiensis which is reported of lepidopterans [26], [27].
Although ABC transporters were previously analyzed in several insect species at genome-wide level [28], [29], profiles of the transcript levels of ABC transporters in non-model insects are not available to date. For this study we analyzed the transcriptomic data with regard to ABC transporters in a phytophagous leaf beetle species. Leaf beetles (Chrysomelidae sensu lato; including the seed beetles Bruchidae) constitute together with the Cerambycidae (longhorn beetles) and the Curculionoidea (weevils) the largest beetle radiation. These are known as “Phytophaga” and represent roughly 40% of all the 350,000 described species [30]. Leaf beetles mainly feed on green plant parts. The species of the leaf beetle taxon Chrysomelina, for example, are adapted to use host plants’ leaves as a food source during their whole life cycle [31]. Therefore, they have to be protected against both, the noxious effect of plant secondary metabolites and attacks by their enemies. Some species evolved the ability to exploit the phytochemicals for their own chemical defense [32]– [34]. The larvae of the poplar leaf beetle Chrysomela populi, for example, take up the phenolglucoside salicin from salicaceaous food plants. This precursor salicin is transported into nine pairs of exocrine, dorsal glands [35], [36], where the compound is converted into salicylaldehyde – a potent, volatile deterrent that repels predators and prevents fatal microbial infections [34], [37], [38]. This process of sequestration involves a complex influx-efflux transport network which guides plant-derived glucosides through the insect body [39].
Although sequestration is a widespread phenomenon attributed to many insect orders, we recently identified the first example of a transport protein essential for the translocation of phytochemicals in insects [40]. The transporter belongs to the ATP-binding cassette transporter family and functions in the defensive exocrine glands of juvenile poplar leaf beetles. Thus, the comprehensive analysis of putative ABC transporters in the phytophagous C. populi larvae provides implications for further studies on the predicted physiological functions of this transporter class in sequestering insects, such as the incorporation and excretion mechanisms of toxic compounds. For this reason, we present a complete inventory of ABC transporters based on available C. populi transcriptome sequences. Detailed sequence comparisons of members of each subfamily with those of humans, the red flour beetle Tribolium castaneum and other insects reveal their correspondences. We, additionally, studied the expression profiles of ABC encoding transcripts in various tissues by using next-generation sequencing in juvenile C. populi and propose a function of ABC pumps in the sequestration process.
No specific permissions were required for the locations/activities. Chrysomela populi is listed neither as endangered nor as protected species in Germany. Manuela Baerwolff from the Thueringer Landesanstalt für Landwirtschaft, Referat 430 Nachwachsende Rohstoffe, D-07778 Dornburg-Camburg, Apoldaer Str. 4 allowed us to collect the beetles in the area mentioned in the manuscript. GPS coordinates are stated in the method section.
C. populi (L.) was collected near Dornburg, Germany (+51°00′52.00″, +11°38′17.00″) on Populus maximowiczii × Populus nigra. The beetles were kept in a light/dark cycle of 16 h light and 8 h darkness (LD 16/8) at 18°C±2°C in light and 13°C±2°C in darkness.
Tissue samples from five C. populi larvae per biological replicate were collected as described by Bodemann et al. [41]. Total RNA was extracted from defensive glands, fat body, Malpighian tubules and gut tissue with the RNAqueous Micro Kit (Ambion, Life Technologies, Carlsbad, California, USA) according to the manufacturers’ instructions with the exception of 1% (v/v) ExpressArt NucleoGuard (Amplification Technologies, Hamburg, Germany) added to the lysis buffer. The RNA integrity was validated by electrophoresis on RNA 6000 Nano labchips on a Bioanalyzer 2100 (Agilent Technologies, Santa Clara, California, USA). RNA concentrations were determined by employing a NanoView (GE-Healthcare, Chalfont St Giles, UK). Up to 5 µg of total RNA was then used for library preparation using TruSeq RNA Sample Prep Kit (Illumina, San Diego, California, USA) according to the manufacturer’s description. RNA sequencing (RNA-seq) for three biological samples per prepared tissue was done using next-generation sequencing technique [42] on a HiSeq2000 (Illumina, San Diego, California, USA) in 50-bp single read mode (two or three samples multiplexed in one lane).
Pooled total RNAs from adults (two males, two females), one pupa, and nine first- to third-instar larvae were used for paired-end sequencing. Up to 5 µg of total RNA was then used for library preparation using TruSeq RNA Sample Prep Kit (Illumina Inc., San Diego, USA) according to the manufacturer’s description. Afterwards, the fragmentation step during library preparation of these was set to four minutes. This library was sequenced using a GAIIx (Illumina Inc., San Diego, USA) in 150-bp paired-end mode in one sample per lane. All reads were extracted in FastQ format and used for further analysis.
To obtain the transcript catalogue of C. populi, the paired-end reads were de novo assembled by applying the open source tool Trinity v2012–03–17 [43] with the following parameters: minimal contig length of 300 bp and the paired fragment length limited to 500 bp. In order to reconstruct full-length transcripts, we used the software TGICl (vJan.2009) [44] to reassemble the transcriptome output from Trinity with a minimum overlap length of 100 bp and sequence similarity of 90 percent. A summary of these results is given in Table S1. The raw sequence data are stored in the Sequence Read Archive (SRA) of the National Center for Biotechnology Information (NCBI) with the accession number SRA106166. The corresponding BioProject is PRJNA212154.
We annotated the above mentioned transcript catalogue by translating the cDNAs of the putative transcripts into all six possible open reading frames. This was achieved by applying transeq which is part of the EMBOSS package (v6.3.1). Afterwards, the protein sequences were searched against the Pfam database (update, Jan 2013) with an e-value cut-off of 1e-5 [45], [46]. 102 hits were obtained that belong to the protein family “PF00005” (ABC_tran domain). Next, we identified 12 sequences highly similar to obligate intracellular Microsporidia parasites found by BLASTx against the non-redundant protein sequence database (at NCBI). The database search revealed, for example, that the sequence named Msp1 displays 69% identity to the protein of Nosema ceranae (XP_002996720.1). Other tested sequences which exhibited similarities between 48% and 93% identity to members of the genus Nosema and other Microsporidia were considered as sequences derived from these intracellular parasites. Because the presumed parasite in C. populi has not yet been taxonomically classified, we specified these sequences which we have included into our phylogenetic study as Msp1–5 (for Microsporidia). In general, Microsporidia are widespread parasites also reported from Chrysomelidae [47], [48], including from Chrysomela scripta (a close relative of C. populi) whose tissues were infected with Nosema scripta [49]. In the future, the probable infection of C. populi with Microsporidia and their effects on the host need to be clarified.
For the identification of NBDs in 90 ABC transporters (after the removal of the presumed mircosporidian sequences), firstly, the highly conserved NBDs of the human (ABCA-ABCG, 48 amino acid sequences of NBD) and fruit fly (ABCH, 3 amino acid sequences of NBD) ABC transporters were retrieved from GenBank (NCBI) and chosen as ‘homology search targets’. Then, the long coding sequence for each annotated beetle ABC transporter was determined by using getorf of the EMBOSS tools. Afterwards, these longest coding sequences and the chosen ‘homology search targets’ were aligned by applying the multiple sequence alignment program MAFFT v7.01 [50] (using option E-INS-i). Transcripts containing all five motifs of NBDs with roughly 170 amino acids were kept. Secondly, the remaining ABC transporter transcripts with incomplete motifs were checked again. Their six possible protein sequences were aligned to the chosen ‘homology search targets’ (with the same parameter E-INS-i, MAFFT). All sequences containing at least four motifs of NBDs and having a sequence length of more than 130 amino acids were selected and added to the other sequences for further studies. These incomplete sequences might be due to the stringent settings while assembling them. For our assembly we have tested different parameter settings including lower stringency. However, we have realized that this let to contiguous sequences consisting of several transcripts that have been assembled together although they do not belong to each other. Therefore, we have decided to choose the stringent parameters which ensure obtaining unique rather than complete sequences. We have aligned our incomplete sequences with the most identical once from T. castaneaum and observed that the sequences from T. castanaeum encode complete proteins. Based on this, we assumed that our sequences might also encode complete proteins, and that only due to limitations in the de novo assembly we did not obtain complete coding regions. Therefore, we did not exclude these sequences from our analyses. After removal of isoforms, the resulting beetle sequences were deposited as Transcriptome Shotgun Assembly project at DDBJ/EMBL/GenBank under the accession GARF00000000. The version described in this paper is the first version, GARF01000000.
The protein sequences were aligned by the G-INS-i methods from MAFFT with default parameters. To calculate the phylogenetic tree RAxML v7.2.8 [51], a program based on maximum-likelihood inference, was used. In RAxML, the best fit model of protein evolution was RTREVF with gamma distribution for modeling rate heterogeneity. The best fit model was determined by the best likelihood score under GAMMA (perl script ProteinModelSelection.pl, which was downloaded from
For phylogenetic analysis of the ABC transporter subfamilies, we used the same methods along with sequences of T. castaneum, the most closely related model species to C. populi. The ABC transporter protein sequences of T. castaneum were retrieved from Broehan et al. [52] with the identical designations. Further, we included homologous sequences from human, Bombyx mori, D. melanogaster, Apis mellifera, Culex quinquefasciatus, Dendroctonus ponderosae, and from a Microsporidia species into our calculations. If not stated in the phylogenetic trees, the accession numbers of these sequences are listed in Table S2.
Each 50-bp single-read dataset of four tissues (gut, defensive glands, fat body, Malpighian tubules) contained three biological replicate samples. The raw sequence data are stored in the SRA of the NCBI with the accession numbers listed in Table S3. The corresponding BioProject is PRJNA212154.
To compare the transcript expression levels of the four tissues, we mapped the RNA-seq reads onto the ( de novo assembled) transcriptome of C. populi with the open source tool Bowtie v0.12.7 [53] using default parameters. Afterwards, the R package DESeq [54], [55] (which is part of the Bioconductor package [56]) was used to detect differentially expressed transcripts in the four different tissues.
Based on the Lander/Waterman equation [57], the average coverage per base in each transcript of each biological replicate was separately computed. The mean values of average coverage of each replicate for each tissue, respectively, were compared to show the expression levels of tissues (see Table S4 for normalized data). To compare these results with quantitative real-time PCR measurements, we normalized the output from DESeq to the standards CpeIF4a and CpEF1alpha (see Table S5 for the accession numbers of normalization genes), which were used in quantitative real-time PCR, as described by Livak and Schmittgen [58].
Total RNA was extracted from larval tissue using an RNeasy MINI kit (Qiagen, Hilden, Germany). Complementary DNA was synthesized from DNA-digested RNA using SuperScript III reverse transcriptase (Invitrogen, Life Technologies, Carlsbad, California, USA). Real-time PCR was performed using Brilliant II SYBR Green qPCR Master Mix (Agilent Technologies, Santa Clara, California, USA) according to the manufacturer’s instructions and the Mx3000P Real-Time PCR system (Agilent Technologies, Santa Clara, California, USA). CpeIF4a and CpEF1alpha expression were used to normalize transcript quantities (see Table S5 for primer sequences). Running conditions: 3′ 94°C, 40 cycles (30″ 94°C; 30″ 60°C), melting curve with 1°C increase 60–95°C. Analyses were performed according to the MIQE-guidelines [59].
The most abundant ABC transporter derived from the glandular tissue ( Cpabc35 ( Cpmrp)) [40] was analyzed via RNAi experiments. The sequence-verified plasmid pIB- CpMRP was used to amplify a 730-bp fragment of Cpabc35 dsRNA. As control, a gfp sequence was amplified from pcDNA3.1/CT-GFP-TOPO (Invitrogen, Life Technologies, Carlsbad, California, USA). The amplicons were subjected to in vitro transcription assays according to the instructions of the MEGAscript RNAi kit (Ambion, Life Technologies, Carlsbad, California, USA; see Table S5 for primer sequences). The resulting dsRNA was eluted three times with 50 µl of injection buffer (3.5 mM Tris-HCl, 1 mM NaCl, 50 nM Na
First-instars of C. populi (3–4 days after hatching) with 3–5 mm body length (chilled on ice) were injected with 0.25 µg of dsRNA by using a nanoliter microinjection system (Nanoliter 2000 Injector, World Precision Instruments, Sarasota, Florida, USA). Injections were made into the hemolymph next to the ventral side between the pro- and mesothorax. Differential expression in the glandular tissue was analyzed 10 days after RNAi treatment by using RNA-seq. Two biological replicates (pool of glandular tissue of 3 larvae, each) compared to two biological replicates of gfp-control samples [42] were sequenced on a HiSeq2500 (Illumina, San Diego, California USA) in 50-bp single read mode (two or three samples multiplexed in one lane). The raw sequence data are stored in the SRA of the NCBI with the accession numbers listed in Table S3. The corresponding BioProject is PRJNA212154. All short reads again were extracted in FastQ format for further analysis.
The short reads (sequenced in 50 bp single-mode) from the glandular tissue of the RNAi-silenced (2 samples) as well as ds gfp-injected (2 samples) C. populi larvae were mapped onto C. populi's transcriptome using Bowtie [53]. The mapping results for the ABC transporter transcripts were subjected to DESeq statistical analysis [54], [55] by reading them into R statistics software. Transcript counts were normalized to the effective library size. Afterwards, the negative binomial testing was carried out to identify differentially expressed genes (DEGs). All those genes were determined as differentially expressed when having an adjusted p-value less than 0.1. From all DEGs, the annotated ABC transporters were selected and checked for co-regulation.
In our study, we focused on the distribution of ABC transporters in the different tissues of juvenile C. populi to assign a function to each transcript related to a certain tissue. For this purpose, we first identified potential ABC transporters in the de novo assembled transcript catalogue of the poplar leaf beetle. The transcriptome sequences were translated into all possible amino acid sequences and further processed as described in the method section. As a result, we predicted 65 ABC transporters for C. populi. This corresponds with previous studies on insects reporting, for example, 73 ABC transporter genes in the genome of T. castaneum [52], 44 in Anopheles gambiae [29], 56 in D. melanogaster, 43 in A. mellifera, or 51 in B. mori [28]. The C. populi sequences were given temporary designations as numbered series in the form of CpABCxx ( Table S4).
Based on structural and functional similarity, ABC transporters in general can be grouped into subfamilies. In order to predict the subfamilies for the 65 identified ABC proteins in C. populi, we used their extracted NBDs for the multiple sequence alignments and then calculated the phylogenetic tree. Similarly to other insects and eukaryotes, we were able to show a division of the predicted transporters into 8 subfamilies (A–H) ( Figure 1; Table 1). Members of ABCA, ABCE/F, ABCG and ABCH form distinct branches (bootstrap value ≥75 percent). ABCH forms a sister group of ABCA. The ABCC family segregates into two groups: ABCC1 contains NBDs1 and shows a similarity to the ABCD subfamily; ABCC2 contains NBDs2 and shows a similarity to the ABCB subfamily. Among the 65 putative ABC transporters from C. populi we identified full, half and incomplete transporters. The distribution of domains in the sequences is shown in detail for each subfamily in Table 2 and for each sequence in Table S6.
Some transporters contain two NBDs (NBD1 as CpABCX_1 and NBD2 as CpABCX_2), others contain only one NBD. Numbers at nodes represent bootstrap values.
| left11Species | left11ABCA | left11ABCB | left11ABCC | left11ABCD | left11ABCE | left11ABCF | left11ABCG | left11ABCH | left11total |
| left11 S. cerevisiae | left110 | left114 | left116 | left112 | left112 | left116 | left1110 | left110 | left1130 |
| left11 C. elegans | left117 | left1124 | left119 | left115 | left111 | left113 | left119 | left110 | left1158 |
| left11 D. pulex | left114 | left117 | left117 | left113 | left111 | left114 | left1124 | left1115 | left1165 |
| left11 T. urticae | left1110 | left114 | left1139 | left112 | left111 | left113 | left1123 | left1122 | left11103 |
| left11 D. melanogaster | left1110 | left118 | left1114 | left112 | left111 | left113 | left1115 | left113 | left1156 |
| left11 T. castaneum | left1110 | left116 | left1135 | left112 | left111 | left113 | left1113 | left113 | left1173 |
| left11 C. populi | left115 | left118 | left1129 | left112 | left111 | left113 | left1114 | left113 | left1165 |
| left11 H. sapiens | left1112 | left1111 | left1112 | left114 | left111 | left113 | left115 | left110 | left1148 |
| left11 | left11Full-trans | left11Half-trans | left112*NBD | left112*NBD+1*TMD | left111*NBD | left111*NBD+2*TMD | left11total |
| left11 ABCA | left112 | left111 | left110 | left110 | left112 | left110 | left11 5 |
| left11 ABCB | left113 | left115 | left110 | left110 | left110 | left110 | left11 8 |
| left11 ABCC | left1118 | left114 | left110 | left113 | left113 | left111 | left11 29 |
| left11 ABCD | left110 | left112 | left110 | left110 | left110 | left110 | left11 2 |
| left11 ABCE | left110 | left110 | left111 | left110 | left110 | left110 | left11 1 |
| left11 ABCF | left110 | left110 | left113 | left110 | left110 | left110 | left11 3 |
| left11 ABCG | left110 | left1112 | left110 | left110 | left112 | left110 | left11 14 |
| left11 ABCH | left110 | left113 | left110 | left110 | left110 | left110 | left11 3 |
| left11 total | left1123 | left1127 | left114 | left113 | left117 | left111 | left11 65 |
Full-trans, full transporters; Half-trans, half transporters; NBD, nucleotide-binding domain; TMD, transmembrane domain; 2*NBD+1*TMD, two NBDs and one TMD (example).
Next, we integrated human and other insect sequences into our phylogenetic trees. This allowed us to group the putative C. populi ABC transporters with functionally characterized proteins and, thus, to propose a substrate for the beetles’ proteins.
In the case of subfamily A, its members in humans are full transporters and implicated in the transport processes of phospholipids, sterols, sphingolipids, bile salts, retinal derivatives (restricted to ABCA4) and other lipid conjugates indispensable for many biological processes [11], [60]– [63]. In insects, both full and half transporters were identified whose physiological function, however, is not yet understood [28]. In C. populi we predicted five transporters. According to our phylogenetic analysis, ABCA proteins segregate into one branch containing NBD1 and one branch with NBD2 ( Figure 2). Human ABCAs form three groups (I, ABCA1-4, 7; II, ABCA5, 6, 8-10; III, ABCA12 and 13) which are particularly distinguishable in the NBD2 branch with bootstrap values ≥76 percent. Considering the beetles’ homologs, the tree shows that the majority of C. populi and T. castaneum sequences seem to cluster to human ABCA3 which results in an expansion of group I.
Some transporters contain two NBDs (NBD1 as CpABCX_1 and NBD2 as CpABCX_2), others contain only one NBD. Red, C. populi (Cp); blue, H. sapiens (Hs); black, T. castaneum (Tc), D. melanogaster (Dm). *, T. castanaeum with phenotype after RNAi. Numbers at nodes represent bootstrap values.
The ABCB subfamily contains ABCB1 (MDR1/P-glycoprotein) which is the first characterized human ABC transporter to confer multidrug resistance (MDR) in cancer cells [64]– [66] and which has been intensively studied ever since the discovery of cross-resistances after selection with chemotherapeutics [67]– [71]. Later studies revealed additional ABCB transporters as MDR proteins. Besides xenobiotic extrusion (ABCB1, 5, 8) [72]– [74], ABCB members are also known in human biology for the translocation, for example, of phosphatidylcholine (ABCB4) [75], bile acids (ABCB11) [76], peptides (TAP1:TAP2 (antigen processing in the adaptive immune system), TAPL, mitochondrial ABCB10) [77], metabolites of the heme synthetic pathway (ABCB6) [78], or iron (mitochondrial ABCB7 and 8) [79]– [82]. In insects, several examples suggest the involvement of P-glycoproteins in the resistance to insecticides used for crop protection [23], [24], [83]– [91]. However, only few P-glycoprotein-like genes have been linked to a xenobiotic substrate such as Mdr49 and Mdr65 of D. melanogaster with tolerance against colchicine and α-amanitin, respectively [92], [93]. Mdr49 can act also as transporter for a germ cell attractant in fruit flies [21]. Recent studies on lepidopteran species revealed that a P-glycoprotein-like transporter mediates the efflux of cardenolides in the nerve cord and thereby prevents the interactions of these toxins with the susceptible target site of Na+/K+-ATPases [94].
Similar to other insects, the eight sequences from C. populi encode full and half transporters. Bootstrapping of the ABCB phylogenetic tree in Figure 3 and Figure S1 (together with ABCC) produced nodes weakly supporting segregation of this subfamily containing human and insect ABCB sequences. Based on our phylogenetic analysis, we found no homologs to TAP sequences (bootstrap value of 100 percent) in the insects, but insect homologs to the other human peptide transporters were identified. In accordance with the literature, we can also speculate that TAPL is the ancestor of the TAP family [95].
Some proteins contain two NBDs (NBD1 as CpABCX_1 and NBD2 as CpABCX_2), others contain only one NBD. Red, C. populi (Cp); blue, H. sapiens (Hs); black, T. castaneum (Tc), D. ponderosae (Dp), D. melanogaster (Dm), B. mori (Bm); Microsporida (Msp). *, T. castanaeum with phenotype after RNAi. Numbers at nodes represent bootstrap values.
Full transporters of striking functional diversity are found in the ABCC subfamily. In humans thirteen ABCC members were identified, nine of which are referred to as multidrug resistance proteins (MRP) (‘short’ MRPs (ABCC4, −5, −11 and −12); ‘long’ MRPs (ABCC1, −2, −3, −6 and −10) [13], [96], [97]. Some ABCC members not considered as MRPs have unique functions. The cystic fibrosis transmembrane conductance regulator (CFTR/ABCC7), for example, functions as an epithelial ATP-gated chloride channel [98], [99]. ABCC8 and ABCC9 are assembled as sulfonylurea receptors (SUR) into ATP-sensitive K + channels and are coupled to the gating mechanism of the ion-conducting pore [100]. In insects, ABCC members are thought to be involved in the translocation of xenobiotics and phytochemicals [23]– [26], [40], [91], [101]. As observed in the red flour beetle T. castaneum and the spider mite Tetranychus urticae, the ABCC subfamily in C. populi with 29 putative members has undergone an expansion ( Table 1). In our phylogenetic tree, the NBDs1 and NBDs2 form distinct branches (bootstrap value of 100 percent; Figure S1). The human ‘short’ MRPs ABCC5, 11, and 12 are clearly separated from all other tested sequences ( Figure 4). The vast majority of insect sequences cluster together with human CFTR, SURs and multidrug resistant proteins, such as ‘long’ MRPs and ABCC4 implying a broad substrate spectrum of these proteins ( Figure 4 and S1). Into this group falls also CpABC35 ( CpMRP) which is known to translocate phytochemicals including salicin. A substrate for any other insect homolog in this group has not been determined to date.
Red, C. populi (Cp); blue, H. sapiens (Hs); black, T. castaneum (Tc). HsABC8 and 9 are sulfonylurea receptors (SUR); *, T. castanaeum with phenotype after RNAi. Numbers at nodes represent bootstrap values.
Members of the ABCD subfamily are involved in the translocation of fatty acids into peroxisomes [102]. The ABC transporters are half-size and assemble mostly as a homodimer after posttranslational transport to peroxisomal membranes. ABCD4 is not a peroxisomal membrane protein but an ER-resident protein that mediates translocation of lipid molecules essential for lipid metabolism in the ER [103]. Unlike humans but like all other sequenced insects C. populi contains two ABCD half transporters. Because they are homologous to the human peroxisomal and T. castaneum transporters, a similar function can be inferred in poplar leaf beetles. No insect sequence could be grouped to ABCD4 ( Figure S2).
The ABCE and ABCF proteins comprise a pair of linked NBDs but lack TMDs. Therefore, they are not involved in molecule transport, but they are active in a wide range of other functions pivotal for cell viability. For example, the human ABCE1 not only acts as a ribonuclease L inhibitor, it also regulates RNA stability, viral infection, tumor cell proliferation, anti-apoptosis, translation initiation, elongation, termination, and ribosome recycling [104]. In D. melanogaster, the ABCE homolog Pixie plays a catalytic role in the assembly of protein complexes required for translation initiation [105]. All genomes of multicellular eukaryotes analyzed to date possess one ABCE gene [106]. In the transcript catalogue of C. populi, one complete ABCE protein has been predicted. The NBDs of CpABC45 are highly conserved with the respective NBDs of the human ABCE1 and T. castaneum TcABCE-3A ( Figure S2). Among the subfamily ABCF involved in translation initiation and elongation in humans [106], we found in C. populi three putative members each with two NBDs that are highly similar to the transporters of human and T. castaneum suggesting functional proteins used in similar physiological processes in the cell.
The ABCG subfamily in humans is comprised of five half transporters. While the homodimer ABCG2 is a multidrug transporter with a wide substrate specificity [72], the homodimers ABCG1 and ABCG4 and the heterodimer ABCG5:ABCG8 translocate cholesterol and other sterole derivatives [107]– [110]. In insects, ABCG transporters are essential for the translocation of ommochromes for the pigmentation of eyes and body coloration. In D. melanogaster, for example, the half transporter White forms heterodimers with Scarlet or Brown, each of which is responsible for the transport of another type of ommochrome precursor to pigment granules [15]– [17]. In silkworms, White-orthologs (Bm-ok) are responsible for the translocation of uric acid for accumulation in urate granules in epidermal cells, resulting in opaque white coloration of the larval skin [20], [111]. In D. melanogaster, E23 encodes a transporter capable of modulating the ecdysone response with consequences for the circadian transcription of clock genes [22], [112].
The phylogenetic analysis revealed that the majority of the chosen insect sequences, including predicted ABCG proteins from C. populi, cluster together with the human ABCG1 and ABCG4 (bootstrap value of 98 percent) ( Figure 5). Several insect ABCG candidates form a branch with the human ABCG5:ABCG8. Also E23 from D. melanogaster clusters in this branch together with TcABCG-8A. Silencing of TcABCG-8A resulted in molting defects, premature compound eye development, aberrant wing development and lethality, suggesting a function in the regulation of ecdysteroid-mediated effects [52]. Because CpABC49 is homologous to TcABCG-8A and Dm-E23, it allows the expectation of a similar function for this protein in C. populi. In addition, the insect ABCG proteins (White, Brown, and Scarlet) involved in the transfer of ommochrome precursors form a separate branch (bootstrap value of 93 percent). In accordance with the observation of T. castaneum [52], in C. populi a Brown ortholog is also missing. Interestingly, not a single analyzed insect sequence clusters with the human multidrug efflux transporter ABCG2.
Red, C. populi (Cp); blue, H. sapiens (Hs); black, T. castaneum (Tc), D. melanogaster (Dm), B. mori (Bm), A. mellifera (Ap), C. quinquefasciatus (Cq). *, T. castanaeum with phenotype after RNAi. Numbers at nodes represent bootstrap values.
The transporters of the ABCH subfamily are missing in humans [6], [8]. To date, the only vertebrate member has been found in zebrafish [113], [114]. All other ABCH proteins have been identified from invertebrate species [29], [52], [115]– [117]. The ABCH subfamily of C. populi includes three putative ABC transporters that are highly similar to those of T. castaneum ( Figure 2).
To link the above suggested functions for the C. populi ABC proteins to those which are differentially expressed in the larval tissues of C. populi, we carried out a comprehensive transcriptome sequencing of different tissues dissected from the poplar leaf beetle. All raw sequence data (in the following called reads) are listed in Table S3 and S4. The resulting expression patterns of all identified ABC transporters in intestinal tissue, Malpighian tubules, fat body and defensive glands is depicted in Figure 6. It shows that among the 65 predicted ABC transporters, 43 are expressed at least in one of the tested tissues with more than 25 normalized read counts per base (25-fold sequence coverage). As previously demonstrated in the literature [118], [119], evaluation of the RNA-seq data with quantitative real-time PCR data shows also in our experiments the comparability of the two methods ( Figure S3).
Values are shown for four different tissues of larvae: gut, Malpighian tubules, fat body and glands. Counts of RNA-seq reads (derived from three replicates for each tissue) normalized to the effective library size and to the length of the corresponding sequences (see Table S2 for data). Expression levels are illustrated by a six grade color scale representing the sequence coverage for each transcript for each tissue, respectively.
Five transcripts were found to be abundant in all tested tissues which suggest their essential role in cellular processes. Among them is, for example, CpABC4 which was classified as member of the ABCA subfamily. According to our phylogenetic analysis, the closest human homologs, which are involved in lipid translocation, are clustered into group I of the NBD1 branch ( Figure 2). Although the NBD2 of CpABC4 clusters to ABCA12 and 13, the sequence comparison (using BLAST) of the complete sequence supported the homology of CpABC4 to human ABCA members of group I. Additionally, CpABC44 an ABCD candidate was highly expressed in all larval tissues, as well. It is homologous to the human ABCD1 and 2 and, therefore, presumably linked to the transport of very long chains of fatty acids in peroxisomes ( Figure S2) [102]. Furthermore, we detected in all larval tissues abundantly expressed transcripts encoding soluble ABC proteins: CpABC45 as a member of the ABCE and CpABC47 and CpABC48 members of the ABCF subfamily. Also, in the red flour beetle, the Tcabce-3a and Tcabcf-2a transcripts were abundant throughout all life stages and highly abundant in the adult intestinal/excretory tissues and carcass [52]. Furthermore, the silencing of Tcabce-3a as well as Tcabcf-2a resulted in growth arrest and mortality of the beetles. Thus, ABCE and ABCF proteins are essential for cellular functions in all insect tissues including initiation of translation [104], [105] and ribosome biogenesis [120].
In the following, we describe differential expression of putative ABC transporters in the different larval tissues:
We found 17 transcripts abundant in the intestinal tissue of C. populi encoding members of the following subfamilies: one sequence of ABCA, two of ABCB, eight of ABCC, five of ABCG ( Figure 6). The existence of ABC transporters in the gut influences the absorption and bioavailability of nutrients, water, ions and plant derived compounds. The predicted ABCA subfamily sequence CpABC5 exhibits a high mRNA level only in the gut tissue. Its deduced protein clusters together with TcABCA-9A/B of T. castaneum ( Figure 2). The silencing of these two red flour beetle genes resulted in high mortality and severe defects in wing and elytra development, depending on the developmental stage of treatment. This indicates an essential function for cell physiology, but a ligand has not been identified for these proteins to date [52]. The closest homolog in humans is ABCA3 which is related to phospholipid transfer but also to the modulation of cell susceptibility to chemotherapy of tumors [11], [121], [122]. Thus, CpABC5 may have a special function in this tissue, in addition to a role in lipid trafficking.
The highest transcript level of ABC transporters in the intestinal tissue was detected for Cpabc12 which was classified into the subfamily B. It is also expressed in Malpighian tubules but ten times less. CpABC12 is a full transporter, and possesses most likely homology to human ABCB1 (MDR1, P-glycoprotein), 4, 5 and 11 as well as the D. melanogaster Mdr50 (bootstrap value of 63 percent) ( Figure 3). Though ABCB4 acts in humans as a transporter for phospholipids in the liver [75], it is involved in the zebrafish’s cellular resistance to noxious chemicals [123]. Except for ABCB11, which is a bile salt transporter [76], all the homologous vertebrate ABCB members can confer multidrug resistance [72]– [74]. We hypothesize a function in the translocation of phytochemicals for CpABC12 in the gut of C. populi. Cpabc7 is the second ABCB candidate with a high expression level in the gut, albeit not as high as Cpabc12. Moreover, Cpabc7 is 3 times more highly expressed in the Malpighian tubules than in the gut. CpABC7 is most homologous to the human ABCB6 ( Figure 3) which is reported to be localized in the Golgi apparatus [124], mitochondria, plasma membranes [125], vesicular structures [126], or endolysosomes and lysosomes of cells [79]. ABCB6 is discussed to play a role in the heme metabolism [78], [127]– [129], in the drug and arsenite resistance of cells [130]– [132].
All eight ABCC candidates highly expressed in the gut tissue cluster together with human CFTR, SURs, ‘long’ MRPs and ABCC4. This implies a broad substrate spectrum for these insect transporters which, however, cannot be specified further from our phylogenetic analysis ( Figure 4, S1).
All five ABCG candidates highly expressed in the larval gut tissue cluster together with the human ABCG1 and ABCG4. These proteins are involved in sterol homeostasis. Among these C. populi ABCG sequences, Cpabc55 showed the most elevated transcript level. Its deduced protein is homologous to TcABCG-4C ( Figure 5) whose involvement in the transport of lipids to the cuticle has been suggested and, thus, that it is required for the formation of a waterproof barrier in the epicuticle [52]. Cpabc55 is also highly expressed in glands and fat body tissue but not in the Malpighian tubules. The expression of Tcabcg-4c was higher in intestinal/excretory tissues than in carcass tissue [52]. The function of the other four ABCG transporters cannot be predicted from our analyses. However, it has been demonstrated recently that an ABCG1-homolog in the fungus Grossmannis clavigera confers tolerance to monoterpenes which contributes to the fungus’ ability to cope with the chemical defence of its host plant [133]. Therefore, the ABCG proteins’ specificity in insects may not be limited to sterols or lipids but may have a broader substrate spectrum - that is not known to date. Besides trafficking of physiological substrates, the identified ABC transporters (particularly the ABCC candidates together with the ABCB CpABC12, and the ABCGs CpABC50, 53, 60) in the gut tissue may also play a critical role in regulating the absorption of plant secondary metabolites or influence the effectiveness of pesticides in the phytophagous C. populi.
Insect Malpighian tubules are critical for osmoregulation. Moreover, the tubules have the capability to excrete actively a broad range of organic solutes and xenobiotics, such as insecticides. Recently, we have shown a role of the excretion system in the homeostasis of phytochemicals in the larval body of leaf beetles [39]. Additionally, the tubules play a significant role in immunity by sensing bacterial infections and mounting an effective killing response by secretion of antimicrobial peptides [134]. We found 21 transcripts abundant in the Malpighian tubules of C. populi encoding members of the following subfamilies known to contain multidrug resistance proteins: four of ABCB, 14 of ABCC, three of ABCG ( Figure 6).
Among the four predicted ABCB members displaying a high mRNA level in the Malpighian tubules, two, CpABC7 and 12, were already described in the gut section above. The third candidate, CpABC8, is most similar to human mitochondrial ABCB10 ( Figure 3). For ABCB10 different roles have been suggested, including protection against toxic reactive oxygen species, heme synthesis, or peptide transport [77], [135], [136]. For this tissue, we speculate that it is involved in antimicrobial peptide transfer. The forth ABCB protein, CpABC9, clusters together with the human mitochondrial ABCB7 which is involved in the iron-sulfur cluster assembly essential for multiple metabolic pathways throughout the cell ( Figure 3) [80], [81]. RNAi of the homologous TcABCB-5A demonstrated the pivotal function of this gene in the red flour beetle: its down-regulation resulted in severe morphological defects and high mortality depending on the developmental stage treated [52]. Hence, the three most likely mitochondrial localized ABCB candidates, namely CpABC7-9, are proposed to be of vital importance in the cells. However, for CpABC12, which is a full transporter and clusters to human proteins related to xenobiotic resistance, we can predict a similar function in the larval excretion system.
Most putative ABC transporter transcripts identified in C. populi are present at a high level in the excretion system of the juvenile beetles compared to the other tissues. Particularly, the 14 candidates belonging to the ABCC subfamily are the most highly transcribed compared to other subfamilies in this tissue. Remarkably, one of the highly expressed candidates, CpABC16, clusters in our phylogeny together with CpABC35 ( CpMRP) which is involved in the accumulation of plant-derived metabolites ( Figure S1) [40]. Therefore, it is tempting to speculate a role for CpABC16 in the excretion of phytochemicals in C. populi larvae.
Among the three candidates of the G-subfamily, two are highly transcribed only in the Malpighian tubules: CpABC54 is a homolog of TcABCG-9B from the White group and CpABC62 is homologous to TcABCG-9A from the Scarlet group ( Figure 5). RNAi targeting Tcabcg-9a or b resulted in both cases not only in white eyes but also in a whitish appearance of the Malpighian tubules due to the absence of tryptophan metabolites/kynurenine and pteridines. These eye pigment precursors are stored and processed in the larval tubules before being released for further conversion into pigments in the developing adult eyes [137]– [139]. In addition, in D. melanogaster White is expressed in intracellular vesicles in tubule principal cells, suggesting that White participates in vesicular transepithelial transport of cGMP [140]. CpABC57 is the only ABCG candidate that is also expressed in the intestine and belongs to the human ABCG1 and ABCG4 branch ( Figure 5). Taken together, the conspicuous overrepresentation of drug-resistance associated proteins, including the ABCC proteins together with the members of the subfamily B ( CpABC12) and G ( CpABC57), in the excretion system suggests a role for these candidates in the extrusion of xenobiotics or phytochemicals from the larval body.
The fat body of insects is a polymorphic tissue. It performs a vast array of fundamental activities in the intermediary metabolism and is involved in maintaining the homeostasis of hemolymph proteins, lipids, and carbohydrates [141]. Predominantly, the storage of lipid reserves in the form of glycogen and triglycerides is essential in the life of holometabolous insects, primarily in their survival of metamorphosis [142]. In humans, members of the subfamilies A, B, D and G are known to be involved in lipid transport [11], [143]. In principal, we found the expression of ABC transporters in the larval fat body of C. populi to be low compared to the other tested tissues ( Figure 6). From the ABCB subfamily, we identified in the fat body only Cpabc8 exhibiting a low transcript level comparable to that of the Malpighian tubules. As described above, it clusters with the human mitochondrial ABCB10 which is associated with different functions, also described above, but not particularly with lipid transfer.
From ABCG we found Cpabc51 and Cpabc55 with high expression in the fat body. Both deduced proteins cluster to the human ABCG1 and ABCG4 ( Figure 5). Only one sequence was exclusively expressed in this body part, namely Cpabc41, a member of the subfamily C ( Figure 4). Other ABCC members which are highly expressed in this tissue are the homologous Cpabc16 and Cpabc35 ( Figure S1). CpABC35 is known to translocate phytochemicals [40].
Noticeably, we found high expression of putative ABCH genes ( Cpabc64, Cpabc65) in the fat body tissue. Up to now the function of this insect specific subfamily has been unclear. However, RNAi targeting Tcabch-9c in the flour beetle revealed a lethal, desiccated phenotype similar to the silencing of Tcabcg-4c mentioned above. This ABCH member also seems to be involved directly or indirectly in the transport of lipids from epidermal cells to the cuticle [52]. Based on our data we can hypothesize a role for ABC transporters in phytochemical translocation (by members of the subfamily C and the ABCG candidate), in cuticle formation (by members of the ABCH subfamily) in the fat body, but not particularly in the lipid storage of this tissue. Transporters which are important for this function might be lowly expressed and therefore not detected in our analyses.
The nine pairs of defensive glands enable larvae of C. populi to chemically defend themselves via deterrent secretions. Each of these dorsal glands is composed of several secretory cells which are attached to a large reservoir. The anti-predatory effect of the secretions can be attributed to salicylaldehyde synthesized within the reservoir by a few enzymatic reactions from the pre-toxin salicin, which is sequestered from the host plant [35], [37]. Recent studies have identified CpABC35 ( CpMRP) which is essential for the sequestration of salicin [40]. It is associated with the accumulation of the plant-derived metabolite in intracellular storage vesicles. Intriguingly, Cpabc35 is the only predominant transcript in the defensive glands of C. populi ( Figure 6). Its expression level lies far beyond all other ABC transporters in all tissues. There are four additional predicted ABCC proteins with high expression clustering to the human CFTR, SURs, ‘long’ MRPs and ABCC4, but not particularly to CpABC35 ( Figure 4, S1). In T. castaneum another member of this group (not homologues to CpABC35; Figure 4) has been identified as playing a role in the production of secretions in odiferous stink glands [144]. The silencing of Tcabcc-6a (TC015346) in T. castaneum resulted in a strong reduction of alkenes in the secretions produced by abdominal and prothoracic glands. Although a substrate for TcABCC-6A has not been described as yet, the hypothesis can be advanced that ABC transporters functioning in the formation of secretions seem to be a widespread phenomenon in insects.
Besides ABCC proteins, members of the subfamilies B, G and H also have elevated mRNA levels in the defensive glands. CpABC13 is a member of the B-subfamily exclusively expressed in the defensive glands. It clusters particularly with the human mitochondrial ABCB8 ( Figure 3). ABCB8 is known to be responsible for iron transport and doxorubicin resistance in melanoma cells via the protection of mitochondrial DNA from doxorubicin-induced DNA damage [145].
Among the five candidates of the ABCG also possessing a high mRNA level in the defensive glands, CpABC56, 59 and 61 are expressed only in this tissue. CpABC59 clusters to the human ABCG5:ABCG8 that pump cholesterol and other sterol derivatives, and all of the four other proteins cluster to human ABCG1 and 4, which may have a broader substrate spectrum including xenobiotics ( Figure 5).
Remarkably, the expression of putative ABCH genes ( Cpabc64, Cpabc65) was almost 3 times higher in the glandular tissue compared to the fat body tissue. Owing to this, the two ABCH proteins may have a special function as yet unknown in the defensive glands, but they may also be associated with the formation of the cuticle reservoir for storage of secretions. Furthermore, in the defensive glands there are also ABC candidates potentially associated with the translocation of phytochemicals or other xenobiotics.
Conspicuously, only one ABC sequence, namely Cpabc35, displays an exceedingly high transcript level in the defensive glands of C. populi. As recently described [40], its function and key role in the sequestration of defensive compound precursors has been demonstrated. In order to test cooperative or compensation effects of other ABC genes, we performed RNAi silencing experiments for Cpabc35. Ten days after the injection of Cpabc35-dsRNA and gfp-dsRNA, glandular tissues were dissected and two biological replicates for each treatment were sequenced. The normalized counts of all transcripts of all samples were calculated. Thereafter, the log
The silencing of Cpabc35 resulted in a significant decrease of its own transcript level (adjusted p-value (padj) = 7.31E-15). One additional ABC transporter, Cpabc50, belonging to subfamily G, was determined as differentially expressed (slight upregulation). In non-treated larvae, Cpabc50 is expressed only in the gut tissue ( Figure 6). Its deduced protein clusters together with the human ABCG1 and ABCG4 ( Figure 5). However, CpABC50 could not compensate the function of the salicin translocation into storage vesicles, and, hence, its function remains unclear. Overall, CpABC35 is an exclusive and highly specific transporter used in the sequestration process, which explains its extraordinarily high transcript level in the defensive glands.
Phytophagous beetles are adapted to cope with the chemical defense of their host plant. The larvae of the poplar leaf beetle, C. populi, evolved the ability to sequester the plant-derived compound salicin and to use it for their own defense against their enemies. The sequestration process proceeds via barriers with different selectivity. While the uptake from the gut lumen into the hemolymph together with the excretion by Malpighian tubules is non-selective, the translocation into the defensive glands is selective. In these glands two barriers must be passed: a selective membrane on the hemolymph side and a non-selective membrane on the side towards the cuticle reservoir containing the defensive secretions. Based on our analyses, we predicted specific ABC proteins that are related to the translocation of plant-derived compounds in the larvae. In the gut of C. populi, genes of the subfamilies A, B, C and G are predominantly expressed. Almost all of these ABC candidates have been linked in our phylogenetic trees with proteins known to be associated with xenobiotic or drug resistance and which may, therefore, contribute to the non-selective translocation into the larval hemocoel. But depending on the localization of the proteins in the intestinal cells, they may also take part in the detoxification of plant metabolites or pesticides by back-exporting them into the gut lumen. The Malpighian tubules are dominated by candidates of subfamilies B, C and G. In particular, members of the multidrug-related ABCC-group are present in great numbers in this tissue, which suggests a role in the previously observed non-selective phytochemical extrusion by the excretion system. In the defensive glands the salicin-transporting ABCC protein CpABC35 ( CpMRP) is extraordinarily highly expressed in comparison to the other tested tissues. It is localized intracellularly in storage compartments of the gland cells and accumulates salicin in these vesicles for further exocytosis into the glandular reservoir. CpABC35 has a broad substrate spectrum of phytochemicals and controls the non-selective barrier into the reservoir. The differential expression analysis of CpABC35-silenced defensive glands in comparison to control samples corroborated the observation that the function cannot be compensated by any other ABC transporter with overlapping substrate selectivity in this particular compartment of the glandular cells. The occurrence of other drug-resistant related ABC transporters in the defensive glands may contribute to the selectivity in the membrane of the hemolymph side of the glandular cells by extruding unused plant-derived compounds from these cells. Thus, ABC transporters are key components in the homeostasis control of phytochemicals in the sequestering poplar leaf beetle larvae.
Phylogenetic tree of subfamilies ABCC (green) and ABCB (magenta). Some transporters contain two NBDs (NBD1 as CpABCX_1 and NBD2 as CpABCX_2), others contain only one NBD. Numbers at nodes represent bootstrap values. C. populi (Cp); H. sapiens (Hs); T. castaneum (Tc), D. ponderosae (Dp), D. melanogaster (Dm), B. mori (Bm); Microsporida (Msp).
(EPS)
Click here for additional data file.
Phylogenetic tree of subfamilies D (light blue), E (blue), and F (purple). Red, C. populi (Cp); blue, H. sapiens (Hs); black, T. castaneum (Tc), D. melanogaster (Dm). Star, T. castanaeum with phenotype after RNAi. Numbers at nodes represent bootstrap values.
(EPS)
Click here for additional data file.
Relative mRNA levels of selected putative ABC transporters in the different tissues of juvenile C. populi. Expression data were determined by carrying out RNA-seq (A) and quantitative real-time PCR (B) experiments (n = 3–4, mean ± SD). CpEF1alpha and CpeIF4a were used for normalization of transcript quantities. ABC gene subfamilies of C. populi are color-coded and grouped by their tissue-specific expression level (orange, ABCA; yellow, ABCB; green, ABCC; purple; ABCF; pink, ABCH).
(EPS)
Click here for additional data file.
De novo assembly of the transcript catalogue of C. populi . The numbers of assembled transcripts and average length after assembly and reassembly show the usefulness of reassembling.
(XLSX)
Click here for additional data file.
Accession numbers of homologous sequences added to C. populi 's ABC transporter sequences to calculate phylogenetic trees.
(XLSX)
Click here for additional data file.
Overview of the raw sequence data. The table exhibits the RNA derived specimens, number of reads, sequencing technology and sequencing mode.
(XLSX)
Click here for additional data file.
List of 65 predicted ABC transporters of C. populi . Accession numbers and sequence length of cDNAs encoding putative ABC transporters of C. populi and their corresponding read counts normalized to the effective library size as well as to the sequence length of all ABC transporters in the different larval tissues are presented.
(XLSX)
Click here for additional data file.
Primer sets used in quantitative real-time PCR and RNAi experiments.
(XLSX)
Click here for additional data file.
Predicted domain distribution in the deduced protein sequences of all identified ABC transporters of C. populi .
(XLSX)
Click here for additional data file.
We sincerely thank Angelika Berg, Ivonne Goerlich, and Christin Meiβner for technical assistance. The authors would like to express their gratitude to Prof. Dr. Hans Merzendorfer from the University of Osnabrueck, Germany, for providing ABC protein sequences from Tribolium castaneum. We thank Manuela Baerwolff from the Thueringer Landesanstalt für Landwirtschaft, Referat Nachwachsende Rohstoffe, Dornburg-Camburg, Germany for the support of the beetles’ collection. Furthermore, we wish to thank Melinda Palmer Kolb for the critical reading of the manuscript.


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 2-3
Dietary
This luxurious salad makes a great light lunch or summer supper for the family. Serve with warm flatbreads.
This salad with flatbreads when served as three portions provides 751 kcal, 25g protein, 112g carbohydrate (of which 20g sugars), 23g fat (of which 8g saturates), 10g fibre and 2.2g salt per portion.
Preheat the oven to 200C/180C Fan/Gas 6. Line a baking tray or small roasting tin with aluminium foil.
Put the parsnips and carrots on the baking tray and drizzle over 1 tablespoon of the oil. Season with salt and pepper and roast for 18-20 minutes.
Meanwhile, half-fill a saucepan with water and bring to the boil. Add the bulgur and cook for 6-8 minutes, or until almost tender.
Drizzle the roasted vegetables with the honey and sprinkle with the chilli flakes, turning to coat all over. Return to the oven for a further 10 minutes, or until golden-brown and sticky.
Drain the bulgur and transfer to a large bowl. Stir in the roasted vegetables. Add the lemon juice and most of the parsley and stir again. Season with salt and pepper.
Spoon the bulgur wheat salad onto a serving platter. Sprinkle over the beetroot and goats' cheese. Garnish with the remaining parsley and oil. Serve with flatbreads.


How do you handle these differences in your family? How do you instill in your children or grandchildren (or other special children in your life) the ability to live differently than the culture around us?
Thank God we are not on our own! We have His Spirit within us to guide us, the power and example of Jesus’ life, the teachings of those who have led us to Him to sustain us, and the stories of the faithful, such as Daniel and his friends, to inspire and encourage us. Over the next few days we will see how they remained faithful to their God as the stakes continually got higher and higher.
As you think about how you received your faith through the words and example of faithful Christians before you, I hope you also will notice that the pathway of faith does not stop with you. God has called you to give away your love for Him to those who will come next. How will you pass on this precious treasure?
Pray About It
Make three lists as directed below. Pray for each list today and throughout the week.
1. Parents with young children at home. (Pray for patience, energy, physical resources, and an extra measure of love and grace for their children.)
2. Parents with adult children. (Pray for their continued relationship with their adult children and the ways they can be of help to them.)
3. Grandparents you know. (Pray for their influence and relationship with their grandchildren.)
Act on It
Daniel and his friends were obviously influenced early on by their families, starting with their names. On a separate piece of paper, write a list of beliefs


{% extends "base.html" %} {% block title %}
Medieval catalogues > UNIVERSITY AND COLLEGE LIBRARIES OF OXFORD > Merton College > Inventory of books drawn up for the Marian commissioners, 1556
{% endif %}507 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


AllocateStructure()
Syntax
*Item.StructureName = AllocateStructure(StructureName)Description
Allocates a new dynamic structure item. This dynamic structure item is properly initialized and ready to use, without the need to call InitializeStructure(). To access the structure data, a pointer associated with the specified 'StructureName' has to be used.
Parameters
StructureName The name of the structure used to create the new dynamic item. The structure has to be already created.
Return value
The address of the new dynamic structure item, zero otherwise.
Remarks
This command is for advanced users and shouldn't be needed for most of programs. It's often a better choice to use a structured array, list or map to store dynamic structured items.
FreeStructure() can be used to free the dynamic structure item. All dynamic structures are automatically freed when the programs ends.
If the program crashes at this command, it is usually a result of a memory corruption at an earlier time in the program by writing at an area outside of the allocated memory area. Such an error can be narrowed down to the real cause using the purifier debugger tool.
Example
Structure People Name$ List Friends$() EndStructure *DynamicPeople.People = AllocateStructure(People) *DynamicPeople\Name$ = "Fred" AddElement(*DynamicPeople\Friends$()) *DynamicPeople\Friends$() = "Stef" Debug *DynamicPeople\Name$ Debug *DynamicPeople\Friends$() FreeStructure(*DynamicPeople)
See Also
FreeStructure()
Supported OS
All


Man threatens driver with gun in road rage incident, police say
by Logan RudeMADISON, Wis. - One man told police he was "rattled" after another man flashed a handgun during a road rage incident Friday night on East Johnson Street, according to an incident report.
The victim claimed the other man cut him off in traffic, prompting him to honk his horn.
According to the report, both drivers were outbound on East Johsnon Street when the victim saw the gun. Police said the victim slowed down to let the man drive ahead.
The man's car is described as a blue Chrysler 300 with heavily tinted windows, a broken taillight and no front license plate, according to police.


Why do trees and urban tree canopy matter? Using data from the 2014 Lexington Urban Tree Canopy Analysis, this map is an interactive data visualization tool, inviting us to explore the extensive benefits of trees in our city, Both with the 25% canopy cover exisitng currently and the 30% goal, this map shows the property value increase, reduction in water pollution, removal of air pollutants, and carbon sequestration and storage, totalling almost $50 million, Lexington's trees provide.
Map in the field of Nonprofit GIS. Assists local Lexington non-profit daily. Step by Step helps young mothers, ages 14-24, get connected with services, such as education, housing, financial assistance, food, etc. This map is a tool for Step by Step personnel as well as young mothers to use to locate services near to them; available on Step by Step's website. Users input their address and can filter services.
(Data)View of Lexington is a new project designed to be a socio-economic and demographic data explorer for Lexington. Drawing on Census and American Community Survey (ACS) data, this tool allows users to take a "view" of Lexington. In its early stages, the current map displays 8 characteristics of Lexington, including the spatial patterns of poverty level, unemployment, and unaffordable housing.
In collaboration with the data-driven group, Lexington Housing Studies, this map draws lines between the owners and locations of vacant properties in Lexington. As vacancy is concentrated in a negatively-pathologized, under-resourced area of the city, this map is a critical analysis of the causes of vacancy and 'blight.' Vacant properties could be made into permanently affordable housing.
This is an interactive, choropleth map showing unemployment rates in Kentucky for the years 2000-2013. The map uses a range slider to sequence through the years and update the map, legend, and info panel dynamically.
Hi, I'm Laura and this is me selling $10 trees.
I study gentrification, agriculture, and how to create awesome interactive maps. The power and utility of mapping as a information-sharing, empowerment-giving, and tool-providing platform are demonstrated strongly in each of these areas of my interests. It's been fun to work with maps in different ways and I am excited for what my next map will be! The dream is to make maps, farm, and support the planting of locally-sourced, native trees via Oakland Farm Trees.


Fixed-effects models assume each participant has his/her own specific mechanism of parameter generation. This assumption is relative to the random-effect models, which assume one common mechanism is responsible for generating parameters for all participants. The latter is sometimes dubbed, hierarchical or multi-level models, although the three terms could carry subtle different ideas.
In this tutorial, I illustrated the method of conducting the fixed-effects modelling. Given many observations of response times (RT) and choices, one modelling aim is to estimate the parameters that generate the observations.
A typical scenario is we collect data by inviting participants to visit our laboratory, having them do some cognitive tasks, and recording their RTs and choices.
Often, we would use a RT model, for example diffusion decision model (DDM) (Ratcliff & McKoon, 2008)1 to estimate latent variables. I first set up a model object. The type = “rd”, refers to Ratcliff’s diffusion model.
require(ggdmc)
model <- BuildModel(
p.map = list(a = "1", v = "1", z = "1", d = "1", sz = "1", sv = "1",
t0 = "1", st0 = "1"),
match.map = list(M = list(s1 = "r1", s2 = "r2")),
factors = list(S = c("s1", "s2")),
responses = c("r1", "r2"),
constants = c(st0 = 0, d = 0),
type = "rd")
p.vector <- c(a = 1, v = 1.2, z = .38, sz = .25, sv = .2, t0 = .15)
ntrial <- 1e2
dat <- simulate(model, nsim = ntrial, ps = p.vector)
dmi <- BuildDMI(dat, model)
## A tibble: 200 x 3 ## use dplyr::tbl_df(dat) to print this
## S R RT
## <fct> <fct> <dbl>
## 1 s1 r1 0.249
## 2 s1 r1 0.246
## 3 s1 r2 0.262
## 4 s1 r1 0.519
## 5 s1 r1 0.205
## 6 s1 r1 0.177
## 7 s1 r1 0.174
## 8 s1 r1 0.378
## 9 s1 r1 0.197
## 10 s1 r1 0.224
## ... with 190 more rows
Because the data were simulated from one set of presumed true values, p.vector, I can use them later to verify whether the sampling process does recovery the parameters. In Bayesian inference, we also need prior distributions, so let’s build a set of prior distributions for each DDM parameters.
A beta distribution with shape1 = 1 and shape2 = 1, equals to a uniform distribution (beta(1, 1)). This choice was to regularize the parameters, (1) the start point, z, (2) its variability sz and (3) t0. All three were bounded by 0 and 1. Others used truncated normal distributions bounded by lower and upper arguments.
plot drew the prior distributions, providing a visual check method. This method, in the case of parameter recovery study, was to make sure the prior distribution does cover the true values.
p.prior <- BuildPrior(
dists = c(rep("tnorm", 2), "beta", "beta", "tnorm", "beta"),
p1 = c(a = 1, v = 0, z = 1, sz = 1, sv = 1, t0 = 1),
p2 = c(a = 1, v = 2, z = 1, sz = 1, sv = 1, t0 = 1),
lower = c(0, -5, NA, NA, 0, NA),
upper = c(5, 5, NA, NA, 5, NA))
plot(p.prior, ps = p.vector)
By default StartNewsamples used p.prior to randomly draw start points and samples 200 MCMC samples. This step used a mixture of crossover and migration operators. The run function by default drew 500 MCMC samples, using only crossover operator. gelman function reported PSRF value of 1.06 in this case.  Rhat = 1.06
plot by default drew posterior log-likelihood. With the option, start, it changed to a latter start iteration to draw.
p0 <- plot(fit0)
## p0 <- plot(fit0, start = 101)
p1 <- plot(fit)
png("pll.png", 800, 600)
gridExtra::grid.arrange(p0, p1, ncol = 1)
dev.off()
The upper panel showed the chains quickly converged to posterior log-likelihoods near 100th iteration and the bottom panel confirmed the rhat value (< 1.1).
p2 <- plot(fit, pll = FALSE, den= FALSE)
p3 <- plot(fit, pll = FALSE, den= TRUE)
png("den.png", 800, 600)
gridExtra::grid.arrange(p2, p3, ncol = 1)
dev.off()
In a simulation study, we can check whether the sampling process is OK, using summary
est <- summary(fit, recover = TRUE, ps = p.vector, verbose = TRUE)
## Recovery summarises only default quantiles: 2.5% 50% 97.5%
## a sv sz t0 v z
## True 1.0000 0.2000 0.2500 0.1500 1.2000 0.3800
## 2.5% Estimate 0.9656 0.0401 0.0112 0.1338 1.1463 0.3504
## 50% Estimate 1.0419 0.6010 0.2174 0.1444 1.4983 0.3867
## 97.5% Estimate 1.1509 1.7128 0.4781 0.1522 2.0005 0.4273
## Median-True 0.0419 0.4010 -0.0326 -0.0056 0.2983 0.0067
Finally, we might want to check whether the model fits the data well. There are many methods to quantify the goodness of fit. Here, I illustrated two methods. First method is to calculate DIC and BPIC. These information criteria are useful for model selection. (need > ggdmc 2.5.5)
DIC(fit)
DIC(fit, BPIC=TRUE)
Secondly, I simulated post-predictive data. xlim trims off outlier values in the simulation. Note there are two different versions of the post-predictive functions, because the ggdmc version > <IP_ADDRESS> starts to use S4 class, which use @, instead of $ to extract elemnts in an object.
predict_one <- function(object, npost = 100, rand = TRUE, factors = NA,
xlim = NA, seed = NULL)
{
require(ggdmc)
if(packageVersion('ggdmc') == '<IP_ADDRESS>') {
message('Using $ to extract object in v <IP_ADDRESS>')
out <- predict_one0260(object, npost, rand, factors, xlim, seed)
} else {
message('Using @ to extract object in v <IP_ADDRESS>')
out <- predict_one0280(object, npost, rand, factors, xlim, seed)
}
return(out)
}
predict_one0260 <- function(object, npost, rand, factors, xlim, seed)
{
model <- attr(object$data, 'model')
facs <- names(attr(model, "factors"));
if (!is.null(factors))
{
if (any(is.na(factors))) factors <- facs
if (!all(factors %in% facs))
stop(paste("Factors argument must contain one or more of:", paste(facs, collapse=",")))
}
resp <- names(attr(model, "responses"))
ns <- table(object$data[,facs], dnn = facs)
npar <- object$n.pars
nchain <- object$n.chains
nmc <- object$nmc
ntsample <- nchain * nmc
pnames <- object$p.names
thetas <- matrix(aperm(object$theta, c(3,2,1)), ncol = npar)
colnames(thetas) <- pnames
if (is.na(npost)) {
use <- 1:ntsample
} else {
if (rand) {
use <- sample(1:ntsample, npost, replace = F)
} else {
## Debugging purpose
use <- round(seq(1, ntsample, length.out = npost))
}
}
npost <- length(use)
posts <- thetas[use, ]
nttrial <- sum(ns) ## number of total trials
v <- lapply(1:npost, function(i) {
ggdmc:::simulate_one(model, n = ns, ps = posts[i,], seed = seed)
})
out <- data.table::rbindlist(v)
reps <- rep(1:npost, each = nttrial)
out <- cbind(reps, out)
if (!any(is.na(xlim)))
{
out <- out[RT > xlim[1] & RT < xlim[2]]
}
return(out)
}
predict_one0280 <- function(object, npost, rand, factors, xlim, seed)
{
## Update for using S4 class
model <- object@dmi@model
facs <- names(attr(model, "factors"));
if (!is.null(factors))
{
if (any(is.na(factors))) factors <- facs
if (!all(factors %in% facs))
stop(paste("Factors argument must contain one or more of:", paste(facs, collapse=",")))
}
resp <- names(attr(model, "responses"));
ns <- table(object@dmi@data[,facs], dnn = facs);
npar <- object@npar
nchain <- object@nchain
nmc <- object@nmc;
ntsample <- nchain * nmc
pnames <- object@pnames
thetas <- matrix(aperm(object@theta, c(3,2,1)), ncol = npar)
colnames(thetas) <- pnames
if (is.na(npost)) {
use <- 1:ntsample
} else {
if (rand) {
use <- sample(1:ntsample, npost, replace = F)
} else {
## Debugging purpose
use <- round(seq(1, ntsample, length.out = npost))
}
}
npost <- length(use)
posts <- thetas[use, ]
nttrial <- sum(ns) ## number of total trials
v <- lapply(1:npost, function(i) {
ggdmc:::simulate_one(model, n = ns, ps = posts[i,], seed = seed)
})
out <- data.table::rbindlist(v)
reps <- rep(1:npost, each = nttrial)
out <- cbind(reps, out)
if (!any(is.na(xlim)))
{
out <- out[RT > xlim[1] & RT < xlim[2]]
}
return(out)
}
pp <- predict_one(fit, xlim = c(0, 5))
dat <- fit@dmi@data ## use this line for version > <IP_ADDRESS>
## dat <- fit$data ## use this line for version <IP_ADDRESS>
dat$C <- ifelse(dat$S == "s1" & dat$R == "r1", TRUE,
ifelse(dat$S == "s2" & dat$R == "r2", TRUE,
ifelse(dat$S == "s1" & dat$R == "r2", FALSE,
ifelse(dat$S == "s2" & dat$R == "r1", FALSE, NA))))
pp$C <- ifelse(pp$S == "s1" & pp$R == "r1", TRUE,
ifelse(pp$S == "s2" & pp$R == "r2", TRUE,
ifelse(pp$S == "s1" & pp$R == "r2", FALSE,
ifelse(pp$S == "s2" & pp$R == "r1", FALSE, NA))))
dat$reps <- NA
dat$type <- "Data"
pp$reps <- factor(pp$reps)
pp$type <- "Simulation"
DT <- rbind(dat, pp)
require(ggplot2)
p1 <- ggplot(DT, aes(RT, color = reps, size = type)) +
geom_freqpoly(binwidth = .05) +
scale_size_manual(values = c(1, .3)) +
scale_color_grey(na.value = "black") +
theme(legend.position = "none") +
facet_grid(S ~ C)
The grey lines are model predictions. By default, predict_one randomly draws 100 parameter estimates and simulate data based on them. Therefore, there are 100 lines, showing the prediction variability. The solid dark line shows the data. In this case, the dark line is within the range covering by the grey lines. Note that the error responses (FALSE) are not predicted as well as the correct responses. This is fairly common, when the number of trial is small. In this case, it has only 13 trials.


module Doc:sig
..end
exception My_exception of (int -> int) * int
type
weather =
| |
Rain of |
(* | The comment for construtor Rain | *) |
| |
Sun |
(* | The comment for constructor Sun | *) |
weather
val what_is_the_weather_in : [< `California | `Cambridge | `New_york ] -> weather
location
: The country to get the weather for.