Contribute To Ionic
If you see an area for improvement, or have an idea for a new feature then we'd love to have your help! Additionally, please feel free to take part in any discussions which may be happening on our forum or our issues page. You can also stay up-to-date with Ionic by subscribing to our newsletter.
- Join the discussion on Ionic's Forum. Either start or take part in topics to help define what you're thinking.
- Browse existing issues for ideas or to see if a similar issue has already been submitted.
- Fork the Github repo.
- Create a new branch from master:
git checkout -b issuenumber-new-awesomeness
- Review our pull request guidelines.
- Follow our coding conventions.
- Did you remember to write a passing test?
- Submit a pull request!
For issues relating to the Ionic documentation or this site, please use the ionic-site repo instead.
Submit An Issue For The Ionic Framework
If you see a way to improve any piece of code please let us know. There's no such thing as too small of an improvement. (If the issue is about our documentation please see the next section.) If you think you might have found a bug, please start by making sure it hasn't already been reported.
If the issue doesn't already exist, then create a plunkr that demonstrates the problem (try to use as little code as possible: the more minimalist, the faster we can debug it). Next, create a new issue that briefly explains the problem, and provides a bit of background as to the circumstances that triggered it. Don't forget to include the link to that plunkr you created!
Browse Framework Issues Create a Framework Issue Create a Plunkr
Help Improve The Docs
See a typo, have a better way to describe Ionic within our documentation, or have a great tutorial? Please help make our docs awesome. Feel free to fork the ionic-site repo, add, correct or improve the content, then submit a pull request with the improved docs. Or if its something small just an issue will do. Thanks!
Pull Request Guidelines
When in doubt, keep your pull requests small. To give a PR the best chance of getting accepted, do not bundle more than one "feature" or bug fix per PR. A large "all-in-one" PR makes it very hard to accept if one of the fixes or features has issues.
It's always best to create two or more smaller PRs than one big one.
Conventions
We try to follow best practices as much as possible.
For any SCSS changes, try to keep CSS properties sorted in a reasonable order, with layout and sizing properties first, then cosmetic properties below that. See our code for examples. Feel free to run your code through CSS Comb, which will sort your CSS properties in a good order.
All JavaScript must pass JSHint, which helps detect errors and potential problems in your code.
Additionally, almost all Javascript code must have an accompanying test case. To run our test suite, install and run Karma as follows:
$ sudo npm install -g karma $ karma start ionic.conf.js
Any tests you write should go in the test/js
folder for core JS code, or in the js/ext/FRAMEWORK/test
folder for framework-specific code. Copy the format from other tests to write your own.
Indentation
Always use two spaces, no tabs. This goes for any HTML, CSS, or Javascript.
License
By contributing your code, you agree to license your contribution under the MIT license.


|
Model Advisor Command-Line Summary
|
|
| Simulink version: 10.3 | Current run: 14-Apr-2021 |
| Configuration file: Not Applicable | Number of systems: 2 |
| System | Passed | Failed | Warnings | Not Run | Model Advisor Report |
|---|---|---|---|---|---|
| LFRefMdl | 1 | 0 | 2 | 1900 | LFRefMdl |
| LaneFollowingTestBenchExample | 2 | 0 | 1 | 1900 | LaneFollowingTestBenchExample |


The objective of this activity is for the student to create a simple platformer game. In this exercise, you will learn how to use variables to jump and create gravity.
Download assets here:
The objective of this activity is to familiarize students to functions using the clone feature. This feature introduces students to a common programming practice called “code reuse”.
Download assets here:
The objective of this activity is for the student to create a Simon Says type game. This exercise will introduce you to storing values in a queue data structure.
Download assets here:
The objective of this activity is for the student to create game that uses stacks. This project will familiarize students students with the concept of “last in first out”.
Download assets here:


Contextual variables potentially influencing transmission of severe acute respiratory syndrome coronavirus 2
People per km²
People per household
Indoor space (m²) per person
Age structure: proportion of elderly and children
Household composition: nuclear versus multigenerational
Mixing patterns, including mode of transport
Forms of religious and social events
Mode of greeting and social contact (shaking hands, kissing, hugging, etc.)
Handwashing, water and sanitation
Ventilation and air conditioning
Climate
Urbanisation rate
Air traffic intensity
Population movements
Road networks
Prior exposure to other coronaviruses, BCG vaccine, and so on.
Non-specific immunity?
ACE variability
HLA variability
ACE, angiotensin-converting enzyme; HLA, human leucocyte antigen.


THE PREACHER'S WIFE Copyright 1996 D & S Associates
Penny Marshall updates the 1947 holiday film, "The Bishop's Wife", which starred Loretta Young, Cary Grant and David Niven, with her latest effort, "The Preacher's Wife", starring Whitney Houston, Denzel Washington and Courtney B. Vance.
The Reverend Henry Biggs, played by Vance, is the pastor of a small, urban church which has seen better days. Henry, living in the shadow of the church's former pastor, the father of his beautiful wife Julia, played by Houston, has doubts about his ability to save his little parish from its downward spiral. Finally, in desparation, Henry asks the big guy himself, God, to lend a hand.
Help does arrive in the guise of Dudley, played by Washington, an all too down-to-earth angel sent to assist the skeptical preacher in turning things around for the church and community.
ROBIN:
I have a very strong affinity to the original film, "The Bishop's Wife", mainly because of a decades-long crush on Loretta Young as the luminous Julia. Young gave a deeply charming performance, exuding warmth, love and beauty, making the film a poarticular holiday favorite of mine.
Penny Marshall, with "The Preacher's Wife", does a competent job in remaking and updating the original film, catching the spirit of "The Bishop's Wife", if not the more palpable magic of the first.
Whitney Houston, not a particular favorite of mine, is far more self assure than her earlier outings, dominating the screen when singing, especially the gospel tunes. Her acting is still stilted, but getting better. The many songs she sings takes attention from her developing acting skills.
Dudley, the angel, as played by Cary Grant, always struck me as a vacuous, if suave, character, in the film for the face. Denzel Washington lends the character the necessary charm and wit, with a hint of randiness, that it needs.
Courney Vance, of the principle cast, fares best ast the beleaguered preacher, Henry, who is trying to hold his church and his marriage together, while also trying to cope with the dealings of the ubiquitous Dudley. Where David Niven played Henry as a straight-laced prig, Vance gives the Reverend more dimension and nuance.
There are some theological problems about Dudley's origins that go against the teachings of Christianity, but, what the hell, we'll let it slip by.
"The Preacher's Wife" is a kind-hearted holiday flick with lots of gospel music and decent performances, and a fair rtelling of the original.
I give "The Preacher's Wife" a B- (I give "The Bishop's Wife" a B)
LAURA:
Director Penny Marshall and screenwriter Allan Scott have done a fine job of updating "The Bishop's Wife" for the 90s with "The Preacher's Wife." Whitney Houston stars as Julia Biggs, the wife of Reverend Henry Biggs (Courtney B. Vance), a man trying, but failing, to walk in the footsteps of Julia's inspiring father and keep his poor New York City parish from going under. Their son Jeremiah (Justin Pierre Edmund) is about to lose his best friend Hakim to child welfare, the church boiler is near collapse, a young parishioner is falsely accused of a crime and developer Joe Hamilton (Gregory Hines) has purchased the church's mortgage with pricey condominiums in mind.
Denzel Washington is Dudley, the angel who's been waiting to be sent to earth to good deeds and eat pizza. While Washington doesn't quite embody the charm of the original's Cary Grant, he comes fairly close. At least the women, including Julia's mom Marguerite (Jennifer Lewis), don't find him too tough to take even though Reverend Biggs views him with suspicion.
"The Preacher's Wife" is obviously a Whitney Houston showcase, though. She's the church's choir leader, giving way for ample opportunity to let her belt out a few numbers. I usually find her singing grating, but here, singing mostly Gospel numbers, she's just fine. This is her most natural and relaxed performance. You believe she's as good hearted as she's supposed to be, even if she indulges in a little 'window shopping' with Dudley.
The real standouts in the cast are Jennifer Lewis, a still beautiful and devillish older woman with a solid moral core and Courtney B. Vance's beleagered Henry (he's beginning to show a real chameleon-like acting ability - his character here is SO different from those of "Dangerous Minds", "The Last Supper" and "Panther"). Also amusing in a supporting role is "Waiting to Exhale"'s Loretta Devine as Bigg's single mother church secretary.
I have a couple of complaints with "The Preacher's Wife." For one thing, Whitney's wardrobe is largely inappropriate. During the skating sequence she's wearing a hat that looks like an expensive designer number. In fact, the struggling family seems to lack for nothing - Jeremiah's bedroom is strewn with toys. The costumes used for the church's nativity play look Hollywood professional as well. Also, the running time is padded out to a full two numbers because of all the musical numbers, not all of which are necessary.
Overall, though, "The Preacher's Wife" is a fine holiday family film.
B
D&S Associates - Electronic Publishers Webmasters of Neponset.Com http://www.neponset.com voicemail:<PHONE_NUMBER> BBS:<PHONE_NUMBER> Visit "Reeling" at http://www.neponset.com/reeling.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: default permalink: "/gallery" author: mtrojanowski keywords: PTC 2017 gallery title: PTC 2017 Gallery excerpt: Image gallery menutitle: GALLERY weight: 110 isGallery: true --- {% assign images = site.data.gallery.images %}


