AWS::GroundStation::MissionProfile
Mission profiles specify parameters and provide references to config objects to define how Ground Station lists and executes contacts.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::GroundStation::MissionProfile", "Properties" : { "ContactPostPassDurationSeconds" :
Integer
, "ContactPrePassDurationSeconds" :Integer
, "DataflowEdges" :[ DataflowEdge, ... ]
, "MinimumViableContactDurationSeconds" :Integer
, "Name" :String
, "Tags" :[ Tag, ... ]
, "TrackingConfigArn" :String
} }
YAML
Type: AWS::GroundStation::MissionProfile Properties: ContactPostPassDurationSeconds:
Integer
ContactPrePassDurationSeconds:Integer
DataflowEdges:- DataflowEdge
MinimumViableContactDurationSeconds:Integer
Name:String
Tags:- Tag
TrackingConfigArn:String
Properties
ContactPostPassDurationSeconds
-
Amount of time in seconds after a contact ends that you’d like to receive a CloudWatch Event indicating the pass has finished. For more information on CloudWatch Events, see the What Is CloudWatch Events?
Required: No
Type: Integer
Update requires: No interruption
ContactPrePassDurationSeconds
-
Amount of time in seconds prior to contact start that you'd like to receive a CloudWatch Event indicating an upcoming pass. For more information on CloudWatch Events, see the What Is CloudWatch Events?
Required: No
Type: Integer
Update requires: No interruption
DataflowEdges
-
A list containing lists of config ARNs. Each list of config ARNs is an edge, with a "from" config and a "to" config.
Required: Yes
Type: List of DataflowEdge
Update requires: No interruption
MinimumViableContactDurationSeconds
-
Minimum length of a contact in seconds that Ground Station will return when listing contacts. Ground Station will not return contacts shorter than this duration.
Required: Yes
Type: Integer
Update requires: No interruption
Name
-
The name of the mission profile.
Required: Yes
Type: String
Update requires: No interruption
Tags
-
Tags assigned to the mission profile.
Required: No
Type: List of Tag
Update requires: No interruption
TrackingConfigArn
-
The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.
Required: Yes
Type: String
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the ARN of the mission profile. For example:
{ "Ref": "MissionProfile" }
Ref
returns the ARN of the mission profile.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt.
Examples
Mission Profile With Downlink And Uplink
The following example shows how to create a mission profile that utilizes both downlink and uplink during a contact.
The resulting mission profile will have a name of My Mission Profile
.
CloudWatch Events will be sent 120
seconds before the contact starts and 180
seconds after the contact completes.
No contacts less than 300
seconds in duration will be returned when listing available contacts with this mission profile selected.
The satellite will be tracked as it moves through the sky using the method specified by the referenced tracking config.
The first dataflow edge in the list shows how to specify dataflow for a downlink contact. Data is delivered from the antenna to a dataflow endpoint. More specifically, data is flowed:
-
From the antenna using the parameters defined in this antenna downlink config:
-
arn:aws:groundstation:us-east-2:1234567890:config/antenna-downlink/11111111-1111-1111-1111-111111111111
-
-
To the dataflow endpoint defined in this dataflow endpoint config:
-
arn:aws:groundstation:us-east-2:1234567890:config/dataflow-endpoint/22222222-2222-2222-2222-222222222222
-
The second dataflow edge in the list shows how to specify dataflow for an uplink contact. Data is delivered from a dataflow endpoint to the antenna for transmission to a satellite. More specifically, data is flowed:
-
From the dataflow endpoint defined in this dataflow endpoint config:
-
arn:aws:groundstation:us-east-2:1234567890:config/dataflow-endpoint/33333333-3333-3333-3333-333333333333
-
-
To the antenna using the parameters defined in this antenna uplink config:
-
arn:aws:groundstation:us-east-2:1234567890:config/antenna-uplink/44444444-4444-4444-4444-444444444444
-
JSON
{ "Resources": { "MyMissionProfile": { "Type": "AWS::GroundStation::MissionProfile", "Properties": { "Name": "My Mission Profile", "ContactPrePassDurationSeconds": 120, "ContactPostPassDurationSeconds": 180, "MinimumViableContactDurationSeconds": 300, "TrackingConfigArn": "arn:aws:groundstation:us-east-2:1234567890:config/tracking/00000000-0000-0000-0000-000000000000", "DataflowEdges": [ { "Source": "arn:aws:groundstation:us-east-2:1234567890:config/antenna-downlink/11111111-1111-1111-1111-111111111111", "Destination": "arn:aws:groundstation:us-east-2:1234567890:config/dataflow-endpoint/22222222-2222-2222-2222-222222222222" }, { "Source": "arn:aws:groundstation:us-east-2:1234567890:config/dataflow-endpoint/33333333-3333-3333-3333-333333333333", "Destination": "arn:aws:groundstation:us-east-2:1234567890:config/antenna-uplink/44444444-4444-4444-4444-444444444444" } ] } } } }
YAML
Resources: MyMissionProfile: Type: AWS::GroundStation::MissionProfile Properties: Name: "Mission Profile" ContactPrePassDurationSeconds: 120 ContactPostPassDurationSeconds: 180 MinimumViableContactDurationSeconds: 300 TrackingConfigArn: arn:aws:groundstation:us-east-2:1234567890:config/tracking/00000000-0000-0000-0000-000000000000 DataflowEdges: - Source: arn:aws:groundstation:us-east-2:1234567890:config/antenna-downlink/11111111-1111-1111-1111-111111111111 Destination: arn:aws:groundstation:us-east-2:1234567890:config/dataflow-endpoint/22222222-2222-2222-2222-222222222222 - Source: arn:aws:groundstation:us-east-2:1234567890:config/dataflow-endpoint/33333333-3333-3333-3333-333333333333 Destination: arn:aws:groundstation:us-east-2:1234567890:config/antenna-uplink/44444444-4444-4444-4444-444444444444


[t]Dear {$name|escape},[/t]
{if $login_type == 'relation'}[t]You have requested your customer login password. The password is: {$password|escape}[/t]
{else}[t]You have requested your applicant login password. The password is: {$password|escape}[/t]
{/if}[t]Remark: this e-mail message has been automatically generated[/t]


My friend and I had wanted to get drunk for the longest time, but we had no idea where we could get it from, finally someone offered to get us some, we had no idea how much we were supposed to drink or anything about it. Everybody told us to watch our limits, but we had no idea what the limits were.
we werent going to drink the 26 of bacardi we got until there were more than just 2 of us there, but we just wanted a little taste. we opened the bottle and really liked it and had 3 shots to begin with, we felt dizzy but we didnt think that was everything to it, we we had 4 more shots and by this time we were pissed outta our mind.
there was a little less than half the bottle left so we decided just to finish it off. that was probably 3 more shots each. as soon as i got up i fell over and started puking my ass off all over her bedroom floor. it was only like 3 in the afternoon and my friends parents came home to see that i had been puking everywhere, and my friend had no idea what to do.
i was puking and couldnt get up for about 5 hours and kept passing out and waking up about 5 minutes later on and off. we told her parents that we just had way to much candy and junkfood.
my friend was told to go and get my parents to help me up, my mom came and told me to get up to walk home (right across the road) i couldnt move, every time i moved i would puke more and more. finally she got the car and came to pick me up and they dragged me out to the car. i got home and as i walked to bed i puked all over the floor.
i passed out and fell asleep for 14 hours. as shitty as that experience was, we went out and got pissed off our ass again the next night, but this time we knew our limits.
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.


{{ key }} {% include "issues/issue/partials/table_header.html" %} {% for issue in issues %} {% include "issues/issue/partials/row.html" %} {% endfor %}


networking
stats
legend
root
app (radius instances)
zero instances
directory
dir apps only
link
reference


If you are struggling to find a meal to make or if your significant other "doesn't know" what they want to eat. Simply select a country from the drop menu below and allow us to randomly pick a food for you to make! Also, below the food is a random drink suggestion to go along with your meal!


Service Maintenance Notification
MAINTENANCE
Website is now under maintenance period.
Please come back later.
Contact website administrator at
info@5000s


--- title: Test nbdev doc flags keywords: fastai sidebar: home_sidebar summary: "Some cells to test the flags that control doc generation." description: "Some cells to test the flags that control doc generation." ---
print('output should be hidden')
from nbdev.showdoc import show_doc
from decision_tree.test.doc import _TstClass
class AnotherTestClass():
"just another test class"
def a():
"with a dummy method"
pass
# exports
print('exported and shown')
print('collapse')
print('collapse_show')
def demo_multi_line_of_code():
print('collapse-show with multiple lines of code')
demo_multi_line_of_code()
#collapse-show
def demo_multi_line_of_code():
print('collapse-show AND collapse-output with multiple lines of code')
demo_multi_line_of_code()
# Note: nbdev does not allow both input and outout to be collapse - input gets picked up first
print('collapse_hide')
print('collapse_output')
print('collapse-output\nwith\nmultiple lines of output')
The cell below hides its input and collapses output
# slow
print('output should be hidden - even when used with test flag')
#hide_output
print('output should be hidden - even when used with test flag')


