Peter Rabbit and Other Stories
by Beatrix Potter
“The Tale of Mr. Tod”
Additional Information
- Year Published: 0
- Language: English
- Country of Origin: England
- Source: Beatrix Potter, The Great Big Treasury of Beatrix Potter
-
Readability:
- Flesch–Kincaid Level: 4.0
- Word Count: 5,050
- Genre: Fantasy
- ✎ Cite This
Downloads
I have made many books about well-behaved people. Now, for a change, I am going to make a story about two disagreeable people, called Tommy Brock and Mr. Tod.
Nobody could call Mr. Tod “nice.” The rabbits could not bear him; they could smell him half a mile off. He was of a wandering habit and he had foxy whiskers; they never knew where he would be next.
One day he was living in a stick-house in the coppice [grove], causing terror to the family of old Mr. Benjamin Bouncer. Next day he moved into a pollard willow near the lake, frightening the wild ducks and the water rats.
In winter and early spring he might generally be found in an earth amongst the rocks at the top of Bull Banks, under Oatmeal Crag.
He had half a dozen houses, but he was seldom at home.
The houses were not always empty when Mr. Tod moved OUT; because sometimes Tommy Brock moved IN; (without asking leave).
 He was not nice in his habits. He ate wasp nests and frogs and worms; and he waddled about by moonlight, digging things up.
His clothes were very dirty; and as he slept in the daytime, he always went to bed in his boots. And the bed, which he went to bed in was generally Mr. Tod’s.
Now Tommy Brock did occasionally eat rabbit pie; but it was only very little young ones occasionally, when other food was really scarce. He was friendly with old Mr. Bouncer; they agreed in disliking the wicked otters and Mr. Tod; they often talked over that painful subject.
Old Mr. Bouncer was stricken in years. He sat in the spring sunshine outside the burrow, in a muffler; smoking a pipe of rabbit tobacco.
He lived with his son Benjamin Bunny and his daughter-in-law Flopsy, who had a young family. Old Mr. Bouncer was in charge of the family that afternoon, because Benjamin and Flopsy had gone out.
The little rabbit babies were just old enough to open their blue eyes and kick. They lay in a fluffy bed of rabbit wool and hay, in a shallow burrow, separate from the main rabbit hole. To tell the truth—old Mr. Bouncer had forgotten them.
He sat in the sun, and conversed cordially with Tommy Brock, who was passing through the wood with a sack and a little spud which he used for digging, and some mole traps. He complained bitterly about the scarcity of pheasants’ eggs, and accused Mr. Tod of poaching them. And the otters had cleared off all the frogs while he was asleep in winter—“I have not had a good square meal for a fort-night, I am living on pig-nuts. I shall have to turn vegetarian and eat my own tail!” said Tommy Brock.
It was not much of a joke, but it tickled old Mr. Bouncer; because Tommy Brock was so fat and stumpy and grinning.
So old Mr. Bouncer laughed; and pressed Tommy Brock to come inside, to taste a slice of seed cake and “a glass of my daughter Flopsy’s cowslip wine.” Tommy Brock squeezed himself into the rabbit hole with alacrity.
Then old Mr. Bouncer smoked another pipe, and gave Tommy Brock a cabbage leaf cigar which was so very strong that it made Tommy Brock grin more than ever; and the smoke filled the burrow. Old Mr. Bouncer coughed and laughed; and Tommy Brock puffed and grinned.

When Flopsy and Benjamin came back old Mr. Bouncer woke up. Tommy Brock and all the young rabbit babies had disappeared!
Mr. Bouncer would not confess that he had admitted anybody into the rabbit hole. But the smell of badger was undeniable; and there were round heavy footmarks in the sand. He was in disgrace; Flopsy wrung her ears, and slapped him.
Benjamin Bunny set off at once after Tommy Brock.
There was not much difficulty in tracking him; he had left his foot-mark and gone slowly up the winding footpath through the wood. Here he had rooted up the moss and wood sorrel. There he had dug quite a deep hole for dog darnel; and had set a mole trap. A little stream crossed the way. Benjamin skipped lightly over dry-foot; the badger’s heavy steps showed plainly in the mud.
The path led to a part of the thicket where the trees had been cleared; there were leafy oak stumps, and a sea of blue hyacinths —but the smell that made Benjamin stop was NOT the smell of flowers!
Mr. Tod’s stick house was before him; and, for once, Mr. Tod was at home. There was not only a foxy flavor in proof of it—there was smoke coming out of the broken pail that served as a chimney.
Benjamin Bunny sat up, staring, his whiskers twitched. Inside the stick house somebody dropped a plate, and said something. Benjamin stamped his foot, and bolted.
He never stopped till he came to the other side of the wood. Apparently Tommy Brock had turned the same way. Upon the top of the wall there were again the marks of
badger; and some ravellings of a sack had caught on a briar.
Benjamin climbed over the wall, into a meadow. He found another mole trap newly set; he was still upon the track of Tommy Brock. It was getting late in the afternoon. Other rabbits were coming out to enjoy the evening air. One of them in a blue coat, by himself, was busily hunting for dandelions.— “Cousin Peter! Peter Rabbit, Peter Rabbit!” shouted Benjamin Bunny.
The blue-coated rabbit sat up with pricked ears—“Whatever is the matter, Cousin Benjamin? Is it a cat? Or John Stoat Ferret?”
“No, no, no! He’s bagged my family—Tommy Brock—in a sack —have you seen him?”
“Tommy Brock? how many, Cousin Benjamin?”
“Seven, Cousin Peter, and all of them twins! Did he come this way? Please tell me quick!”
“Yes, yes; not ten minutes since ... he said they were CATERPILLARS; I did think they were kicking rather hard, for caterpillars.”
“Which way? which way has he gone, Cousin Peter?”
“He had a sack with something live in it; I watched him set a mole trap. Let me use my mind, Cousin Benjamin; tell me from the beginning,” Benjamin did so.
“My Uncle Bouncer has displayed a lamentable want of discretion for his years;” said Peter reflectively, “but there are two hopeful circumstances. Your family is alive and kicking; and Tommy Brock has had refreshments. He will probably go to sleep, and keep them for breakfast.”
“Which way?”
“Cousin Benjamin, compose yourself. I know very well which way. Because Mr. Tod was at home in the stick house he has gone to Mr. Tod’s other house, at the top of Bull Banks. I partly know, because he offered to leave any message at Sister Cottontail’s; he said he would be passing.” (Cottontail had married a black rabbit, and gone to live on the hill.)
Peter hid his dandelions, and accompanied the afflicted parent, who was all of atwitter. They crossed several fields and began to climb the hill; the tracks of Tommy Brock were plainly to be seen. He seemed to have put down the sack every dozen yards, to rest.
“He must be very puffed; we are close behind him, by the scent. What a nasty person!” said Peter.
The sunshine was still warm and slanting on the hill pastures.
Cottontail had seen Tommy Brock passing in the distance. Asked whether her husband was at home she replied that Tommy Brock had rested twice while she watched him.
He had nodded, and pointed to the sack, and seemed doubled up with laughing.—“Come away, Peter; he will be cooking them; come quicker!” said Benjamin Bunny.
They climbed up and up;—“He was at home; I saw his black ears peeping out of the hole.”
“They live too near the rocks to quarrel with their neighbors. Come on, Cousin Benjamin!”
When they came near the wood at the top of Bull Banks, they went cautiously. The trees grew amongst heaped up rocks; and there, beneath a crag, Mr. Tod had made one of his homes. It was at the top of a steep bank; the rocks and bushes overhung it. The rabbits crept up carefully, listening and peeping.
This house was something between a cave, a prison, and a tumbledown pigsty. There was a strong door, which was shut and locked.
The setting sun made the window panes glow like red flame; but the kitchen fire was not alight. It was neatly laid with dry sticks, as the rabbits could see, when they peeped through the window.
Benjamin sighed with relief.
But there were preparations upon the kitchen table which made him shudder. There was an immense empty pie dish of blue willow pattern, and a large carving knife and fork, and a chopper.
At the other end of the table was a partly unfolded tablecloth, a plate, a tumbler, a knife and fork, saltcellar, mustard and a chair— in short, preparations for one person’s supper.
No person was to be seen, and no young rabbits. The kitchen was empty and silent; the clock had run down. Peter and Benjamin flattened their noses against the window, and stared into the dusk.
Then they scrambled round the rocks to the other side of the house. It was damp and smelly, and over-grown with thorns and briars.
The rabbits shivered in their shoes.
“Oh my poor rabbit babies! What a dreadful place; I shall never see them again!” sighed Benjamin.
They crept up to the bedroom window. It was closed and bolted like the kitchen. But there were signs that this window had been recently open; the cobwebs were disturbed, and there were fresh dirty footmarks upon the windowsill.
The room inside was so dark that at first they could make out nothing; but they could hear a noise—a slow deep regular snoring grunt. And as their eyes became accustomed to the darkness, they perceived that somebody was asleep on Mr. Tod’s bed, curled up under the blanket.—“He has gone to bed in his boots,” whispered Peter.
Benjamin, who was all of atwitter, pulled Peter off the windowsill.
Tommy Brock’s snores continued, grunty and regular from Mr. Tod’s bed. Nothing could be seen of the young family.
The sun had set; an owl began to hoot in the wood. There were many unpleasant things lying about that had much better have been buried; rabbit bones and skulls, and chickens’ legs and other horrors. It was a shocking place, and very dark.
They went back to the front of the house, and tried in every way to move the bolt of the kitchen window. They tried to push up a rusty nail between the window sashes; but it was of no use, especially without a light.
They sat side by side outside the window, whispering and listening.
In half an hour the moon rose over the wood. It shone full and clear and cold, upon the house, amongst the rocks, and in at the kitchen window.  The moonbeams twinkled on the carving knife and the pie dish, and made a path of brightness across the dirty floor.