{% extends 'layout.html' %} {% block main_content %}
| {% endfor %} |
{{ play_log.comments }}
{% else %}No comments
{% endif %} {% endfor %}If you've played this kingdom please tell us a bit about your experience for other players
{% else %}Want to tell people about playing this kingdom? Great, you'll need a login. You can get one by logging in or, you need to registering here
{% endif %} {% endblock %}


Bet you never saw the missing episode where the Coyote caught the Road Runner and ate him. Nah, just kidding. Never happened. But here you can test your knowledge of all things Looney with Space Jam's Official Looney Tunes Trivia Quiz.
What rival calls Bugs a "long-eared galoot?"
Wile E. Coyote
Elmer Fudd
Yosemite Sam
Witch Hazel


Jin-Woo could only doubt his own hearing just then
Who wanted to help who now? A monster helping a human?.

The unknown man formed a serious expression
“Then, I shall make you believe me . ”.
He began chanting some kind of a spell as his lips moved at an incredible speed that looked like a video playback sped up tens, no, hundreds of times
At that moment, Jin-Woo sensed the magical energy present within this empty, open arena suddenly coagulate around this man . In the blink of an eye, he summoned his shortswords out
If the gathering magic energy carried even a hint of aggression, then the blade of his weapon would have pierced into the man’s forehead already
However, Jin-Woo patiently waited
The amount of magic energy being utilised was very small when compared to the reserves both Jin-Woo and the man possessed . And he couldn’t sense any aggression or hostile intent from the gathered energy, either
‘……’.
Jin-Woo readied the ultimate version of the skill ‘Dagger Throw’, ‘Dagger Rush’, and waited with bated breaths
The needle-like tension continued to prick him in his skin
Eventually, the strange language flowing out of the man’s mouth came to an end, and a System message popped up in Jin-Woo’s view along with the familiar ‘tti-ring’
[King of Giants, the Sovereign of the Beginning, ‘Reghia’ has activated the ‘Skill: Pledge of Trust (Negotiable)’ . ].
[Once the ‘Skill: Pledge of Trust (Negotiable)’ has been agreed upon, both the initiator and the acceptor cannot lie to one another . ].
[Will you accept the ‘Skill: Pledge of Trust (Negotiable)’?] (Y/N).
What attracted Jin-Woo’s attention, first of all, was not the contents of the man’s suggestion, but the title denoting what the man’s true identity was
‘The King of Giants, is it… ’.
He remembered the Giant-type monsters he hunted down on his way to here . Most likely, there must be some kind of a connection between this revelation and the reason for the face of the super-massive Giant protecting the Gate being the same as this man’s own mug
As Jin-Woo fell into a contemplative silence, the man patiently waited for an answer
‘What should I do?’.
Jin-Woo looked at the blinking ‘Y/N’ and pondered his options
Seeing that the System even bothered to give him an alert like this, the effects of this skill or whatever must’ve been for certain
He needed to think about who’d be in more of a disadvantage when unable to lie to the other party here . However, there was no reason to think too deeply about this as the conclusion was already clear in his mind
‘Obviously, it’ll be a loss for him . ’.
After all, this side was standing on an advantage
In case a question Jin-Woo could never provide an answer for comes around, all he had to was to kill this creature, even if that sounded callous and cold-hearted
This deal was suggested by the other side, to begin with . And Jin-Woo wasn’t naïve enough to feel guilty for a monster, of all things
‘Yes . ’.
Tti-ring
A System message appearing simultaneously with the mechanical beep quickly informed him of the successful completion of the negotiation
[‘Pledge of Trust (Negotiable)’ has been initiated . ].
[Through the mutual consent of both the initiator and acceptor, the two parties involved cannot lie to one another until the contract has been terminated . ].
The King of Giants urgently repeated what he said before as if he was waiting for Jin-Woo to accept the Pledge
“Please, free me from this seal . I shall help you . ”.
“Euph… . Euph… . ??”.
Jin-Woo’s eyes went extra round from surprise .  That is the power of the Pledge of Trust . ”.
“…”.
Indeed, the effect had been confirmed to be real
Half out of curiosity and the other half out of testing purposes, Jin-Woo was about to answer ‘I shall completely trust you . Let me undo those chains right away’ . But he really couldn’t say any of those words at all
‘So, this is the Pledge of Trust at work… . ’.
Jin-Woo confirmed the effects of this ‘skill’ and felt his heart beat faster
With this, he could trust to a certain extent what this King of Giants had to say to him . There was a simple reason why he didn’t trust 100%, though
If they had no choice but to speak only the truth from now on, then it was rather obvious that the other party would withhold information that might prove to be damaging to itself
Jin-Woo’s glare became sharper than when there was no Pledge between the two
“How come it’s possible to converse freely with you, unlike how it is with other monsters?”.
“Monsters?”.
“Creatures emerging out from the Gates . ”.
“…Ah, ah . You must be referring to the denizens of the Chaos World . ”.
The King of Giants cracked a mocking grin
“I shall ask you something in return . How could you even think of placing mere denizens of the Chaos World on the same pedestal as a Sovereign who rules over them?”.
He then formed a dignified expression truly fitting for a ‘King’
“All the denizens of the Chaos World emerging from the so-called Gates are, without exception, remnants of the defeated army . They have lost the battles against the army of the Rulers and become captives . They had to remain tied to a leash for an uncountable number of years, so it’s only obvious that their ego has been eroded somewhat . However, I am the King . I am different from them . I have patiently waited for the fated day when I can make my escape from their grasp . ”.
The King formed a thin smile next
“And that’s how I got to encounter you . ”.
“… . ”.
Jin-Woo worked hard to keep his emotions in check and to analyse what this guy was saying as objectively as possible
‘If he’s really an existence on a higher realm than other monsters, then… . ’.
… . Then, he might really find himself with some important clues here
Gulp
His saliva travelled down his throat
He had a ton of stuff he wanted to ask right now . But, before he did that, he needed to confirm something else first
“By any chance, when you said the army of the Rulers, were you talking about those wearing silver armour with wings on their backs… . ?”.
“That’s right . Those dogs are the soldiers of the Rulers . ”.
As expected . It felt as if another puzzle piece had clicked into its rightful place
He suddenly thought that the ‘video playback’ the angel statue showed him was not some make-believe crap, but someone’s real memories of an event that did happen, instead
Just what the hell was going on in this world, then?.
Jin-Woo asked another question
“Why do those b*stards called Rulers keep sending these monsters to us?”.
The reason for the existences of the Gates . If he could find out the reason why these Gates kept popping up, then couldn’t he be able to do something about it and stop that from happening again?.
Jin-Woo biggest concern lay with that
“I have told you that already, have I not?”.
The King of the Giants spoke with much more emphasis in his voice
“They are preparing for war . ”.
“War?”.
“They will change this world into a suitable battlefield to engage the Sovereigns in yet another warfare . ”.
“I don’t quite follow you here… Just by sending monsters to Earth, this planet suddenly becomes a warzone?”.
Well, it was true that sometimes, a situation far more horrifying than a warzone could develop from a Gate, but still
Jin-Woo momentarily recalled the event that took place in Jin-Ah’s school . Even then, those were matters that involved humanity . He just couldn’t see how those would serve as preparations for some kind of a war involving non-human races
“It is all to inject magical energy into your world . ”.
THUD!.
Jin-Woo felt as if he was struck in the back of his head just then
If monsters were calamities emerging from the Gates, then magic energy was the blessing coming from the Gates . Not just the Hunters, but many civilians thought similarly along these lines
Magic crystals, as well as Mana stones . These items containing magic energy were treated as the greatest source of energy in the modern world
But then, that energy was actually nothing more than footholds for the upcoming war?.
The King of Giants continued on with his explanations
“There is simply no better way to propagate the type of energy that didn’t exist before than by sacrificing the blood of those that possess the necessary energy . So, the Rulers decided to utilise the captives they had in their possession . ”.
There was no need to even mention that the density of the magical energy around the world was gradually getting thicker every day
That was not a naturally occurring phenomenon . No, more than likely that was the fruits from the trees first germinated from the fertile field cultivated from the blood of the monsters
“The magic energy fortifies a world . They plan to fortify your world so it wouldn’t get destroyed from the impacts of the warfare . ”.
“In that case, this warfare is… . ?”.
“Yet another blood-soaked struggle between the Sovereigns and the Rulers . Not too long from now, the world you’re living in will become a true hell . ”.
A battle between the armies of the Rulers, and the monsters – no, creatures before they were unwittingly turned into monsters . Jin-Woo did clearly witness their enormous battle from the ‘data’
If Earth had been selected as ground zero for such massive scale warfare, then the assertion of this King of Giants, the one about this planet becoming hell, could not be dismissed as a simple exaggeration
The complexion of the King suddenly darkened
“There isn’t a lot of time left . ”.
“… ?”.
“Once the truth about you coming in contact with me gets out, both the Sovereigns and the Rulers will not simply stay back and watch on anymore . It is even likely that the Envoys of the Rulers have begun their schemes already . ”.
“You’ve been implying that those b*stards will be aiming for my life, but… Why is that?”.
“You really don’t know anything, do you?”.
The Kings continued on with his explanations in a tone of voice thickly laden with pity
“The power that you possess actually is not yours . ”.
Nod
Jin-Woo agreed with that
The abilities of the Shadow Sovereign were something he got from the System . He couldn’t deny the notion that this power was not his from the very beginning
“The mere fact of that power now residing within you could only mean that the original owner had betrayed other Sovereigns . ”.
When Jin-Woo heard that, he remembered the angel statue saying something similar in nature . It was likely that the statue was also one of the denizens of the Chaos World that followed the Sovereigns
As the questions in Jin-Woo’s head kept sprouting up one after another, the King of Giants spoke up
“You have become the enemy of both the Sovereigns, as well as the Rulers . However, only I pledge that I shall stand by your side and fight for you . So, will you not help me?”.
The King of Giants had assessed that this much convincing was enough and formed a serious, determined face . Unfortunately for him, Jin-Woo calmly asked a question in return
“If you wish to stand by my side, then wouldn’t it be simpler for me to turn you into a Shadow Soldier, instead?”.
The King of the Giants flinched in surprise
It was only for a second then, but for that briefest of moments, the King saw the actual face of the Shadow Sovereign and this human’s overlap
What the human said was not wrong . To him, there would be bigger merit in having one more absolutely loyal underling than forming a brand new alliance with a complete stranger
The King inwardly admired the fact that this human didn’t miss that crucial point . He spoke up and explained the situation
“We, the Sovereigns, as well as the Rulers, are made up of spiritual bodies . Once such a spiritual body dies, it is destroyed and can’t be turned into one of your Shadow Soldiers . Meaning, I can never become your soldier . ”.
Jin-Woo nodded his head again
‘So, that was why . ’.
Here was the reason why the King thought Jin-Woo would lend a helping hand when there was clearly a much easier method, to turn him into a Shadow Soldier . As the Pledge of Truth was still active, there was no need to decipher if that was a lie or not, too
Jin-Woo stopped swimming within his thoughts and raised his head
The King of Giants asked again
“Are those enough reasons for you to help me now?”.
Jin-Woo wordlessly stared at the King
This being titled the King of Giants, it was carrying an expression of certainty as if it knew that the restraints tying it down would soon be undone
Of course, Jin-Woo had no such weird tendencies of feeling jealous after seeing someone else being happier than him . Also, this guy said he’d become his ally out of its own volition, so he didn’t have any reason to reject the offer, either
However, why did he keep feeling this uneasiness in his heart?.
‘Something… I’ve definitely overlooked something here . ’.
One cold sweat drop after another began forming on his forehead
The King of Giants, meanwhile, made another plea
“Unshackle me, I beseech you . ”.
Jin-Woo took in a deep, deep breath
No matter how hard he pondered his options, he couldn’t think of a reason to reject this King’s plea . The longer he thought about what he had missed, the more he felt as if he was getting sucked into a quagmire
‘Am I being too paranoid here… . ?’.
Jin-Woo approached the King of Giants while carrying the ‘Demon King’s Shortsword’
And as he walked right up to its own nose, the King nodded his head . Jin-Woo reciprocated that nod
He swung his shortsword laden with his magic power, and one of the chains powerlessly snapped in half
Ba-thump, ba-thump, ba-thump!!.
His heart was beating louder and louder for some reason
Why did this indecipherable sense of ill omen continue to pull back at his hands, even though he had already made his decision?.
Slice
The second chain was cut in half, as well
The King of Giants formed a reverential expression that was neither joyous or sorrowful and waited for his restraints to be undone
The third chain
Slice
Jin-Woo leaned towards the back of the King in order to cut the chains taking root within its flesh there . But then…
Ba-thump!!.
His heart pulsed incredibly powerfully, right then
He felt as if his heart had crashed down to the pit of his stomach
The chain of thoughts on what he had overlooked, and why he was feeling that way, violently crashed into his head, as if it was prying apart the small gap between the tight rock formation
Jin-Woo stayed his hands trying to cut the chain, and looked straight into the King’s eyes
“You have said that you will stand by my side, yes?”.
“Of course I will . If you help me, then I shall help you in return . This is a fair and absolute transaction between two Sovereigns . ”.
He had already heard this reply several times . However, what Jin-Woo wanted to confirm wasn’t that answer . So, he threw out the real question next
“In that case, are you on the side of the humans?”.
“…”.
The King suddenly became silent
The ‘Pledge of Truth’ . The condition of this spell meant that the King of Giants couldn’t say anything
Jin-Woo took a look behind this being’s neck . A jet-black Mana Crystal embedded on the back of his neck coldly reflected the ambient light
As long as that item was stuck in the body, this being would hear the voices of the Rulers in his head, too
… . Exactly like every other monster
The words of ‘Kill every human’
For a brief moment there, a murderous intent flowed in the air
With its now-free right hand, the King of Giants took aim at Jin-Woo’s temple
Too bad, it was still not enough to reach him . He lowered his head and evaded the attack, before stabbing the shortsword into the King’s chest
Stab!.
As if the chains wrapped around its body didn’t even exist, the sharp blade dug deep into the chest cavity of the captive King
“Keo-heuk!!”.
The King of Giants suddenly vomited out a mouthful of blood
However, that single hit wasn’t enough . Letting this thing live was far too risky . This thing… could become an untold calamity
Jin-Woo analysed the situation as thus and, while evading the right hand of the King constantly attacking him with nothing more than tilting his upper body this way and that, continued to thrust the shortsword into the chest of his enemy
Stab, stab, stab, stab!.
He stabbed for the sixth time
Only after his blade entered and left the chest cavity for the sixth time did the King of Giants stopped moving his right hand
It was over
Jin-Woo extracted his shortsword for the last time . The King of Giants stared straight into his eyes and formed a meaningful grin
“It is regretful, but this here is the end of the road for me . ”.
“…”.
Jin-Woo took a step back and wordlessly shook the blood off his shortsword . In the meantime, the King continued to speak
“As the battles between the residents of your world and the captured denizens of the Chaos World become more and more intense, this world will transform further and further into a battlefield . ”.
Cough! The King coughed out another mouthful of blood and formed the last smile
“I pray… that everything you wish to protect burn into ashes in the all-ending conflagration of the war… . ”.
“That ain’t gonna happen . ”.