From the Ghanian culture...
According to wikipedia, the Akan people of Ghana frequently name their children after the day of the week they were born and the order in which they were born. These "day names" have further meanings concerning the soul and character of the person. Middle names have considerably more variety and can refer to their birth order, twin status, or an ancestor's middle name.
This naming tradition is shared throughout West Africa and the African diaspora. During the 18th–19th centuries, enslaved people in the Caribbean from the region that is modern-day Ghana were referred to as Coromantees. Many of the leaders of enslaved people's rebellions had "day names" including Cuffy, Cuffee or Kofi, Cudjoe or Kojo, Quao or Quaw, and Quamina or Kwame/Kwamina.
Most Ghanaians have at least one name from this system, even if they also have an English or Christian name. Notable figures with day names include Ghana's first president Kwame Nkrumah and former United Nations Secretary-General Kofi Annan read more.
To get your Akan name, kindly fill in the form below


This portfolio website is an asignment for discovering our personal talents.
Want to learn more about me?
Contact me
0486 / 82 30 53
dylan_verstraete1@hotmail.com


--- layout: page title: "Link Relation Types for Web Services" description: "Many resources provided on the Web are part of sets of resources that are provided in a context that is managed by one particular service provider. Often, these sets of resources are referred to as \"Web services\" or \"Web APIs\". This specification defines link relations that represent relationships from Web services or APIs to resources that provide documentation, descriptions, metadata, or status information for these resources. Documentation is primarily intended for human consumers, whereas descriptions are primarily intended for automated consumers. Metadata provides information about a service's context. This specification also defines a link relation to identify status resources that are used to represent information about service status." ---
| Document Name: | RFC 8631 |
|---|---|
| Document URI: |
urn:ietf:rfc:8631
|
| Online Version: |
https://datatracker.ietf.org/doc/html/rfc8631
|
| Organization: | Internet Engineering Task Force (IETF) |
| Series: | Request for Comments (RFC) |
| Abstract: | Many resources provided on the Web are part of sets of resources that are provided in a context that is managed by one particular service provider. Often, these sets of resources are referred to as "Web services" or "Web APIs". This specification defines link relations that represent relationships from Web services or APIs to resources that provide documentation, descriptions, metadata, or status information for these resources. Documentation is primarily intended for human consumers, whereas descriptions are primarily intended for automated consumers. Metadata provides information about a service's context. This specification also defines a link relation to identify status resources that are used to represent information about service status. |
service-desc
,
service-doc
,
service-meta
,
status
Return to ( Series | Organization | all Specifications )