And presently at the same moment Peter and Benjamin noticed that whenever they shook the window the little door opposite shook in answer. The young family were alive; shut up in the oven!
Benjamin was so excited that it was a mercy he did not awake Tommy Brock, whose snores continued solemnly in Mr. Tod’s bed.
But there really was not very much comfort in the discovery. They could not open the window; and although the young family was alive the little rabbits were quite incapable of letting themselves out; they were not old enough to crawl.
After much whispering, Peter and Benjamin decided to dig a tunnel. They began to burrow a yard or two lower down the bank. They hoped that they might be able to work between the large stones under the house; the kitchen floor was so dirty that it was impossible to say whether it was made of earth or flags.
They dug and dug for hours. They could not tunnel straight on account of stones; but by the end of the night they were under the kitchen floor. Benjamin was on his back scratching upwards. Peter’s claws were worn down; he was outside the tunnel, shuffling sand away. He called out that it was morning—sunrise; and that the jays were making a noise down below in the woods.
Benjamin Bunny came out of the dark tunnel shaking the sand from his ears; he cleaned his face with his paws. Every minute the sun shone warmer on the top of the hill. In the valley there was a sea of white mist, with golden tops of trees showing through.
Again from the fields down below in the mist there came the angry cry of a jay, followed by the sharp yelping bark of a fox!
Then those two rabbits lost their heads completely. They did the most foolish thing that they could have done. They rushed into their short new tunnel, and hid themselves at the top end of it, under Mr. Tod’s kitchen floor.
Mr. Tod was coming up Bull Banks, and he was in the very worst of tempers. First he had been upset by breaking the plate. It was his own fault; but it was a china plate, the last of the dinner service that had belonged to his grandmother, old Vixen Tod. Then the midges had been very bad. And he had failed to catch a hen pheasant on her nest; and it had contained only five eggs, two of them addled. Mr. Tod had had an unsatisfactory night.
As usual, when out of humor, he determined to move house. First he tried the pollard willow, but it was damp; and the otters had left a dead fish near it. Mr. Tod likes nobody’s leavings but his own.
He made his way up the hill; his temper was not improved by noticing unmistakable marks of badger. No one else grubs up the moss so wantonly as Tommy Brock.
Mr. Tod slapped his stick upon the earth and fumed; he guessed where Tommy Brock had gone to. He was further annoyed by the jay bird, which followed him persistently. It flew from tree to tree and scolded, warning every rabbit within hearing that either a cat or a fox was coming up the plantation. Once when it flew screaming over his head Mr. Tod snapped at it, and barked.
He approached his house very carefully, with a large rusty key. He sniffed and his whiskers bristled.
The house was locked up, but Mr. Tod had his doubts whether it was empty. He turned the rusty key in the lock; the rabbits below could hear it. Mr. Tod opened the door cautiously and went in.
The sight that met Mr. Tod’s eyes in Mr. Tod’s kitchen made Mr. Tod furious. There was Mr. Tod’s chair, and Mr. Tod’s pie dish, and his knife and fork and mustard and salt cellar, and his tablecloth, that he had left folded up in the dresser —all set out for supper (or breakfast) —without doubt for that odious Tommy Brock.

He peeped through the hinges of the half-open bedroom door. Then he turned and came out of the house in a hurry. His whiskers bristled and his coat collar stood on end with rage.
For the next twenty minutes Mr. Tod kept creeping cautiously into the house, and retreating hurriedly out again. By degrees he ventured further in—right into the bed-room. When he was outside the house, he scratched up the earth with fury. But when he was inside —he did not like the look of Tommy Brock’s teeth.
 He snored peacefully and regularly; but one eye was not perfectly shut.
Mr. Tod came in and out of the bedroom. Twice he brought in his walking stick, and once he brought in the coalscuttle. But he thought better of it, and took them away.
When he came back after removing the coalscuttle, Tommy Brock was lying a little more sideways; but he seemed even sounder asleep. He was an incurably indolent person; he was not in the least afraid of Mr. Tod; he was simply too lazy and comfortable to move.
Mr. Tod came back yet again into the bedroom with a clothes line. He stood a minute watching Tommy Brock and listening attentively to the snores. They were very loud indeed, but seemed quite natural.
Mr. Tod turned his back towards the bed, and undid the window. It creaked; he turned round with a jump. Tommy Brock, who had opened one eye—shut it hastily. The snores continued.
Mr. Tod’s proceedings were peculiar, and rather difficult (because the bed was between the window and the door of the bedroom). He opened the window a little way, and pushed out the greater part of the clothesline on to the window-sill. The rest of the line, with a hook at the end, remained in his hand.
Tommy Brock snored conscientiously. Mr. Tod stood and looked at him for a minute; then he left the room again.
Tommy Brock opened both eyes, and looked at the rope and grinned. There was a noise outside the window.
Mr. Tod had gone out at the front door, and round to the back of the house. On the way, he stumbled over the rabbit burrow. If he had had any idea who was inside it he would have pulled them out quickly.
His foot went through the tunnel nearly upon the top of Peter Rabbit and Benjamin; but, fortunately, he thought that it was some more of Tommy Brock’s work.
He took up the coil of line from the sill, listened for a moment, and then tied the rope to a tree.
Tommy Brock watched him with one eye, through the window. He was puzzled.
Mr. Tod fetched a large heavy pailful of water from the spring, and staggered with it through the kitchen into his bedroom.
Tommy Brock snored industriously, with rather a snort.
Mr. Tod put down the pail beside the bed, took up the end of rope with the hook—hesitated, and looked at Tommy Brock. The snores were almost apoplectic; but the grin was not quite so big.
Mr. Tod gingerly mounted a chair by the head of the bedstead. His legs were dangerously near to Tommy Brock’s teeth.
He reached up and put the end of rope, with the hook, over the head of the tester bed, where the curtains ought to hang.
(Mr. Tod’s curtains were folded up, and put away, owing to the house being unoccupied. So was the counterpane. Tommy Brock was covered with a blanket only.) Mr. Tod standing on the unsteady chair looked down upon him attentively; he really was a first prize sound sleeper!
It seemed as though nothing would waken him—not even the flapping rope across the bed.
Mr. Tod descended safely from the chair, and endeavored to get up again with the pail of water. He intended to hang it from the hook, dangling over the head of Tommy Brock, in order to make a sort of shower-bath, worked by a string, through the window.
But, naturally, being a thin-legged person (though vindictive and sandy whiskered)—he was quite unable to lift the heavy weight to the level of the hook and rope. He very nearly overbalanced himself.
The snores became more and more apoplectic. One of Tommy Brock’s hind legs twitched under the blanket, but still he slept on peacefully.
Mr. Tod and the pail descended from the chair without accident. After considerable thought, he emptied the water into a wash basin and jug. The empty pail was not too heavy for him; he slung it up wobbling over the head of Tommy Brock.
Surely there never was such a sleeper! Mr. Tod got up and down, down and up on the chair.
As he could not lift the whole pailful of water at once he fetched a milk jug and ladled quarts of water into the pail by degrees. The pail got fuller and fuller, and swung like a pendulum. Occasionally a drop splashed over; but still Tommy Brock snored regularly and never moved,—except in one eye.
At last Mr. Tod’s preparations were complete. The pail was full of water; the rope was tightly strained over the top of the bed, and across the windowsill to the tree outside.
“It will make a great mess in my bedroom; but I could never sleep in that bed again without a spring cleaning of some sort,” said Mr. Tod.
Mr. Tod took a last look at the badger and softly left the room. He went out of the house, shutting the front door. The rabbits heard his footsteps over the tunnel.
He ran round behind the house, intending to undo the rope in order to let fall the pailful of water upon Tommy Brock—
“I will wake him up with an unpleasant surprise,” said Mr. Tod.
The moment he had gone, Tommy Brock got up in a hurry; he rolled Mr. Tod’s dressing-gown into a bundle, put it into the bed beneath the pail of water instead of himself, and left the room also— grinning immensely.
He went into the kitchen, lighted the fire and boiled the kettle; for the moment he did not trouble himself to cook the baby rabbits.
When Mr. Tod got to the tree, he found that the weight and strain had dragged the knot so tight that it was past untying. He was obliged to gnaw it with his teeth. He chewed and gnawed for more than twenty minutes.
Inside the house there was a great crash and splash, and the noise of a pail rolling over and over.
But no screams. Mr. Tod was mystified; he sat quite still, and listened attentively. Then he peeped in at the window. The water was dripping from the bed, the pail had rolled into a corner.
In the middle of the bed, under the blanket, was a wet SOMETHING —much flattened in the middle, where the pail had caught it (as it were across the tummy). Its head was covered by the wet blanket, and it was NOT SNORING ANY LONGER.
There was nothing stirring, and no sound except the drip, drop, drop, drip, of water trickling from the mattress.
Mr. Tod watched it for half an hour; his eyes glistened.
Then he cut a caper, and became so bold that he even tapped at the window; but the bundle never moved.

“I will bury that nasty person in the hole, which he has dug. I will bring my bedding out, and dry it in the sun,” said Mr. Tod.
“I will wash the tablecloth and spread it on the grass in the sun to bleach. And the blanket must be hung up in the wind; and the bed must be thoroughly disinfected, and aired with a warming-pan; and warmed with a hot water bottle.”
“I will get soft soap, and monkey soap, and all sorts of soap; and soda and scrubbing brushes; and Persian powder; and carbolic to remove the smell. I must have a disinfecting. Perhaps I may have to burn sulphur.”
He hurried round the house to get a shovel from the kitchen— “First I will arrange the hole—then I will drag out that person in the blanket. . . .”
He opened the door. . . .
Tommy Brock was sitting at Mr. Tod’s kitchen table, pouring out tea from Mr. Tod’s teapot into Mr. Tod’s teacup. He was quite dry himself and grinning; and he threw the cup of scalding tea all over Mr. Tod.
Then Mr. Tod rushed upon Tommy Brock, and Tommy Brock grappled with Mr. Tod amongst the broken crockery, and there was a terrific battle all over the kitchen. To the rabbits underneath it sounded as if the floor would give way at each crash of falling furniture.
They crept out of their tunnel, and hung about amongst the rocks and bushes, listening anxiously.
Inside the house the racket was fearful.
Everything was upset except the kitchen table.
And everything was broken, except the mantelpiece and the kitchen fender. The crockery was smashed to atoms.
The chairs were broken, and the window, and the clock fell with a crash, and there were handfuls of Mr. Tod’s sandy whiskers.
 Tommy Brock put his foot in a jar of raspberry jam.
And the boiling water out of the kettle fell upon the tail of Mr. Tod.
When the kettle fell, Tommy Brock, who was still grinning, happened to be uppermost; and he rolled Mr. Tod over and over like a log, out at the door.
Then the snarling and worrying went on outside; and they rolled over the bank, and down hill, bumping over the rocks. There will never be any love lost between Tommy Brock and Mr. Tod.
As soon as the coast was clear, Peter Rabbit and Benjamin Bunny came out of the bushes.
“Now for it! Run in, Cousin Benjamin! Run in and get them! while I watch the door.”
But Benjamin was frightened—
“Oh; oh! They are coming back!”
“No they are not.”
“Yes they are!”
“What dreadful bad language! I think they have fallen down the stone quarry.”
Still Benjamin hesitated, and Peter kept pushing him—
“Be quick, it’s all right.
Decidedly there were lively doings in Mr. Tod’s kitchen!
At home in the rabbit hole, things had not been quite comfortable.
After quarreling at supper, Flopsy and old Mr. Bouncer had passed a sleepless night, and quarreled again at breakfast. Old Mr. Bouncer could no longer deny that he had invited company into the rabbit hole; but he refused to reply to the questions and reproaches of Flopsy. The day passed heavily.
Old Mr. Bouncer, very sulky, was huddled up in a corner, barricaded with a chair. Flopsy had taken away his pipe and hidden the tobacco. She had been having a complete turn out and spring cleaning, to relieve her feelings. She had just finished. Old Mr. Bouncer, behind his chair, was wondering anxiously what she would do next.
In Mr. Tod’s kitchen, amidst the wreckage, Benjamin Bunny picked his way to the oven nervously, through a thick cloud of dust. He opened the oven door, felt inside, and found something warm and wriggling. He lifted it out carefully, and rejoined Peter Rabbit.
“I’ve got them! Can we get away? Shall we hide, Cousin Peter?”
Peter pricked his ears; distant sounds of fighting still echoed in the wood.
Five minutes afterwards two breathless rabbits came scuttering away down Bull Banks, half carrying, half dragging a sack between them, bumpetty bump over the grass. They reached home safely, and burst into the rabbit hole.
Great was old Mr. Bouncer’s relief and Flopsy’s joy when Peter and Benjamin arrived in triumph with the young family. The rabbit babies were rather tumbled and very hungry; they were fed and put to bed. They soon recovered.
A new long pipe and a fresh supply of rabbit tobacco was presented to Mr. Bouncer. He was rather upon his dignity; but he accepted.
Old Mr. Bouncer was forgiven, and they all had dinner. Then Peter and Benjamin told their story—but they had not waited long enough to be able to tell the end of the battle between Tommy Brock and Mr. Tod.