[You have killed the owner of the dungeon . ].
The moment the King drew his last breath, the ocean-like magical energy sleeping within the creature exploded into the world outside
The transformation of the world had begun
< Chapter 175 > Fin


#include <importerdesc.h>
Public Attributes | |
| const char * | mName |
| const char * | mAuthor |
| const char * | mMaintainer |
| const char * | mComments |
| unsigned int | mFlags |
| unsigned int | mMinMajor |
| unsigned int | mMaxMajor |
| const char * | mFileExtensions |
Definition at line 89 of file importerdesc.h.
| const char* aiImporterDesc::mName |
Full name of the importer (i.e. Blender3D importer)
Definition at line 92 of file importerdesc.h.
| const char* aiImporterDesc::mAuthor |
Original author (left blank if unknown or whole assimp team)
Definition at line 95 of file importerdesc.h.
| const char* aiImporterDesc::mMaintainer |
Current maintainer, left blank if the author maintains
Definition at line 98 of file importerdesc.h.
| const char* aiImporterDesc::mComments |
Implementation comments, i.e. unimplemented features
Definition at line 101 of file importerdesc.h.
| unsigned int aiImporterDesc::mFlags |
These flags indicate some characteristics common to many importers.
Definition at line 105 of file importerdesc.h.
| unsigned int aiImporterDesc::mMinMajor |
Minimum format version that can be loaded im major.minor format, both are set to 0 if there is either no version scheme or if the loader doesn't care.
Definition at line 110 of file importerdesc.h.
| unsigned int aiImporterDesc::mMaxMajor |
Maximum format version that can be loaded im major.minor format, both are set to 0 if there is either no version scheme or if the loader doesn't care. Loaders that expect to be forward-compatible to potential future format versions should indicate zero, otherwise they should specify the current maximum version.
Definition at line 119 of file importerdesc.h.
| const char* aiImporterDesc::mFileExtensions |
List of file extensions this importer can handle. List entries are separated by space characters. All entries are lower case without a leading dot (i.e. "xml dae" would be a valid value. Note that multiple importers may respond to the same file extension - assimp calls all importers in the order in which they are registered and each importer gets the opportunity to load the file until one importer "claims" the file. Apart from file extension checks, importers typically use other methods to quickly reject files (i.e. magic words) so this does not mean that common or generic file extensions such as XML would be tediously slow.
Definition at line 134 of file importerdesc.h.


Find the right doctor for you!
Search for a doctor by name
Search by reason for needing a doctor
Search!


MBMLFontFunctions Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | MBMLFontFunctions.h |
Overview
This class implements MBML functions for accessing information about the fonts available at runtime.
These functions are exposed to the Mockingbird environment via
<Function ... />
declarations in the MBDataEnvironmentModule.xml
file.
For more information on MBML functions, see the MBMLFunction
class.
Accessing fonts
+ fontFamilyNames
Returns an array containing the available font family names.
+ (id)fontFamilyNames
Return Value
The names of the available font families.
Discussion
This Mockingbird function takes no parameters.
Expression usage
The expression:
^fontFamilyNames()
returns the names of all font families available on the device on which the expression is evaluated.
Declared In
MBMLFontFunctions.h
+ fontNamesForFamilyName:
Returns an array containing the available UIFont
names given a font family
name.
+ (id)fontNamesForFamilyName:(NSString *)familyName
Parameters
familyName |
The function’s input parameter, the font family name. |
|---|
Return Value
The names of the fonts available in the given font family.
Discussion
This Mockingbird function takes a single string expression as input, yielding the name of the font family whose font names are sought.
Expression usage
The expression:
^fontNamesForFamilyName(Helvetica)
returns an array containing the following font names:
- Helvetica-LightOblique
- Helvetica
- Helvetica-Oblique
- Helvetica-BoldOblique
- Helvetica-Bold
- Helvetica-Light
Results may differ depending on the device type and operating system version.
Declared In
MBMLFontFunctions.h
+ fontWithNameAndSize:
Returns a UIFont
instance for the given font name and size.
+ (id)fontWithNameAndSize:(NSArray *)params
Parameters
params |
The function’s input parameters. |
|---|
Return Value
The requested UIFont
, or nil
if it couldn’t be found.
Discussion
This Mockingbird function accepts two pipe-separated expressions as input parameters:
The font name, a string expression that specifies the name of the font requested
The font size, a numeric expression indicating the size of the font to return
Expression usage
The expression:
^fontWithNameAndSize(Helvetica-BoldOblique|14)
returns a UIFont
instance for the font named “Helvetica-BoldOblique” at
14-point size.
Declared In
MBMLFontFunctions.h
Measuring text using a specific font
+ stringWidth:
Calculates the width of a string given a specific font and size.
+ (id)stringWidth:(NSArray *)params
Parameters
params |
The function’s input parameters. |
|---|
Return Value
The width of text.
Discussion
This Mockingbird function accepts two or three pipe-separated expressions as input parameters.
If two parameters are provided, they are interpreted as:
The text, a string expression specifying the text to measure
The font, an object expression that yields a
UIFont
instance
If three parameters are provided, they are interpreted as:
The text, a string expression yielding the string whose width is to be calculated
The font name, a string expression providing the name of the font to use for calculating the width of text
The font size, a numeric expression providing the size of font that will be used for calculating the width of text
The function returns an NSNumber
specifying the width (in points) required
to display text using the given font.
Expression usage
^stringWidth(What's the deal with airline peanuts?|^fontWithNameAndSize(Helvetica Neue|23))
The expression above yields 377.867
. (Exact results may differ depending on the
device type and operating system version.)
The expression above is also equivalent to:
^stringWidth(What's the deal with airline peanuts?|Helvetica Neue|23)
Declared In
MBMLFontFunctions.h
+ sizeOfTextWithFont:
Measures the size of width and height needed to render text in a given font.
+ (id)sizeOfTextWithFont:(NSArray *)params
Parameters
params |
The function’s input parameters. |
|---|
Return Value
The size of the text in the given font, as a comma-separated string.
Discussion
This Mockingbird function accepts two or three pipe-separated expressions as input parameters.
If two parameters are provided, they are interpreted as:
The text, a string expression specifying the text to measure
The font, an object expression that yields a
UIFont
instance
If three parameters are provided, they are interpreted as:
The text, a string expression specifying the text to measure
The font name, a string expression providing the name of the font to use for calculating the number of lines required to display text
The font size, a numeric expression providing the size of font that will be used for calculating the number of lines required to display text
The function returns a string in “width
,
height
” format containing
the size of text when rendered in the specified font.
Note that fractional pixel values may be returned.
Expression usage
The expression:
^sizeOfTextWithFont(This is my text to measure|^fontWithNameAndSize(Helvetica|14))
returns the string “163.379,16.1
”, indicating a width of 163.379
pixels
and a height of 16.1
pixels. (Exact results may differ depending on the
device type and operating system version.)
The expression above is also equivalent to:
^sizeOfTextWithFont(This is my text to measure|Helvetica|14)
Declared In
MBMLFontFunctions.h
+ linesNeededToDrawText:
Calculates the number of text lines required to fully display a string constrained to a specific width.
+ (id)linesNeededToDrawText:(NSArray *)params
Parameters
params |
The function’s input parameters. |
|---|
Return Value
The number of lines needed to draw the text.
Discussion
This Mockingbird function accepts three or four pipe-separated expressions as input parameters.
If three parameters are provided, they are interpreted as:
The text, a string expression specifying the text to measure
The font, an object expression that yields a
UIFont
instanceThe width within which text must fit, a numeric expression
If four parameters are provided, they are interpreted as:
The text, a string expression specifying the text to measure
The font name, a string expression providing the name of the font to use for calculating the number of lines required to display text
The font size, a numeric expression providing the size of font name that will be used for calculating the number of lines required to display text
The width within which text must fit, a numeric expression
The function returns an NSNumber
specifying the number of text lines
to fully display text.
Expression usage
^linesNeededToDrawText(This is my argument|^fontWithNameAndSize(Helvetica-Bold|18)|150)
The expression above yields an NSNumber
containing the value 2
, indicating
that two lines are needed to draw the text “This is my argument
” with a
width of 150 points using 18-point Helvetica-Bold.
The expression above is also equivalent to:
^linesNeededToDrawText(This is my argument|Helvetica-Bold|18|150)
Declared In
MBMLFontFunctions.h


Russian Travelling Without Passport, Visa Held In Himachal
by Press Trust Of IndiaGeneral News
A 25-year-old Russian tourist has been arrested as he was found without a passport and visa in Himachal Pradesh's Kullu district, police said on Monday.
Written By Press Trust Of India | Mumbai | Updated On: November 25, 2019 17:43 IST
A 25-year-old Russian tourist has been arrested as he was found without a passport and visa in Himachal Pradesh's Kullu district, police said on Monday. Andrey Shigorin was held at old Manali at 12.30 AM on Saturday, Kullu Superintendent of Police Gaurav Singh said. When he was asked to produce his passport and visa, he failed to do so, the SP said. Shigorin was arrested for violating section 14 of the Foreigners Act, he added. Further investigation is on, he added.


Salt rumours aimed to embarrass government, businesses believe
by bdnews24.comThe rumours about a possible salt price hike are aimed at embarrassing the government, businesses in the sector, including ACI and Molla Salt, say.
They do not see any reason behind price hike as there is no shortage of supplies.
The rumours triggered panic buying in different districts leading to a brief shortage of supply that eventually drove the price.
The government has warned of tough actions against those spreading the rumours and urged the people not to pay heed to the rumours, reassuring them that there was enough stock and new supplies will be available in quick time
“We are shocked. What’s happening in Bangladesh! After onion, rumours [over salt] have been spread to embarrass the government,” Molla Salt General Manager Abdul Mannan told bdnews24.com on Tuesday night.
“It’s very unfortunate. A quarter spread the rumour on social media of a stock shortage of salt. This led to a price hike in different places. Many bought salt to stockpile fearing more price rise.”
“There is no dearth of salt stock anywhere in the country,” he said.
Syed Alamgir, director of consumer products at ACI Group, said, “Panic is being spread for no reason. A quarter is trying to make some extra profits by fooling the people with rumours.”
“Please publish it quickly that there is no shortage of salt stock,” he pleaded.
Around 60 percent of the salt sold in Bangladesh is unpacked product while ACI supplies 30 percent of the packaged salt market, according to Alamgir.
Mohammad Hossain, secretary of the Teknaf Salt Farmers and Traders’ Welfare Association, said the stock of salt only in the Upazila in Cox’s Bazar were enough to meet the demand of the entire country for six months.
“The farmers stocked salt after they had not been offered fair prices last year. Now a new season has arrived but the farmers are yet to sell last year’s stock,” he said.
Trader Jahid Hossain agreed.
One maund or 37.42kg of salt is being sold at Tk 190 to 200 now while the production cost reached around Tk 300, according to them.


App Template Operations
New File
Placeholder only, does nothing useful.
Open File
Opens a file and displays it in the window. Scroll bar works to see the whole file.
Save File
Displays a Save File Dialog and saves the file to the file named.
Will do all the normal things to print a file.
Options
The options dialog allows specifying the Display and Printer Font Size Scale Factor, the printer orientation and the printer margins.
About
Displays the About Box. The about box uses text from the resource file (TestApp.rc) for the output information. There is a standard about box dialog in the Library.
Exit
Exit the application with no reservations.
Menu Tools/Test
Test
Executes a command which outputs "Hello World" to the display. This can be output using the Save as Command.


Here you can find friends or stalk strangers. The Doge Social Network does not take any responsibility for the information found.
Here you can find friends or stalk strangers.
The Doge Social Network does not take any responsibility for the information found.


This is a live preview of how your card will look to the general public
Sold by: {{username}}
{{description}}
Your item was added to the public marketplace for purchasing. Would you like to add another item or view all items on sale.


-
blood diamond in america
McAlpine Creek Greenway - Uptown - Charlotte, NC
. out for cars. There are many entrances, but I usually park off a gravel lot over off of Margaret Wallance and
. McAlpine Creek Greenway, Charlotte, NC .
http://www.yelp.com/biz/mcalpine-creek-greenway-charlotte
-
jacksonville fl unemployment rate
McAlpine Creek Park - Charlotte-Mecklenburg County
McAlpine Creek Park.<PHONE_NUMBER>, Field Athletics<PHONE_NUMBER>, Cross Country<PHONE_NUMBER> 8711 Monroe Road South Park Region ? Get Directions .
http://charmeck.org/mecklenburg/county/parkandrec/parks/parksbyregion/southregion/pages/mcalpinepk.aspx
-
furniture moving pads for sale
8600 McAlpine Park Dr, Charlotte, NC 28211 Directions, Location ...
Our interactive map lets you view, print, or send to your phone directions to and from 8600 McAlpine Park Dr, Charlotte, NC 28211, and view the location as a .
http://www.mapquest.com/maps?address=8600%20McAlpine%20Park%20Dr&city=Charlotte&state=NC&zipcode=28211
-
illinois elected officials salaries
Campbell Creek and McAlpine Creek Greenways - Charlotte ...
300 Boyce Road Charlotte, NC 28211 (James Boyce Park) 8711 Monroe Road, Charlotte, NC 28212 (McAlpine Creek Park) 7645 Sardis Road Charlotte, NC .
http://charmeck.org/mecklenburg/county/ParkandRec/Greenways/OpenGreenways/Pages/CampbellCreekandMcAlpineCreekGreenways.aspx
-
civil air patrol airplanes
Charlotte Secondary School - 8310 Mcalpine Park Dr, Charlotte, NC ...
Charlotte Secondary School. See parent ratings and reviews, state test scores, student-teacher ratios, academic programs and resources. Compare to similar .
http://www.trulia.com/schools/NC-Charlotte/Charlotte_Secondary_School/
-
elocin beauity salon laning il
McAlpine Creek Park - About Charlotte
Greenways and huge nature preserves account for many of Charlotte's Parks. . Top Related Searches mcalpine creek park monroe rd charlotte nc · About.com .
http://charlotte.about.com/od/sportsrecreation/ig/Charlotte-Parks/McAlpine-Park.htm
-
reading and mental abilities
2012 Cross Country Meets
2012 North Carolina All Levels . Providence Invitational (HS), Charlotte, McAlpine Greenway Park . MEC Kick Off (HS), Wilmington NC, Hugh MacRae pk .
http://www.athletic.net/crosscountry/meet/List.aspx?S=2012&R=45
-
elocin beauity salon laning il
2012 Royals XC Challenge - Queens University of Charlotte
Sep 4, 2012 . McAlpine Creek Park, Charlotte, N.C. - The long-time home of the Footlocker High School Southeast Championships, McAlpine is a flat, firm .
http://www.queensathletics.com/sports/2012/9/4/MXC_0904125747.aspx?path=mcross
-
government program lost job overseas unemployment
USTFCCCA InfoZone ::: Meets Hosted by City -- Charlotte, N.C.
2012-XC, Royal Cross Country Challenge · McAlpine Creek Park, Fri Oct 12, Queens (N.C.) · TFRRS-XC Results. 2012-XC, Charlotte Invitational · McAlpine .
http://www.ustfccca.org/infozone/public-meet-host-bycity.php?locno=1604908740
-
formula in determining the sample size
McAlpine Creek Greenway Park North Carolina Trail Reviews
Trail McAlpine Creek Greenway Park - North Carolina - Mostly a hard packed . South Eastern Charlotte - Park runs from near 7500 East Independance Blvd .
http://trails.mtbr.com/PRD_169523_4567crx.aspx
-
ero-pro shark s3501 instructions
Mc Alpine Creek Park in Charlotte | Mc Alpine Creek Park (704) 568 ...
Oct 23, 2012 . Mc Alpine Creek Park. 1 Review.<PHONE_NUMBER>. 8711 Monroe Rd, Charlotte, NC 28212. Cross Streets: Between Covedale Dr and McAlpine .
http://local.yahoo.com/info-13232668-mc-alpine-creek-park-charlotte
-
copy dvd fails after 16 meg
Hokies head to Charlotte for Southeast Regional
Nov 8, 2012 . McAlpine Park Charlotte, N.C.. PREVIEWING THE MEET Tech heads to Charlotte, N.C., to compete in the 2012 NCAA Southeast Regional on .
http://www.hokiesports.com/cc/recaps/20121108aaa.html
-
360 body varial bmx
8514 McAlpine Park Drive, Charlotte, NC, 28211 - Office Building ...
Jul 6, 2012 . McAlpine Business Centre - 8514 McAlpine Park Drive, Charlotte, NC. This 19393 SF Office is for lease on LoopNet.com. Do business in a park .
http://www.loopnet.com/Listing/17736556/8514-McAlpine-Park-Drive-Charlotte-NC/
-
assessing what was taught
McAlpine Creek Greenway and Campbell Creek Greenway
Other parking areas for McAlpine Creek Greenway: 300 Boyce Road Charlotte, NC 28211 (James Boyce Park) 7645 Sardis Road Charlotte, NC 28270 110 Old .
http://www.carolinathreadtrailmap.org/trails/trail/mcalpine-creek-greenway-and-campbell-creek-greenway
-
labcorp locations after hours south austin
McAlpine Creek Greenway to close for 2 years - Charlotte Observer
Nov 4, 2012 . 8711 Monroe Rd Charlotte, North Carolina 28212 . The sewer installation is expected to reach north to Sardis Road where the . annually in McAlpine Creek Park will be accommodated each year in the fall, said Cook.
http://www.charlotteobserver.com/2012/11/02/3639812/mcalpine-park-to-close-for-2-years.html
-
boathouse restaurant breach inlet
Queens University of Charlotte - 2011 Royal Cross Country Challenge
Oct 10, 2011 . McAlpine Creek Park, Charlotte, NC - The long time home of the Footlocker High School Southeast Championships, McAlpine is a flat, firm and .
http://www.queensathletics.com/sports/2011/10/10/MXC_1010115844.aspx?path=mcross
-
journal topics for mp3
Trails Near Mcalpine Creek Greenway Park - Mecklenburg County, NC
Trails in Matthews, NC - Hiking - 7 miles long. McAlpine Creek Greenway Loop This route begins at McAlpine Creek Park, Charlotte's first official green space, .
http://www.trails.com/trail-mcalpine-creek-greenway-park-1001325.html
-
ghost whisperer full epsodes
McAlpine Ridge Apartments Apartments for Rent - Charlotte, NC ...
McAlpine Ridge Apartments Apartments in Charlotte, NC - At McAlpine Ridge, we . style swimming pool, as well as private entry into McAlpine Greenway Park.
http://www.apartmentfinder.com/North-Carolina/Charlotte-Apartments/McAlpine-Ridge-Apartments
-
mountian states affordable housing
McAlpine Park NC Boys' All-Time Top 100 Performers --
McAlpine Creek Park N.C. Boys' . Mark Blackmon, West Charlotte, 15:01.0, 2011 , FootLocker . James McAlister, Charlotte, NC, 15:15.0, 2011, FootLocker .
http://ncpreptrack.net/McAlpineNCTop100boys.html
-
surviving antifreeze poisoning and residual complications
Charlotte Branch Office: Locations of Erie Insurance Offices
Physical Address: McAlpine Business Park 8514 McAlpine Park Drive, Suite 135. Charlotte, NC 28211-6283. Mailing Address: Charlotte Branch Office P. O. Box .
http://www.erieinsurance.com/about/charlotte.aspx


| News Follow our blog or twitter for updates |
| 02/21/2016: Android app v3.2.5 released We have released v3.2.5 of the android app at Google Play. Check it out for your mobile reading needs. |
| 01/31/2016: Queued up alert email en route… Portion of email alerts from the past day had been delayed but are currently being re-delivered. |
| 01/30/2016: Android app reading issue fixed.. A temporary issue with android app story reading page showing retry errors has been resolved. |
| 01/16/2016: Display issue resolved Display issues as result of syncing issues have been resolved. We are actively monitoring all areas for any more post-network outage side-effects. |
| 01/16/2016: Display Issues. In progress… We are experiencing a temporary issue with display listing and/or showing empty listings due to syncing issues as result of our earlier network outage. We are working to resolve this issue. |
| 01/16/2016: Network Issue Resolved After some quick handy work by our network team, we were able to bypass failed networking equipment. Everything is now green and operational. |
| 01/16/2016: Network error: Fix in progress… We are currently experiencing a temporary network downtime due to a failed networking equipment. Please note a replacement fix is in progress and we expect everything to be back to normal within 2 hours. |
| 01/05/2016: Review Sync Issue We have resolved a review sync issue affecting a percentage of our users. Please note all un-synced reviews have been pushed and now visible. |
| 09/02/2015: Login issues and moving forward A cascading issue which resulted in login area problems for the last day has been resolved. We are currently reviewing all of our network, hardware, and software infrastructure to make sure that moving forward, these type of errors are not only fixed at their roots but add preventive measure to ensure they do not repeat. […] |
| 05/02/2015: Spam Cleanup Over the past 48 hours we have performed a massive cleanup of “Korean” advert spam within many categories and forums. The task was made more difficult as the spammers have found a way to bypass Gmail’s security to create tens of thousands of valid Gmail accounts purely for the purpose of spamming. Please help us […] |


anymore. He also started his habit of fasting for long periods of time (he would still do so ten years later, when he was a multi-millionaire). He occasionally used LSD, and became something of a laggard hippie. One of his best friends at Reed was Dan Kottke, who shared his interests in such philosophies.
The following year, in 1974, Steve desperately needed money, so he got a job at Atari. Atari was arguably the first video game company: it was created by Nolan Bushnell in 1972, and one of its ␣rst employees was Al Acorn, the inventor of Pong. Steve was hired although he would often call his co-workers names and smell pretty bad. That’s why he was soon moved to the night shift.


vignettes/d-variate-analysis.Rmd
d-variate-analysis.Rmd
The goal of this vignette is to introduce the functions that enable d-variate (for \(d \ge 2\)) QTL analysis for d traits that each univariately map to a shared region of the genome. One may then ask whether the d traits share a single, pleiotropic QTL. The alternative hypothesis is that there is more than one QTL giving rise to the phenotype-genotype associations.
is_inst <- function(pkg) {
nzchar(system.file(package = pkg))
}
qtl2_indic <- is_inst("qtl2")
We also load the qtl2
package with the library
command.
qtl2data
repository on githubWe’ll consider the DOex
data in the qtl2data
repository. We’ll download the DOex.zip file before calculating founder allele dosages.
file <- paste0("https://raw.githubusercontent.com/rqtl/",
"qtl2data/master/DOex/DOex.zip")
DOex <- read_cross2(file)
Let’s calculate the founder allele dosages from the 36-state genotype probabilities.
probs <- calc_genoprob(DOex)
pr <- genoprob_to_alleleprob(probs)
We now have an allele probabilities object stored in pr
.
For our statistical model, we need a kinship matrix. Although we don’t have genome-wide data - since we have allele probabilities for only 3 chromosomes - let’s calculate a kinship matrix using “leave-one-chromosome-out”. In practice, one would want to use allele probabilities from a full genome-wide set of markers.
calc_kinship(probs = pr, type = "loco") -> kinship
qtl2pleio::sim1
The function to simulate phenotypes in qtl2pleio
is sim1
. By examining its help page, we see that it takes five arguments. The help page also gives the dimensions of the inputs.
# set up the design matrix, X
pp <- pr[[2]] #we'll work with Chr 3's genotype data
dim(pp)
## [1] 261 8 102
We prepare a block-diagonal design matrix X that contains two nonzero blocks on the diagonal, one for each trait. We use here a function from the gemma2
R package to set up the needed matrix.
#Next, we prepare a design matrix X
X <- gemma2::stagger_mats(pp[ , , 50], pp[ , , 50], pp[ , , 50])
dim(X)
## [1] 783 24
\(X\) is a block-diagonal matrix, with 3 diagonal blocks of equal dimension.
# assemble B matrix of allele effects
B <- matrix(data = rep(rep(c(-1, 1), each = 4), times = 3), nrow = 8, ncol = 3, byrow = FALSE)
# verify that B is what we want:
B
## [,1] [,2] [,3]
## [1,] -1 -1 -1
## [2,] -1 -1 -1
## [3,] -1 -1 -1
## [4,] -1 -1 -1
## [5,] 1 1 1
## [6,] 1 1 1
## [7,] 1 1 1
## [8,] 1 1 1
# set.seed to ensure reproducibility
set.seed(2018-01-30)
Sigma <- calc_Sigma(Vg = diag(3), Ve = diag(3), kinship = kinship[[2]])
# call to sim1
Ypre <- sim1(X = X, B = B, Sigma = Sigma)
Y <- matrix(Ypre, nrow = 261, ncol = 3, byrow = FALSE)
rownames(Y) <- rownames(pp)
colnames(Y) <- c("tr1", "tr2", "tr3")
Let’s perform univariate QTL mapping for each trait (ie, each column) in the Y matrix.
s1 <- scan1(genoprobs = pr, pheno = Y, kinship = kinship)
Here is a plot of the results.
plot(s1, DOex$pmap$`3`)
plot(s1, DOex$pmap$`3`, lod = 2, col ="violetred", add=TRUE)
plot(s1, DOex$pmap$`3`, lod = 3, col ="green", add=TRUE)
legend("topleft", colnames(s1), lwd = 2, col=c("darkslateblue", "violetred", "green"), bg="gray92")
find_peaks(s1, map = DOex$pmap, threshold = 8)
## lodindex lodcolumn chr pos lod
## 1 1 tr1 3 82.77806 20.02891
## 2 2 tr2 3 82.77806 18.26619
## 3 3 tr3 3 82.77806 22.29926
We now have the inputs that we need to do a pleiotropy vs. separate QTL test. We have the founder allele dosages for one chromosome, i.e., Chr 3, in the R object pp
, the matrix of two trait measurements in Y
, and a LOCO-derived kinship matrix. We also specify, via the start_snp
argument, the starting point for the two-dimensional scan within the array of founder allele dosages. Here, we choose the 38th marker in the array as the starting point. Via the n_snp
argument, we specify the number of markers to include in the two-dimensional scan. Here, we input 15, so that we fit the trivariate linear mixed effects model at 151515 = 3375 ordered triples of markers. In practice, we usually use between 100 and 300 markers for most bivariate scans.
Lastly, we specify the number of cores to use, with the n_cores
argument. We set it to 1 here, to ensure that the vignette can be run by CRAN. However, in practice, you may wish to increase the number of cores to accelerate computing.
start_index <- 43
out <- scan_pvl(probs = pp,
pheno = Y,
kinship = kinship$`3`,
start_snp = start_index,
n_snp = 15, cores = parallelly::availableCores()
)
## starting covariance matrices estimation with data from 261 subjects.
## covariance matrices estimation completed.
To visualize results from our two-dimensional scan, we calculate profile LOD for each trait. The code below makes use of the R package ggplot2
to plot profile LODs over the scan region.
out
## # A tibble: 3,375 x 4
## Var1 Var2 Var3 log10lik
## <chr> <chr> <chr> <dbl>
## 1 backupUNC030474070 backupUNC030474070 backupUNC030474070 -558.
## 2 backupUNC030474244 backupUNC030474070 backupUNC030474070 -558.
## 3 UNC030103315 backupUNC030474070 backupUNC030474070 -558.
## 4 UNC030107226 backupUNC030474070 backupUNC030474070 -557.
## 5 JAX00527615 backupUNC030474070 backupUNC030474070 -557.
## 6 UNC030484421 backupUNC030474070 backupUNC030474070 -557.
## 7 JAX00109598 backupUNC030474070 backupUNC030474070 -556.
## 8 backupUNC030619800 backupUNC030474070 backupUNC030474070 -556.
## 9 UNC030314351 backupUNC030474070 backupUNC030474070 -557.
## 10 backupUNC030491543 backupUNC030474070 backupUNC030474070 -558.
## # … with 3,365 more rows
We see that out
is a tibble, as expected. The first three columns contain the marker ids for each ordered triple of markers. The last column contains the log-likelihood values.
## Warning: replacing previous import 'vctrs::data_frame' by 'tibble::data_frame'
## when loading 'dplyr'
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
out_lods <- out %>%
calc_profile_lods() %>%
add_pmap(pmap = DOex$pmap$`3`)
## Joining, by = "marker"
We use the function calc_lrt_tib
to calculate the likelihood ratio test statistic value for the specified traits and specified genomic region.
(lrt <- max(out_lods$profile_lod))
## [1] 0
The calibration of test statistic values to get p-values uses bootstrap methods because we don’t know the theoretical distribution of the test statistic under the null hypothesis. Thus, we use a bootstrap approach to obtain an empirical distribution of test statistic values under the null hypothesis of the presence of one pleiotropic locus.
We will use the function boot_pvl
from our package qtl2pleio
.
We use a parametric bootstrap strategy in which we first use the studied phenotypes to infer the values of model parameters. Once we have the inferred values of the model parameters, we simulate phenotypes from the pleiotropy model (with the inferred parameter values).
A natural question that arises is “which marker’s allele probabilities do we use when simulating phenotypes?” We use the marker that, under the null hypothesis, i.e., under the pleiotropy constraint, yields the greatest value of the log-likelihood.
Before we call boot_pvl
, we need to identify the index (on the chromosome under study) of the marker that maximizes the likelihood under the pleiotropy constraint. To do this, we use the qtl2pleio
function find_pleio_peak_tib
.
(pleio_index <- find_pleio_peak_tib(out, start_snp = start_index))
## log10lik8
## 50
set.seed(2018 - 11 - 25)
suppressMessages(b_out <- boot_pvl(probs = pp,
pheno = Y,
pleio_peak_index = pleio_index,
kinship = kinship$`3`,
nboot = 2,
start_snp = start_index,
n_snp = 15, cores = parallelly::availableCores()
)
)
The argument nboot
indicates the number of bootstrap samples that will be created and analyzed. Here, we set nboot = 2
, so we expect to see returned a numeric vector of length 2, where each entry is a LRT statistic value from a distinct bootstrap sample.
Finally, we determine a bootstrap p-value in the usual method. We treat the bootstrap samples’ test statistics as an empirical distribution of the test statistic under the null hypothesis of pleiotropy. Thus, to get a p-value, we want to ask “What is the probability, under the null hypothesis, of observing a test statistic value that is at least as extreme as that which we observed?”
b_out
## [1] 0 0
(pvalue <- mean(b_out >= lrt))
## [1] 1
In practice, one would want to use many more bootstrap samples to achieve an empirical distribution that is closer to the theoretical distribution of the test statistic under the null hypothesis.
However, if one wants to perform analyses with a reasonable number - say 400 - bootstrap samples, this will take a very long time - many days - on a single laptop computer. We have used a series of computer clusters that are coordinated by the University of Wisconsin-Madison’s Center for High-throughput Computing (http://chtc.cs.wisc.edu). We typically are able to analyze 1000 bootstrap samples - for a bivariate analysis - in less than 24 hours with this service.
devtools::session_info()
## Error in get(genname, envir = envir) : object 'testthat_print' not found
## ─ Session info ───────────────────────────────────────────────────────────────
## setting value
## version R version 4.0.3 (2020-10-10)
## os Ubuntu 20.10
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz America/New_York
## date 2021-02-05
##
## ─ Packages ───────────────────────────────────────────────────────────────────
## package * version date lib source
## assertthat 0.2.1 2019-03-21 [2] CRAN (R 4.0.1)
## bit 1.1-15.2 2020-02-10 [2] CRAN (R 4.0.1)
## bit64 0.9-7.1 2020-07-15 [2] CRAN (R 4.0.2)
## blob 1.2.1 2020-01-20 [2] CRAN (R 4.0.1)
## cachem 1.0.3 2021-02-04 [2] CRAN (R 4.0.3)
## callr 3.5.1 2020-10-13 [2] CRAN (R 4.0.3)
## cli 2.3.0 2021-01-31 [2] CRAN (R 4.0.3)
## colorspace 1.4-1 2019-03-18 [2] CRAN (R 4.0.1)
## crayon 1.4.0 2021-01-30 [2] CRAN (R 4.0.3)
## data.table 1.12.8 2019-12-09 [2] CRAN (R 4.0.1)
## DBI 1.1.0 2019-12-15 [2] CRAN (R 4.0.1)
## desc 1.2.0 2018-05-01 [2] CRAN (R 4.0.1)
## devtools 2.3.0 2020-04-10 [2] CRAN (R 4.0.1)
## digest 0.6.27 2020-10-24 [2] CRAN (R 4.0.3)
## dplyr * 1.0.0 2020-05-29 [2] CRAN (R 4.0.1)
## ellipsis 0.3.1 2020-05-15 [2] CRAN (R 4.0.1)
## evaluate 0.14 2019-05-28 [2] CRAN (R 4.0.1)
## fansi 0.4.2 2021-01-15 [2] CRAN (R 4.0.3)
## farver 2.0.3 2020-01-16 [2] CRAN (R 4.0.1)
## fastmap 1.1.0 2021-01-25 [2] CRAN (R 4.0.3)
## fs 1.5.0 2020-07-31 [2] CRAN (R 4.0.3)
## gemma2 0.1.1 2019-10-01 [2] CRAN (R 4.0.2)
## generics 0.0.2 2018-11-29 [2] CRAN (R 4.0.1)
## ggplot2 * 3.3.2 2020-06-19 [2] CRAN (R 4.0.1)
## glue 1.4.2 2020-08-27 [2] CRAN (R 4.0.3)
## gtable 0.3.0 2019-03-25 [2] CRAN (R 4.0.1)
## highr 0.8 2019-03-20 [2] CRAN (R 4.0.1)
## htmltools <IP_ADDRESS> 2021-01-22 [2] CRAN (R 4.0.3)
## jsonlite 1.7.2 2020-12-09 [2] CRAN (R 4.0.3)
## knitr 1.31 2021-01-27 [2] CRAN (R 4.0.3)
## labeling 0.3 2014-08-23 [2] CRAN (R 4.0.1)
## lattice 0.20-41 2020-04-02 [5] CRAN (R 4.0.0)
## lifecycle 0.2.0 2020-03-06 [2] CRAN (R 4.0.1)
## magrittr 2.0.1 2020-11-17 [2] CRAN (R 4.0.3)
## MASS 7.3-53 2020-09-09 [5] CRAN (R 4.0.2)
## Matrix 1.2-18 2019-11-27 [5] CRAN (R 4.0.0)
## memoise 2.0.0 2021-01-26 [2] CRAN (R 4.0.3)
## munsell 0.5.0 2018-06-12 [2] CRAN (R 4.0.1)
## parallelly 1.23.0 2021-01-04 [2] CRAN (R 4.0.3)
## pillar 1.4.7 2020-11-20 [2] CRAN (R 4.0.3)
## pkgbuild 1.0.8 2020-05-07 [2] CRAN (R 4.0.1)
## pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.0.1)
## pkgdown <IP_ADDRESS>00 2021-02-05 [2] Github (r-lib/pkgdown@c931fe2)
## pkgload 1.1.0 2020-05-29 [2] CRAN (R 4.0.1)
## prettyunits 1.1.1 2020-01-24 [2] CRAN (R 4.0.1)
## processx 3.4.5 2020-11-30 [2] CRAN (R 4.0.3)
## ps 1.5.0 2020-12-05 [2] CRAN (R 4.0.3)
## purrr 0.3.4 2020-04-17 [2] CRAN (R 4.0.1)
## qtl2 * 0.22 2020-06-19 [2] local
## qtl2pleio * <IP_ADDRESS>00 2021-02-06 [1] local
## R6 2.5.0 2020-10-28 [2] CRAN (R 4.0.3)
## ragg 0.4.1 2021-01-11 [2] CRAN (R 4.0.3)
## Rcpp 1.0.5 2020-07-06 [2] CRAN (R 4.0.2)
## remotes 2.1.1 2020-02-15 [2] CRAN (R 4.0.1)
## rlang 0.4.10 2020-12-30 [2] CRAN (R 4.0.3)
## rmarkdown 2.6 2020-12-14 [2] CRAN (R 4.0.3)
## rprojroot 2.0.2 2020-11-15 [2] CRAN (R 4.0.3)
## RSQLite 2.2.0 2020-01-07 [2] CRAN (R 4.0.1)
## scales 1.1.1 2020-05-11 [2] CRAN (R 4.0.1)
## sessioninfo 1.1.1 2018-11-05 [2] CRAN (R 4.0.1)
## stringi 1.5.3 2020-09-09 [2] CRAN (R 4.0.3)
## stringr 1.4.0 2019-02-10 [2] CRAN (R 4.0.1)
## systemfonts 1.0.0 2021-02-01 [2] CRAN (R 4.0.3)
## testthat 2.3.2 2020-03-02 [2] CRAN (R 4.0.1)
## textshaping 0.2.1 2020-11-13 [2] CRAN (R 4.0.3)
## tibble 3.0.6 2021-01-29 [2] CRAN (R 4.0.3)
## tidyselect 1.1.0 2020-05-11 [2] CRAN (R 4.0.1)
## usethis 1.6.1 2020-04-29 [2] CRAN (R 4.0.1)
## utf8 1.1.4 2018-05-24 [2] CRAN (R 4.0.1)
## vctrs 0.3.6 2020-12-17 [2] CRAN (R 4.0.3)
## withr 2.4.1 2021-01-26 [2] CRAN (R 4.0.3)
## xfun 0.20 2021-01-06 [2] CRAN (R 4.0.3)
## yaml 2.2.1 2020-02-01 [2] CRAN (R 4.0.1)
##
## [1] /tmp/RtmpIdsHR7/temp_libpath34c447b516bd7
## [2] /home/fred/R/x86_64-pc-linux-gnu-library/4.0
## [3] /usr/local/lib/R/site-library
## [4] /usr/lib/R/site-library
## [5] /usr/lib/R/library