R/individualQC.R
evaluate_check_ancestry.Rd
Evaluates and depicts results of plink --pca (via
run_check_ancestry
or externally conducted pca) on merged
genotypes from individuals to be QCed and individuals of reference population
of known genotypes. Currently, check ancestry only supports automatic
selection of individuals of European descent. It uses information from
principal components 1 and 2 returned by plink --pca to find the center of
the European reference samples (mean(PC1_europeanRef), mean(PC2_europeanRef).
It computes the maximum Euclidean distance (maxDist) of the European
reference samples from this centre. All study samples whose Euclidean
distance from the centre falls outside the circle described by the radius
r=europeanTh* maxDist are considered non-European and their IDs are returned
as failing the ancestry check.
check_ancestry creates a scatter plot of PC1 versus PC2 colour-coded for
samples of the reference populations and the study population.
evaluate_check_ancestry( indir, name, prefixMergedDataset, qcdir = indir, europeanTh = 1.5, defaultRefSamples = c("HapMap", "1000Genomes"), refSamples = NULL, refColors = NULL, refSamplesFile = NULL, refColorsFile = NULL, refSamplesIID = "IID", refSamplesPop = "Pop", refColorsColor = "Color", refColorsPop = "Pop", studyColor = "#2c7bb6", refPopulation = c("CEU", "TSI"), legend_labels_per_row = 6, legend_text_size = 5, legend_title_size = 7, axis_text_size = 5, axis_title_size = 7, title_size = 9, highlight_samples = NULL, highlight_type = c("text", "label", "color", "shape"), highlight_text_size = 3, highlight_color = "#c51b8a", highlight_shape = 17, highlight_legend = FALSE, interactive = FALSE, verbose = FALSE )
| indir | [character] /path/to/directory containing the basic PLINK data files name.bim, name.bed, name.fam files. |
|---|---|
| name | [character] Prefix of PLINK files, i.e. name.bed, name.bim, name.fam. |
| prefixMergedDataset | [character] Prefix of merged dataset (study and reference samples) used in plink --pca, resulting in prefixMergedDataset.eigenvec. |
| qcdir | [character] /path/to/directory/with/QC/results containing prefixMergedDataset.eigenvec results as returned by plink --pca. Per default qcdir=indir. |
| europeanTh | [double] Scaling factor of radius to be drawn around center of European reference samples, with study samples inside this radius considered to be of European descent and samples outside this radius of non-European descent. The radius is computed as the maximum Euclidean distance of European reference samples to the centre of European reference samples. |
| defaultRefSamples | [character] Option to use pre-downloaded individual and population identifiers from either the 1000Genomes or HapMap project. If refSamples and refSamplesFile are not provided, the HapMap identifiers (or 1000Genomes is specified) will be used as default and the function will fail if the reference samples in the prefixMergedDataset do not match these reference samples. If refColors and refColorsFile are not provided, this also sets default colors for the reference populations. |
| refSamples | [data.frame] Dataframe with sample identifiers [refSamplesIID] corresponding to IIDs in prefixMergedDataset.eigenvec and population identifier [refSamplesPop] corresponding to population IDs [refColorsPop] in refColorsfile/refColors. If refSamples and refSamplesFile are not specified, defaultRefSamples will be used as reference. |
| refColors | [data.frame, optional] Dataframe with population IDs in column [refColorsPop] and corresponding colour-code for PCA plot in column [refColorsColor]. If refColors and refColorsFile are not specified and refSamples and refSamplesFile are not specified, default colors will be determined from the defaultRefSamples option. If refColors and refColorsFile are not specified and but refSamples or refSamplesFile are given, ggplot default colors will be used. |
| refSamplesFile | [character] /path/to/File/with/reference samples. Needs columns with sample identifiers [refSamplesIID] corresponding to IIDs in prefixMergedDataset.eigenvec and population identifier [refSamplesPop] corresponding to population IDs [refColorsPop] in refColorsfile/refColors. If both refSamplesFile and refSamples are not NULL, defaultRefSamples information is used. |
| refColorsFile | [character, optional] /path/to/File/with/Population/Colors containing population IDs in column [refColorsPop] and corresponding colour-code for PCA plot in column [refColorsColor]. If refColors and refColorsFile are not specified and refSamples and refSamplesFile are not specified, default colors will be determined from the defaultRefSamples option. If refColors and refColorsFile are not specified and but refSamples or refSamplesFile are given, ggplot default colors will be used. |
| refSamplesIID | [character] Column name of reference sample IDs in refSamples/refSamplesFile. |
| refSamplesPop | [character] Column name of reference sample population IDs in refSamples/refSamplesFile. |
| refColorsColor | [character] Column name of population colors in refColors/refColorsFile |
| refColorsPop | [character] Column name of reference sample population IDs in refColors/refColorsFile. |
| studyColor | [character] Colour to be used for study population if plot is TRUE. |
| refPopulation | [vector] Vector with population identifiers of European reference population. Identifiers have to be corresponding to population IDs [refColorsPop] in refColorsfile/refColors. |
| legend_labels_per_row | [integer] Number of population names per row in PCA plot. |
| legend_text_size | [integer] Size for legend text. |
| legend_title_size | [integer] Size for legend title. |
| axis_text_size | [integer] Size for axis text. |
| axis_title_size | [integer] Size for axis title. |
| title_size | [integer] Size for plot title. |
| highlight_samples | [character vector] Vector of sample IIDs to highlight in the plot (p_ancestry); all highlight_samples IIDs have to be present in the IIDs of the prefixMergedDataset.fam file. |
| highlight_type | [character] Type of sample highlight, labeling by IID ("text"/"label") and/or highlighting data points in different "color" and/or "shape". "text" and "label" use ggrepel for minimal overlap of text labels ("text) or label boxes ("label"). Only one of "text" and "label" can be specified.Text/Label size can be specified with highlight_text_size, highlight color with highlight_color, or highlight shape with highlight_shape. |
| highlight_text_size | [integer] Text/Label size for samples specified to be highlighted (highlight_samples) by "text" or "label" (highlight_type). |
| highlight_color | [character] Color for samples specified to be highlighted (highlight_samples) by "color" (highlight_type). |
| highlight_shape | [integer] Shape for samples specified to be highlighted (highlight_samples) by "shape" (highlight_type). Possible shapes and their encoding can be found at: https://ggplot2.tidyverse.org/articles/ggplot2-specs.html#sec:shape-spec |
| highlight_legend | [logical] Should a separate legend for the highlighted samples be provided; only relevant for highlight_type == "color" or highlight_type == "shape". |
| interactive | [logical] Should plots be shown interactively? When choosing this option, make sure you have X-forwarding/graphical interface available for interactive plotting. Alternatively, set interactive=FALSE and save the returned plot object (p_ancestry) via ggplot2::ggsave(p=p_ancestry, other_arguments) or pdf(outfile) print(p_ancestry) dev.off(). |
| verbose | [logical] If TRUE, progress info is printed to standard out. |
Named [list] with i) fail_ancestry, containing a [data.frame] with FID and IID of non-European individuals and ii) p_ancestry, a ggplot2-object 'containing' a scatter plot of PC1 versus PC2 colour-coded for samples of the reference populations and the study population, which can be shown by print(p_ancestry) and iii) plot_data, a data.frame with the data visualised in p_ancestry (ii).
Both run_check_ancestry
and
evaluate_check_ancestry
can simply be invoked by
check_ancestry
.
1000 Genomes samples were downloaded from https://www.internationalgenome.org/category/sample/, HapMap Phase 3 samples were downloaded from https://www.broadinstitute.org/medical-and-population-genetics/hapmap-3.
if (FALSE) { qcdir <- system.file("extdata", package="plinkQC") name <- "data" # whole dataset fail_ancestry <- evaluate_check_ancestry(indir=qcdir, name=name, refSamplesFile=paste(qcdir, "/HapMap_ID2Pop.txt",sep=""), refColorsFile=paste(qcdir, "/HapMap_PopColors.txt", sep=""), prefixMergedDataset="data.HapMapIII", interactive=FALSE) # highlight samples highlight_samples <- read.table(system.file("extdata", "keep_individuals", package="plinkQC")) fail_ancestry <- evaluate_check_ancestry(indir=qcdir, name=name, refSamplesFile=paste(qcdir, "/HapMap_ID2Pop.txt",sep=""), refColorsFile=paste(qcdir, "/HapMap_PopColors.txt", sep=""), prefixMergedDataset="data.HapMapIII", interactive=FALSE, highlight_samples = highlight_samples[,2], highlight_type = c("text", "shape")) }


Next: Numeric Characters, Previous: Corresponding Characters in the Other Case, Up: Character Categories
An implementation may define that other implementation-defined graphic characters have case. Such definitions must always be done in pairs—one uppercase character in one-to-one correspondence with one lowercase character.


Preparation time
overnight
Cooking time
30 mins to 1 hour
Serves
Serves 4
This tender, juicy chicken uses two types of chilli for a smoky, fruity, spicy kick. It’s fab with an ice-cold beer.
Equipment and preparation: For this recipe, you will need a heavy, ovenproof object to place on top of the chicken as it cooks; a brick is ideal, but you could use a cast-iron flameproof casserole. You will also need aluminium foil.
For the chicken, heat a frying pan over a high heat. When the pan is hot, add the chipotle and habanero chillies and dry-fry, turning regularly, until the skins are almost completely blackened and blistered all over. Transfer the chillies to a bowl and cover them with warm water (from a kettle). Set aside to soak for 15-20 minutes, or until soft.
When the chillies are soft, carefully drain away the water and remove the stalks, seeds and skins using your fingers. (CAUTION: Wash your hands thoroughly after skinning and de-seeding the chillies, and don’t touch your eyes during the process.) Roughly chop the chilli flesh, then transfer it to a pestle and mortar and add the salt and olive oil. Pound the chillies to a smooth paste.
Stir the orange juice, oregano and garlic into the chilli paste until well combined.
Lay the spatchcocked chicken out onto a clean work surface. Spread the chilli marinade all over it. Set aside to marinate for at least 30 minutes, or preferably overnight (covered and chilled).
Meanwhile, for the frijoles, melt the butter in a large saucepan over a high heat. When the butter is foaming, add the onion and garlic and fry for 6-8 minutes, or until softened but not coloured.
Add the chopped coriander stalks to the mixture and continue to fry for a further 3-4 minutes, stirring well.
Stir the black beans and all of the tin contents (see tip) into the mixture. Bring the mixture to the boil, then reduce the heat until the mixture is simmering and simmer for 12-15 minutes, stirring regularly, until the beans are very soft and the sauce has thickened. (Garnish with the coriander leaves and chopped chilli just before serving.)
When the chicken has marinated, heat a large, heavy-based griddle pan or frying pan over a medium to high heat. When the pan is hot, add the marinated chicken, skin-side down.
Wrap a brick in aluminium foil (see tip). Place the brick on top of the chicken and continue to griddle, without moving or turning it, for 20-25 minutes, or until the chicken is completely cooked through (the chicken is cooked through if the juices run clear when a skewer is inserted into the thickest part of the meat and no trace of pink remains).
Remove the brick(s) from the chicken, remove the chicken from the pan and set aside to rest before carving into slices.
To serve, divide the chicken, frijoles, cheese, tomato salsa and lettuce equally among the tacos, or let people make their own tacos.


16 Genome-wide association analyses (GWAS)
Genomic data can be stored in different formats. VCF and PLINK files are commonly used in genetic epidemiology studies. We have a GWAS example available at BRGE data repository that aims to find SNPs associated with asthma. We have data stored in VCF (brge.vcf) with several covariates and phenotypes available in the file brge.txt (gender, age, obesity, smoking, country and asthma status). The same data is also available in PLINK format (brge.bed, brge.bim, brge.fam) with covariates in the file brge.phe.
Here we illustrate how to perform GWAS using R and Bioconductor packages or PLINK shell command line.
16.1 GWAS with Bioconductor
We have created a resource having the VCF file of our study on asthma as previously described. The name of the resource is brge_vcf
the phenotypes are available in another resource called brge
that is a .txt file. The GWAS analysis is then perform as follows
We first start by preparing login data
builder <- newDSLoginBuilder()
builder$append(server = "study1", url = "https://opal-demo.obiba.org",
user = "dsuser", password = "password",
resource = "RSRC.brge_vcf", driver = "OpalDriver")
logindata <- builder$build()
conns <- datashield.login(logins = logindata, assign = TRUE,
symbol = "res")
In this case we have to assign to different resources. One for the VCF (obesity_vcf) and another one for the phenotypic data (obesity). To this end, the datashield.assign.resource
function is required before assigning any object to the specific resource. Notice that the VCF resource can be load into R as a GDS thanks to our extension of existing resources in the reourcer
datashield.assign.resource(conns, symbol = "vcf.res",
resource = list(study1 = "RSRC.brge_vcf"))
datashield.assign.expr(conns, symbol = "gds",
expr = quote(as.resource.object(vcf.res)))
datashield.assign.resource(conns, symbol = "covars.res",
resource = list(study1 = "RSRC.brge"))
datashield.assign.expr(conns, symbol = "covars",
expr = quote(as.resource.data.frame(covars.res)))
These are the objects available in the Opal server
$study1
$study1$environment.searched
[1] "R_GlobalEnv"
$study1$objects.found
[1] "covars" "covars.res" "gds" "res" "vcf.res"
We can use dsBaseClient functions to inspect the variables that are in the covars
data.frame. The variables are
$study1
[1] "scanID" "gender" "obese" "age" "smoke" "country" "asthma"
The asthma
variable has this number of individuals at each level (0: controls, 1: cases)
Data in all studies were valid
Study 1 : No errors reported from this study
$output.list
$output.list$TABLE_rvar.by.study_row.props
study
covars$asthma 1
0 1
1 1
$output.list$TABLE_rvar.by.study_col.props
study
covars$asthma 1
0 0.6864187
1 0.3135813
$output.list$TABLE_rvar.by.study_counts
study
covars$asthma 1
0 1587
1 725
$output.list$TABLES.COMBINED_all.sources_proportions
covars$asthma
0 1
0.686 0.314
$output.list$TABLES.COMBINED_all.sources_counts
covars$asthma
0 1
1587 725
$validity.message
[1] "Data in all studies were valid"
There may be interest in only studying certain genes, for that matter, the loaded VCF resource can be subsetting as follows
The previous code will over-write the VCF with the SNPs corresponding to the selected genes, if the intention is to perform studies with both the complete VCF and a subsetted one, the argument name
can be used to create a new object on the server with the subsetted VCF, preserving the complete one.
Then, an object of class GenotypeData
must be created at the server side to perform genetic data analyses. This is a container defined in the GWASTools package for storing genotype and phenotypic data from genetic association studies. By doing that we will also verify whether individuals in the GDS (e.g VCF) and covariates files have the same individuals and are in the same order. This can be performed by
Before performing the association analyses, quality control (QC) can be performed to the loaded data. Three methodologies are available; 1) Principal Component Analysis (PCA) of the genomic data, 2) Hardy-Weinberg Equilibrium (HWE) testing and 3) Allelic frequency estimates. The QC methods 2 and 3 have as inputs a GenotypeData object, created with a covariates file that has a gender column; while method 1 has as input a VCF.
To perform the PCA, a pruning functionality is built inside so that redundant SNPs are discarted (there is an extra argument ld.threshold
which controls the pruning, more information about it at the SNPRelate documentation), speeding up the execution time
To perform QC methodologies 2 and 3, the name of the gender column as well as the keys to describe male or female have to be provided. Remember that we can visualize the names of the variables from our data by executing ds.colnames("covars")
. In our case, this variable is called “gender”, and the levels of this variable are 1 for male and 2 for female as we can see here (NOTE: we cannot use ds.levels
since gender variable is not a factor):
covars$gender
1 1215
2 1097
Total 2312
The HWE test can be performed to selected chromosomes using the argument chromosomes
, only the autosomes can be selected when performing a HWE test, the encoding of the autosomes can be fetched with
NULL
Therefore, HWE can be performed by:
$study1
# A tibble: 1,581 x 9
snpID chr nAA nAB nBB MAF minor.allele f pval
<int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 95140 22 531 1082 640 0.475810031069685 A 0.0372494534103404 0.0762378420092437
2 95141 22 580 1092 590 0.497789566755084 A 0.0344638881244839 0.101115839682148
3 95142 22 0 333 1951 0.0728984238178634 A -0.0786304604486423 3.29321452000707e-06
4 95143 22 0 225 2080 0.0488069414316703 A -0.0513112884834663 0.00571353422173819
5 95144 22<PHONE_NUMBER> 0.262189716312057 A 0.0479240933754878 0.025554465064758
6 95145 22 249 1003 1055 0.32531426094495 A 0.00958157673233362 0.635607524466151
7 95146 22 55 516 1738 0.135556517973149 A 0.0464603328061876 0.0325126363699498
8 95147 22<PHONE_NUMBER> 0.290722996515679 A 0.0188880417746163 0.362631409282596
9 95148 22 291 1035 985 0.349848550411077 A 0.0154998317584483 0.464409674690009
10 95149 22 11 276 2013 0.0647826086956522 A 0.00966929694008412 0.604847402951204
# ... with 1,571 more rows
attr(,"class")
[1] "dsexactHWE" "list"
Similarly, allele frequencies estimates can be estimated by:
$study1
# A tibble: 99,289 x 7
M F all n.M n.F n MAF
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 0.015 0.0147 0.0149 1200 1086 2286 0.0149
2 0.000837 0.00276 0.00175 1195 1087 2282 0.00175
3 0.00330 0.00548 0.00433 1212 1095 2307 0.00433
4 0.0124 0.00868 0.0106 1213 1095 2308 0.0106
5 0.00165 0 0.000866 1214 1095 2309 0.000866
6 0.0712 0.0754 0.0732 1208 1094 2302 0.0732
7 0.00660 0.00913 0.00780 1213 1095 2308 0.00780
8 0.00248 0.00274 0.00261 1209 1093 2302 0.00261
9 0.182 0.181 0.181 1188 1071 2259 0.181
10 0.00165 0 0.000868 1210 1094 2304 0.000868
# ... with 99,279 more rows
attr(,"class")
[1] "dsalleleFrequency" "list"
In the future, more functions will be created to perform quality control (QC) for both, SNPs and inviduals.
Association analysis for a given SNP is performed by simply
Estimate Std. Error p-value
rs11247693 -0.1543215 0.2309585 0.5040196
attr(,"class")
[1] "dsGlmSNP" "matrix" "array"
The analysis of all available SNPs is performed when the argument snps.fit
is missing. The function performs the analysis of the selected SNPs in a single repository or in multiple repositories as performing pooled analyses (it uses ds.glm
DataSHIELD function). As in the case of transcriptomic data, analyzing all the SNPs in the genome (e.g GWAS) will be high time-consuming. We can adopt a similar approach as the one adopted using the limma at each server. That is, we run GWAS at each repository using specific and scalable packages available in R/Bioc. In that case we use the GWASTools and GENESIS packages. The complete pipeline is implemented in this function
$study1
# A tibble: 99,288 x 14
variant.id rs chr pos n.obs freq MAC Score Score.SE Score.Stat Score.pval Est Est.SE PVE
<int> <chr> <chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 97800 rs12008773 X 64955287 2227 0.0126 56 19.5 3.84 5.07 0.000000408 1.32 0.260 0.0111
2 91449 rs2267914 20 1858988 2311 0.104 481 47.5 9.62 4.93 0.000000809 0.513 0.104 0.0105
3 19742 rs7153 3 122865987 2308 0.256 1181 62.3 13.7 4.56 0.00000508 0.334 0.0732 0.00900
4 93268 rs6097326 20 51324797 2311 0.125 579 46.4 10.3 4.51 0.00000642 0.439 0.0973 0.00881
5 19744 rs3732410 3 122898410 2308 0.254 1173 60.3 13.6 4.43 0.00000940 0.325 0.0734 0.00849
6 66984 rs11055608 12 13804693 2306 0.446 2057 -67.6 15.7 -4.31 0.0000161 -0.275 0.0638 0.00805
7 74760 rs7995146 13 111804035 2304 0.0527 243 29.7 6.96 4.27 0.0000195 0.614 0.144 0.00789
8 59678 rs7098143 10 83329037 2295 0.210 963 -54.5 12.8 -4.25 0.0000214 -0.331 0.0780 0.00781
9 13835 rs13002717 2 186197782 2311 0.00649 30 10.6 2.52 4.22 0.0000244 1.67 0.397 0.00770
10 27337 rs1602679 4 167576714 2299 0.101 463 39.7 9.46 4.20 0.0000264 0.444 0.106 0.00764
# ... with 99,278 more rows
attr(,"class")
[1] "dsGWAS" "list"
This close the DataSHIELD session
16.2 GWAS with PLINK
Here we illustrate how to perform the same GWAS analyses on the asthma using PLINK secure shell commands. This can be performed thanks to the posibility of having ssh resources as described here.
It is worth to notice that this workflow and the new R functions implemented in dsOmicsClient could be used as a guideline to carry out similar analyses using existing analysis tools in genomics such as IMPUTE, SAMtools or BEDtools among many others.
We start by assigning login resources
library(DSOpal)
library(dsBaseClient)
library(dsOmicsClient)
builder <- newDSLoginBuilder()
builder$append(server = "study1", url = "https://opal-demo.obiba.org",
user = "dsuser", password = "password",
resource = "RSRC.brge_plink", driver = "OpalDriver")
logindata <- builder$build()
Then we assign the resource to a symbol (i.e. R object) called client
which is a ssh resource
$study1
[1] "SshResourceClient" "CommandResourceClient" "ResourceClient" "R6"
Now, we are ready to run any PLINK command from the client site. Notice that in this case we want to assess association between the genotype data in bed format and use as phenotype the variable ‘asthma’ that is in the file ‘brge.phe’ in the 6th column. The sentence in a PLINK command would be (NOTE: we avoid –out to indicate the output file since the file will be available in R as a tibble).
plink --bfile brge --logistic --pheno brge.phe --mpheno 6 --covar brge.phe --covar-name gender,age
The arguments must be encapsulated in a single character without the command ‘plink’
plink.arguments <- "--bfile brge --logistic --pheno brge.phe --mpheno 6 --covar brge.phe --covar-name gender,age"
the analyses are then performed by
The object ans.plink
contains the PLINK results at each server as well as the outuput provided by PLINK
$study1
[1] "results" "plink.out"
# A tibble: 6 x 9
CHR SNP BP A1 TEST NMISS OR STAT P
<dbl> <chr> <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 0 MitoC3993T 3993 T ADD 2286 0.752 -1.33 0.182
2 0 MitoC3993T 3993 T gender 2286 0.742 -3.27 0.00107
3 0 MitoC3993T 3993 T age 2286 1.00 0.565 0.572
4 0 MitoG4821A 4821 A ADD 2282 2.68 1.71 0.0879
5 0 MitoG4821A 4821 A gender 2282 0.740 -3.31 0.000940
6 0 MitoG4821A 4821 A age 2282 1.00 0.465 0.642
$status
[1] 0
$output
[1] ""
[2] "@----------------------------------------------------------@"
[3] "| PLINK! | v1.07 | 10/Aug/2009 |"
[4] "|----------------------------------------------------------|"
[5] "| (C) 2009 Shaun Purcell, GNU General Public License, v2 |"
[6] "|----------------------------------------------------------|"
[7] "| For documentation, citation & bug-report instructions: |"
[8] "| http://pngu.mgh.harvard.edu/purcell/plink/ |"
[9] "@----------------------------------------------------------@"
[10] ""
[11] "Skipping web check... [ --noweb ] "
[12] "Writing this text to log file [ /tmp/ssh-2566/out.log ]"
[13] "Analysis started: Tue Jan 12 14:50:23 2021"
[14] ""
[15] "Options in effect:"
[16] "\t--bfile brge"
[17] "\t--logistic"
[18] "\t--covar brge.phe"
[19] "\t--covar-name gender,age"
[20] "\t--noweb"
[21] "\t--out /tmp/ssh-2566/out"
[22] ""
[23] "Reading map (extended format) from [ brge.bim ] "
[24] "100000 markers to be included from [ brge.bim ]"
[25] "Reading pedigree information from [ brge.fam ] "
[26] "2312 individuals read from [ brge.fam ] "
[27] "2312 individuals with nonmissing phenotypes"
[28] "Assuming a disease phenotype (1=unaff, 2=aff, 0=miss)"
[29] "Missing phenotype value is also -9"
[30] "725 cases, 1587 controls and 0 missing"
[31] "1097 males, 1215 females, and 0 of unspecified sex"
[32] "Reading genotype bitfile from [ brge.bed ] "
[33] "Detected that binary PED file is v1.00 SNP-major mode"
[34] "Reading 6 covariates from [ brge.phe ] with nonmissing values for 2199 individuals"
[35] "Selected subset of 2 from 6 covariates"
[36] "For these, nonmissing covariate values for 2312 individuals"
[37] "Before frequency and genotyping pruning, there are 100000 SNPs"
[38] "2312 founders and 0 non-founders found"
[39] "6009 heterozygous haploid genotypes; set to missing"
[40] "Writing list of heterozygous haploid genotypes to [ /tmp/ssh-2566/out.hh ]"
[41] "7 SNPs with no founder genotypes observed"
[42] "Warning, MAF set to 0 for these SNPs (see --nonfounders)"
[43] "Writing list of these SNPs to [ /tmp/ssh-2566/out.nof ]"
[44] "Total genotyping rate in remaining individuals is 0.994408"
[45] "0 SNPs failed missingness test ( GENO > 1 )"
[46] "0 SNPs failed frequency test ( MAF < 0 )"
[47] "After frequency and genotyping pruning, there are 100000 SNPs"
[48] "After filtering, 725 cases, 1587 controls and 0 missing"
[49] "After filtering, 1097 males, 1215 females, and 0 of unspecified sex"
[50] "Converting data to Individual-major format"
[51] "Writing logistic model association results to [ /tmp/ssh-2566/out.assoc.logistic ] "
[52] ""
[53] "Analysis finished: Tue Jan 12 14:52:20 2021"
[54] ""
$error
character(0)
$command
[1] "cd /home/master/brge && plink1 --bfile brge --logistic --covar brge.phe --covar-name gender,age --noweb --out /tmp/ssh-2566/out"
attr(,"class")
[1] "resource.exec"
We can compare the p-values obtained using PLINK with Bioconductor-based packages for the top-10 SNPs as follows:
library(tidyverse)
# get SNP p.values (additive model - ADD)
res.plink <- ans.plink$study1$results %>% filter(TEST=="ADD") %>%
arrange(P)
# compare top-10 with Biocoductor's results
snps <- res.plink$SNP[1:10]
plink <- res.plink %>% filter(SNP%in%snps) %>% dplyr::select(SNP, P)
bioC <- ans.bioC$study1 %>% filter(rs%in%snps) %>% dplyr::select(rs, Score.pval)
left_join(plink, bioC, by=c("SNP" = "rs"))
# A tibble: 10 x 3
SNP P Score.pval
<chr> <dbl> <dbl>
1 rs2267914 0.00000151 0.000000809
2 rs6097326 0.00000424 0.00000642
3 rs7153 0.00000440 0.00000508
4 rs3732410 0.00000817 0.00000940
5 rs7995146 0.0000170 0.0000195
6 rs6495788 0.0000213 0.0000278
7 rs1602679 0.0000268 0.0000264
8 rs11055608 0.0000270 0.0000161
9 rs7098143 0.0000313 0.0000214
10 rs7676164 0.0000543 0.0000537
As expected, the p-values are in the same order of magnitud having little variations due to the implemented methods of each software.
We can do the same comparions of minor allele frequency (MAF) estimation performed with Bioconductor and PLINK. To this end, we need first to estimate MAF using PLINK
plink.arguments <- "--bfile brge --freq"
ans.plink2 <- ds.PLINK("client", plink.arguments)
maf.plink <- ans.plink2$study1$results
plink <- maf.plink %>% filter(SNP%in%snps) %>% dplyr::select(SNP, MAF)
bioC <- ans.bioC$study1 %>% filter(rs%in%snps) %>% dplyr::select(rs, freq)
left_join(plink, bioC, by=c("SNP" = "rs"))
# A tibble: 10 x 3
SNP MAF freq
<chr> <dbl> <dbl>
1 rs7153 0.256 0.256
2 rs3732410 0.254 0.254
3 rs7676164 0.304 0.304
4 rs1602679 0.101 0.101
5 rs7098143 0.210 0.210
6 rs11055608 0.446 0.446
7 rs7995146 0.0527 0.0527
8 rs6495788 0.267 0.267
9 rs2267914 0.104 0.104
10 rs6097326 0.125 0.125
This close the DataSHIELD session