vignettes/predict_moa_using_snf.Rmd
predict_moa_using_snf.Rmd
This vignette demonstrates predicting compound mechanism-of-action using morphological profiling data. The data is “cleaned up” using the similarity network fusion algorithm (SNF). This vignette bases on the vignette predict_moa
. See the vignette single_cell_analysis
for details about this dataset.
library(dplyr) library(magrittr) library(ggplot2) library(stringr) library(cytominergallery) library(SNFtool)
Per-well profiles computed in single_cell_analysis
are loaded, as well as metadata associated with these profiles (obtained from BBBC021). This is the same data as used in the vignette predict_moa
.
profiles <- readr::read_csv(system.file("extdata", "ljosa_jbiomolscreen_2013_per_well_mean.csv.gz", package = "cytominergallery")) moa <- readr::read_csv(system.file("extdata", "BBBC021_v1_moa.csv", package = "cytominergallery")) %>% rename(Image_Metadata_Compound = compound, Image_Metadata_Concentration = concentration, Image_Metadata_MoA = moa ) metadata <- readr::read_csv(system.file("extdata", "BBBC021_v1_image.csv.gz", package = "cytominergallery")) %>% rename(Image_Metadata_Plate = Image_Metadata_Plate_DAPI, Image_Metadata_Well = Image_Metadata_Well_DAPI ) %>% select(matches("^Image_Metadata")) %>% inner_join(moa) %>% distinct() profiles %<>% inner_join(metadata) variables <- colnames(profiles) %>% str_subset("^Nuclei_|^Cells_|^Cytoplasm_")
Next, lets filter the set of features based on various measures of quality
Remove features that have poor correlation across replicates. To do so, lets first compute the correlations.
doParallel::registerDoParallel(cores = 4) feature_replicate_correlations <- profiles %>% cytominer::variable_importance( variables = variables, strata = c("Image_Metadata_Compound", "Image_Metadata_Concentration"), replicates = 3, cores = 2)
Similar to the predict_moa
vignette, we select a threshold and remove features that have a replicate correlation lower than that threshold.
profiles %<>% select_(.dots = setdiff(x = colnames(profiles), y = feature_replicate_correlations %>% filter(median < 0.5) %>% magrittr::extract2("variable")) )
## Warning: select_() is deprecated.
## Please use select() instead
##
## The 'programming' vignette or the tidyeval book can help you
## to program with select() : https://tidyeval.tidyverse.org
## This warning is displayed once per session.
variables <- colnames(profiles) %>% str_subset("^Nuclei_|^Cells_|^Cytoplasm_")
Filter based on correlation between features, similar to predict_moa
.
profiles <- cytominer::variable_select( population = profiles, variables = variables, sample = profiles, operation = "correlation_threshold", cutoff = 0.95) %>% collect()
## INFO [2020-04-30 00:17:32] excluded:
## INFO [2020-04-30 00:17:32] Cells_AreaShape_MaximumRadius
## INFO [2020-04-30 00:17:32] Cells_AreaShape_MeanRadius
## INFO [2020-04-30 00:17:32] Cells_AreaShape_MedianRadius
## INFO [2020-04-30 00:17:32] Cells_AreaShape_MinFeretDiameter
## INFO [2020-04-30 00:17:32] Cells_AreaShape_MinorAxisLength
## INFO [2020-04-30 00:17:32] Cells_Intensity_MaxIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_MaxIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Intensity_MeanIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Intensity_MeanIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_MeanIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Intensity_MedianIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_MedianIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Intensity_MinIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_StdIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_StdIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Intensity_StdIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_StdIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Intensity_UpperQuartileIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cells_Intensity_UpperQuartileIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cells_Neighbors_NumberOfNeighbors_3
## INFO [2020-04-30 00:17:32] Cells_Texture_SumVariance_CorrActin_3_0
## INFO [2020-04-30 00:17:32] Cells_Texture_Variance_CorrActin_10_0
## INFO [2020-04-30 00:17:32] Cells_Texture_Variance_CorrActin_3_0
## INFO [2020-04-30 00:17:32] Cells_Texture_Variance_CorrTub_10_0
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_Area
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MajorAxisLength
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MaxFeretDiameter
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MaximumRadius
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MeanRadius
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MedianRadius
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MinFeretDiameter
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_MinorAxisLength
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_Solidity
## INFO [2020-04-30 00:17:32] Cytoplasm_AreaShape_Zernike_0_0
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_IntegratedIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_IntegratedIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_IntegratedIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MADIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MADIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MassDisplacement_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MassDisplacement_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MaxIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MaxIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MaxIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MeanIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MeanIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MeanIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MeanIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MedianIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MedianIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MinIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MinIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MinIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_MinIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_StdIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_StdIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_StdIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_StdIntensity_CorrTub
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_UpperQuartileIntensity_CorrActin
## INFO [2020-04-30 00:17:32] Cytoplasm_Intensity_UpperQuartileIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_DifferenceEntropy_CorrActin_3_0
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_DifferenceVariance_CorrTub_10_0
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_DifferenceVariance_CorrTub_3_0
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_InfoMeas2_CorrActin_3_0
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_SumAverage_CorrTub_3_0
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_Variance_CorrTub_10_0
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_MajorAxisLength
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_MaxFeretDiameter
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_MeanRadius
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_MinorAxisLength
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Perimeter
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_3_3
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_4_4
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_5_3
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_6_6
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_7_3
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_7_5
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_7_7
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_9_7
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_9_9
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_IntegratedIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_IntegratedIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_IntegratedIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_IntegratedIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_LowerQuartileIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_LowerQuartileIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MADIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MADIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MaxIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MaxIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MaxIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MaxIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MeanIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MeanIntensityEdge_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MeanIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MeanIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MeanIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MeanIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MedianIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MedianIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MedianIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MinIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MinIntensityEdge_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MinIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MinIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MinIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_StdIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_StdIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_StdIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_StdIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_UpperQuartileIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_UpperQuartileIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_UpperQuartileIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Nuclei_Neighbors_PercentTouching_10
## INFO [2020-04-30 00:17:33] Nuclei_Texture_InfoMeas2_CorrDAPI_3_0
## INFO [2020-04-30 00:17:33] Nuclei_Texture_Variance_CorrDAPI_3_0
## INFO [2020-04-30 00:17:33] Cells_AreaShape_Area
## INFO [2020-04-30 00:17:33] Cells_AreaShape_MajorAxisLength
## INFO [2020-04-30 00:17:33] Cells_AreaShape_MaxFeretDiameter
## INFO [2020-04-30 00:17:33] Cells_Intensity_LowerQuartileIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Cells_Intensity_MADIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Cells_Intensity_MaxIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:33] Cells_Intensity_MinIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:33] Cells_Intensity_MADIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Cells_Neighbors_AngleBetweenNeighbors_10
## INFO [2020-04-30 00:17:33] Cells_Neighbors_FirstClosestDistance_10
## INFO [2020-04-30 00:17:33] Cells_Neighbors_NumberOfNeighbors_10
## INFO [2020-04-30 00:17:33] Cells_Neighbors_SecondClosestDistance_10
## INFO [2020-04-30 00:17:33] Cells_Texture_Contrast_CorrTub_10_0
## INFO [2020-04-30 00:17:33] Cells_Texture_InfoMeas1_CorrActin_3_0
## INFO [2020-04-30 00:17:33] Cells_Texture_SumVariance_CorrTub_3_0
## INFO [2020-04-30 00:17:33] Cytoplasm_AreaShape_Extent
## INFO [2020-04-30 00:17:33] Cells_AreaShape_Perimeter
## INFO [2020-04-30 00:17:33] Cells_Intensity_IntegratedIntensity_CorrActin
## INFO [2020-04-30 00:17:33] Cells_Intensity_MeanIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Cells_Intensity_LowerQuartileIntensity_CorrTub
## INFO [2020-04-30 00:17:33] Cytoplasm_Intensity_MaxIntensityEdge_CorrTub
## INFO [2020-04-30 00:17:33] Cells_Intensity_MaxIntensityEdge_CorrActin
## INFO [2020-04-30 00:17:33] Cells_Texture_AngularSecondMoment_CorrTub_3_0
## INFO [2020-04-30 00:17:33] Cells_Texture_Contrast_CorrActin_10_0
## INFO [2020-04-30 00:17:33] Cells_Texture_DifferenceVariance_CorrActin_10_0
## INFO [2020-04-30 00:17:33] Cells_Texture_DifferenceEntropy_CorrActin_3_0
## INFO [2020-04-30 00:17:33] Cytoplasm_Texture_AngularSecondMoment_CorrTub_10_0
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_MaximumRadius
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_MedianRadius
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_3_1
## INFO [2020-04-30 00:17:33] Nuclei_AreaShape_Zernike_5_5
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MADIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MaxIntensityEdge_CorrDAPI
## INFO [2020-04-30 00:17:33] Nuclei_Intensity_MaxIntensity_CorrDAPI
## INFO [2020-04-30 00:17:33] Cells_Neighbors_AngleBetweenNeighbors_3
## INFO [2020-04-30 00:17:33] Nuclei_Neighbors_AngleBetweenNeighbors_10
## INFO [2020-04-30 00:17:33] Cells_Neighbors_FirstClosestDistance_3
## INFO [2020-04-30 00:17:33] Nuclei_Neighbors_FirstClosestDistance_10
## INFO [2020-04-30 00:17:33] Cells_Neighbors_SecondClosestDistance_3
## INFO [2020-04-30 00:17:33] Nuclei_Neighbors_SecondClosestDistance_10
## INFO [2020-04-30 00:17:33] Nuclei_Texture_AngularSecondMoment_CorrActin_3_0
## INFO [2020-04-30 00:17:33] Nuclei_Texture_InfoMeas1_CorrActin_10_0
## INFO [2020-04-30 00:17:33] Nuclei_Texture_InfoMeas1_CorrActin_3_0
## INFO [2020-04-30 00:17:33] Nuclei_Texture_InfoMeas1_CorrTub_3_0
variables <- colnames(profiles) %>% str_subset("^Nuclei_|^Cells_|^Cytoplasm_")
There may be plate-to-plate variations, which can be compensated for to some extent by normalizing the features with respect to the DMSO wells per plate.
profiles <- cytominer::normalize( population = profiles, variables = variables, strata = c("Image_Metadata_Plate"), sample = profiles %>% filter(Image_Metadata_Compound == "DMSO") ) profiles <- cytominer::variable_select( population = profiles, variables = variables, operation = "drop_na_columns" ) variables <- colnames(profiles) %>% str_subset("^Nuclei_|^Cells_|^Cytoplasm_")
We have selected features and normalized the data. We can now compute treatment profiles by averaging across replicates.
profiles <- cytominer::aggregate( population = profiles, variables = variables, strata = c("Image_Metadata_Compound", "Image_Metadata_Concentration", "Image_Metadata_MoA"), operation = "mean" ) variables <- colnames(profiles) %>% str_subset("^Nuclei_|^Cells_|^Cytoplasm_")
Let’s visualize this data using t-SNE.
profiles %<>% filter(Image_Metadata_Compound != "DMSO") correlation <- profiles %>% select(one_of(variables)) %>% as.matrix() %>% t() %>% cor() mechanism <- as.character(profiles$Image_Metadata_MoA) plot_tsne <- function(correlation, mechanism){ set.seed(42) df <- tibble::as_data_frame( tsne::tsne(as.dist(1 - correlation)) ) %>% mutate(mechanism = mechanism) p <- ggplot(df, aes(V1, V2, color = mechanism)) + geom_point() + ggtitle("t-SNE visualization of compound profiles clean using SNF") print(p) } plot_tsne(correlation = correlation, mechanism = mechanism)
## Warning: `as_data_frame()` is deprecated as of tibble 2.0.0.
## Please use `as_tibble()` instead.
## The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
## Warning: The `x` argument of `as_tibble.matrix()` must have column names if `.name_repair` is omitted as of tibble 2.0.0.
## Using compatibility `.name_repair`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
As we saw in predict_moa
, the data clusters into mechanisms quite nicely. Let’s quantify this by evaluating how well we can predict mechanism-of-action by simply assigning a treatment the mechanism of its nearest neighbor. NOTE: A common mistake when analyzing this dataset is to not exclude other concentrations of the same compound when looking up the nearest neighbor. That is cheating! mask
in the code below addresses this.
predict_moa <- function(correlation, compound, mechanism){ mask <- as.integer(outer(compound, compound, FUN = "!=")) mask[mask == 0] <- -Inf correlation_masked <- correlation * mask return(sapply(1:nrow(correlation_masked), function(i) mechanism[order(correlation_masked[i,], decreasing = TRUE)[1]]) ) } compound <- profiles$Image_Metadata_Compound prediction <- predict_moa(correlation, compound, mechanism) confusion_matrix <- caret::confusionMatrix(as.factor(prediction), as.factor(mechanism))
What’s the classification accuracy?
evaluate_prediction <- function(confusion_matrix ){ tibble::frame_data( ~metric, ~value, "Accuracy", sprintf("%.2f", confusion_matrix$overall["Accuracy"]), "95% CI", sprintf("(%.2f, %.2f)", confusion_matrix$overall[["AccuracyLower"]], confusion_matrix$overall[["AccuracyUpper"]]) ) } evaluate_prediction(confusion_matrix) %>% knitr::kable(digits = 2)
## Warning: `frame_data()` is deprecated as of lifecycle 2.0.0.
## Please use `tribble()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
| metric | value |
|---|---|
| Accuracy | 0.82 |
| 95% CI | (0.73, 0.89) |
What does the whole confusion matrix look like?
confusion_matrix$table %>% knitr::kable()
| Actin disruptors | Aurora kinase inhibitors | Cholesterol-lowering | DNA damage | DNA replication | Eg5 inhibitors | Epithelial | Kinase inhibitors | Microtubule destabilizers | Microtubule stabilizers | Protein degradation | Protein synthesis | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Actin disruptors | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| Aurora kinase inhibitors | 0 | 12 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Cholesterol-lowering | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| DNA damage | 0 | 0 | 0 | 8 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| DNA replication | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Eg5 inhibitors | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 2 | 0 | 0 | 0 |
| Epithelial | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 |
| Kinase inhibitors | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 | 0 |
| Microtubule destabilizers | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 12 | 0 | 0 | 0 |
| Microtubule stabilizers | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 1 | 0 |
| Protein degradation | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 5 | 0 |
| Protein synthesis | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 |
Next we test the similarity network fusion (SNF) algorithm to clean the data.
distance <- 1-correlation affinity <- affinityMatrix(distance, K = 20, sigma = 0.5) snf_distance <- SNF(list(affinity, affinity), K = 20, t = 20 )
Do we get better results using SNF?
prediction <- predict_moa(snf_distance, compound, mechanism) confusion_matrix <- caret::confusionMatrix(as.factor(prediction), as.factor(mechanism)) evaluate_prediction(confusion_matrix) %>% knitr::kable(digits = 2)
| metric | value |
|---|---|
| Accuracy | 0.84 |
| 95% CI | (0.76, 0.91) |
Visualize the results using t-SNE.
plot_tsne(correlation = snf_distance, mechanism = mechanism)
Now let’s split the data by the feature categories, compute a similarity matrix per category, then combine these matrices using SNF.
feature_label = list("_AreaShape_", "_Intensity_","_Texture_","_Neighbors_") feature_names_list <- lapply(feature_label, function(x) ( profiles %>% select(matches(x)) %>% colnames()) ) correlation_matrices <- lapply(feature_names_list, function(x) ( profiles %>% select(one_of(x)) %>% as.matrix() %>% t() %>% cor()) ) affinity_list <- lapply(correlation_matrices, function(x) ( affinityMatrix(1 - x, K = 20, sigma = 0.5 )) ) snf_distance <- SNF(affinity_list, K = 20, t = 20 )
How is the performance?
prediction <- predict_moa(snf_distance, compound, mechanism) confusion_matrix <- caret::confusionMatrix(as.factor(prediction), as.factor(mechanism)) evaluate_prediction(confusion_matrix) %>% knitr::kable(digits = 2)
| metric | value |
|---|---|
| Accuracy | 0.77 |
| 95% CI | (0.67, 0.84) |
Again plot using t-SNE
plot_tsne(correlation = snf_distance, mechanism = mechanism)
Now let’s split the data by the cell constituents, and as before, compute a similarity matrix per constituent, then combine these matrices using SNF.
#profiles %<>% # filter(Image_Metadata_Compound != "DMSO") constituents = list("Cells", "Nuclei","Cytoplasm") feature_list <- lapply(constituents, function(x) (profiles %>% select(matches(x)) %>% colnames()) ) correlation_matrices <- lapply(feature_list, function(x) ( profiles %>% select(one_of(x)) %>% as.matrix() %>% t() %>% cor()) ) affinity_list <- lapply(correlation_matrices, function(x) ( affinityMatrix(1 - x, K = 20, sigma = 0.5 ) )) snf_distance <- SNF(affinity_list, K = 20, t = 20 )
Do we get better results?
prediction <- predict_moa(snf_distance, compound, mechanism) confusion_matrix <- caret::confusionMatrix(as.factor(prediction), as.factor(mechanism)) evaluate_prediction(confusion_matrix) %>% knitr::kable(digits = 2)
| metric | value |
|---|---|
| Accuracy | 0.83 |
| 95% CI | (0.74, 0.89) |
plot_tsne(correlation = snf_distance, mechanism = mechanism)


| [Top] | [Contents] | [Index] | [ ? ] |
Version 1.1 - February 2013
This package provides some classes that publish object using Java's Management Extensions (JMX). These published objects can be investigated with jconsole (Sun's graphical JMX user interface application) or another JMX client. Included is also a programmatic JMX client which you can use to connect to and interrogate remote JMX servers.
To get started quickly using SimpleJMX, see section Start Using Quickly. You can also take a look at the the examples section of the document which has various working code packages. See section Example Code. There is also a PDF version of this documentation.
Gray Watson http://256.com/gray/
| 1. Start Using Quickly | Start using SimpleJMX quickly. | |
| 2. Using SimpleJMX | How to use SimpleJMX. | |
| 3. Example Code | Usage examples to help you get started. | |
| 4. Open Source License | Open Source license for the project. | |
| Index of Concepts | Index of concepts in the manual. |
| [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Gray Watson on February, 19 2013 using texi2html 1.70.


--- layout: default title: How to update ---
This documentation is a static HTML site generated from the street-manager-docs repository
Requires:
See here for guides to GitHub.
Notes for updating the documentation:
To edit the documentation you can do it different ways
If you are an authorised GitHub user you can edit documentation articles via the CMS site URL on the /admin
page. See How to add an article for details and ask your admin for the CMS URL.
You can use the GitHub website to edit raw files directly. This allows quick changes for small updates, but does not allow you to preview how the final rendered site will look.
You can preview your changes in your own generated Github pages site before committing them by forking the repository. Do this by clicking the "Fork" button in the top right of the GitHub street-manager-docs page.
This will create a copy of the repo under your own GitHub user. You can then edit the setting of your repo to enable GitHub pages to generate the GitHub pages site each time you commit changes to your repo, under Settings->Options->GitHub pages (Source: Master branch /docs folder). You can find the generated site URL in the "environment" link on your GitHub repo page.
When you are finished making changes make a pull request to bring them back into the main street-manager-docs repo (see here for details).
You can clone the repository to your own machine, make changes there and preview them before pushing them back up for review and merging.
Requires:
cd docs bundle install bundle exec jekyll serve # runs on http://localhost:4000/street-manager-docs/
Requires:
1. Open folder in Visual Studio Code 2. Click bottom left corner and select "Remote-Containers: Open Folder in Container" (requires extension) 3. Wait for container to be built 4. Run task to launch Jekyll via `Terminal -> Run Task -> Jeykll` 5. Browse to http://localhost:4000


Video Semantic Role Labeling Challenge
Part of the ActivityNet Challenges
CVPR 2021
Videos often depict complex real-life situations. While the vision community continues to make progress on building blocks like activity recognition, temporal localization, and tracking, the goal of this challenge is to strive for more complete video understanding than can be afforded by action labels and object detection only. Specifically, this challenge evaluates the ability of vision algorithms to understand complex related events in a video. Each event may be described by a verb corresponding to the most salient action in a video segment and its semantic roles. VidSRL involves 3 sub-tasks: (1) predicting a verb-sense describing the most salient action; (2) predicting the semantic roles for a given verb; and (3) predicting event relations given the verbs and semantic roles for two events.
While producing accurate and descriptive captions for videos would be a remarkable display of algorithmic video understanding, VidSRL provides a more complete and structured representation of related events, and a more thorough three-part evaluation.
The challenge is based on the VidSitu dataset which consists of over 80 hours of richly annotated movie-clips. VidSitu has 29.2K 10-second videos annotated with events every 2 seconds. We refer to each 2 second segment as a clip. The train, validation and test splits are desribed below. Note that the train and validation annotations are available for download where as the test annotations are only available through the online evaluation server.
| Split | Description |
|---|---|
| Train | 23626 videos with each of the five 2-second clips within a video is annotated with a verb and corresponding semantic roles |
| Validation | 1326 videos annotated similar to the train set |
| Test-Vb | 1353 videos for evaluating verb-sense prediction. Each clip is annotated with 3 verbs to account for variability in selection of the salient activity |
| Test-SRL | 1598 videos for evaluating semantic role prediction for a chosen verb. Each clip is annotated with 3 sets of semantic roles for the same verb to account for variability in referring expressions. |
| Test-ER | 1317 videos for evaluating event-relation prediction. Each clip is annotated with relation to the central event (the 4-6 second clip). We provide 3 annotations to handle relation ambiguity. |
The VidSRL evaluation has three parts, each with its own leaderboard. For the purpose of the callenge, we will announce winners for each leaderboard. Each leaderboard requires submitting a single .pkl file of predictions for the corresponding test split. Detailed submission instructions, including prediction formats required for evaluation, are available on the respective leaderboards. Below, video refers to a 10-second video segment which consists of the 5 non-overlapping 2-second clips and the central clip refers to the segment spanning the 4-6 second interval within the video.
| When | What |
|---|---|
| April 5 | Evaluation servers and leaderboards online |
| June 4 | Submission deadline for challenge purposes |
| June 19-25 | Winners announced during the ActivityNet Workshop @ CVPR 2021 |
Please reach out to Arka Sadhu<EMAIL_ADDRESS>for any queries.


Mr. Roboger's Neighborhood
What's your name?
Enter a number and Mr. Roboger will count up to it in his special way!
Let's do it!
Backwards?!
Flippity floop!


Rubricon
Home
Edit Projects
Edit Rubrics
Edit Project Details
Select Project
Select project...
Project
Project Details
Save Changes
Delete Project


Django with Postgres and Redis running on Ubuntu.
Node & ExpressJS with AngularJS and MongoDB.
Django with Postgres and Memcached on RHEL.
Django with Celery and Postgres on Debian.
Drupal with MySQL on Ubuntu Trusty Tahr.
Apache MySQL and PHP on Linux (Ubuntu)
RoR with MongoDB on Ubuntu Precise Pangolin.
Elastic search, Logstash & Kibana on Ubuntu Trusty Tahr.
Wordpress on Ubuntu Trusty Tahr with Nginx and MySQL.
OpenResty on Nginx and Redis on Ubuntu Precise Pangolin.
Launching...


LEE's ART
Bio
For 65 years, Lees Art Shop has been selling paint brushes, easels, pens, and frames at 220 West 57th Street, across from the Art Students League of New York, where aspiring painters learn their craft.
What started as an art supply business morphed into multi-faceted specialty shop. As the store expanded, it kept introducing new products onto its four floors of commerce. It expanded into custom-framing. Then it added lighting fixtures, followed by childrens furniture and educational toys, then office supplies and gift items. And it sells pens galore, such as Coptic markers, which artists favor, and Uniball pens, which many writers prefer.
Artworks
Want to contact us?
www.leesartshop.com


--- date: 2015-01-27 15:00:03 author: Jen Gray title: "PhoneGap Day US 2014: Apache Cordova for Windows Store and Windows Phone Apps" format: html tags: - PhoneGap Day - Event - Community ---
Have you considered porting your existing Android or iOS PhoneGap/Cordova app to Windows Store and or Windows Phone? Cordova support for Windows devices is permanently improving with regular contributions from Microsoft Open Tech and other Microsoft teams, taking advantage of native support for HTML5/JavaScript development on the latest versions of Windows and Windows Phone. During this workshop we will show you what the state of the art is and point out what the potential challenges are for you to port your existing Android or iOS PhoneGap app to Windows and Windows Phone Stores and give you access to a large set of new users with a minimum effort.
Big thanks to the Microsoft Open Technologies team for this great workshop and PhoneGap Day session.


a6a
|
||||||
|
|
|
674
22 1000
Tuning the Private SQL and PL/SQL AreasA private SQL area is an area in memory that contains binding information and runtime buffers. Every session that issues SQL statements has a private SQL area; reducing these resources can be very effective when large numbers of users are involved. A private SQL area is further segmented into a persistent area and a runtime area. The persistent area contains binding information used during the query for data input and retrieval. The size of this area depends on the number of binds and the number of columns specified in the statement. The runtime area contains information used while the SQL statement is being executed. The size of the runtime area depends on the complexity and type of SQL statements being issued and the size of the rows being processed. The runtime area is freed after the statement has been executed. In a query operation, the runtime area is freed only after all the rows have been fetched. In a dedicated server, the private SQL area is located in the users PGA. In the case of a multithreaded server, the persistent areas and (for SELECT statements) the runtime areas are kept in the SGA. It is important to make sure that each user can allocate enough memory for his or her private SQL area; in the case of the multithreaded server, there must be sufficient space in the SGA to connect the required number of users. Cursors can be used in precompilers to improve performance by reducing the frequency of parsing. To take advantage of cursors, it may be necessary to increase the value of the Oracle parameter OPEN_CURSORS. The size of memory needed for each user is determined by the application and tunables such as OPEN_CURSORS. This memory is allocated automatically. In some operating systems, the amount of memory that can be allocated per user is controlled by system parameters. If your application or tuning changes the amount of memory for each user process, you may have to increase the value of those OS parameters. You may also have to increase the amount of system RAM or reduce the Oracle instance memory usage to avoid swapping or paging. Tuning the Shared PoolTo tune the shared pool, you must look at the individual parts of the shared pool. The shared pool contains both the library cache and the data dictionary cache. In a multithreaded server, the shared pool is also used to store session information. Library Cache The library cache contains the shared SQL and PL/SQL areas. Performance can be improved by both increasing the cache-hit rate in the library cache and by speeding access to the library cache by holding infrequently used SQL statements in cache longer. A cache miss in the shared SQL area occurs when either a parse statement is called and the already parsed statement does not already exist in the shared SQL area or when an application tries to execute an SQL statement and the shared SQL area containing the parsed statement has been deallocated from the library cache. For an SQL statement to take advantage of SQL or PL/SQL statements that may have already been parsed, the following criteria must be met:
At first glance, you may think that many of these conditions make it difficult to take advantage of the shared SQL areas. But users sharing the same application code can easily take advantage of already parsed shared SQL statements. It is to the advantage of the application developer to use the same SQL statements to access the same data and thus ensure that SQL statements within the application can also take advantage of this caching. Using stored procedures whenever possible guarantees that the same shared PL/SQL area is used. Another advantage is that stored procedures are stored in a parsed form, eliminating runtime parsing altogether.
The V$LIBRARYCACHE table contains statistics on how well you are utilizing the library cache. The important columns to view in this table are PINS and RELOADS.
A low number of reloads relative to the number of executions indicates a high cache-hit rate. To get an idea of the total number of cache misses, use this statement: SQL> SELECT SUM(reloads) "Cache Misses", 2 SUM(pins) "Executions", 3 100 * ( SUM(reloads) / SUM(pins) ) "Cache Miss Percent" 4 FROM v$librarycache; Cache Misses Executions Cache Miss Percent ------------ ---------- ------------------ 9 2017 .44620724 The sample output shown here indicates that a total of 2,017 SQL statements, PL/SQL blocks, and object definitions were accessed with only 9 having to reload because they had aged out of the library cache. This means that only .44 percent of these statements resulted in reparsing. To look at the cache hits based on the types of statements, you can use the following statement: SQL> SELECT namespace, 2 reloads "Cache Misses", 3 pins "Executions" 4 FROM v$librarycache; NAMESPACE Cache Misses Executions -------------- ------------ ---------- SQL AREA 4 1676 TABLE/PROCEDURE 5 309 BODY 0 0 TRIGGER 0 0 INDEX 0 21 CLUSTER 0 15 OBJECT 0 0 PIPE 0 0 8 rows selected. The total amount of reloads should be near zero. If you see more than 1 percent library cache misses, take action. You can reduce the number of cache misses by writing identical SQL statements or by increasing the size of the library cache. You should be able to reduce the library cache misses by increasing the amount of memory available for the library cache. This can be done by increasing the Oracle tunable parameter SHARED_POOL_SIZE. You may also have to increase the number of cursors available for a session by increasing the Oracle parameter OPEN_CURSORS.
|
|


|
There are thousand comic strips available in Internet for
free to see or even receive by email. Some of them are GNU
licensed, (like this!) so you can distribute or copy them
but always referencing the authorship.
USE with CAUTION: If you discover a good one you'll pass
hours in front of your screen; try to consume them one by
one, and daily if possible. The only overdose you need to
live is caffeine.
I would like to present some comic strips, surely you recognize
most of them:
- ECOL:
linux geek vs M$ supporter
- User Friendly:
think geek, my friend
- Hackles: animals working
in high-tec
- Dilbert: a classical
one
- Liberty Meadows: a great strip you must discover
If you are developing a regular comic strip like this, don't forget to
send the reference to me.
|


In this scenario, the app will show how to raise a toast notification by calling local notification APIs.
Toast notifications interrupt your users with important, actionable events. Toast notifications can be sent by your app when it is running, scheduled for a later time, or be sent by your app's cloud service through the Windows Push Notification Service (WNS). Toast notifications are described by an XML schema that binds tile contents to system-defined templates. Toast should be actionable but ignorable. If a user misses a toast notification, the app should consider updating the tile or tile badge with information about the missed toast notification.
| Template | Description |
|---|---|
| A single string wrapped across three lines of text | |
| One string of bold text, and one string of regular text wrapped across two lines | |
| One string of bold text wrapped across two lines, and a string of regular text on the third line | |
| One string of bold text on the first line, and two strings of regular text on the second and third lines |
When you display a toast, its XML will appear here.


BibbityBoppy's Pizza Co.
Step 1: Choose a size
click here for options...


Dear {{ user }},
Welcome to Bancaldo's Fantalega!
To confirm your account please click on the following link:
Click here to login
Sincerely,
Bancaldo
Note: replies to this email address are not monitored.


Home security camera settings
Camera
Log out
Servos configuration:
Pan servo:
Step:
Min:
Max:
Tilt servo:
Step:
Min:
Max:
Speech configuration:
Voice:
Rate:
Save settings


Non-needle acupoint stimulation Control Risk Ratio Risk Ratio ‘Study or Subgroup Events Total_Events Total_Weight_M-H, Random, 95% Cl M.H, Random, 95% Cl Gu 2009 3 2 1130 14.6% 0.28 (0.09, 0.91] 4 Kim 2004 1" 330-2233 68.6% 0.50 [0.29, 0.86] st Zhou 2017 4 30 8 30 16.8% 0.50 (0.17, 1.48) — Total (95% Cl) 92 93 100.0% 0.46 [0.29, 0.72] => Total events 18 a“
Heterogeneity: Tau*= 0.00; Chi*= Test for overall effect: Z= 3.41
A
81, df= 2 (P= 0.67); P= 0% 0.0007)
i 001 ot 10 100
Favours [non-needle acupoint stimulation) Favours {control}
Non-needle acupoint stimulation Control Risk Ratio Risk Ratio Study or Subgroup Events Total_Events Total Weinht_M-H, Random, 95% Cl MH, Random, 95% Cl Gu 2009 5 291430 45.7% 0.37 10.16, 0.89] a Zhou 2017 6 30 14 30 54.3% 0.43 (0.19, 0.96} —— Total (95% Cl) 59 60 100.0% 0.40 [0.22, 0.73] =_ Total events " 28 Heterogeneity: Tau*= 0,00; Chi*= 0.06, df= 1 (P= 0.81), F= 0% A ah |e _ en Seat eee Favours [non-needle acupoint stimulation) Favours [control] Non-needile acupoint stimulation Control Risk Ratio Risk Ratio ‘Study or Subgroup Events Total_Events Total_Weight_M-H, Random, 95% Cl M.H, Random, 95% Cl 1.9.1 Nausea in PO24H Gu 2009 6 29 1530 8.4% 0.41 (0.19, 0.92] Kirn 2004 " 33-22-33: 127% 0.50 (0.29, 0.86] —— Majholm 2011 20 s7 1551 12.2% 1.49 (0.69, 2.07] re Pan 2014 7 53-2853 16.1% 0.61 (0.38, 0.97] = Zhou 2017 8 30 «17-30 87% 0.47 (0.24, 0.92] Subtotal (95% Cl) 202 197 56.1% 0.61 [0.42, 0.88] > Total events 62 a7 Heterogeneity: Tau*= 0.08; Chi*= 7.64, df= 4 (P= 0.11); P= 48% Test for overall effect: Z= 2.66 (P = 0.008) 1.9.2. Nausea in PO24H ( only transcutaneous electrical acupoint stimulation) Gu 2009 6 200 1530 6.4% 0.41 (0.19, 0.92] Kirn 2004 "1 330-2233: 127% 0.50 (0.29, 0.86] —— Pan 2014 7 53 28 53 16.1% 0.61 (0.38, 0.97) a Zhou 2017 8 30 «1730 87% 0.47 (0.24, 0.92] ‘Subtotal (95% Cl) 145 146 43.9% 0.52 (0.39, 0.70] > Total events 42 82 Heterogeneity: Tau? = 0.00; Chi*= 0.85, df= 3 (P= 0.84); F= 0% Test for overall effect: Z= 4.41 (P < 0.0001) Total (95% Cl) 347 343 100.0% 0.57 10.46, 0.71] 5 Total events 104 179 Heterogeneity: Tau*= 0.01; Chi*= 9.31, df= 8 (P= 0.32), F= 14% Se ee Test for overall effect Z= 5.22 (P « 0.00001) ‘existe: caaioad dia chk he (SERA PE US Favours non-needie acupoint stimulation} Favours [control] Cc Non-needle acupoint stimulation Control Risk Ratio Risk Ratio Study or Subaroup Events Total_Events Total Weight_M-H, Random, 95% Cl M.H, Random, 95% Cl Gu 2008 6 29 «16 30 17.0% 0.39 (0.18, 0.85) —— Pan 2014 19 53-2953 85.8% 0.66 (0.42, 1.01] am Zhou 2017 g 30 18-30 (27.4% 0.80 (0.27, 0.93] —— Total (95% Cl) 112 113 100.0% 0.56 [0.40, 0.77] aad Total events 34 63 Heterogeneity: Tau*= 0.00; Chi?= 1.48, df= 2 (P= 0.48); F=0% ae al Sse eer Favours non-needie acupoint stimulation} Favours [control] Non-needle acupoint stimulation Control Risk Ratio Risk Ratio Study or Subgroup Events Total_Events Total_Weinht_M-H, Rancom, 95% Cl M-H, Random, 95% Cl Majholm 2011 6 59 6 $2 333% 0.88 (0.30, 2.57] = Zhang 2014 7 3315-32 66.7% 0.45 (0.21, 0.96) —_ Total (95% Cl) 92 84 100.0% 0.57 (0.30, 1.05] —_> Total events 13 a Heterogeneity: Tau®= 0.00; Chi®= 1.00, df= 1 (P= 0.32); F=0% ———_——— ay 0.01 ot 10 100 ‘Tost far overall efect: 2 Favours [non-needle acupoint stimulation) Favours (control) E Non-needle acupoint stimulation Controt Mean Difference Mean Difference ‘Study or Subaroup Mean sD Total Mean SD _Total_Weight_IV, Random, 95% Cl IV, Random, 95% Cl Gan 2004 06 2 260017 «027 «24 14.2% © -1.105-2.43,0.231 Gu 2009 0.93 2.034 29 «1.57 2775 30 16.2% -0.64(-1.88, 0.60) Yu 2012 0.37 0.85 30 067 144 30 696% -0.30(-0.90,0.30} Total (95% Cl) 85 84 100.0% -0.47[-0.97, 0.03]
Heterogeneity: Tau*= 0,00; Chit= 1.25, df= 2 (P= 0.54); F=0% Test for overall effect: Z= 1.84 (P 0.07)
10 5 0 5 Favours [non-needle acupoint stimulation} Favours [control]