{{ partial "header" . }} {{ $nextRunTimeLength := len .Data.NextRunTimes }} {{ if eq $nextRunTimeLength 0 }}
We will use this email address to send you the updates
We will use this name to address you in the email
{{ if eq $count 0 }}We suggest to select 08 hrs or 17hrs depending on when you have free time{{end}}
Use Command Key on Mac (or) Ctrl key on Windows/Linux to select more than one option
{{ if eq $count 0 }}We suggest you select Monday through Thursday{{end}}
Load from System Time. TimeZone Offset is calculated from the browser. Extremes are -1200 & +1400 NOTE: Use TimeZone name to consider Daylight Savings. Only valid TimeZone Names get displayed on change
Load All TimeZones | Reload Names from OffsetTimeZone name is used to schedule the email


Hush has been building the first ever open source private messenger service based on Zcash technology. Hush & Komodo not only share core developers, but coinciding views on the importance of independent right to privacy.
Now available for pre-order
#BatmanHush An adaptation of the seminal DC classic tale, Batman: Hush centres on a shadowy new villain known only as Hush
https://t.co/JyIPq4ctEj
#LongLiveTheBat https://t.co/Uf3H3t76EJ
[dscrd-hush] <dukeleto> also, DC comics is doing advertising for us!
Re-reading Batman Hush for the fourth time. For the remainder of the year I’m going to be diving into various Batman graphic novels. Getting ready for Robert Pattinson as the new Dark Knight! #TheBatman #Batman #MattReeves #RobertPattinson #Battinson
GatewayBOT04-Jun-19 03:07 AM
[dscrd-hush] <Eddy O> :hush_white:
[dscrd-hush] <Eddy O> Batman would use hush, very bullish
[dscrd-hush] <franciscana23> Good evening
GatewayBOT04-Jun-19 03:48 AM
[dscrd-hush] <Pixelised> This shadowy villian Hush, does he secretly communicates with his minions using encrypted messages on the Hush blockchain @dukeleto ? lol
[dscrd-hush] <Berg> Is there any market driver behind it?
[dscrd-hush] <Berg> Haven't really been following any news
GatewayBOT04-Jun-19 02:56 PM
[dscrd-hush] <RunningMantheCoin> Only TA.  I could totally be wrong.  I am partial to burning 160,000 $HUSH to "spiritually cleanse" the pre-mine of the orig...
GatewayBOT04-Jun-19 04:48 PM
[dscrd-hush] <dukeleto> too quiet in here
[dscrd-hush] <dukeleto> maybe the scary man with fire was too much
[dscrd-hush] <JWolf (WW Clan leader)> lol burn it
GatewayBOT04-Jun-19 05:08 PM
[dscrd-hush] <Pepin the Healer> burn it! the rest of our coins will be worth more!
[dscrd-hush] <Pepin the Healer> except that's my coins being burned and i don't have any others lol
[dscrd-hush] <Akira X> Donate here !
[dscrd-hush] <Berg> I wish there was a way to get the coins back to their owners
[dscrd-hush] <Pepin the Healer> won't shed a tear for $108.77 here but others might not be as fortunate. so it goes
GatewayBOT04-Jun-19 06:10 PM
[dscrd-hush] <Akira X> But did you pay $10000 for them?
[dscrd-hush] <Berg> That's about 7,500 Hush at today's prices
GatewayBOT04-Jun-19 07:02 PM
[dscrd-hush] <heguli97> i had about 420$ worth of Hush on Cryptopia in today's price(edited)
[dscrd-hush] <heguli97> If we could just get that user data somehow from the liquidators...
GatewayBOT04-Jun-19 07:19 PM
[dscrd-hush] <franciscana23> Very nice price Hush
[dscrd-hush] <jl777c> has anybody contacted the liquidators?
GatewayBOT04-Jun-19 07:42 PM
[dscrd-hush] <dukeleto> @jl777c i haven't but maybe @RunningMantheCoin or @Berg have. Not sure what we would say to them, as they themselves are being extorted by a different company for $2M USD for the user data as to who owns all the coins on cryptopia
GatewayBOT04-Jun-19 10:54 PM
[dscrd-hush] <BaBa WhiteSheep> Haven't been here lately but when I come and see you guys talking about Cryptopia, I shed a tear or two.
GatewayBOT04-Jun-19 11:21 PM
[dscrd-hush] <penguin> liquidation 101 ?
GatewayBOT04-Jun-19 11:58 PM
[dscrd-hush] <Oso> @heguli97 oh cool. Ive always had anagma
[dscrd-hush] <Oso> @heguli97 will chainzilla support too?
GatewayBOT05-Jun-19 12:30 AM
[dscrd-hush] <Oso> Must get a tighter grip on hush
GatewayBOT05-Jun-19 01:01 AM
[dscrd-hush] <Need4Speed> Hi Guys
GatewayBOT05-Jun-19 02:02 AM
[dscrd-hush] <dukeleto> @Need4Speed welcome
[dscrd-hush] <dukeleto> @here If anybody has used the Agama wallet in the last 2 months, I regret to inform you that there is some kind of security issue going on. KMD is recommending everyone move funds out of any seed phrases that used Lite mode. This most likely affects many Hush people, as I have told people to use Agama. Please join the #community-support channel in KMD discord https://discordapp.com/invite/QpYmzqk for breaking info. I am there, helping people
[dscrd-hush] <Pixelised> Hushmate is having an issue where komodod is not running and I'm having the same problem (as some others) where Hushmate says that the blockchain is corrupt, restarts and then does a reindex. Rinse and repeat. I've just used the web wallet to generate a new address, exporting the private keys to a USB drive.(edited)
GatewayBOT05-Jun-19 02:39 AM
[dscrd-hush] <dukeleto> @Pixelised firstly, sorry for all this stuff
[dscrd-hush] <dukeleto> @Pixelated which OS are you on and which hushmate release?
[dscrd-hush] <dukeleto> that sounds like a bug in the first release of hushmate but we fixed it
[dscrd-hush] <Pixelised> Using a fresh install of Windows 10. Downloaded Hushmate today.
[dscrd-hush] <Pixelised> All good. No need to say sorry Dukeleto. Sent you a DM of the debug log.
GatewayBOT05-Jun-19 03:16 AM
[dscrd-hush] <dukeleto> PROTIP: You can use this tool to see if your address has funds across all KMD asset chains, including HUSH3: https://dexstats.info/assetviewer.php
[dscrd-hush] <ComputerGenie - ChickenPool> http://mininglabs.rockshttp://piratesolo.comhttp://chickenpool.com
and
http://minehush.com
will all be shut down over night while I create new pool addresses and move all funds and move all of my personal funds on 27 chains because I can't get any straight answers about when/what/why agama logins are/were un/safe
GatewayBOT05-Jun-19 04:47 AM
[dscrd-hush] <dukeleto> !tip @ComputerGenie - ChickenPool 5 hush because something is better than nothing
[dscrd-hush] <Discordtip> @dukeleto sent @ComputerGenie 5.00 HUSH (≈ $0.30).
[dscrd-hush] <ComputerGenie - ChickenPool> tnks, I'll use it to buy a coffee to stay awake for this mess
[dscrd-hush] <dukeleto> !tip a random user a cup of coffee
[dscrd-hush] <Discordtip> @dukeleto sent @Mark22222 1 cup of coffee (= $1.50 = 24.48 HUSH).
[dscrd-hush] <dukeleto> @Mark22222 use it well
[dscrd-hush] <dukeleto> !tip @ComputerGenie - ChickenPool a cup of coffee
[dscrd-hush] <Discordtip> @dukeleto sent @ComputerGenie 1 cup of coffee (= $1.50 = 24.48 HUSH).
[dscrd-hush] <dukeleto> ok, now i feel better
[dscrd-hush] <ComputerGenie - ChickenPool> 24 hush for coffee? that them cat shit out beans?
[dscrd-hush] <dukeleto> civet coffee is some crazy stuff. Never tried it, but maybe one day
[dscrd-hush] <dukeleto> when i had a coffee company, a company that sold it gave me a price sheet. I think it's $100-$200 per pound, or they sell it $50/cup at restaurants. Too rich for my blood
[dscrd-hush] <dukeleto> @ComputerGenie - ChickenPool enjoy your coffee, get a big one
[dscrd-hush] <ComputerGenie - ChickenPool> I think it's $100-$200 per pound
So, on my sell sheet, 24 HUSH will buy me a pound (edited)
[dscrd-hush] <Pixelised> Well when all our coins moon, we can sip Civet cofee in our Lambos.
[dscrd-hush] <ComputerGenie - ChickenPool> iirc, my min sell price is still at $4
[dscrd-hush] <ComputerGenie - ChickenPool> my bad, $2; so, 1/2 pound
GatewayBOT05-Jun-19 05:15 AM
[dscrd-hush] <SHossain> @heguli97 @dukeleto user shadowblade678#7083 is DM spamming
[dscrd-hush] <heguli97> Thanks, i gave it the :ban:
GatewayBOT05-Jun-19 05:28 AM
[dscrd-hush] <dukeleto> !tip @heguli97 15 hush
[dscrd-hush] <Discordtip> :money_mouth: @dukeleto sent @heguli97 15.00 HUSH (≈ $0.91).
[dscrd-hush] <heguli97> Thank you duke, do you know if it's better to move hush to somewhere else if people used Agama to access their Hush from the old chain?(edited)
GatewayBOT05-Jun-19 05:48 AM
[dscrd-hush] <dukeleto>
jl777cToday at 10:10 PM
we are sweeping funds from vulnerable addresses to: RSgD2cmm3n.....trEHoHMywJdkbkeF
if your funds ended up there, contact @SHossain with your details including a new address and we will get your funds back
[dscrd-hush] <dukeleto> @heguli97 basically if you put a WIF or seed phrase or anything into agama lite mode recently, consider it compromised and send funds to a new address
[dscrd-hush] <heguli97> Ok good to know, every seed/WIF are potentially compromised(edited)
[dscrd-hush] <heguli97>
[dscrd-hush] <Bar_F1sh_Rel> OK - answer is probably around here somewhere - but if anyone has it quickly to hand???
I have old HUSH address in agama on a seed that I have been waiting to convert to HUSH3 - but agama doesn't have a ticker for HUSH3 - am I being dim here?
Do I need to convert?
GatewayBOT05-Jun-19 06:08 AM
[dscrd-hush] <jl777c> all agama variants, even native mode could have compromised things. better safe than sorry
GatewayBOT05-Jun-19 06:26 AM
[dscrd-hush] <heguli97> @Bar_F1sh_Rel in the newest version of agama Hush IS Hush3, the ticker hasn't changed but is updated to Hushv3
[dscrd-hush] <jl777c> if the hush agama is based on recent agama it is also vuln, and people should follow the same process to make a fresh new secure address and sweep funds there