Nobel Prizes across countries and ages
The following map shows which countries won the Nobel Prize over a given period of time. You can play with the slider to adjust the period you want to see. The darker the colour of a country on the map, the more prizes it has won.
Laureates usually have a specific affiliation, mostly to universities or research institutions. I used the country in which this affiliation is. Whenever scientists had no particular affiliation, I chose to take into account the country in which they were born.
To see a brief description of a given period you can also click on the left and right arrows. Please keep in mind that I selected periods subjectively and wrote the texts, I’m no genius :)


{% extends 'base.html' %}
{% block title %}
Compare User
{% endblock %}
{% block lead %}
The following user is more likely to tweet this
{{prediction}}
{% endblock %}
{% block main_body %}
{% if users %}
To compare press the button, this webpage will use Logistic Regression to predict results


Access verified! Acquire Xero API object with the following code:
from xero.api import Xero xero = Xero(credentials)


Scaltis1021.github.io
Char-broil Grill User Manuals Download - ManualsLib. View our Hawaiian Style Menu at Hula Boy Charbroil in Vancouver WA. Our restaurant serves traditional Hawaiian food, beer wine in Southwest Washington. BBQs Grills Smokers and Roasters Char-Broil. Char-broil צ אר ברויל nfra red, אינפרא אדום, IR, גרילרים, גריל גז, צלייה Char-Broil. 367,537 likes · 7,171 talking about this. America s favorite grill brand since 1948. See more of Char-Broil on Facebook. Download 718 Char-broil Grill PDF manuals. Manualslib has more than 718 Char-Broil Grill manuals. Click on an alphabet below to see the full list of models starting with that letter. Char-Broil meets American Football. We love American football, which is why we created a few special American football delicacies. Are you curious? Char-Broil expands its range of products with gas barbecues featuring innovative TRU-Infrared technology. This ensures your barbecued
Char-Broil 468201115 Betriebsanweisung herunterladen.
Forgiving Char-Broil® TRU-Infrared™ cooking technology prevents nasty flare-ups, provides juicier food and disperses heat evenly.  Freeing people up to have more fun without losing track of their.
Check out the Char-Broil® parts finder here and find the part you need. The Char-Broil® Modular Outdoor Kitchen lets you customize the outdoor cooking experience of your dreams. Char-Broil Performance 463376017 grill Summary information. Fix your Char-Broil products today with parts, diagrams, accessories and repair advice from eReplacement Parts! Genuine Char-Broil replacement part, this item is sold individually. The Lower Grate Housing is placed underneath the 3486613 Cooking Grates.
Grills pour barbecue, grilles à charbon et fumeurs Char-Broil. Char-Broil is the is the leader in grill technology. Gas grills, infrared grills, charcoal grills and electric grills are built with innovation, experience. Char-Broil Grill Parts Great Selection eReplacementParts.com. The Char-Broil Performance 463376017 is part of the Grill test program at Consumer Reports. In our lab tests, Grill models like the Performance 463376017 are rated on multiple criteria, such as those listed below. Predicted reliability: Predicted reliability icons are based on estimated breakage rates.
: Char-Broil CHARBROIL 463436215 Classic 4-Burner. Replacement Grill Smoker Parts Char-Broil Parts.
CharBroil Catering offers Wedding, Corporate event, Picnic, Graduation, Steak Roast, BBQ. Often Imitated. Never Duplicated! The one and only Char Broil House. Char-broil kit pizza stone - pizza a la piedra. BBQ Grills, Charcoal Grills Smokers Char-Broil. אודות CHAR-BROIL. קטלוג מוצרי גז. סדרת Professional. מצא את ה CHAR BROIL שלך. משווקים מורשים.
A charbroiler (also referred to as a chargrill, char-broiler or simply broiler) is a commonly used cooking device consisting of a series of grates or ribs that can be heated using a variety of means, and is used in both residential and commercial applications for a variety of cooking operations. Las parrillas a gas de Char-Broil® tienen un sistema de limpieza muy simple y eficaz. Se debe prender la parrilla por 15 minutos, tiempo en el cual todos los residuos que hayan quedado se volverán cenizas. Desde 1948, Char-Broil® es el líder en parrillas a gas en Estados Unidos. Char-Broil (@Charbroil) Twitter.
No matter how you cook, there s a Char-Broil bbq, grill or smoker for you. Nearly 60 years of innovation goes into all our products sold across NZ. No Two Grillers Are Alike. Same goes for grills. No matter who you are or how you cook, there s a Char-Broil bbq, grill, roaster or smoker Char-Broil Patio Bistro 240. Average rating:0out of5stars, based on0reviewsWrite a review. char-broil patio bistro 240. Average rating:5out of5stars, based on0reviews. we own this grill Grill, Kul grill Ryge Char-Broil. Find great deals on eBay for Char Broil Grill in Backyard Barbecues, Grills and Smokers. Shop with confidence. Char Broil Grills. Уточнить результаты.
Char-Broil 4-burner, 40,000 BTU gas grill with 10,000 BTU lidded side burner. 480 square inches of primary cooking on porcelain-coated cast iron grates plus 180 square inches of secondary cooking on porcelain-coated swing away. Large, painted metal side shelves offer additional workspace. Char-Broil on Tour.  Char-Broil erweitert das Produktspektrum um Gasgrill mit dem innovativen TRU-Infrared™ Grillsystem. Char-Broil étend sa gamme de barbecues à gaz avec la technique de cuisson TRU-Infrarouge™ innovante. Avec la technologie vos plats préparés au barbecue seront 50 % plus juteux. De plus, le meilleur contrôle de la température vous permettra de réduire votre consommation de gaz jusqu Char-Broil Patio Bistro 240 - Walmart.com. Hawaiian Style Menu Hula Boy Charbroil.
The latest Tweets from Char-Broil (@Charbroil). Now You re Cookin ™. Columbus, GA.  Unblock Unblock @Charbroil. Pending Pending follow request from @Charbroil. Char-Broil udvider sit sortiment med en grill, der er udstyret med der er innovative TRU-Infrared™ grillsystem. TRU-Infrared™ grillsystem betyder samtidig, at din grillmad bliver op til 50 % saftigere, og gasforbruget bliver op til 30 % mindre.