Editor Interaction Analyzer
This tool shows the common pages that multiple editors have both edited, sorted by minimum time between edits by any of the users. In other words, if two editors made an edit to the same page within a short time, that page will show up towards the top of the table. In general, when two users edit a page within a short time, chances are high that they have interacted directly with one another on that page. Click on the "timeline" link to see the edits that all users have made to the page in chronological order.


 Along with the code, the complete output of the code is shared with the developers.
By->>Kakubotics
hello!


Build your career in Film, TV & Theatre Industry from 1000+ Jobs and Professional connections
Instantly with the Film Industry, Television and Theatre Professionals from around the world.
The right talent and best opportunities today at your finger tips.
By the Producers of Film and Television production teams and many more.
Your creation whether it be script, music, lyrics, story with thousands of people already looking for it.
Entertainment industry professionals, including budding stars of Sandalwood and Bollywood, the most influential decision-makers and leading entertainment companies and brands.
Get your entertainment career in focus
- become a freemium member today.


Watering Guide
Here are some of the most common house plants, and their recommended watering practices:
Snake Plant
Best practice:
conectere
Spider Plant
Best practice:
conectere
Japanese Peace Lily
Best Practice:
conectere
Succulents
Best Practice:
conectere
Cast-Iron Plant
Best Practice:
conectere
Parlor Palm
Best Practice:
conectere
Orchid
Best Practice:
conectere
Aloe Vera
Best Practice:
conectere