Game made by José Luis Aparicio
PRESS START BUTTON
STRENGTH
DEFENSE
AGILITY
SKILL
SPEED
Do you want to play again?


Watch Lady Lamb Play Songs from Even in the Tremor in the Paste Studio
by Ellen JohnsonLady Lamb (the New Hampshire-born, Brooklyn-based Aly Spaltro) stopped by the Paste Studio in Atlanta on Wednesday following a show with New Pornographers on Tuesday night. Spaltro and her band are currently touring behind the fourth Lady Lamb LP, Even in the Tremor, which arrived in April on Ba Da Bing Records. Watch the session below.
Spaltro performed three songs from the record: “Little Flaws,” “Deep Love” and the title track. She has a very affecting voice that fills the whole room, especially when belting loud but introspective lyrics like “The future kills the present if I let it,” which she repeats during the powerful title track. The album is thoughtful yet concise, packed with restless indie rock songs that occasionally toy with synths and soul.
Playing alongside Spaltro were bassist Jeni Magana, drummer Derek Gierhan and keyboardist Katie Von Schleicher, who Paste named The Best of What’s Next in 2017.
Again, you can watch Lady Lamb’s new Paste Studio session below. Further down, check out her performance of “Salt” in the NYC outpost in 2017.


What are three new things you have learned about yourself and your ego as a result of the core learning?
That anything is achievable if you put your mind to it, that it is important to take breaks, and to be aware of mindfulness such as meditation.
What has surprised you the most about the core learning?
How important it all is when it comes to web development and finding a job
What were the most challenging aspects of the core learning?
Writing about myself has been particularly challenging as i don't want to appear braggy.
Why do you think we, a programming school, are spending so much time focusing on core learning in a web development bootcamp course?
Because it is an important aspect of finding a job in web development and it is important to have core skills when learning new things.
Does the time you spent studying core learning here feel like a waste of time? Should you have just used that time to practicing programming instead? Justify your answer.
I feel that the time i spent core learning was very important in understanding programming as it taught me things like mindfulness which is a very useful skill to have while programming.