After midterm, none of us expected to be working with iPXE, netbooting, or DHCP servers.
In the past 4 weeks, each of us has exanded our expertise with programs we may have never encountered otherwise.
The first two weeks were spent researching.
Once we had a general idea of what we had to do, the rest came naturally.
Some of our group's major accomplishments:
Pavel was able to contact the creators of iPXE and netboot.xyz and learned valuable information.
Alex got the SSL cert for the class server.
Lou made a live boot CD
Tom deployed a DHCP server at home.
Lucas set up a TFTP server and a DNSMasq server via Raspi


| < Day Day Up > |
2.1. Moving the CursorThe easiest way to move the cursor is to click the left button on your mouse or to press the arrow keys. However, it's a hassle to reach for a mouse all the time. Learn to use keyboard commands to move around so that you will ultimately achieve blinding speed and maximum productivity in Emacs. To use Emacs commands to move the cursor forward one space, type C-f (f for "forward"). As you might guess, C-b moves the cursor backward. To move up, type C-p (for previous-line), and to move down, type C-n (for next-line). It's easier to memorize commands if you remember what the letters stand for. Figure 2-2 illustrates how to move up, down, left, and right using Emacs commands. Figure 2-2. Basic cursor motionIf you're at the end of a line, C-f moves to the first character on the next line. Likewise, if you're at the beginning of a line, C-b moves to the last character of the previous line. If there's no place to go, Emacs beeps and displays the message Beginning of buffer or End of buffer. 2.1.1 Other Ways to Move the CursorNow we'll learn some more advanced ways to move the cursor. One common way is moving forward and backward by word: M-f moves forward a word; M-b moves backward a word. You can also move to the beginning or end of the line. C-a moves you to the beginning of the line (just like a is the beginning of the alphabet). C-e moves you to the end of the line. To move backward one sentence, type M-a; to move forward one sentence, type M-e. To move forward a whole paragraph at a time, type M-}; to move backward a paragraph, type M-{. If you're in the middle of a sentence or paragraph, moving back a sentence or paragraph actually takes you to the beginning of the current sentence or paragraph. Figure 2-3 uses a few paragraphs of Victor Hugo's Les Misérables to show how you can move the cursor more than one character at a time. Figure 2-3. Moving the cursor more than one character at a timeYou may have picked up on a pattern here. Notice the difference between commands starting with Ctrl and those starting with Meta. Ctrl commands generally move in smaller units than their associated Meta commands. For example, C-b moves the cursor backward one character, whereas M-b moves the cursor back one word. Likewise, C-a moves to the beginning of the line, whereas M-a moves to the beginning of a sentence. There's one caveat about moving by sentence or paragraph. Emacs defines a sentence pretty strictly. You need two spaces after the final punctuation mark, unless you're at the end of the line. If there's only one space, Emacs won't recognize it. Similarly, moving backward and forward by paragraph involves understanding the Emacs definition of a paragraph. To Emacs (and to most of us), paragraphs are either indented with a tab or at least one space or have blank lines between them (block style). You can change these definitions, but first you have to understand how to use regular expressions, which are discussed briefly in Chapter 3 and in more depth in Chapter 11. Chapter 10 discusses how to change variables. If your file has page breaks in it, you can move to the next page or previous page by typing C-x ] (forward-page) or C-x [ (backward-page). Similar to paragraph and sentence movement, moving by page involves the Emacs definition of what a page is. A variable called page-delimiter defines what constitutes a page break. If there are no Emacs-recognized page breaks in the file, Emacs regards the buffer as one very long page. In this case, the forward-page command takes you to the end of the buffer, and the backward-page command takes you to the beginning of the buffer. In text mode, a page break is a formfeed character that tells the printer to move to the next page (to feed the next form or page through the printer, hence the term formfeed) before continuing to print. If you are in text mode and you want to insert page breaks in your file, type C-q C-l (the lowercase letter L). C-q is the quoted-insert command. It tells Emacs to put a C-l control character in your file, rather than interpreting C-l as the recenter command. A C-l character looks like two characters (^L), but it's really only one. (Try to erase one using Del and see what we mean.) 2.1.2 Moving a Screen (or More) at a TimeLike other graphical applications, you can use the scrollbar to move around in Emacs. Like most things in Emacs, in addition to using the mouse or scrollbar to move around, you should learn Emacs's own keyboard commands to maximize your productivity. If you want to page through a file one screen at a time, use the PgDown key or type C-v. Emacs displays the next full screen from your file. It leaves a couple of lines from the previous screen at the top to give you a sense of context. Likewise, pressing M-v (or the PgUp key) shows you the previous screen. Together, M-v and C-v provide a convenient way to scroll through a file quickly. Scrolling happens automatically if you type any motion command that takes you beyond the limits of the text currently displayed. For example, if you are on the last line of the screen and press C-n, Emacs scrolls forward. Similarly, if you are at the top of the screen and press C-p, Emacs scrolls backward. You often want to move all the way to the beginning or the end of a file. Type M-> or press End to go to the end of a buffer. To go to the beginning, type M-< or press Home. It may help you to remember that > points to the end of the buffer, and < points to the beginning of the buffer. There are two more ways to move around that may come in handy. M-x goto-line Enter n Enter moves the cursor to line n of the file. Of course, Emacs starts counting lines from the beginning of the file. Likewise, M-x goto-char Enter n Enter goes to the nth character of the file, counting from the beginning. In both cases, n is a number. For programmers, these commands are useful because many compilers give error messages like Syntax error on line 356. By using these commands, you can move easily to the location of your error. There are some more sophisticated ways to link Emacs with error reports from compilers and other programs. In addition, several other cursor motion commands are applicable only when you are editing programs (see Chapter 9 for details). 2.1.3 Repeating CommandsNow let's learn some efficiency tricks. Emacs lets you repeat any command as many times as you want to. First, you can repeat a command any number of times by pressing M-n before the command, where n is the number of times you want to repeat it. This command is called the digit-argument command. You can give M-n a large argument if you want it to repeat the command many times. For example, let's say you are editing a large file of 1000 lines. If you typed M-500 C-n, the cursor would move down 500 lines, to the halfway point in the file. If you give M-n a larger argument than it can execute, it repeats the command as many times as possible and then stops. There's another multiplier command you can use, too: C-u (the universal-argument command). You can give C-u an argument just like you do M-n. Typing either M-5 or C-u 5 repeats the command that follows five times. But unlike M-n, C-u doesn't need an argument to repeat commands. With no argument, C-u executes the next command four times. If you type C-u C-u, it executes the command 16 times. In this way, you can stack up C-u's to make commands execute many times: 16, 64, 256, and so on.[2]
2.1.4 Centering the DisplayC-l, the recenter command, puts the current line in the center of the window vertically. This feature is useful if you're typing at the bottom or the top of the display. Typing C-l quickly moves the material that you care about to the middle of the display, where it is easier to see the full context. C-l also redraws the display, if for any reason it appears obscured or contains random characters. This doesn't happen as often as it used to when we used terminals, but it can be a handy thing to know about, especially if you find yourself using Emacs remotely in a terminal interface. Table 2-2 lists cursor movement commands. If the command is mnemonic, the word to remember is given in italics.
2.1.5 Emacs Commands and Your KeyboardYou can access many Emacs commands by pressing standard keys on your keyboard, such as PageDown (to scroll down one screen) or Home (to go to the beginning of a buffer). Figure 2-4 shows a sample keyboard layout and what the keys do. Your keys may be in a slightly different place, but if you have a key with the same or a similar name, it should work. We say "should" because there are situations in which the keys won't work—for example, if you use Emacs on a remote machine. We recommend that you also learn the standard Emacs commands; they work on any keyboard, and they are often easier to reach once you learn them. Figure 2-4. Emacs commands and your keyboard |
| < Day Day Up > |


The Sixth Sense Directed by M. Night Shyamalan A film review by Marty Mapes Copyright 1999 Marty Mapes
***1/2 (out of 4) People have said they appreciate a warning when a movie ought to be seen without any foreknowledge -- when a review might somehow take away from the experience. I recommend The Sixth Sense pretty strongly, and it is a movie that's better if you don't know too much about it. If you think you might see it, don't read any reviews until afterwards.
Continue reading at your own risk.
THE SIXTH SENSE may look like a horror movie, but it isn't one. The mood is tense, but never outright frightening. The movie is not so much a horror movie as a psychological, supernatural thriller.
Cole (Haley Joel Osment, age 11 -- he played Forrest Gump Jr.) is in a constant state of fear: he is withdrawn, he wakes up screaming, he shows signs of possibly self-inflicted scratches and scars. He has a secret that he keeps from his mother (Toni Collette, of "Muriel's Wedding"), so she is unable to help with, much less understand, Cole's condition. Their best hope for Cole is Dr. Malcolm Crowe.
Dr. Crowe (Bruce Willis) is Philadelphia's best child psychologist. He saw a case remarkably like Cole's once before, but in the end, he couldn't help the patient. This time, however, he is determined to succeed.
Dr. Crowe slowly builds trust in Cole, through psychological insight, through humor, through constant attention. He is finally able to win Cole's complete trust by baring his own soul: Crowe admits he's afraid to lose his wife because of his obsession with Cole's case. Cole finally confides in the doctor and tells his secret: he can see ghosts.
These undead souls are everywhere, in the physically gruesome state of their deaths. Cole is wakened by them, terrorized by them, and sometimes even assaulted by them. Dr. Crowe's job suddenly moves way out of his league, but his promises to Cole and Cole's hard-won trust lock him in to finishing the job, to doing what he can to help the kid cope.
The film is not perfect, but it is pretty darn good. Shyamalan's direction is tightly controlled and very well executed. Willis breaks from his tough-guy image and gives a surprisingly sensitive performance. Osment is above average for a child actor, and he portrays fear expertly (although his performance is a little uneven at times.)
But the best thing about the movie is not an individual trait. It is that all the elements come together to produce the eerie atmosphere that empathizes with the haunted child. The movie is shot under overcast skies and cold, fluorescent lights. When night comes and Cole tenses with fear, the audience tenses with him. The ghosts are rarely glimpsed, and never for more than a creepy instant. We share Cole's hope that Crowe can help, and his gray acceptance that he probably can't.
As I said, the film is not perfect. The introduction to Malcolm and his wife is disgracefully clunky, and the ending is uneven, particularly compared with the level tension of the rest of the film, but neither ruined the picture, not by any means.
Look for this movie on my 1999 top ten list.
Check out more current movie reviews at http://www.moviehabit.com
-- Marty Mapes<EMAIL_ADDRESS>Movie Habit http://www.moviehabit.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Warscapia
Garrett Boggs - Writer
Contact the author:
Phone: -------
Email: -------
Facebook page
Twitter feed
See what others have to say
here
!
Leave your feedback below:
Email:
Rating:
Comments:
Home page
Merchandise page


{% extends "app/layout.html" %} {% block content %}
MoodBook is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.
MoodBook gives you a powerful, modern way to build your emotion book that enables store emotions and gives you full information about your emotional state.
The Python Package Index is a repository of software for the Python programming language.


Welcome to COOP’s blog.
What’s here?
Lot’s of cool stuff, you’ll see.
Protected content
Some of this content is protected. Please contact the COOP team if you need access.
Welcome to COOP’s blog.
Lot’s of cool stuff, you’ll see.
Some of this content is protected. Please contact the COOP team if you need access.


PHP Technical Test
Calculator 2.0
Picture yourself working for an imaginary company which makes crazy apps. As a proof of concept for a potential new product you need to create a simple web based Emoji Calculator which supports the following initial set of calculations:
- 👽 Addition (Alien U+1F47D)
- 💀 Subtraction (Skull U+1F480)
- 👻 Multiplication (Ghost U+1F47B)
- 😱 Division (Scream U+1F631)
Acceptance Criteria
- The app should be built using PHP 7.
- For ease of testing the app should be able to be run using PHP’s built in webserver.
- You MUST include a readme file explaining your approach and steps required to run your app.
- A minimum UX should include a form with two text fields for operands and a dropdown list for the operator.
- The answer should be calculated “server side” and returned via ajax (Just use a basic jQuery function, we are not assessing JavaScript).
- The imaginary management reserves the right to choose different symbols without warning! ;-)


Info
Lower Trafic
Mostly unused
Higher Trafic
Commom paths
Subtitle
Border Events:
Process Start
Process End
Activities display states:
Selected
Next
Previous
Activities
Statistics
Replay
1x
HIGHEST
avg time
LOWEST
avg time
Displaying
Current:
0
Waiting:
0
Done:
0
Total:
0


WELCOME TO GIRLSCODING COMMUNITY... We Create
GirlsCoding is a Non-governmental that is very passionate about the Girl child and the education of the Girl child. We are passionate about increasing the number of females in STEM, training the girls in underserved community and improving the resourcefulness of young girls and women through our widespread packages. GirlsCoding empowers young ones at school with our well seasoned short exciting courses and STEM projects. Girlscoding is focused on using structured STEM curriculum to train young ones. GirlsCoding enriches the underserved girls with strong IT skills and improve their resourcefulness.
Girlscoding is aimed at girls in tech. The project is a non-profit that aims to increase diversity in tech by making role models more visible.“Data proves young women in the world develop an interest in STEM subjects at 11 and a half years old. We have four to five years to nurture that interest before girls self-select out of STEM.” According to recent studies, girls lose interest in STEM (science, technology, engineering, math) already at age 15. Female role models are crucial to changing this, as well as providing girls with the opportunity to express their creativity through hands-on experiences. We aim to increase the number of of girls in tech in the world as a whole.
Front-end web development is the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data
Back end of a website consists of a server, an application, and a database. A back-end developer builds and maintains the technology that powers those components which, together, enable the user-facing side of the website to even exist in the first place.
The Developing of mobile devices, such as personal digital assistants, enterprise digital assistants or mobile phones,robots.
Learn to create awesome interactive websites and full-stack projects. HTML, CSS, JavaScript, Js Framework, Node.js