@* * Copyright 2017 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import org.joda.time.DateTime @import views.html.helpers.EpayeHelper @(currentDateTime: DateTime, hasAppLevyCharges: Boolean)(implicit userProfile: uk.gov.hmrc.epaye.connectors.UserProfile, authContext: uk.gov.hmrc.play.frontend.auth.AuthContext, lang: Lang, messages: Messages)
@Messages("account.nothing.to.pay") @EpayeHelper.renderBreakdownLink(currentDateTime, true, hasAppLevyCharges)


| 044:024 Khan | : |
"And leave the sea as it is (quiet and divided). Verily, They are a host to be drowned." |
| 044:024 Maulana | : |
And leave the sea behind calm. Surely they are a host to be drowned. |
| 044:024 Pickthal | : |
And leave the sea behind at rest, for lo! they are a drowned host. |
| 044:024 Rashad | : |
"Cross the sea quickly; their troops will be drowned." |
| 044:024 Sarwar | : |
Cross the sea by cutting a path through it. Pharaoh's army will be drowned. |
| 044:024 Shakir | : |
And leave the sea intervening; surely they are a host that shall be drowned. |
| 044:024 Sherali | : |
'And leave thou the sea behind when it is calm, crossing over the dunes.  |
Concepts/Themes Covered: العلوم والفنون > الحقائق العلمية و الإشاة إلى وقائع أيدتهاالإكتشافات العلمية > البحر Science and Art> The Scientific Facts and the Indication to Facts which have been supported by the Scientific Discoveries>The Sea القصص والتاريخ > فرعون > فرعون The Stories and the History>Pharaoh>Pharaoh
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


View Source to copy code
Dynamic Form Option Buttons
Button values that change a div's visibility
value 1
value 2
value 3
value 4
value 5
Show Div 1 (radio 1)
Show Div 2 (radio 2)
Show Div 3 (checkbox 3)
Show Div 4 (checkbox 4)
Show Div 5 (checkbox 5)
Smart Checkbox
JQuery toggle function to enable/disable child elements
Enable POS
Pre-Tax
Discount per Unit
Adam L Marsh www.adam-marsh.com
Adam L Marsh http://www.adam-marsh.com
Adam L Marsh www.ui-design-engineering.com
Adam L Marsh http://www.ui-design-engineering.com
Webster Latimer - Author, Walking Through Brambles www.irisandpith.com
Webster Latimer - Author, Walking Through Brambles http://www.irisandpith.com
Adam L Marsh www.myuikit.com
Adam L Marsh http://www.myuikit.com
Webster Latimer - Author, Walking Through Brambles


Fmin = Fmin_max
overlaps = np.abs(np.dot(d, anm.getEigvecs()))
sorted_indices = overlaps.argsort()[::-1]
overlaps = overlaps[sorted_indices]
sorted_mode_indices = np.arange(anm.numModes())[sorted_indices]
normalised_overlaps = overlaps / norm(d)
if not np.any(torf_Fmin):
torf_Fmin[0] = True
if not np.all(torf_Fmin):
i = np.where(torf_Fmin)[0].max()
torf_Fmin[i+1] = True
selected_mode_indices = np.arange(anm.numModes())[torf_Fmin]
n_sel_modes = len(selected_mode_indices)


Trading_PictureManagerDetailsType Class Reference
| Inherits from | NSObject |
| Conforms to | PicoBindable |
| Declared in | Trading_PictureManagerDetailsType.h Trading_PictureManagerDetailsType.m |
Tasks
-
subscriptionLevel
This type is deprecated as Pictures Manager was retired.
property -
storageUsed
The amount of storage already in use. Measured in bytes. Read-only value.
property -
totalStorageAvailable
The amount of storage space remaining in the authenticated user’s album.
property
Measured in bytes. Read-only value. -
keepOriginal
Whether to keep a copy of the original picture without resizing.
property
Default is false. true = keep originals. -
watermarkEPS
Whether to show the EPS watermark when photos are displayed.
property
Default is false. true = show. -
watermarkUserID
Whether to show the user ID watermark when photos are displayed.
property
Default is false. true = show. -
folder
The folder requested in the album.
property -
any
(public property)
property
Properties
any
(public property)
@property (nonatomic, retain) NSMutableArray *any
Discussion
(public property)
entry type : PicoAnyElement, wrapper for primitive anyelement
Declared In
Trading_PictureManagerDetailsType.h
folder
The folder requested in the album.
@property (nonatomic, retain) NSMutableArray *folder
Declared In
Trading_PictureManagerDetailsType.h
keepOriginal
Whether to keep a copy of the original picture without resizing.
Default is false. true = keep originals.
@property (nonatomic, retain) NSNumber *keepOriginal
Discussion
Whether to keep a copy of the original picture without resizing.
Default is false. true = keep originals.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_PictureManagerDetailsType.h
storageUsed
The amount of storage already in use. Measured in bytes. Read-only value.
@property (nonatomic, retain) NSNumber *storageUsed
Discussion
The amount of storage already in use. Measured in bytes. Read-only value.
type : NSNumber, wrapper for primitive int
Declared In
Trading_PictureManagerDetailsType.h
subscriptionLevel
This type is deprecated as Pictures Manager was retired.
@property (nonatomic, retain) NSString *subscriptionLevel
Discussion
This type is deprecated as Pictures Manager was retired.
type: string constant in Trading_PictureManagerSubscriptionLevelCodeType.h
Declared In
Trading_PictureManagerDetailsType.h
totalStorageAvailable
The amount of storage space remaining in the authenticated user’s album.
Measured in bytes. Read-only value.
@property (nonatomic, retain) NSNumber *totalStorageAvailable
Discussion
The amount of storage space remaining in the authenticated user’s album.
Measured in bytes. Read-only value.
type : NSNumber, wrapper for primitive int
Declared In
Trading_PictureManagerDetailsType.h
watermarkEPS
Whether to show the EPS watermark when photos are displayed.
Default is false. true = show.
@property (nonatomic, retain) NSNumber *watermarkEPS
Discussion
Whether to show the EPS watermark when photos are displayed.
Default is false. true = show.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_PictureManagerDetailsType.h
watermarkUserID
Whether to show the user ID watermark when photos are displayed.
Default is false. true = show.
@property (nonatomic, retain) NSNumber *watermarkUserID
Discussion
Whether to show the user ID watermark when photos are displayed.
Default is false. true = show.
type : NSNumber, wrapper for primitive bool
Declared In
Trading_PictureManagerDetailsType.h


Creates a skeleton web service from WSDL file. Web services are reusable software components that semantically encapsulate discrete functionality. Web services are accessible over standard protocols such as SOAP. The web services created by this template are deployed and run according to the JSR-109 and J2EE 1.4 standards.


S1 Fig
Chromatogram obtained by CG of essential A. suaveolens oil. (DOCX)
Click here for additional data file.