WorkCountry
{{OtherInfo.WorkCountryOI}}
WorkCountryDesc
{{OtherInfo.WorkCountryDescOI}}
FirstName
{{OtherInfo.FirtNameOI}}
LastName
{{OtherInfo.LastNameOI}}
Related
{{OtherInfo.RelatedOI}}
Address
{{OtherInfo.AddressOI}}
Tel
{{OtherInfo.TelOI}}
Source
{{OtherInfo.SourceInfoOI}}
Contagious
{{OtherInfo.ContagiousFlagOI}}
ContagiousDesc
{{OtherInfo.ContagiousDescOI}}
FirstNameWorkRela
{{OtherInfo.FirstNameWorkRelativeOI}}
LastNameWorkRela
{{OtherInfo.LastNameWorkRelativeOI}}
YoureSelf
{{OtherInfo.IntroduceYoureSelfOI}}


Google Trials A 'Clear' Button For Search
by Tegan JonesGoogle has begun trialling a 'clear' button in search that will allow users to move onto a new query without having to manually delete their current text.
According to 9ToGoogle, this experiment seems to be restricted to only some Google accounts. It's currently unclear if any Australian users are part of the UI trial.
Anyone who does get a chance to use it will see a rectangle 'clear' button on the far right of the main search box. It doesn't appear to currently be working with most other result tabs such as 'news'.
It's not a huge change, but if rolled out properly it would be a nifty little feature that will certainly help save some search time. [9To5Google]
Featured image: Getty
Gizmodo Australia is gobbling up the news in a different timezone, so check them out if you need another Giz fix.


procedure DoPaint(ABuffer: TBitmap32; AInvalidRects: TRectList; ACanvas: TCanvas; APaintBox: TCustomPaintBox32);
Draws the buffer specified by ABuffer (the back-end's surface) onto the canvas ACanvas owned by the paintbox APaintBox.
AInvalidRects specifies a list of rects that require repainting. If the list is empty this method draws the buffer ABuffer into the ViewportRect of the paintbox APaintBox.


%%Panel.SideCategoryList%%
%%Panel.SideShopByBrand%%
%%Panel.SideCategoryShopByPriceCustom%%
%%Panel.SocialLinks%%
%%Panel.FloatingSocialLinks%%
%%Panel.SideSubPageList%%
%%Panel.WrapperBanner%%
%%Panel.PageBreadcrumb%%
%%Panel.PageComments%%
%%Banner.BottomBanner%%
%%GLOBAL_PageTitle%%
%%Panel.PageListMobile%%
%%GLOBAL_PageDescriptionOptimizerScriptTag%%
%%GLOBAL_PageDescriptionOptimizerNoScriptTag%%
Dank Wiki
Not sure how to choose the right water pipe for you? Want to learn how to properly clean your glass piece? Our knowledge base is a list of helpful articles that can answer all types of questions you might have. Whether you are interested in product maintenance, finding the right product for your smoking needs, or gaining a general understanding of how some of our products work, these articles will teach you what you want to know.
Have your own idea for an article? Is there something we didn't cover that you'd want to read about? Tell us at<EMAIL_ADDRESS>and receive a free coupon code for your next purchase!


The goal of the EUCAS Lab is to advance the understanding of cognitive and adaptive systems by examining how theories, models, and organisms cope with extended uncertainty conditions.
Theories, models, and information processing problems assume or imply a set of operating conditions. These conditions can often reflect simplifying or formally convenient assumptions that bear little relation to the properties of uncertain natural environments. The study of extended uncertainty examines the implications of imposing further uncertainties on these operating conditions. For example, rational decisions are typically defined in terms of known probabilities, utilities, actions, and consequences. One of the central concerns for the EUCAS Lab is how the notion of rationality might change when we introduce, for example, unquantifiable, Knightian uncertainty. In the following, we elaborate on this and other research themes that conern the EUCAS Lab.
How does the statistical problem facing the organism change when we can’t fully quantify environmental uncertainty? The study of ecological rationality investigates rationality in worlds where deep uncertainty precludes the ability to formulate optimal probabilistic responses.
“it is sometimes more rational to admit that one does not have sufficient information for probabilistic beliefs than to pretend that one does”
(Gilboa et al., 2012, p. 27)
Given a formally well-defined task, a rational actor model defines a rationally justified, optimal response. Rational actor models are desirable goals in the behavioral, cognitive, and social sciences, but in some contexts the distinction between small and large worlds can be used to question the cachet associated with the terms “rational” and “optimal.” Ideally suited to the analysis of small world problems, both concepts can be counterproductive in the analysis of large world problems. In small worlds, the relevant problem characteristics are certain and uncontroversial in their formalization. Large worlds are characterized by inherent uncertainty and ignorance, properties which undermine the validity and existence of optimal responses.
How can we make good decisions in an uncertain world? The EUCAS Lab investigates the role of simple heuristics in answering this question. Heuristics are efficient cognitive processes that ignore information. In contrast to the widely held view that less processing reduces accuracy, the study of heuristics shows that less information, computation, and time can in fact improve accuracy.
“How do human beings reason when the conditions for rationality postulated by the model of neoclassical economics are not met — for example, when no one can define the appropriate utility function”? (Simon, 1989, p. 377)
The study of simple heuristics considers: (a) the discovery of less-is-more effects; (b) the study of the ecological rationality of heuristics, which examines in which environments a given strategy succeeds or fails, and why; (c) an advancement from vague labels to computational models of heuristics; (d) the development of a systematic theory of heuristics that identifies their building blocks and the evolved capacities they exploit, and views the cognitive system as relying on an ‘‘adaptive toolbox;’’ and (e) the development of an empirical methodology that accounts for individual differences, conducts competitive tests, and has provided evidence for people’s adaptive use of heuristics.
What are implications of viewing the process of language acqusition as uncertain, and involving inductive generalizatons? One implication, which we have investigated by developing the Iterated Learning Model (ILM), is that language undergoes cultural selection for learnability. Using ILMs we have examined the theory that many of the hallmarks of language are adaptations to problem of repeated cultural trasnmission.
What are the implications of deviating from Chomsky’s position that knowledge of language goes “far beyond the presented primary linguistic data and is in no sense an ‘inductive generalisation’ from these data” (Chomsky, 1965, p. 33).
Languages themselves provide information that influences their own survival. To understand the consequences of this theory we have developed computational models of linguistic evolution. Linguistic evolution is the process by which languages themselves evolve. Our research into linguistic evolution highlights the significance of this process in understanding the evolution of linguistic complexity. Our conclusions are that: (1) the process of linguistic transmission constitutes the basis for an evolutionary system, and (2), that this evolutionary system is only superficially comparable to the process of biological evolution.
The iterated learning model considers how learned mappings between meanings and signals undergo change when culturally transmitted. What other aspects of cognition and behavior can be viewed in these terms? One related area of research for the EUCAS Lab is understanding how our perceptions of risk undergo change in response to repeated cultural transmission.
Public risk perception of hazardous events such as contagious outbreaks, terrorist attacks, and climate change are difficult to anticipate social phenomena. It is unclear how risk information will spread through social networks, how laypeople influence each other, and what social dynamics generate public opinion. Our research has examined how messages detailing risks are transmitted from one person to another in experimental diffusion chains and how people influence each other as they propagate this information. Although the content of messages is gradually lost over repeated social transmissions, subjective perceptions of risk propagate and amplify due to social influence. These results provide quantitative insights into the public response to risk and the formation of often unnecessary fears and anxieties.


+99 854 785 478 586 102 458 658 587 548
17 Street Name here Office, 80 Newlok US 8.
<EMAIL_ADDRESS><EMAIL_ADDRESS>Sat to Mon – 10 AM to 02 PM
Monday – 8 AM to 6 PM