| DOSE: |
|
insufflated |
2C-T-7 |
(powder / crystals) |
| |
|
oral |
2C-T-7 |
(powder / crystals) |
It was 6:42pm when me and my friend were sitting at his kitchen table dividing up lines of lucky 7. We had just acquired some a couple days ago and were about to test drive it. After it was divied up, i took a key and dipped it in and snorted a fairly nice amount. I didnt see it, so i ate another bump. We were not using a scale so i had to rely on my estimation. Then i sat down watching tv for about an hour.
I didnt feel really anything but bit light-headed and some nausea. So i took a pill of 2cb, 1 hour later about 8pm. The 2cb kicked in getting the standard happy feeling with the accustomed body buzz. Nothing out of the ordinary, until i noticed a green mesh on the covering the floor. I tried to pull it off only to look up and see the walls melting, i thought it was the 2cb, so i kept telling my friend that this stuff doesnt work. Another hour later i could tell that this felt kinda like an acid trip but with more control. i can get into a 'bad trip' pretty easily but now i could think of somthing positive and my trip would get happy with a lot of laughter.
I still didn't think it was the lucky 7. I noticed my self getting very paranoid checking my other substances sitting in the other room, looking out the window and started to get the fear, but another friend walked in unexpectantly a very good friend iv'e known a long time, and I was deathly afraid of him! i had no idea who he was or what he was doing there, then the friend that was there first started talkin to him, i thought i was being plotted against. Then i remembered to think of somthing positive and i was back to normal again. Just sitting and constantly laughing at nothing. I felt as if all our minds were linked and we 3 could read each others thoughts. I would think of somthing and in a few seconds one of them would say it. Very strange but i knew i wasn't just so messed up i couldnt think and talk striaght.
i had complete control, unlike LSD where anything can happen and theres nothing you can do about it. I would say its hard to get the fear on this stuff. When i started to come down i was very realxed and calm. I had somewhat a new insight on psychedelics. That i could now handle them much better. After that i was so spent aching slightly so i layed on the floor unable to move. Woke up the next day pretty baked out my physical body. wasnt tired but i my thought patterns were slow.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Crisis talks over ABC Olympics coverage
by Eamonn TiernanCrisis talks are being planned between the Australian Olympic Committee and the ABC in a bid to broadcast the 2020 Tokyo Olympics live on radio.
The ABC has said its budget is too stretched to afford the $1 million needed to send commentators to Japan and set up its broadcasting system.
The shock decision ends 67 years of live Olympics coverage from the public broadcaster.
The AOC labelled the decision short-sighted and a “great let-down to Australians”.
AOC boss Matt Carroll wrote to ABC chairwoman Ita Buttrose on Tuesday afternoon requesting a meeting to discuss a solution.
The ABC confirmed on Wednesday that Ms Buttrose had received the letter and would look to meet with the AOC at “the earliest opportunity”.
It is understood the AOC are keen to explore all avenues that could help raise the funds needed to fund the broadcast.
An indexation freeze on the ABC in the 2018 budget led to $83.8 million in cuts, while 600 jobs have been lost in the past five years.
Financial restrictions placed on the ABC by the federal government since 2014 mean by 2022 the public broadcaster will have lost $783 million in funding.
Communications Minister Paul Fletcher said the Olympics decision would disappoint many Australians but added it was the ABC’s responsibility to explain the decision.
ABC programming director Judith Whelan said the budget was “running hot”.
“Our budget is very tight. It has been tightened tremendously over the past five years and we are facing more budgetary pressure at the moment,” Ms Whelan said.
The AOC has also written to the Sports Minister Richard Colbeck and Health Minister Greg Hunt.
The ABC still intends to provide daily Olympic updates on ABC News and ABC Grandstand.
-AAP


This is text ead08f7e-9998-4c64-a6b3-f661841ffe6a This is text e7c5cb20-65ca-471a-b5e7-ee11ac3b2b80 This is link 5c74f8e7-a9c9-4ee6-97c9-17d2dbd59367


This shifts the Digital Chroma's displays up or down a little, to compensate for parallax that depends upon your position relative to the keyboard.
This is contained in the {Global_parameters} section of the {Tools_screen}.
This is accessed in {_program_select_mode PROGRAM SELECT mode} using the following global parameter number:
| {sw-set-split.png height=48} {sw-21.png height=48} |
This appears in the display as Display Position.
This is accessed via {_NRPN} 15,21.
| MIDI | display | ||
| \-10 | \-10 | ||
| \b\n\b\n\b | \b\n\b\n\b | ||
| 10 | +10 |


STRING
For string we use character array it is ended with '\0'CHARACTER ARRAY INTIALISATION & DECLARATION
We can intailise in two ways are explained below: ExampleSTRING HEADERFILE AND FUNCTIONS
| String function | Description |
|---|---|
| strcat( ) | Concatenates str2 at the end of str1 |
| strncat( ) | Appends a portion of string to another |
| strcpy( ) | Copies str2 into str1 |
| strncpy( ) | Copies given number of characters of one string to another |
| strlen( ) | Gives the length of str1 |
| strcmp( ) | Returns 0 if str1 is same as str2. Returns <0 if strl < str2. Returns >0 if str1 > str2 |
| strstr( ) | Returns pointer to first occurrence of str2 in str1 |
| strrstr( ) | Returns pointer to last occurrence of str2 in str1 |
| strrev( ) | Reverses the given string |


| Home > Documentation > Questionable Doc Pages > How to Access Resources via JNDI |
Java Naming and Directory Interface (JNDI) is an interface to resources in Apache Geronimo and other application servers. Through this interface, developers have access to all sorts of resources such as Java objects, Enterprise Java Beans (EJBs), databases, mails sessions, and other connections.
The following article provides concept-rich documentation on how to use JNDI to access connection pools for data sources, Java Messaging Services (JMS), mail sessions, and URL connections: Apache Geronimo JNDI naming and Java resource connection pools, Part 1: Data source connections. URL: http://www-128.ibm.com/developerworks/opensource/library/os-ag-jndi1. It is a useful article, but it is written for Geronimo 1.x.
There are some additional configurations that are necesary in order to get the sample J2EE enterprise application up and running. Here is an outline of how to deploy the J2EE enterprise application in a running Geronimo 2.x instance:
1) Add j2ee.jar file to your classpath.
2) Use the Geronimo/Tomcat distribution.
3) Create the database pool (CustomerServicePool).
a. Manually create and deploy the deployment test plan file.
b. Update deployment version for the CustomerServicePool.
c. Update dependency version number.
d. Update deployment descriptor.
4) Deploy and test the application.
Note: The working environment for this information is Windows XP Professional, Version 5.1.2600 Service Pack 2 Build 2600.
The following steps will guide you to a successful deployment of the Customer Service J2EE enterprise application, which can be downloaded here: http://www.ibm.com/developerworks/views/download.jsp?contentid=175237&filename=CustomerService-part1.zip&method=http&locale=worldwide
1) Add j2ee.jar file to your classpath.
A j2ee.jar file, which can be found in the lib directory of an application server such as WebSphere or WebLogic, must be added to the classpath, or you will get the following error when attempting to run the ant build script:
2) Use the Geronimo/Tomcat distribution.
Use the Tomcat distribution because the Jetty (geronimo-jetty6-jee5-2.0-M1) distribution currently does not display any items in the "Database Types" dropdown list in the Geronimo Server Console | Services | Database Pools | Database Wizard.
3) Create the database pool (CustomerServicePool). Even the Tomcat distribution has problems creating a new database pool. For exampe, when you attempt to create a new database pool, select "Derby embedded" from the database type and then test the connection. That works, but no new database pool is created. The <GERONIMO_HOME>\var\log\geronimo.log file will have the following entry:
3.a) Manually create and deploy the deployment test plan file.
Geronimo is not creating the deployment plan for the "Derby embedded" connection pool. So, you must manually create a deployment plan and deploy it as follows:
Create a the following deployment plan file (CustomerServicePool_test_plan.xml)
Run the following at the command prompt in the <GERONIMO_HOME>\bin directory:
deploy --verbose --user system --password manager deploy D:\appsData\GERONIMO\JNDIApp\CustomerService.ear
3.b) Update deployment version for the CustomerServicePool.
Running the previous deploy command will expose another configuration opportunity:
Notice the following:
This highlights the fact that the files in the article are targeted for an earlier (1.0) deployment of the CustomerServicePool (a Derby embedded database pool).
3.c) Update dependency version number.
You can fix this by changing the "dep:version" tag in the dependencies section of the CustomerEJB-openejb.xml file from "1.0" to "2.0" as follows:
Re-run the following at the command prompt in the <GERONIMO_HOME>\bin directory:
deploy --verbose --user system --password manager deploy D:\appsData\GERONIMO\JNDIApp\CustomerService.ear
3.d) Update deployment descriptor.
Modify application.xml deployment descriptor file to be compatible with Geronimo 2.x requirements.
After running the previous deploy command, yet another error can then be found in the geronimo.log file:
Remove the "description: and "display-name" tags from the application.xml file and save it back into the CustomerService.ear file.application.xml file:
This time, the CustomerService.ear file will successfully deploy.
deploy --verbose --user system --password manager deploy D:\appsData\GERONIMO\JNDIApp\CustomerService.ear
4) Deploy and test the application.
Using the following steps, we can successfully deploy the J2EE enterprise application in a running Geronimo 2.x instance:
1) Add j2ee.jar file to your classpath.
2) Use the Geronimo/Tomcat distribution.
3) Create the database pool (CustomerServicePool).
a. Manually create and deploy the deployment test plan file.
b. Update deployment version for the CustomerServicePool.
c. Update dependency version number.
d. Update deployment descriptor.
4) Deploy and test the application.
| Bookmark this on Delicious Digg this | Privacy Policy - Copyright © 2003-2013, The Apache Software Foundation, Licensed under ASL 2.0. |


Attention International Customers
Now you can order items online and ship them to a U.S. address* or pick them up at a U.S. store. As always, we accept international credit cards.
See site for details ▸
* International orders may be shipped to street addresses in the U.S., U.S. Virgin Islands and Guam, along with AFO/FPO mailing address.
Hello
Country and Language
Please select a country / language...
Remember this location


From the newsletter ... |
|
CHANGE"Oxford - OXFORD" shouted the Guard "All change 'ere! ALL CHANGE". I remember it well, and the slamming of the carriage doors, although I must have been only about 10 at the time. You had to change, because Oxford station was as far as the Witney train went. A day in Oxford; and then back again - Cassington 'alt, Eynsham, South Leigh, and Witney. That all changed when the branch line was closed, (and wouldn't it be great if it changed again with a new one!) Change, change, change. Old change, new change, slow change, quick change. Everything changes - not even your diamonds are forever because someone else will own them one day. Some changes are great, like (say) a hip replacement or a word processor, but some are not, like (say) illness, or the awful increases in crime, bigotry and pollution. Indeed when things are bad one has sympathy for the rather gloomy old hymn which has the line "Change and decay in all around I see, O Thou who changest not, abide with me". There's a comfortable thought - a just, good and unchanging God; and one can read many, many quotes from the Bible that support this truth. Here is just one of them: "I AM THE LORD, and I change not". So isn't it strange that so much of today's thought seems to expect an unchanging God to debase His principles (which are for our protection and peace) so that they keep in line with a degenerating mankind. Well, He won't, and those who change away from those principles are in for trouble. One should read them from time to time (there are 10) because they make a foundation for stable families and stable communities, and one should see how they apply in one's own life. Think what good it would do in families if there were an increase in respect for marriage promises and for parents. Or in communities if there was less stealing and violence. It does start though with people becoming joined to that unchanging, just and loving God, and this is through the Lord Jesus Christ. That joining is the happiest change anyone can make. Cogges Parish | Other articles | Previous issue | Feedback © 2001; Published in Cogges Parish monthly newsletter, September 2001 |