Note: To complete the procedures in this document, you must be assigned a role having the necessary permissions. To determine your role, follow the directions in Participant roles. To view a list of permissions associated with a given role, see Permissions, roles, and tools. For a basic understanding of roles and permissions, see Permissions and Roles: Overview.
From the Gradebook, you can export your students' scores to a
Microsoft Excel file by their cumulative score for the course and with
the student roster. To export scores from the Gradebook, in the
relevant course site, click Gradebook
from the
menubar, and then follow the appropriate steps below.
Under the list of assignments, click the Course Grade
link. You will see a course summary with an average score for your
entire class and your grading table. To export the course grades to
Microsoft Excel (.xls
) or .csv
format, click
the Export for Excel
or the Export CSV
button.
The default filename format for your file is
course_grade_[courseID]__date.*
. The exported fields and
the names of the Excel column headers are "Student Name", "Student
ID", and "CourseGrade".
At the top of the Gradebook, click the Roster
link. To export
your roster (including student grades) to Microsoft Excel
(.xls
) or .csv
format, click the Export
for Excel
or the Export CSV
button (located near the
bottom of the page). The full student display names and complete
assignment names are exported. Assignment point values will only
export up to two decimal places. Scores are listed in the assignment
name column. For more information about exporting scores from the
student roster, see Using Gradebook to view and export your student roster.


Steven Paul "Steve" Jobs was an American entrepreneur, businessman, inventor, and industrial designer.


This site contains static web content needed for testing. You can access it using one of two domains:
http://test-web-content/
http://localhost:8888/
In your tests, if one isn't accessible, the other probably is.
The following files are available:


I'm a bilingual engineer with an engineering science bachelors (Trinity U) and a mechanical engineering masters (Rice U). I'm also a coding bootcamp graduate (UT Austin).
Currently building Workday integrations at Syssero
When not at work I enjoy learning about web development, working out, or hanging out with my wife and dogs.
rpaulin1990@gmail.com


Arrows
This component has been deprecated
See the arrowStyles
function in Garden's @zendeskgarden/react-theming
package for the latest updates.
Component classes for adding arrows to other elements
(typically used in conjunction with with the menu and tooltip
components). Arrows consist of the base
.c-arrow
class in
addition to a positioning modifier class.
.c-arrow--bl
Positions arrow at the bottom left of the
parent element
.c-arrow--b
Positions arrow at the center bottom of the
parent element
.c-arrow--br
Positions arrow at the bottom right of the
parent element
.c-arrow--lt
Positions arrow at the top on the left
side of the parent element
.c-arrow--l
Positions arrow vertically centered on the left
side of the parent element
.c-arrow--lb
Positions arrow at the bottom on the left
side of the parent element
.c-arrow--rt
Positions arrow at the top on the right
side of the parent element
.c-arrow--r
Positions arrow vertically centered on the
right side of the parent element
.c-arrow--rb
Positions arrow at the bottom on the right
side of the parent element
.c-arrow--tl
Positions arrow at the top left of the
parent element
.c-arrow--t
Positions arrow at the center top of the
parent element
.c-arrow--tr
Positions arrow at the top right of the
parent element
Examples
USING CSS-MENUS
Component classes for adding arrows to other elements
(typically used in conjunction with with the menu and tooltip
components). Arrows consist of the base
.c-arrow
class in addition to a positioning modifier class.


Methods that are added to every object.
Tells the object to respond to all messages. If specific stub values are declared, they’ll work as expected. If not, the receiver is returned.
# File lib/rspec/mocks/methods.rb, line 99 def as_null_object @_null_object = true __mock_proxy.as_null_object end
Returns true if this object has received `as_null_object`
# File lib/rspec/mocks/methods.rb, line 105 def null_object? defined?(@_null_object) end
@private
# File lib/rspec/mocks/methods.rb, line 110 def received_message?(message, *args, &block) __mock_proxy.received_message?(message, *args, &block) end
@private
# File lib/rspec/mocks/methods.rb, line 120 def rspec_reset __mock_proxy.reset end
@private
# File lib/rspec/mocks/methods.rb, line 115 def rspec_verify __mock_proxy.verify end
Sets and expectation that this object should not receive a message during this example.
# File lib/rspec/mocks/methods.rb, line 20 def should_not_receive(message, &block) __mock_proxy.add_negative_message_expectation(caller(1)[0], message.to_sym, &block) end
Sets and expectation that this object should receive a message before the end of the example.
@example
logger = double('logger') thing_that_logs = ThingThatLogs.new(logger) logger.should_receive(:log) thing_that_logs.do_something_that_logs_a_message
# File lib/rspec/mocks/methods.rb, line 14 def should_receive(message, opts={}, &block) __mock_proxy.add_message_expectation(opts[:expected_from] || caller(1)[0], message.to_sym, opts, &block) end
Tells the object to respond to the message with the specified value.
@example
counter.stub(:count).and_return(37) counter.stub(:count => 37) counter.stub(:count) { 37 }
# File lib/rspec/mocks/methods.rb, line 31 def stub(message_or_hash, opts={}, &block) if Hash === message_or_hash message_or_hash.each {|message, value| stub(message).and_return value } else __mock_proxy.add_stub(caller(1)[0], message_or_hash.to_sym, opts, &block) end end
@overload stub_chain(method1, method2) @overload stub_chain(“method1.method2”) @overload stub_chain(method1, method_to_value_hash)
Stubs a chain of methods.
## Warning:
Chains can be arbitrarily long, which makes it quite painless to violate the Law of Demeter in violent ways, so you should consider any use of `stub_chain` a code smell. Even though not all code smells indicate real problems (think fluent interfaces), `stub_chain` still results in brittle examples. For example, if you write `foo.stub_chain(:bar, :baz => 37)` in a spec and then the implementation calls `foo.baz.bar`, the stub will not work.
@example
double.stub_chain("foo.bar") { :baz } double.stub_chain(:foo, :bar => :baz) double.stub_chain(:foo, :bar) { :baz } # Given any of ^^ these three forms ^^: double.foo.bar # => :baz # Common use in Rails/ActiveRecord: Article.stub_chain("recent.published") { [Article.new] }
# File lib/rspec/mocks/methods.rb, line 80 def stub_chain(*chain, &blk) chain, blk = format_chain(*chain, &blk) if chain.length > 1 if matching_stub = __mock_proxy.__send__(:find_matching_method_stub, chain[0].to_sym) chain.shift matching_stub.invoke(nil).stub_chain(*chain, &blk) else next_in_chain = Mock.new stub(chain.shift) { next_in_chain } next_in_chain.stub_chain(*chain, &blk) end else stub(chain.shift, &blk) end end
Removes a stub. On a double, the object will no longer respond to `message`. On a real object, the original method (if it exists) is restored.
This is rarely used, but can be useful when a stub is set up during a shared `before` hook for the common case, but you want to replace it for a special case.
# File lib/rspec/mocks/methods.rb, line 46 def unstub(message) __mock_proxy.remove_stub(message) end
Generated with the Darkfish Rdoc Generator 2.


#include <expat.h>
#include <stdbool.h>
Go to the source code of this file.
Data Structures | |
| struct | Avail |
| Information from an Availability interface. More... | |
| struct | Capabilities |
| Information from a Capabilities interface. More... | |
| struct | UniversalWorkerServices |
| Information from a UniversalWorkerServices interface. More... | |
| struct | vosiForeignKey |
| Information about a vosiForeignKey. More... | |
| struct | vosiColumn |
| Information about a vosiColumn. More... | |
| struct | vosiTable |
| Information about a vosiTable. More... | |
| struct | vosiSchema |
| Information about a vosiSchema. More... | |
| struct | vosiTableSet |
| Information about a vosiTableSet. More... | |
Defines | |
| #define | VOT_DOC_VERSION "1.2" |
| #define | VOT_XSI "http://www.w3.org/2001/XMLSchema-instance" |
| #define | VOT_SCHEMA_LOC "http://www.ivoa.net/xml/VOTable/v1.1 http://www.ivoa.net/xml/VOTable/v1.1" |
| #define | VOT_XMLNS "http://www.ivoa.net/xml/VOTable/v1.1" |
| #define | SZ_ATTRNAME 32 |
| #define | SZ_ATTRVAL 2048 |
| #define | SZ_FNAME 255 |
| #define | SZ_XMLTAG 1024 |
| #define | SZ_LINE 4096 |
| #define | MAX_ATTR 100 |
| #define | HANDLE_INCREMENT 1024000 |
| #define | SZ_CAPABILITIES 64 |
| #define | min(a, b) ((a<b)?a:b) |
| #define | max(a, b) ((a>b)?a:b) |
| #define | handle_t int |
| Handle type definition. | |
| #define | COL_INDEXED 0 |
| #define | COL_PRIMARY 1 |
| #define | COL_NULLABLE 2 |
Typedefs | |
| typedef struct Avail * | AvailP |
| typedef struct Capabilities * | CapabilitiesP |
|
typedef struct UniversalWorkerServices * | UniversalWorkerServicesP |
| typedef struct vosiForeignKey * | vosiForeignKeyP |
| typedef struct vosiColumn * | vosiColumnP |
| typedef struct vosiTable * | vosiTableP |
| typedef struct vosiSchema * | vosiSchemaP |
| typedef struct vosiTableSet * | vosiTableSetP |
Functions | |
| void | vosi_initHandles (void) |
| int | vosi_newHandleContext (char *name, int size) |
| void | vosi_closeHandleContext (int context) |
| handle_t | vosi_newHandle (int context, void *ptr) |
| void | vosi_freeHandle (handle_t handle) |
| void * | vosi_H2P (handle_t handle) |
VOSIP.H -- Internal LIBVOSI definitions.
8/26/14 KJM: modified Capabilities structure
9/08/14 KJM: added UniversalWorkerServices structure 9/12/14 KJM: added Tables structures
| void vosi_initHandles | ( | void | ) |
***************************************************************************
Public Internal Methods. The procedures are used to implement the library, however are not part of the public interface.


Once upon a time I went to the pet store and saw some gerbils. They were really cute. But not as cute as rats. Rats are the best. Everyone hates rats because of the bubonic plague or whatever, but we're not talking about sewer rats anymore.  Besides, I don't think the subway rats are so bad either. I wouldn't touch one, but still. Rats are smart.


Index of ./2013/06/clp_html5/resumo/thirdparty/EpicEditor/epiceditor/themes/editor
Parent Dir.
[FILE] epic-dark.css
[FILE] epic-light.css


Go to NodeJS web site and click the left button, the one that says LTS (Long-Term Support).
The package will be downloaded through the Mac OS download manager. Double-click on it.
Click "Continue"
Click "Continue"
Click "Agree"
Click "Install"
Type adminstrator password
Go to the Terminal and type:
The output should be something like this:
Also test npm is installed because it's a key component. Type:
The output should be something like this:


|
MiniBot
2019/2020
|
Any information about the robot's current status should be accessed through the superstructure. More...
Classes | |
| enum | SystemState |
| enum | WantedDriveMethod |
| enum | WantedState |
Public Member Functions | |
| void | periodic (double timestamp) |
| This is run periodically while the robot is running. More... | |
| boolean | isDriving () |
| Check if the robot is currently driving. More... | |
| void | drive (double throttle, double rotation, boolean mode) |
| Control the robot's drivetrain. More... | |
Static Public Member Functions | |
| static Superstructure | getInstance () |
Public Attributes | |
| WantedState | mWantedState |
| SystemState | mSystemState |
| WantedDriveMethod | mDriveMethod |
Private Member Functions | |
| SystemState | handleIdle (boolean stateChanged) |
Private Attributes | |
| RobotLogger | logger = RobotLogger.getInstance() |
| boolean | mStateChanged = true |
| DriveTrain | mDriveTrain = DriveTrain.getInstance() |
Static Private Attributes | |
| static Superstructure | instance = null |
Any information about the robot's current status should be accessed through the superstructure.
This class can be thought of as an interface for getting high-level data about the robot as well as high-level methods for controlling components of the robot that interact with eachother.
ex. An elevator and arm could be both controlled with a setIntakeKinematicPosition(x,y); this function would then follow the correct set of states to get the job done. To move the elevator, it might call a setSetpoint(), then a feed() untill the error is within the threshold. This could be checked with a isAtThreshold()
This file is in the subsystem packge so that it can access protected information from each subsystem.
This is a state machine
Definition at line 21 of file Superstructure.java.
| void frc.robot.subsystems.Superstructure.drive | ( | double | throttle, |
| double | rotation, | ||
| boolean | mode | ||
| ) |
Control the robot's drivetrain.
Definition at line 130 of file Superstructure.java.
|
static |
Definition at line 56 of file Superstructure.java.
|
private |
If the user has requested a new state for the robot, set the next SystemState required to get the job done.
The default state is nothing
Definition at line 95 of file Superstructure.java.
| boolean frc.robot.subsystems.Superstructure.isDriving | ( | ) |
Check if the robot is currently driving.
Definition at line 121 of file Superstructure.java.
| void frc.robot.subsystems.Superstructure.periodic | ( | double | timestamp | ) |
This is run periodically while the robot is running.
This is not to be confused with the conventional subsystem interface. For simple tasks, the usual interface must be used. But for any task that can be controlled by more than one command, or requires multiple subsystems to work together, that code should be spun off here.
Definition at line 72 of file Superstructure.java.
|
staticprivate |
Definition at line 40 of file Superstructure.java.
|
private |
Definition at line 41 of file Superstructure.java.
| WantedDriveMethod frc.robot.subsystems.Superstructure.mDriveMethod |
Definition at line 48 of file Superstructure.java.
|
private |
Definition at line 54 of file Superstructure.java.
|
private |
Definition at line 51 of file Superstructure.java.
| SystemState frc.robot.subsystems.Superstructure.mSystemState |
Definition at line 45 of file Superstructure.java.
| WantedState frc.robot.subsystems.Superstructure.mWantedState |
Definition at line 44 of file Superstructure.java.


``
Katy Kenny is a New York City based singer/songwriter.
Her style is described as high energy alternative rock,
with hints of pop & indie music. Using her powerful mezzo
soprano voice and profound lyrics, she engages audiences
to listen to her sometimes hilarious, sometimes heartbreaking
stories through song. Her influence spans across genres, from
artists like Nirvana, Radiohead, Elton John and The Beatles,
to modern artists like Paramore, The 1975 and Demi Lovato.
While currently enrolled in the University of Miami's Frost
School of Music, she is studying musicianship, artistry
development, and entrepreneurship with an emphasis in both
music business and songwriting.
December 28th at The Peekskill Coffeehouse
Peekskill, NY // 7-8:30PM
January 3rd at Rockwood Music Hall
New York, NY // 6-7PM


CoCreateJS
A dependancy free, vanilla javascript Realtime CRUD and Collaboration API. Easily integrates in any HTML template using HTML5 data-attributtes. Converts a regular html website into a dynamic Realtime application. If you know basic html you can easily implement and use the CoCreateJS library/framework. If you have javascript knowledege, CoCreateJS is highly extendable Object oriented collaboration framework. A CoCreate api key is required to open a real time socket channels.
CoCreateCSS
A dependancy free, CSS and vanilla javascript library. Containing a set of easy to use natraul language helper classes, and a wide range of components to assist in developing modern UI/UX. We are excited to see what you build.
Micro Service Archeticture
CoCreateJS 90kb gizipped and CoCreateCSS 15kb gzipped were compiled from a large list of opensource projects. You can include and compile only the components you need, create custom components and contribute to a long list of existing componenets located on github
Go to CoCreate.app/register and retrieve your script which will include the necessary api and security key. And paste it at the end before the ending body tag of any page where you would like to fetch and save data in real time.
<html>
<head>
<link src="http://cdn.cocreate.app/CoCreate.min.css"></link>
</head>
<body>
<script>
var config = {
apiKey: 'test123456',
organization_Id: '5d0e4e6147fb95a3b8719f12'
}
</script>
<script src="http://cdn.cocreate.app/latest/CoCreate.min.js"></script>
</body>
</html>


Two for the price of One!
Two part solution consisting of...
- Camel Salesforce maven plugin - generates DTOs for Salesforce Objects (SObjects). Optional for non-DTO approach, e.g. using raw XML or JSON strings, or CSV/XML for batch operations.
- Camel Salesforce component - runtime communication with Salesforce.
Camel Salesforce Maven Plugin
- Generates DTOs from Salesforce Objects for system and user defined objects using name patterns
- DTOs use Jackson for JSON, XStream for XML, and Joda for DateTime support
- Supports ALL Salesforce data types
- Generates Query result classes, enumerations for Salesforce picklists
Maven Plugin Configuration
Sensitive properties like client id should be passed on the command line or read using maven properties plugin.
- camelSalesforce.clientId - Salesforce client Id for Remote API access
- camelSalesforce.clientSecret - Salesforce client secret for Remote API access
- camelSalesforce.userName - Salesforce account user name
- camelSalesforce.password - Salesforce account password (including secret token)
- camelSalesforce.version - Salesforce Rest API version, defaults to 25.0
- camelSalesforce.outputDirectory - Directory where to place generated DTOs, defaults to ${project.build.directory}/generated-sources/camel-salesforce
- camelSalesforce.includes - List of SObject types to include
- camelSalesforce.excludes - List of SObject types to exclude
- camelSalesforce.includePattern - Java RegEx for SObject types to include
- camelSalesforce.excludePattern - Java RegEx for SObject types to exclude
- camelSalesforce.packageName - Java package name for generated DTOs, defaults to org.apache.camel.salesforce.dto.
Generate DTOs
Generate DTOs using the command...
mvn camel-salesforce:generate \
-DclientId=<clientid> -DclientSecret=<clientsecret> \
-DuserName=<username> -Dpassword=<password>
Camel Salesforce Component
- Uses Jetty async API and CometD to connect to Salesforce.
- Manages OAuth session token and automatic session (lazy) login/refresh.
- Handles marshaling/un-marhaling Salesforce RESTish messages, and conversion to from XML/JSON to DTOs
- Supports Salesforce REST, BULK and Streaming APIs
Salesforce component configuration
Configure a component instance by setting the following properties...
- httpClient - optional Jetty HttpClient for connection settings
- packages - optional String array of package names to scan for SObject DTO classes
- endpointConfig - optional default endpoint properties in an org.apache.camel.component.salesforce.SalesforceEndpointConfig object
- loginConfig - required org.apache.camel.component.salesforce.SalesforceLoginConfig object with properties...
Salesforce login config properties
- loginUrl - optional Salesforce login URL
- clientId - Salesforce client id
- clientSecret - Salesforce client secret
- userName - Salesforce user name
- password - Salesforce user password
- lazyLogin - boolean flag to permit lazy login (default false)
Using the REST API
Producer Endpoints follow the convention...
...to("salesforce:<api-name>?<options>")...
- Options can be specified in the endpoint or as message header properties.
- Some APIs that have a primary option/parameter can use in Body as the value.
- The result is either a DTO, or a String if SObject name and class is not specified.
- API name is one of getVersions, getResources, getGlobalObjects, getBasicInfo, getDescription, getSObject, createSObject, updateSObject, deleteSObject, getSObjectWithId, upsertSObject, deleteSObjectWithId, query, queryMore, or search
REST API Options
- format - XML or JSON, doesn't usually matter, unless using String bodies (default JSON)
- sObjectName - Salesforce object name, e.g. Merchandise__c
- sObjectId - Salesforce object id
- sObjectFields - List of field names for a particular SObject
- sObjectIdName - Salesforce external Id field name
- sObjectIdValue - External Id field value
- sObjectBlobFieldName - Blob field name for blob APIs
- sObjectClass - SObject DTO class name, e.g. org.apache.camel.component.salesforce.internal.dto.QueryRecordsPushTopic
- sObjectQuery - Salesforce SOQL statement
- sObjectSearch - Salesforce SOSL statement
Using the Bulk API
- Used to query, insert, update, upsert, or delete a large number of records asynchronously in batches
- Requires creation of a Job, which describes the operation, and one or more Batches which represent the bulk request and response
- Typically this would be used with an external data store (database) for co-ordinating submission of batches, and tracking status.
- API name is one of: createJob, getJob, closeJob, abortJob, createBatch, getBatch, getAllBatches, getRequest, getResults, createBatchQuery, getQueryResultIds, getQueryResult
Bulk API Options
- contentType - batch data format, one of XML, CSV, ZIP_XML, ZIP_CSV
- jobId - Salesforce Job Id
- batchId - Salesfore Batch Id
- resultId - Salesforce Result Id
Using the Streaming API
Consumer endpoints follow the convention below. If the sObjectName or sObjectClass options are not set, the result is a java.util.Map.
...from("salesforce:<topic-name>?<options>")...
- Uses the CometD library for receiving notifications from Saleforce Push Topics
- Topics are named topics with an associated SOQL query and information about when the notification should be generated (create/update)
- Note that Salesforce does not guarantee notification delivery, so this should be used where they can be lost
Streaming API Options
- sObjectQuery - Salesforce SOQL statement
- sObjectName - Salesforce object name, e.g. Merchandise__c
- sObjectClass - SObject DTO class name, e.g. org.apache.camel.component.salesforce.internal.dto.QueryRecordsPushTopic
- updateTopic - true if an existing Push topic should be updated
- notifyForFields - one of Select, Where, Referenced, All
- notifyForOperations - one of Create, Update, All
Troubleshooting
- Login properties may be incorrect
- Salesforce limits number of API invocations, administrators assign quotas, accounts can get locked
- Incorrect DTO type being sent or expected
- Property names on endpoints or in headers are not correct
- Salesforce API version is set using the option
apiVersion
, defaults to 27.0, user may only lower the value


Your employer changed from Konami to Electronic Arts.
Your prior learning was confirmed.
You attended an end of employment review. During the review the following progress was recorded
You confirmed your apprenticeship details.
No prior learning was recorded.
You started job with Konami.


St Neots Chess Club
A chess club in Cambridgeshire's largest market town...
All that matters on the chessboard is good moves...
Bobby Fischer
Welcome to the web site of the St Neots Chess Club, a well-established, friendly chess club based at St Neots in Cambridgeshire. We have teams representing the Club in three competions:
Cambridgeshire County Chess League
The premier chess competition in the county, we have teams in both the first and second division.
Cambridgeshire County Fenland Cup
A knockout competition featuring teams playing in the Cambridgeshire County Chess League.
Cambridgeshire County U550 Competition
A sister competition to the Chess League in which the aggregate ratings total for the team cannot exceed 550 (using ECF ratings). The Club typically uses this tournament to give over-the-board competitive experience to new members or members with lower ratings.
During the season (typically from September through to May), the Club meets on Mondays at 7-30pm at the St. Neots Conservative Club for a few games, and prospective members are welcome to visit the Club as our guest and play games with Club members. The Club caters for players of all strengths and we are always looking for chess enthusiasts to join us. You can find our contact details here.


§383-96 Service. Whenever it is provided herein that any service shall be made upon the department of labor and industrial relations, such service may be made upon the director of labor and industrial relations or upon such representative as the director may have designated for that purpose. [L 1941, c 304, §1, pt of subs 32; RL 1945, §4275; RL 1955, §93-95; am L Sp 1959 2d, c 1, §27; HRS §383-96]
Rules of Court
Service, see HRCP rule 4(d)(5).


--- title : Home layout : default blurb : Highlights of some of my active personal and work related projects. keywords : smssync, android, ushahidi, projects, kasahorow, sms, crowdmap, sdk, mapping, android, ushahidi, hdr, flickr date : Nov 21, 2013 ---


3 Genomic data analysis
Genetic association studies aim to identify genetic variants that explain subject differences in qualitative or quantitative traits. Genetic variants may include SNPs, CNVs, mosaicisms or polymorphic inversions, which can be obtained from SNP array. In this chapter, we thoroughly discuss SNP association studies. We explain the different genetic models to be used in single SNP associations and how they are applied in a massive univariate testing when several SNPs are analyzed. Relating the simultaneous analysis of multiple SNPs, we discuss haplotype and genetic scores associations
3.1 Descriptive analysis
SNP data are typically available in text format or Excel spreadsheets which are easily uploaded in R
as a data frame. Here, as an illustrative example, we are analyzing a dataset containing epidemiological information and 51 SNPs from a case-control study on asthma. The data is loaded into the R session by
'data.frame': 1578 obs. of 57 variables:
$ country : chr "Germany" "Germany" "Germany" "Germany" ...
$ gender : chr "Males" "Males" "Males" "Females" ...
$ age : num 42.8 50.2 46.7 47.9 48.4 ...
$ bmi : num 20.1 24.7 27.7 33.3 25.2 ...
$ smoke : int 2 0 1 1 0 2 1 0 0 0 ...
$ casecontrol: int 0 0 0 0 1 0 0 0 0 0 ...
$ rs4490198 : chr "GG" "GG" "GG" "AG" ...
$ rs4849332 : chr "TT" "GT" "TT" "GT" ...
$ rs1367179 : chr "GC" "GC" "GC" "GG" ...
[list output truncated]
country gender age bmi smoke casecontrol rs4490198
1 Germany Males 42.80630 20.14797 2 0 GG
2 Germany Males 50.22861 24.69136 0 0 GG
3 Germany Males 46.68857 27.73230 1 0 GG
4 Germany Females 47.86311 33.33187 1 0 AG
5 Germany Females 48.44079 25.23634 0 1 AG
rs4849332
1 TT
2 GT
3 TT
4 GT
5 GG
We observe that we have case-control status (0: control, 1: asthma) and another 4 variables encoding the country of origin, gender, age, body mass index (bmi) and smoking status (0: no smoker, 1: ex-smoker, 2: current smoker). There are 51 SNPs whose genotypes are given by the alleles names.
To start the analysis, we must indicate which columns of the dataset asthma
contain the SNP data, using the setupSNP
function. In our example, SNPs start from column 7 onwards, which we specify in argument colSNPs
This is an alternative way of determining the columns containing the SNPs
The argument sep indicates the character separating the alleles. The default value is ’‘/´´. In our case, there is no separating character, so that, we set sep="". The argument name.genotypes can be used when genotypes are available in other formats, such as 0, 1, 2 or’‘norm´´,’‘het´´,’’mut´´. The purpose of the setupSNP
function is to assign the class snp to the SNPs variables, to which SNPassoc
methods will be applied. The function labels the most common genotype across subjects as the reference one. When numerous SNPs are available, the function can be parallelized through the argument mc.cores that indicates the number of processors to be used. We can verify that the SNP variables are given the new class snp
[1] G/G G/T G/G G/T G/T G/G
Genotypes: G/G G/T T/T
Alleles: G T
[1] "snp" "factor"
and summarize their content with summary
Genotypes:
frequency percentage
G/G 903 57.224335
G/T 570 36.121673
T/T 105 6.653992
Alleles:
frequency percentage
G 2376 75.28517
T 780 24.71483
HWE (p value): 0.250093
which shows the genotype and allele frequencies for a given SNP, testing for Hardy-Weinberg equilibrium (HWE). We can also visualize the results in a plot by
The argument type helps to get a pie chart
The summary function can also be applied to the whole dataset
alleles major.allele.freq HWE missing (%)
rs4490198 A/G 59.2 0.174133 0.6
rs4849332 G/T 61.8 0.522060 0.1
rs1367179 G/C 81.4 0.738153 1.0
rs11123242 C/T 81.7 0.932898 0.6
rs13014858 G/A 58.3 0.351116 0.1
rs1430094 G/A 66.9 0.305509 0.4
rs1430093 C/A 66.6 0.817701 3.5
rs746710 G/C 51.5 0.614368 0.0
rs1430090 T/G 70.0 0.025180 1.6
rs6737251 C/T 69.3 0.235996 0.3
rs11685217 C/T 80.1 0.009462 4.5
rs1430097 C/A 65.1 0.738166 1.0
rs10496465 A/G 85.8 0.917997 0.6
rs3756688 T/C 63.9 0.154632 0.6
rs2303063 A/G 53.0 0.722069 1.1
rs1422993 G/T 75.3 0.250093 0.0
rs2400478 G/A 62.6 0.256786 0.9
rs714588 A/G 54.9 0.838329 0.8
rs1023555 T/A 76.8 0.943443 0.5
rs898070 G/A 62.6 1.000000 0.6
rs963218 C/T 53.2 0.389387 0.3
rs1419835 C/T 78.2 0.505391 0.6
rs765023 T/C 64.5 0.030513 6.9
rs1345267 A/G 61.0 0.112183 0.1
rs324381 G/A 64.6 0.242223 11.6
rs184448 T/G 55.9 0.008446 2.2
rs324396 C/T 71.2 0.197291 0.3
rs324957 G/A 57.0 0.007417 0.4
rs324960 C/T 66.6 0.077777 1.1
rs10486657 C/T 81.3 0.672703 4.3
rs324981 A/T 53.2 0.048438 0.2
rs1419780 C/G 80.8 0.569652 0.2
rs325462 T/A 51.0 0.337862 0.3
rs727162 G/C 78.5 0.765708 0.0
rs10250709 G/A 65.4 0.266434 0.0
rs6958905 T/C 64.7 0.377472 0.4
rs10238983 T/C 75.7 0.216435 0.4
rs4941643 A/G 54.1 0.635887 7.2
rs3794381 C/G 71.7 0.652089 7.1
rs2031532 G/A 65.0 0.911918 0.0
rs2247119 T/C 71.5 0.457710 0.5
rs8000149 T/C 63.2 0.588077 0.4
rs2274276 G/C 57.0 0.571386 0.6
rs7332573 G/T 91.5 0.869947 1.5
rs3829366 T/A 51.6 0.722626 1.3
rs6084432 G/A 83.7 0.266716 0.6
rs512625 G/A 69.5 0.905395 0.4
rs3918395 G/T 86.8 0.508732 1.2
rs2787095 G/C 60.2 0.102053 0.8
rs2853215 G/A 73.0 0.249516 0.2
showing the SNP labels with minor/major allele format, the major allele frequency the HWE test and the percentage of missing genotypes. Missing values can be further explored plotting with
This plot can be used to inspect if missing values appear randomly across individuals and SNPs. In our case, we can see that the missing pattern may be considered random, except for three clusters in consecutive SNPs (large black squares). These individuals should be further checked for possible problems with genotyping.
3.2 Hardy-Weinberg equilibrium
Genotyping of SNPs needs to pass quality control measures. Aside from technical details that need to be considered for filtering SNPs with low quality, genotype calling error can be detected by a HWE test. The test compares the observed genotype frequencies with those expected under random mating, which follows when the SNPs are in the absence of selection, mutation, genetic drift, or other forces. Therefore, HWE must be checked only in controls. There are several tests described in the literature to verify HWE. In SNPassoc
HWE is tested for all the bi-allelic SNP markers using a fast exact test (Wigginton, Cutler, and Abecasis 2005) implemented in the tableHWE function.
HWE (p value)
rs4490198 0.1741325
rs4849332 0.5220596
rs1367179 0.7381531
rs11123242 0.9328981
rs13014858 0.3511162
rs1430094 0.3055089
We observe that the first SNPs in the dataset are under HWE since their P-values rejecting the HWE hypothesis (null hypothesis) are larger than 0.05. However, when tested in control samples only, by stratifying by cases and controls
hwe2 <- tableHWE(asthma.s, casecontrol)
#SNPs is HWE in the whole sample but not controls
snpNHWE <- hwe2[,1]>0.05 & hwe2[,2]<0.05
rownames(hwe2)[snpNHWE]
[1] "rs1345267"
all groups 0 1
0.11218285 0.04956349 0.81604706
We see that rs1345267 is not in HWE within controls because its P-value is <0.05. Notice that one is interested in keeping those SNPsthat do not reject the null hypothesis. As several SNPs are tested, multiple comparisons must be considered. In this particular setting, a threshold of 0.001 is normally considered. As a quality control measure, it is not necessary to be as conservative as in those situations where false discovery rates need to be controlled.
SNPs that do not pass the HWE test must be removed form further analyses. We can recall setupSNP and indicate the columns of the SNPs to be kept
snps.ok <- rownames(hwe2)[hwe2[,2]>=0.001]
pos <- which(colnames(asthma)%in%snps.ok, useNames = FALSE)
asthma.s <- setupSNP(asthma, pos, sep="")
Note that in the variable pos we redefine the SNP variables to be considered as class snp.
3.3 Single SNP association analysis
We are interested in finding those SNPs associated with asthma status that is encoded in the variable casecontrol. We first illustrate the association between case-control status and the SNP rs1422993. The association analysis for all genetic models is performed by the function association that regresses casecontrol on the variable rs1422993 from the dataset asthma.s that already contains the SNP variables of class snp.
SNP: rs1422993 adjusted by:
0 % 1 % OR lower upper p-value AIC
Codominant
G/G 730 59.0 173 50.9 1.00 0.017768 1642
G/T 425 34.3 145 42.6 1.44 1.12 1.85
T/T 83 6.7 22 6.5 1.12 0.68 1.84
Dominant
G/G 730 59.0 173 50.9 1.00 0.007826 1642
G/T-T/T 508 41.0 167 49.1 1.39 1.09 1.77
Recessive
G/G-G/T 1155 93.3 318 93.5 1.00 0.877863 1649
T/T 83 6.7 22 6.5 0.96 0.59 1.57
Overdominant
G/G-T/T 813 65.7 195 57.4 1.00 0.005026 1641
G/T 425 34.3 145 42.6 1.42 1.11 1.82
log-Additive
0,1,2 1238 78.5 340 21.5 1.22 1.01 1.47 0.040151 1644
The function association follows the usual syntax of R modelling functions with the difference that the variables in the model that are of class snp are tested using different genetic models. In our example, we observe that all genetic models but the recessive one are statistically significant. association also fits the overdominant model, which compares the two homozygous genotypes versus the heterozygous one. This genetic model of inheritance is biologically rare although it has been linked to sickle cell anemia in humans. The result table describes the number of individuals in each genotype across cases and controls. The ORs and CI-95% are also computed. The last column describes the AIC (Akaike information criteria) that can be used to decide which is the best model of inheritance; the lower the better the model is.
In the example, one may conclude that rs1422993 is associated with asthma and that, for instance, the risk of being asthmatic is 39% higher in people having at least one alternative allele (T) with respect to individuals having none (dominant model). This risk is statistically significant since the CI-95% does not contain 1, the P-value is 0.0078<0.022, or the P-value of the max-statistics is 0.01
dominant recessive log-additive MAX-statistic Pr(>z)
[1,] 7.073 0.024 4.291 7.073 0.0166 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
If an expected model of inheritance is hypothesized, the association analysis for the model can be specified in the argument model, which by default test all models,
SNP: rs1422993 adjusted by:
0 % 1 % OR lower upper p-value AIC
Dominant
G/G 730 59 173 50.9 1.00 0.007826 1642
G/T-T/T 508 41 167 49.1 1.39 1.09 1.77
Association tests are typically adjusted by covariates, which are incorporated in the model in the usual form
SNP: rs1422993 adjusted by: country smoke
0 % 1 % OR lower upper p-value AIC
Codominant
G/G 728 59.1 173 51.0 1.00 0.06957 1407
G/T 423 34.3 144 42.5 1.38 1.05 1.82
T/T 81 6.6 22 6.5 1.07 0.62 1.85
Dominant
G/G 728 59.1 173 51.0 1.00 0.03380 1406
G/T-T/T 504 40.9 166 49.0 1.33 1.02 1.73
Recessive
G/G-G/T 1151 93.4 317 93.5 1.00 0.80821 1411
T/T 81 6.6 22 6.5 0.94 0.55 1.60
Overdominant
G/G-T/T 809 65.7 195 57.5 1.00 0.02163 1406
G/T 423 34.3 144 42.5 1.37 1.05 1.79
log-Additive
0,1,2 1232 78.4 339 21.6 1.19 0.96 1.46 0.10926 1408
ORs for stratified analysis on given categorical covariates are used to verify whether the risk is constant across groups
SNP: rs1422993 adjusted by: survival::strata(gender)
0 % 1 % OR lower upper p-value AIC
Codominant
G/G 730 59.0 173 50.9 1.00 0.022940 1634
G/T 425 34.3 145 42.6 1.42 1.11 1.83
T/T 83 6.7 22 6.5 1.09 0.66 1.80
Dominant
G/G 730 59.0 173 50.9 1.00 0.011144 1633
G/T-T/T 508 41.0 167 49.1 1.37 1.07 1.74
Recessive
G/G-G/T 1155 93.3 318 93.5 1.00 0.805330 1640
T/T 83 6.7 22 6.5 0.94 0.58 1.53
Overdominant
G/G-T/T 813 65.7 195 57.4 1.00 0.006378 1632
G/T 425 34.3 145 42.6 1.41 1.10 1.80
log-Additive
0,1,2 1238 78.5 340 21.5 1.21 1.00 1.46 0.055231 1636
We can see, for instance, that the dominant model is significant only in males. The subset argument allows fitting the model in a subgroup of individuals
SNP: rs1422993 adjusted by:
0 % 1 % OR lower upper p-value AIC
Codominant
G/G 179 54.6 22 44.9 1.00 0.3550 295.2
G/T 125 38.1 24 49.0 1.56 0.84 2.91
T/T 24 7.3 3 6.1 1.02 0.28 3.66
Dominant
G/G 179 54.6 22 44.9 1.00 0.2059 293.7
G/T-T/T 149 45.4 27 55.1 1.47 0.81 2.70
Recessive
G/G-G/T 304 92.7 46 93.9 1.00 0.7576 295.2
T/T 24 7.3 3 6.1 0.83 0.24 2.85
Overdominant
G/G-T/T 203 61.9 25 51.0 1.00 0.1502 293.2
G/T 125 38.1 24 49.0 1.56 0.85 2.85
log-Additive
0,1,2 328 87.0 49 13.0 1.23 0.77 1.96 0.3816 294.5
These analyses can be also be performed in quantitative traits, such as body mass index, since association function automatically selects the error distribution of the regression analysis (either Gaussian or binomial).
SNP: rs1422993 adjusted by:
n me se dif lower upper p-value AIC
Codominant
G/G 896 25.53 0.1446 0.000000 0.9069 9069
G/T 565 25.50 0.1834 -0.027059 -0.4874 0.4332
T/T 105 25.71 0.4676 0.178076 -0.7057 1.0619
Dominant
G/G 896 25.53 0.1446 0.000000 0.9818 9067
G/T-T/T 670 25.54 0.1710 0.005089 -0.4324 0.4426
Recessive
G/G-G/T 1461 25.52 0.1135 0.000000 0.6694 9067
T/T 105 25.71 0.4676 0.188540 -0.6769 1.0540
Overdominant
G/G-T/T 1001 25.55 0.1383 0.000000 0.8424 9067
G/T 565 25.50 0.1834 -0.045739 -0.4965 0.4050
log-Additive
0,1,2 0.033951 -0.3153 0.3832 0.8489 9067
For BMI, association tests whether the difference between means is statistically significant, rather than computing an OR.
For multiple SNP data, our objective is to identify the variants that are significantly associated with the trait. The most basic strategy is, therefore, to fit an association test like the one described above for each of the SNPs in the dataset and determine which of those associations are significant. The massive univariate testing is the most widely used analysis method for omic data because of its simplicity. In SNPassoc, this type of analysis is done with the function WGassociation
comments codominant dominant recessive overdominant
rs4490198 - 0.52765 0.29503 0.96400 0.29998
rs4849332 - 0.96912 0.92986 0.84806 0.82327
rs1367179 - 0.62775 0.59205 0.35786 0.86419
rs11123242 - 0.68622 0.67596 0.39801 0.92878
rs13014858 - 0.52578 0.26739 0.88011 0.34966
rs1430094 - 0.13375 0.10569 0.54432 0.04490
log-additive
rs4490198 0.49506
rs4849332 0.97049
rs1367179 0.43994
rs11123242 0.52009
rs13014858 0.40897
rs1430094 0.36611
Here, only the outcome is required in the formula argument (first argument) since the function successively calls association on each of the variables of class snp within data. The function returns the P-values of association of each SNP under each genetic model. Covariates can also be introduced in the model
SNPassoc
is computationally limited on large genomic data. The computing time can be reduced by parallelization, specifying in the argument mc.cores the number of computing cores to be used. Alternatively, the function scanWGassociation, a C compiled function, can be used to compute a predetermined genetic model across all SNPs, passed in the argument model, which by default is the additive model
ans.fast <- scanWGassociation(casecontrol, asthma.s)
NOTE: This function is not available on the SNPassoc
version available on CRAN. The user can install the development version available on GitHub to get access to this function just executing
The P-values obtained from massive univariate analyses are visualized with the generic plot function
This produces a Manhattan plot of the -log10(P-values) for all the SNPs over all models. It shows the nominal level of significance and the Bonferroni level, which is the level corrected by the multiple testing across all SNPs. The overall hypothesis of massive univariate association tests is whether there is any SNP that is significantly associated with the phenotype. As multiple SNPs are tested, the probability of finding at least one significant finding increases if we do not lower the significance threshold. The Bonferroni correction lowers the threshold by the number of SNPs tested (0.0001=0.05/51). In the Manhattan plotof our analysis, we see that no SNP is significant at the Bonferroni level, and therefore there is no SNP that is significantly associated with asthma.
Maximum-statistic (see González et al. 2008) can also be used to test association between asthma status and SNPs
dominant recessive log-additive MAX-statistic Pr(>z)
rs4490198 1.097 0.002 0.466 1.097 0.50189
rs4849332 0.008 0.037 0.001 0.037 0.97609
rs1367179 0.287 0.845 0.602 0.845 0.58888
rs11123242 0.175 0.714 0.417 0.714 0.63964
rs13014858 1.230 0.023 0.683 1.230 0.46295
rs1430094 2.617 0.368 0.821 2.617 0.20673
rs1430093 1.051 0.042 0.743 1.051 0.51864
rs746710 0.728 0.679 1.051 1.051 0.51628
rs1430090 0.172 0.463 0.000 0.463 0.74308
rs6737251 0.143 0.156 0.217 0.217 0.86919
rs11685217 0.894 0.030 0.705 0.894 0.56883
rs1430097 0.003 0.183 0.029 0.183 0.88853
rs10496465 0.003 0.020 0.008 0.020 0.98739
rs3756688 0.016 0.738 0.266 0.738 0.62640
rs2303063 0.060 1.271 0.658 1.271 0.45273
rs1422993 7.073 0.024 4.291 7.073 0.01821 *
rs2400478 1.662 0.056 1.055 1.662 0.35752
rs714588 0.659 0.061 0.150 0.659 0.65815
rs1023555 0.221 0.104 0.261 0.261 0.84692
rs898070 0.020 1.794 0.346 1.794 0.33162
rs963218 0.165 0.190 0.263 0.263 0.84295
rs1419835 1.084 0.775 0.295 1.084 0.51076
rs765023 1.959 0.526 0.483 1.959 0.30142
rs1345267 2.582 0.003 1.383 2.582 0.21106
rs324381 0.175 0.402 0.377 0.402 0.77466
rs184448 9.710 2.026 8.253 9.710 0.00339 **
rs324396 2.312 0.188 1.051 2.312 0.24921
rs324957 7.598 2.134 7.157 7.598 0.01437 *
rs324960 2.901 7.928 6.443 7.928 0.01159 *
rs10486657 0.054 0.500 0.001 0.500 0.72957
rs324981 3.168 2.431 4.270 4.270 0.08105 .
rs1419780 0.123 1.193 0.005 1.193 0.47806
rs325462 1.545 1.645 2.412 2.412 0.23342
rs727162 3.022 0.643 3.074 3.074 0.16080
rs10250709 0.737 0.007 0.360 0.737 0.62798
rs6958905 0.490 0.099 0.447 0.490 0.73268
rs10238983 0.094 0.692 0.328 0.692 0.64821
rs4941643 1.294 0.006 0.465 1.294 0.44652
rs3794381 0.127 0.998 0.489 0.998 0.53565
rs2031532 0.025 0.240 0.127 0.240 0.85704
rs2247119 0.379 0.000 0.229 0.379 0.78427
rs8000149 0.020 0.043 0.043 0.043 0.97280
rs2274276 0.005 0.034 0.023 0.034 0.97788
rs7332573 1.247 1.703 1.825 1.825 0.32966
rs3829366 1.137 0.448 0.069 1.137 0.49124
rs6084432 2.999 0.848 3.279 3.279 0.14197
rs512625 2.180 0.030 1.119 2.180 0.26476
rs3918395 0.903 0.414 0.455 0.903 0.57149
rs2787095 0.178 0.069 0.184 0.184 0.88729
rs2853215 0.686 0.931 1.130 1.130 0.49261
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
We note that even under the max-statistics none of the SNPs tested is significant under the Bonferroni correction (<0.0001) for multiple SNP testing
[1] 0.003392342
Information for specific association models for given SNPs can also be retrieved with WGstats
Therefore, we can have access to the results for a given SNP by
SNP: rs1422993 adjusted by:
0 % 1 % OR lower upper p-value AIC
Codominant
G/G 730 59.0 173 50.9 1.00 0.017768 1642
G/T 425 34.3 145 42.6 1.44 1.12 1.85
T/T 83 6.7 22 6.5 1.12 0.68 1.84
Dominant
G/G 730 59.0 173 50.9 1.00 0.007826 1642
G/T-T/T 508 41.0 167 49.1 1.39 1.09 1.77
Recessive
G/G-G/T 1155 93.3 318 93.5 1.00 0.877863 1649
T/T 83 6.7 22 6.5 0.96 0.59 1.57
Overdominant
G/G-T/T 813 65.7 195 57.4 1.00 0.005026 1641
G/T 425 34.3 145 42.6 1.42 1.11 1.82
log-Additive
0,1,2 1238 78.5 340 21.5 1.22 1.01 1.47 0.040151 1644
recovering our previous results given by association function.
NOTE: The R output of specific association analyses can be exported into LaTeX by using getNiceTable function and xtable R package. The following code creates a table for the SNPs rs1422993 and rs184448
library(xtable)
out <- getNiceTable(ans[c("rs1422993", "rs184448")])
nlines <- attr(out, "nlines")
hlines <- c(-1, -1, 0, cumsum(nlines+1), nrow(out), nrow(out))
print(xtable(out, caption='Genetic association using
different genetic models from asthma
data example of rs1422993 and rs184448
SNPs obtained with SNPassoc.',
label = 'tab-2SNPs'),
tabular.enviroment="longtable", file="tableSNPs",
floating=FALSE, include.rownames = FALSE,
hline.after= hlines, sanitize.text.function=identity)
3.4 Gene-environment and gene-gene interactions
Gene-enviroment (GxE) analyses can be performed within SNPassoc
using association function. Assume that we are interested in testing whether the risk of rs1422993 for asthma under the dominant model is different among smokers (variable smoke; 0=never, 1=ever). This code fits a model with an interaction term where the environmental variable is required to be a factor factor variable.
SNP: dominant(rs1422993 adjusted by:
Interaction
---------------------
0 OR lower upper 1 OR lower upper 0 1 2
G/G 273 86 1.00 NA NA 213 44 0.66 0.44 0.98 182 34 0.59
G/T-T/T 210 77 1.16 0.82 1.66 144 51 1.12 0.75 1.68 115 24 0.66
lower upper 0 1 3 lower upper 0 1 4 lower upper
G/G 0.38 0.92 40 2 0.16 0.04 0.67 20 7 1.11 0.45 2.72
G/T-T/T 0.40 1.09 19 7 1.17 0.48 2.88 16 7 1.39 0.55 3.49
p interaction: 0.13712
factor(smoke) within dominant(rs1422993
---------------------
G/G
0 1 OR lower upper
0 273 86 1.00 NA NA
1 213 44 0.66 0.44 0.98
2 182 34 0.59 0.38 0.92
3 40 2 0.16 0.04 0.67
4 20 7 1.11 0.45 2.72
G/T-T/T
0 1 OR lower upper
0 210 77 1.00 NA NA
1 144 51 0.97 0.64 1.46
2 115 24 0.57 0.34 0.95
3 19 7 1.00 0.41 2.48
4 16 7 1.19 0.47 3.01
p trend: 0.13712
dominant(rs1422993 within factor(smoke)
---------------------
0
0 1 OR lower upper
G/G 273 86 1.00 NA NA
G/T-T/T 210 77 1.16 0.82 1.66
1
0 1 OR lower upper
G/G 213 44 1.00 NA NA
G/T-T/T 144 51 1.71 1.09 2.7
2
0 1 OR lower upper
G/G 182 34 1.00 NA NA
G/T-T/T 115 24 1.12 0.63 1.98
3
0 1 OR lower upper
G/G 40 2 1.00 NA NA
G/T-T/T 19 7 7.37 1.4 38.89
4
0 1 OR lower upper
G/G 20 7 1.00 NA NA
G/T-T/T 16 7 1.25 0.36 4.31
p trend: 0.278
The result is an interaction table showing that the risk of individuals carrying the T allele increases the risk of asthma in never smokers (OR=1.35; CI: 1.02-1.79) while it is not significant in ever smokers (OR=0.95; CI: 0.63-1.42). However, the interaction is not statistically significant (\(P\)-interaction=0.8513). The output also shows the stratified ORs that can help in interpreting the results.
In a similar way, gene-gene interaction (GxG) of a given SNP epistasis model can also be fitted using the same function. In that case, the genetic model of the interacting SNP must be indicated in the model.inteaction argument.
association(casecontrol ~ rs1422993*factor(rs184448),
data=asthma.s, model.interaction = "dominant" )
SNP: rs1422993 adjusted by:
Interaction
---------------------
T/T OR lower upper T/G OR lower upper 0 1 G/G
G/G 227 43 1.00 NA NA 359 96 1.41 0.95 2.10 128 30 1.24
G/T-T/T 154 33 1.13 0.69 1.86 265 93 1.85 1.24 2.77 78 38 2.57
lower upper
G/G 0.74 2.07
G/T-T/T 1.55 4.27
p interaction: 0.24499
factor(rs184448) within rs1422993
---------------------
G/G
0 1 OR lower upper
T/T 227 43 1.00 NA NA
T/G 359 96 1.41 0.95 2.10
G/G 128 30 1.24 0.74 2.07
G/T-T/T
0 1 OR lower upper
T/T 154 33 1.00 NA NA
T/G 265 93 1.64 1.05 2.55
G/G 78 38 2.27 1.32 3.90
p trend: 0.24499
rs1422993 within factor(rs184448)
---------------------
T/T
0 1 OR lower upper
G/G 227 43 1.00 NA NA
G/T-T/T 154 33 1.13 0.69 1.86
T/G
0 1 OR lower upper
G/G 359 96 1.00 NA NA
G/T-T/T 265 93 1.31 0.95 1.82
G/G
0 1 OR lower upper
G/G 128 30 1.00 NA NA
G/T-T/T 78 38 2.08 1.19 3.62
p trend: 0.12743
We observe that the interaction between these two SNPs is not statistically significant (P-value=0.24). However, the OR of GG genotype of rs184448 differs across individuals between the GG and GT-TT genotypes of rs1422993 (see ORs for GG in the second table of the output).
The user also can perform GxG for a set of SNPs using this code. Let us assume we are interested in assessing interaction between the SNPs that are significant at 10% level
ans <- WGassociation(casecontrol, data=asthma.s)
mask <- apply(ans, 1, function(x) min(x, na.rm=TRUE)<0.1)
sig.snps <- names(mask[mask])
sig.snps
[1] "rs1430094" "rs1422993" "rs765023" "rs184448" "rs324396"
[6] "rs324957" "rs324960" "rs324981" "rs727162" "rs6084432"
idx <- which(colnames(asthma)%in%sig.snps)
asthma.s2 <- setupSNP(asthma, colSNPs = idx, sep="")
ans.int <- interactionPval(casecontrol ~ 1, data=asthma.s2)
ans.int
rs1430094 rs1422993 rs765023 rs184448 rs324396
rs1430094 0.132526514 0.653457029 0.816154586 0.787386835 0.694311497
rs1422993 0.140433948 0.016719949 0.133131712 0.375246182 0.683959376
rs765023 0.171993821 0.144029395 0.182805988 0.961405419 0.194520134
rs184448 0.100074594 0.019963426 0.034666219 0.007969948 0.036825613
rs324396 0.204742661 0.190583402 0.131945703 0.344952544 0.209589962
rs324957 0.103680541 0.019820456 0.034446832 0.696623215 0.318903026
rs324960 0.107216765 0.024180405 0.174801032 0.291457716 0.584132142
rs324981 0.128489057 0.144077239 0.153521356 0.646139555 0.301782199
rs727162 0.258828613 0.240900610 0.188971595 0.173341993 0.120240909
rs6084432 0.214413938 0.187372912 0.187830183 0.264160389 0.252965105
rs324957 rs324960 rs324981 rs727162 rs6084432
rs1430094 0.644661690 0.096913557 0.774083175 0.043758067 0.946641185
rs1422993 0.257661509 0.175946789 0.095251421 0.577504655 0.027437424
rs765023 0.437535350 0.614095008 0.117705086 0.217580773 0.896707843
rs184448 0.018290318 0.356124918 0.311031078 0.297592380 0.349332875
rs324396 0.232076552 0.747574191 0.064231657 0.361336095 0.388626207
rs324957 0.019578585 0.595796247 0.965290164 0.402781904 0.272919867
rs324960 0.404830873 0.017401694 0.168077057 0.406220478 0.725774374
rs324981 0.657378128 0.533095852 0.117043376 0.463436271 0.862291944
rs727162 0.174960014 0.500811687 0.167364803 0.206131411 0.885294485
rs6084432 0.174006927 0.146808311 0.210647392 0.203957720 0.193711884
we can visualize the results by
3.5 Haplotype analysis
Genetic association studies can be extended from single SNP associations to haplotype associations. Several examples including different complex diseases can be found in . While alleles naturally occur in haplotypes, as they belong to chromosomes, the phase, or the knowledge of the chromosome an allele belongs to is lost in the genotyping process. As each genotype is measured with a different probe the phase between the alleles in a chromosome is broken. Consider for instance an individual for which one chromosome has alleles A and T at two different loci and alleles G or C at the second chromosome. The individual’s genotypes for the individual at the two loci are A/G and T/C, which are the same genotypes of another individual that has alleles A and C in one chromosome and G and T in the second chromosome. Clearly, if the pair A-T confers a risk to a disease, subject one is at risk while subject two is not, despite both of them having the same genotypes.
The only unequivocal method of resolving phase ambiguity is sequencing the chromosomes of individuals. However, given the correlational structure of SNPs, it is possible to estimate the probability of a particular haplotype in a subject. This can be done in a genetic association study where a number of cases and controls are genotyped. There are numerous methods to infer unobserved haplotypes, two of the most popular are maximum likelihood, implemented via the expectation-maximization (EM) algorithm , and a parsimony method . Recent methods based on Bayesian models have also been proposed . In addition, haplotypes inferences carry uncertainty, which should be considered in association analyses.
3.5.1 Haplotype estimation
We now illustrate how to perform haplotype estimation from genotype data using the EM algorithm and how to integrate haplotype uncertainty when evaluating the association between traits and haplotypes. Haplotype inference is performed with haplo.stats
, for which genotypes are encoded in a different format. make.geno, from SNPassoc
, formats data for haplo.stats
. The function haplo.em computes the haplotype frequency in the data for the SNPs of interest. Here we illustrate how to estimate haplotypes built from the SNPs rs714588, rs1023555 and rs898070:
library(haplo.stats)
snpsH <- c("rs714588", "rs1023555", "rs898070")
genoH <- make.geno(asthma.s, snpsH)
em <- haplo.em(genoH, locus.label = snpsH, miss.val = c(0, NA))
em
======================================================================
Haplotypes
======================================================================
rs714588 rs1023555 rs898070 hap.freq
1 1 1 1 0.04090
2 1 1 2 0.02439
3 1 2 1 0.04265
4 1 2 2 0.44047
5 2 1 1 0.08271
6 2 1 2 0.08403
7 2 2 1 0.20794
8 2 2 2 0.07691
======================================================================
Details
======================================================================
lnlike = -4102.691
lr stat for no LD = 774.5411 , df = 4 , p-val = 0
Coding the common and variant alleles as 1 and 2, we can see there are 8 possible haplotypes across the subjects and are listed with an estimated haplotype frequency. Clearly, the haplotypes are not equally probable, as expected from the high LD between the SNPs. In particular, we observe that haplotypes 4 and 7 are the most probable, accumulating 65% of the haplotype sample. haplo.em estimates for each subject the probability of a given haplotype in each of the subject’s chromosomes.
3.5.2 Haplotype association
We then want to assess if any of these haplotypes significantly associates with asthma. The haplo.glm fits a regression model between the phenotype and the haplotypes, incorporating the uncertainty for the probable haplotypes of individuals. The function intervals of SNPassoc
provides a nice summary of the results
trait <- asthma.s$casecontrol
mod <- haplo.glm(trait ~ genoH,
family="binomial",
locus.label=snpsH,
allele.lev=attributes(genoH)$unique.alleles,
control = haplo.glm.control(haplo.freq.min=0.05))
intervals(mod)
freq or 95% C.I. P-val
ATG 0.4405 1.00 Reference haplotype
GAA 0.0827 1.09 ( 0.77 - 1.56 ) 0.6160
GAG 0.0841 0.99 ( 0.69 - 1.42 ) 0.9642
GTA 0.2080 1.06 ( 0.84 - 1.34 ) 0.6379
GTG 0.0769 1.09 ( 0.76 - 1.58 ) 0.6367
genoH.rare 0.1079 1.15 ( 0.83 - 1.59 ) 0.3968
haplo.glm fits a logistic regression model for the asthma status (trait - NOTE: this must be a 0/1 variable) on the inferred haplotypes (genoH), the names of SNPs and their allele names are passed in the locus.label and allele.lev arguments, while only haplotypes with at least 5% frequency are considered. As a result, we obtain the OR for each haplotype with their significance P-value, with respect to the most common haplotype (ATG with 44% frequency). In particular, from this analysis, we cannot see any haplotype significantly associated with asthma.
3.5.3 Sliding window approach
The inference of haplotypes depends on a predefined region or sets of SNPs. For instance, in the last section, we selected three SNPs that were in high LD. However, when no previous knowledge is available about the region or SNPs for which haplotypes should be inferred, we can apply a sliding window for haplotype inference .
To illustrate this type of analysis, we now consider a second block of 10 SNPs in our asthma example (from 6th to 15th SNP). Considering large haplotypes, however, increases the number of possible haplotypes in the sample, decreasing the power of finding real associations. In addition, in predefined blocks, it is possible to miss the most efficient length of the susceptible haplotype, incrementing the loss of power. This is overcome using a sliding window. We thus ask which is the haplotype combination from any of 4, 5, 6 or 7 consecutive SNPs that gives the highest association with asthma status. We then reformat SNP genotypes in the region with the make.geno function and perform an association analysis for multiple haplotypes of i SNPs sliding from the 6th to the 15th SNP in the data. We perform an analysis for each window length i varying from 4 to 7 SNPs.
snpsH2 <- labels(asthma.s)[6:15]
genoH2 <- make.geno(asthma.s, snpsH2)
haplo.score <- list()
for (i in 4:7) {
trait <- asthma.s$casecontrol
haplo.score[[i-3]] <- haplo.score.slide(trait, genoH2,
trait.type="binomial",
n.slide=i,
simulate=TRUE,
sim.control=score.sim.control(min.sim=100,
max.sim=200))
}
The results can be visualized with the following plot
par(mfrow=c(2,2))
for (i in 4:7) {
plot(haplo.score[[i-3]])
title(paste("Sliding Window=", i, sep=""))
}
We observe that the highest -log10(P-value) is obtained for a haplotype of 4 SNP length starting at the 4th SNP of the selected SNPs. After deciding the best combination of SNPs, the haplotype association with asthma can be estimated by
snpsH3 <- snpsH2[4:7]
genoH3 <- make.geno(asthma.s, snpsH3)
mod <- haplo.glm(trait~genoH3,
family="binomial",
locus.label=snpsH3,
allele.lev=attributes(genoH3)$unique.alleles,
control = haplo.glm.control(haplo.freq.min=0.05))
intervals(mod)
freq or 95% C.I. P-val
TCCC 0.3521 1.00 Reference haplotype
GCCC 0.2963 1.01 ( 0.82 - 1.24 ) 0.9495
TTCA 0.1184 0.89 ( 0.67 - 1.20 ) 0.4433
TTTA 0.1830 1.12 ( 0.87 - 1.43 ) 0.3796
genoH3.rare 0.0502 0.78 ( 0.50 - 1.22 ) 0.2750
Here, we observe that individuals carrying the haplotype GCAC have a 53% increased risk of asthma relative to those having the reference haplotype TCGT (OR=1.53, p=0.0021). The haplotype GTCA is also significantly associated with the disease (p=0.0379). A likelihood ratio test for haplotype status can be extracted from the results of the haplo.glme function:
[1] 0.5044641
We can also test the association between asthma and the haplotype adjusted for smoking status
smoke <- asthma.s$smoke
mod.adj.ref <- glm(trait ~ smoke, family="binomial")
mod.adj <- haplo.glm(trait ~ genoH3 + smoke ,
family="binomial",
locus.label=snpsH3,
allele.lev=attributes(genoH3)$unique.alleles,
control = haplo.glm.control(haplo.freq.min=0.05))
lrt.adj <- mod.adj.ref$deviance - mod.adj$deviance
pchisq(lrt.adj, mod.adj$lrt$df, lower=FALSE)
[1] 0.6497138
3.6 Genetic score
A genetic score, also called a polygenic risk score or genetic risk score, is given by the number of risk alleles that an individual carries (Dudbridge 2013). Genetic scores aim to assess the collective prediction of the phenotype risk associated with multiple SNPs. The SNPs to be included in a genetic score can be selected from different sources. They may be selected from candidate genes, from reported SNPs associated with the trait, or from significant SNPs from a given analysis.
We illustrate how to perform a genetic risk score analysis with the asthma study, using the package PredictABEL
. We start by performing the single SNP analysis, as previously discussed
We choose the SNPs that show an association at 0.1 level to be included in a multivariate model,
rs1422993 rs184448 rs324957 rs324960 rs324981 rs727162 rs6084432
1 G/G T/T G/G C/T A/T G/G G/G
2 G/T G/G A/A C/C A/A G/G G/G
3 G/G T/T G/G C/T T/T G/C G/A
4 G/T T/G G/A C/C A/T G/G G/G
5 G/T T/T G/G C/C A/T G/G G/G
6 G/G T/T G/G C/T A/T G/C G/G
We join the SNPs and case/control variable in a single data.frame. Using the additive()
, we recode the SNP genotypes as 0, 1 or 2 where the homozygous for the alternative allele is 2. As such, the genetic score is the sum of alternative alleles over selected SNPs
asthma.sel <- data.frame(lapply(asthma.sel, additive))
dd.end <- data.frame(casecontrol=asthma.s$casecontrol, asthma.sel)
head(dd.end)
casecontrol rs1422993 rs184448 rs324957 rs324960 rs324981 rs727162
1 0 0 0 0 1 1 0
2 0 1 2 2 0 0 0
3 0 0 0 0 1 2 1
4 0 1 1 1 0 1 0
5 1 1 0 0 0 1 0
6 0 0 0 0 1 1 1
rs6084432
1 0
2 0
3 1
4 0
5 0
6 0
A multivariate regression model is fitted with all the SNPs to further select those that best predict the asthma status. An automatic variable selection, based on Akaike information criteria (AIC), can be applied to the model using the stepAIC()
function from library MASS
. Note that the function does not support missing values and requires having complete cases (i.e. no missing values on genotypes).
library(MASS)
dd.end.complete <- dd.end[complete.cases(dd.end),]
mod <- stepAIC(glm(casecontrol ~ ., dd.end.complete,
family="binomial"),
method="forward", trace=0)
snps.score <- names(coef(mod))[-1]
snps.score
[1] "rs1422993" "rs324957" "rs727162" "rs6084432"
The selected SNPs, from the multivariate model, in snps.score
are then used to create the genetic score. First, a summary shows the SNPs’ associations of the selected SNPs with the trait
Call:
glm(formula = casecontrol ~ rs1422993 + rs324957 + rs727162 +
rs6084432, family = "binomial", data = dd.end.complete)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.9775 -0.7290 -0.6655 -0.5596 1.9655
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.77498 0.13635 -13.018 < 2e-16 ***
rs1422993 0.20528 0.09849 2.084 0.03714 *
rs324957 0.25937 0.09266 2.799 0.00512 **
rs727162 0.18037 0.10447 1.727 0.08424 .
rs6084432 0.19982 0.11388 1.755 0.07932 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1587.0 on 1517 degrees of freedom
Residual deviance: 1569.2 on 1513 degrees of freedom
AIC: 1579.2
Number of Fisher Scoring iterations: 4
The function riskScore()
of the PredictABEL
package creates the risk score
[1] "casecontrol" "rs1422993" "rs184448" "rs324957"
[5] "rs324960" "rs324981" "rs727162" "rs6084432"
[1] 2 4 7 8
score
0 1 2 3 4 5 6
101 389 491 347 139 44 7
The distribution of the score across individuals can be seen in Figure 3.7
Once the genetic score is created, we test its association with asthma status using a general linear model
score
1.240039
We observe that the risk of asthma increases 21% per each risk allele. The predictive power of the genetic score can be assessed by computing the area under the ROC curve (AUC).
predrisk <- predRisk(mod.lin, dd.end.complete)
plotROC(data=dd.end.complete, cOutcome=1,
predrisk = predrisk)
AUC [95% CI] for the model 1 : 0.574 [ 0.54 - 0.607 ]
Figure 3.8 shows that the predictive power of the genetic score is 57.4% with a 95% confidence interval (54.0 - 60.7).
References
Dudbridge, Frank. 2013. “Power and Predictive Accuracy of Polygenic Risk Scores.” PLoS Genetics 9 (3): e1003348.
González, Juan R, Josep L Carrasco, Frank Dudbridge, Lluı́s Armengol, Xavier Estivill, and Victor Moreno. 2008. “Maximizing Association Statistics over Genetic Models.” Genetic Epidemiology 32 (3): 246–54.
Wigginton, Janis E, David J Cutler, and Gonçalo R Abecasis. 2005. “A Note on Exact Tests of Hardy-Weinberg Equilibrium.” The American Journal of Human Genetics 76 (5): 887–93.


Write an essay in which you argument and reason for your vision: To what extend and how is [a specific aptitude / media design technique] affecting [the current design challenge].
The starting point of the essay is a topic you would like to dive into and elaborate upon. It is of course of importance that YOU are interested in the topic and that the topic itself has a clear and relevant relation with the Media Theory course topics. This can be anything from e.g. remediation theory, a specific example we've discussed you would like to elaborate on, an aptitude from Pink, or a digital technique you are interested in.
As my whole semester was already around consuming media, I thought how do I use media and how do they make me us it? One of the things I came to were notifications or better said: triggers.
As I chose to research and write about triggers, I was thinking to myself; what triggers me about them? I came to senses with why, such as that they sometimes make me do things I do not want to do. Reflecting on my own usage, whenever I get a notification, it triggers me to follow up on that.
After discussing the topic, Suzanne thought there was enough food for thought inside of the topic to write an essay about. One of these things is also the relation of the producer and the consumer to the triggers. For example, should producers limit the triggers or the consumer itself?
Through research I've gathered I created my essay with my vision on the matter. You can view the document here.
Though it was hard researching and gathering sources for my opinions and counter-arguments, I had fun doing it. It was fun writing down my opinions as well in a good and clear manner but it took some time to get the right wording.
I created this essay.


-webkit-line-break
Specifies line-breaking rules for CJK (Chinese, Japanese, and Korean) text.
-webkit-line-break: after-white-space | normal;
The line breaks after white space.
A standard line-breaking rule


This problem has a non-standard time limit: 5 seconds.
Farmer John recently found out about a popular online farming game.
There are n types of plants in the game.
The types are numbered 0 through n-1.
Growing a plant consists of four steps:
- Farmer John must acquire a seed of the plant. This is described below in more detail.
- He must plant the seed. He can do this instantaneously. He can have arbitrarily many plants growing at the same time.
- The seed of plant i will grow for time[i] seconds until it becomes a fully developed plant.
- Farmer John will harvest the plant. He can do this instantaneously.
Some plants have prerequisites.
These are described by the String[] s.
For each i, s[i] is a string of n zeros and ones.
If the character s[i][j] is '1', Farmer John must have a fully grown plant j before he can acquire a seed of plant i.
As soon as all prerequisites for plant i are satisfied, Farmer John will immediately acquire its seed.
It is guaranteed that the prerequisites are not cyclic: there will be a way for Farmer John to eventually grow a plant of each type.
Note that a single grown plant can be used to satisfy multiple prerequisites.
For example, if both plant 0 and plant 1 require John to grow plant 2 first, he only has to grow a single plant of type 2 in order to "unlock" both plant 0 and plant 1.
There is one final complication:
Farmer John has budget coins.
He can spend these coins to make his plants grow faster.
For each i, Farmer John may pay cost[i] coins to reduce time[i] by 1.
Farmer John may pay for the same plant multiple times, each time decreasing its growing time by 1.
Obviously, the growing time cannot be reduced below 0.
You are given the String[] s, the int[]s time and cost, and the int budget.
Determine and return the minimum amount of time in which Farmer John can fully grow one plant of each type.
There are no prerequisites. Hence, Farmer John will acquire all three seeds at time 0 and he will plant them all simultaneously. If he didn't spend any coins, the process would be over at time 25 when the plant of type 0 finally becomes fully developed. He can improve that time by spending his 50 coins.
One optimal solution looks as follows:


THE TIME MACHINE A Film Review Copyright Dragan Antulov 1999
One of the most popular subplots in the entire science fiction genre is time travel. That concept, although many purists doubt its scientific credentials, spawned many interesting novels, comic books and films in the last century. However, the big grand-daddy of time travels, H.G. Wells' novel THE TIME MACHINE, wasn't written with the intention to speculate about that concept or its consequences. The author, H.G. Wells merely used it as a convenient way to express his socialist views and condemn the great social gap between the rich, idle capitalist class and impoverished labour. Whatever intentions Wells had, the future generations of readers were less impressed by his political messages. Instead they were fascinated by the idea that the strange new worlds could be explored without traveling trough space. The novel became one of great classics of science fiction genre and it natural for filmmakers to use it as inspiration. First of them was George Pal, who in 1960 directed film which would, through the years, become genre classic of its own.
The plot revolves about George (Rod Taylor), Victorian scientist who discovered the way to travel through the fourth dimension - time. At the eve of the new 20th Century, George gathers his friends in order to present them his invention - machine that would enable him to travel through time. They are skeptical, but that doesn't prevent George from carrying out his plan and traveling into the future. At first, he travels slowly, seeing London as it changes through the years and three world wars. Finally, after witnessing World War Three, he travels far into the future, hoping that he would cease to witness wars and senseless destructions. When he finally reaches year 802,701 AD, at first glance, new world looks like utopia - humanity consists of young, beautiful, but idle Eloi, people who are fed, clothed and taken care of by unseen machines. But, Weena (Yvette Mimieux), Eloi woman, tells George about another side of the coin - in the night, her people is preyed upon by Morlocs, humanoid creatures from the underworld.
THE TIME MACHINE became the cinematic classic for the very same reason the novel became the classic in science fiction literature - the fantastic concept was a brilliant way for the authors to talk about burning issues and fears of their respective times. For H.G. Wells it was frightening threat of class struggle; for George Pal and his screenwriter David Duncan, who produced the film in the worst days of the Cold War, it was the constant and more imminent threat of nuclear holocaust, underlined with the negative references to war throughout the movie. Even the modern audience, which would be tempted to discard the film as old-fashioned, could find some values in its universal messages, fit for each era. Compared with the genre films of today, THE TIME MACHINE is even better, and could serve as a good example how to make intelligent, thought-provoking films.
Of course, since this is Hollywood product after all, THE TIME MACHINE delivers such concepts in the form of classic adventure, sometimes sacrificing plausibility for the sake of attractiveness. For example, it is hard to imagine that someone would be able to understand perfect English million years in future; same is with Morlocs degenerating into mutant monsters, while Eloi remain undistinguished from the people of today. Some of the final scenes, that turn Victorian scientist into an action superhero, are also rather unconvincing. But, on the other hand, the film is very well directed, cleverly paced and the special effects, although definitely old-fashioned, are more than adequate for this kind of picture. The acting is good, with Rod Taylor in one of his most remembered roles, while in the same time Alan Young brings rather memorable performance as George's trusted friend Filby. Yvette Mimieux, who plays Weena, on the other hand, would be remembered more by her looks than by the complexity of her role. However, despite all those flaws, THE TIME MACHINE is a very good piece of cinema, something that connoisseurs of quality science-fiction films sorely miss these days.
RATING: 7/10 (+++)
Review written on February 23rd 1999
-- Dragan Antulov a.k.a. Drax Fido: 2:381/100 E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>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


Use this command to reverse the last action, if possible. HexEdit supports an unlimited undo facility. Unlike many editors changes to the display (see Window Display Options page) not just changes that modify the file can be undone. To accomplish this HexEdit uses a two-level undo structure, since the same file can be edited in more than one window. That is, each window stores its own display changes in a “window” undo stack. Changes that actually modify the data of the file are stored in a shared “file” undo stack.
To avoid inconsistencies, if a change to a file is undone in one window all display changes back to that point are undone in all windows for that file. Further, HexEdit will warn you if you try to undo a file change that was made in a different window.
Note that when the file is saved to disk all undo information is lost.
Shortcuts
Toolbar:
Keys: Ctrl+Z, Alt+U


Location: Heliopolice, Area: 900 sq.m, Type: Gymnasium & Spa, Scope: Design-Build, Date: 2014
Location: New Cairo, Area: 600 sq.m, Type: Gymnasium & Spa, Scope: Design-Build, Date: 2015
Location: Dokki-Gizza, Area: 330 sq.m, Type: Show Room, Scope: Design, Date: 2006
Location: New Cairo, Area: 6,000 sq.m, Type: Shopping Mall, Scope: Design, Date: 2012
Location: Mohandseen, Area: 60 sq.m, Type: French Bakery Retail, Scope: Design-Build, Date: 2012
Location: North Coast, Area: 12,000 sq.m, Type: Shopping Mall, Scope: Design, Date: 2010
Retail design is one of our creative disciplines, which combines several different areas of expertise together in the design and construction.
For shops and malls, a completely novel aspect of high quality and high sense design is the main stream. Because the primary purpose of retail space is to stock and sell product to consumers, we design the spaces in a way that promotes an enjoyable shopping experience for the consumer and optimum productive for our client. When designing a mall or shop we analyze the floor plan to create circulation which then controls the direction of the traffic flow based on the studied psychology of expected consumer movement pattern within the space.
Straight plan, Pathway plan, Diagonal plan, Curved or Geometric plan every choice has its pros and cons but they are all have a chance.


| Package | Description |
|---|---|
| odata.msgraph.client.beta.entity |
| Modifier and Type | Method and Description |
|---|---|
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.Builder.build() |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.patch()
Submits only changed fields for update and returns an
immutable copy of
this with changed fields reset. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.put()
Submits all fields for update and returns an immutable copy of
this
with changed fields reset (they were ignored anyway). |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withBackgroundDownloadFromHttpDelayInSeconds(Long backgroundDownloadFromHttpDelayInSeconds)
Returns an immutable copy of
this with just the backgroundDownloadFromHttpDelayInSeconds field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withBandwidthMode(DeliveryOptimizationBandwidth bandwidthMode)
Returns an immutable copy of
this with just the bandwidthMode
field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withCacheServerBackgroundDownloadFallbackToHttpDelayInSeconds(Integer cacheServerBackgroundDownloadFallbackToHttpDelayInSeconds)
Returns an immutable copy of
this with just the cacheServerBackgroundDownloadFallbackToHttpDelayInSeconds field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withCacheServerForegroundDownloadFallbackToHttpDelayInSeconds(Integer cacheServerForegroundDownloadFallbackToHttpDelayInSeconds)
Returns an immutable copy of
this with just the cacheServerForegroundDownloadFallbackToHttpDelayInSeconds field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withDeliveryOptimizationMode(WindowsDeliveryOptimizationMode deliveryOptimizationMode)
Returns an immutable copy of
this with just the deliveryOptimizationMode field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withForegroundDownloadFromHttpDelayInSeconds(Long foregroundDownloadFromHttpDelayInSeconds)
Returns an immutable copy of
this with just the foregroundDownloadFromHttpDelayInSeconds field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withGroupIdSource(DeliveryOptimizationGroupIdSource groupIdSource)
Returns an immutable copy of
this with just the groupIdSource
field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withMaximumCacheAgeInDays(Integer maximumCacheAgeInDays)
Returns an immutable copy of
this with just the maximumCacheAgeInDays field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withMaximumCacheSize(DeliveryOptimizationMaxCacheSize maximumCacheSize)
Returns an immutable copy of
this with just the maximumCacheSize
field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withMinimumBatteryPercentageAllowedToUpload(Integer minimumBatteryPercentageAllowedToUpload)
Returns an immutable copy of
this with just the minimumBatteryPercentageAllowedToUpload field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withMinimumDiskSizeAllowedToPeerInGigabytes(Integer minimumDiskSizeAllowedToPeerInGigabytes)
Returns an immutable copy of
this with just the minimumDiskSizeAllowedToPeerInGigabytes field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withMinimumFileSizeToCacheInMegabytes(Integer minimumFileSizeToCacheInMegabytes)
Returns an immutable copy of
this with just the minimumFileSizeToCacheInMegabytes field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withMinimumRamAllowedToPeerInGigabytes(Integer minimumRamAllowedToPeerInGigabytes)
Returns an immutable copy of
this with just the minimumRamAllowedToPeerInGigabytes field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withModifyCacheLocation(String modifyCacheLocation)
Returns an immutable copy of
this with just the modifyCacheLocation field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withRestrictPeerSelectionBy(DeliveryOptimizationRestrictPeerSelectionByOptions restrictPeerSelectionBy)
Returns an immutable copy of
this with just the restrictPeerSelectionBy field changed. |
WindowsDeliveryOptimizationConfiguration |
WindowsDeliveryOptimizationConfiguration.withVpnPeerCaching(Enablement vpnPeerCaching)
Returns an immutable copy of
this with just the vpnPeerCaching
field changed. |
Copyright © 2018–2020. All rights reserved.


Looking For Richard (1996) A film review by James Berardinelli Copyright 1996 James Berardinelli
RATING (0 TO 10): 7.5 Alternative Scale: *** out of ****
United States, 1996 U.S. Release Date: 10/11/96 (limited) Running Length: 1:52 MPAA Classification: R (Violence, profanity) Theatrical Aspect Ratio: 1.85:1
Cast: Al Pacino, Kevin Spacey, Alec Baldwin, Winona Ryder, Aidan Quinn, Penelope Allen, Harris Yulin Featuring: Frederick Kimball, Vanessa Redgrave, Kevin Kline, Kenneth Branagh, John Gielgud, Derek Jacobi, James Earl Jones Director: Al Pacino Producers: Michael Hadge and Al Pacino Screenplay: Al Pacino and Frederick Kimball based on the play by William Shakespeare Cinematography: Robert Leacock Music: Howard Shore U.S. Distributor: Fox Searchlight
Any traditional version of Shakespeare's "Richard III" will open with "Now's the winter of our discontent made summer by this son of York", the first line of one of the Bard's best-known soliloquies. It's a telling point, therefore, that LOOKING FOR RICHARD starts with a stentorian voice declaring: "Our revels now are ended." This movie, a labor of love for Al Pacino, who makes his directorial debut, does not intend to present a complete, unabridged version of the text. Like all film makers who take on Shakespeare, Pacino's goal is to give life to his own passion for the plays. His methods are decidedly unconventional. LOOKING FOR RICHARD is a condensed version of "Richard III" wrapped in a stream-of-consciousness documentary.
Since this is the second version of the play (following Ian McKellan's RICHARD III) to hit screens within a year, there's a legitimate question about overexposure. I don't think it's a serious concern, however. Even with an actor of Pacino's stature involved, the general public is unlikely to turn out in droves to see LOOKING FOR RICHARD. The primary audience will be Shakespeare buffs, and, even if they have seen McKellan's adaptation, they won't mind. Besides, the films, despite telling essentially the same story, have vastly different approaches. RICHARD III translates the play to a 20th Century, pseudo- Nazi England while LOOKING FOR RICHARD keeps the original historical context intact but adds a great deal of work-in-progress footage.
Pacino begins the film as a documentary investigating what modern day audiences think of Shakespeare's works. The answers he gets during person-on-the-street interviews are predictable: "it sucks", "it's boring", "huh?" The director's motivation for making the movie is stated up front: "It has always been a dream of mine to communicate how I feel about Shakespeare to others." To do this, Pacino interviews numerous actors and scholars. Sound bytes from his talks with the likes of Kenneth Branagh, Vanessa Redgrave, John Gielgud, Kevin Kline, and James Earl Jones are sprinkled throughout LOOKING FOR RICHARD. He also takes his camera to the supposed birthplace of Shakespeare and the site of the Globe Theater.
After this lengthy introduction, Pacino moves on to the play. We glimpse the casting process and are given an impromptu history lesson about the War of the Roses (which functions as background material). Someone in the crew worries that no one knows "Richard III", but the assertion is made that it's the most often-performed of all of the Bard's plays. And, although the documentary portion of LOOKING FOR RICHARD is largely over at this point, occasional interludes throughout the remainder of the film return to this format.
The second half of LOOKING FOR RICHARD concentrates on performing select scenes from the play. Although perhaps only a third of the full text is used, even someone who has never seen "Richard III" should have no problem following what's happening (Pacino's narrative interruptions attempt to explain potentially-confusing issues). The unconventional method of filming, which becomes a little wearisome through repetitiveness, must have required extensive time in the editing room. There are lots of quick shots that switch between a full, costumed version of a play and a simple read-through. At times, LOOKING FOR RICHARD recalls VANYA ON 42ND STREET, although this movie makes the behind-the-scenes sequences a more important part of the whole.
A number of familiar faces fill roles here. Pacino, of course, is Richard, complete with faux hunchback and limp. Alec Baldwin (HEAVEN'S PRISONERS) plays Clarence, and Harris Yulin (MULTIPLICITY) is King Edward. Penelope Allen (DOG DAY AFTERNOON) is Queen Elizabeth, Kevin Spacey (THE USUAL SUSPECTS) is Buckingham, Aidan Quinn (LEGENDS OF THE FALL) is Richmond, and Winona Ryder (LITTLE WOMEN) is Lady Anne. It's worth noting that, while the play sequences appear to have been produced over a relatively short period of time, the entire film has taken years to piece together, as is evident from Pacino's constantly changing appearance (short hair and a beard in one scene, clean-shaven with long, flowing locks in the next).
Although Pacino is attempting to make "Richard III" accessible to the "average" movie-goer, he probably doesn't succeed. LOOKING FOR RICHARD is a fascinating piece of film making, but I don't think it does anything so revolutionary that non-believers will be suddenly converted. Pacino's passion is obvious, but it's not universally contagious. However, those who enjoy Shakespeare, or are at least open-minded, will find much to appreciate here. LOOKING FOR RICHARD is unlike any previous adaptation of the Bard's work, and that's reason enough to give it a shot.
- James Berardinelli e-mail<EMAIL_ADDRESS>ReelViews web site: http://www.cybernex.net/~berardin
"We go away from our parents in youth and then we gradually come back to them; and in that moment, we have grown up." -- Ingmar Bergman
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


container
Mike’s Great Game (PSN Game for Europe)
Mike’s Great Game (BD Game for Europe)
Crash Reporting
Mike’s Great Game (PSN Game for US)
Title User Storage (TUS)
Mike’s Great Game (BD Game for US)
Trophy
Title Small Storage (TSS)
Clan
Mediated
Developer someone in my team that needs to edit Mike’s Great Game
Ticketing
Publisher someone in my team that needs to see Mike’s Great Game
Ranking
Supporter someone at SCE to help my team
Commerce (Title Store)
Commerce (Regional Store)


Welcome to bus tickets reservation system - Multiple-page mode
Please select bus line are you looking for
|
Select station of departure: |
Select station of arrival: |
Welcome to bus tickets reservation system - Multiple-page mode
|
Select station of departure: |
Select station of arrival: |


@import views.html.b3.vertical.VerticalFieldConstructor @import controllers.admin.AdminAssessmentsController.AssessmentFormData @import domain.Assessment @(assessment: Option[Assessment])(implicit context: RequestContext, request: RequestHeader, messages: MessagesProvider, vfc: VerticalFieldConstructor, form: Form[AssessmentFormData]) @b3.freeFormGroup(Seq(Symbol("_label") -> "Files", Symbol("id") -> "files")) { _ =>
Files should include an assessment paper as set out in the guidance. You may also wish to upload other supplementary materials such as an answer booklet, statutes, periodic tables etc.
No files attached.
} else {Attached files:
Uploading new files replaces all existing files.
}


2 Samuel 17:5
Then said Absalom, Call now Hushai the Archite also, and let us hear likewise what he saith.


BEST IN SHOW RATING: 7.5/10 --> Very good movie
For more reviews and movie screensavers, visit http://www.joblo.com/
Funny how we take so many things in our lives for granted. I see and do things all the time without thinking about any of the people behind the scenes of it all, and this film is a perfect example of one of the things that I've never really thought about. Dog shows. I've always known about them, I've caught a glimpse of them on the Sports Network from time to time, but I've never really sat down and thought about what they truly consisted. But have no fear, because writer/director Christopher Guest has come up with an excellent mockumentary featuring the dogs, the people and all the rest of the obsessive insanity that goes on behind the scenes at these dog shows.
PLOT: A faux documentary featuring several dog owners preparing to take their prize pets to the big show in Philadelphia. Along the way, we get an insight into the world of dog shows, as well as all of the competition, neurotic owner behavior and everything else that you'd expect from a "hobby" which some people obviously take too seriously.
CRITIQUE: A very funny, original take on the world of dog shows, filled with many memorable characters, hilarious commentary and even some constructive education about the industry behind the shows themselves. I'm more of a "cat guy" myself, but you don't need to love dogs to enjoy this movie. The many well-developed kooky characters are what drew me into this film, and I just loved watching all of these actors riff left and right. Give Eugene Levy and Catherine O'Hara some of the highest praise in this regard, with super chemistry, perfect tit-for-tat dialogue sessions and one especially hilarious sequence with Larry Miller as an old flame. You see, O'Hara's character used to be "easy" when she was young, and the film features many very funny moments of her former conquests crudely making points about their trysts together, right in front of her timid husband. We also have the extremely neurotic snooty couple, Parker Posey and Michael Hitchcock, who feel the need to bring their dog with them to their psychiatrist and who simply cannot seem to control their own diva-esque behavior. Kudos to both of them, and especially on whoever decided to slap braces on the poor fools. Nice touch.
The two final couples also offer many moments of chuckle in their own right, especially the flamboyant gay character portrayed fabulously by John Michael Higgins, and the very controlling dog trainer played intensely by Jane Lynch. I mention all of these names and all of these characters because they are what make up the fabric of this entire movie, and if you don't like them, then you will more than likely not "get" this movie. I appreciated them all, save for Christopher Guest's own character in the film, and I especially loved two of the "smaller" personalities in the movie. The first is Ed Begley Jr. (where has he been?) who slurps it all up as the manager of the host hotel and Fred Willard, who in unquestionably the funniest thing about this movie. He literally steals the show as one of the commentators of the big dog show finale, and delivers some of the best lines that I've heard all year. You couldn't find a bigger boob to add color commentary to the show than this very misinformed gentleman! And a great job by his straight man British co-host as well. Overall, I don't believe this comedy is suited for most people. There is a lot of dry and satirical humor here, which may not be appreciated by some.  Funny and original...nice combo!
Review Date: October 13, 2000 Director: Christopher Guest Writers: Christopher Guest and Eugene Levy Producer: Karen Murphy Actors: Eugene Levy as Gerry Fleck Catherine O'Hara as Cookie Fleck Parker Posey as Meg Swan Genre: Comedy Year of Release: 2000 ----------------------------------- JoBlo's Movie Emporium http://www.joblo.com/ ----------------------------------- (c) 2000 Berge Garabedian
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


The Bokeh project encompasses two major components: the Bokeh package source code, written in Python, and the BokehJS client-side library, written in CoffeeScript. Accordingly, development of Bokeh is slightly complicated by the fact that BokehJS requires an explicit compilation step to render the CoffeeScript source into deployable JavaScript.
For this reason, in order to develop Bokeh from a source checkout, you must first be able to build BokehJS.
The source code for the Bokeh project is hosted on GitHub. To clone the source repository, issue the following command:
git clone https://github.com/bokeh/bokeh.git
This will create a bokeh directory at your location. This bokeh directory is referred to as the “source checkout” for the remainder of this document.
The BokehJS build process is handled by Grunt, which in turn depends on Node.js. Grunt is used to compile CoffeeScript and Less (CSS) sources (as well as Eco templates), and to combine these resources into optimized and minified bokeh.js and bokeh.css files.
First, install Node.js and npm (node package manager). You can download and install these directly, or use conda to install them from the Bokeh channel on Binstar:
$ conda install -c bokeh nodejs
Alternatively, on Ubuntu you can use apt-get:
$ apt-get install npm node
Once you have npm and Node.js installed, you must use them to install the required dependencies before you can build BokehJS. Execute the following command in the bokehjs subdirectory:
$ npm install
This command will install the necessary packages into the node_modules subdirectory (and list them as devDependencies in package.json).
At this point you can typically use the setup.py script at the top level of the source chekcout to manage building and installing BokehJS as part of the complete Bokeh library (see Python Setup).
However, if you are using BokehJS as a standalone JavaScript library, then the instructions below describe the process to iteratively build BokehJS with Grunt for development purposes.
If you want to be able to run the commands below, you can either use bokehjs/node_modules/.bin/grunt or globally install the grunt command line interface:
$ npm install -g grunt-cli
There are three main Grunt commands for development (to be executed from the bokehjs subdirectory):
$ grunt deploy
This will generate the compiled and optimized BokehJS libraries, and deploy them to the build subdirectory.
$ grunt build
This will build the BokehJS sources without concatenating and optimizing into standalone libraries. At this point BokehJS can be be as an AMD module.
$ grunt watch
This directs Grunt to automatically watch the source tree for changes and trigger a recompile of individual files as they change. This is especially useful together with the --splitjs mode of the Bokeh server to afford a more rapid development cycle.
Warning
The sbt build system is experimental and not integrated with setup.py, so it should be used with caution.
As an alternative to Grunt, you can use SBT to build BokehJS. To start, run the command:
$ ./sbt
in the top level directory. This will download sbt (and its dependencies) itself, and configure the build system.
There are two main commands available: build and deploy. The build command compiles CoffeeScript, Less and Eco sources, and copies other resources to the build directory. The deploy command does the same and additionally generates optimized and minified bokeh.js and bokeh.css outputs.
You may also run specific subtasks, e.g. compile to compile CoffeeScript, Less and Eco sources, but not copy resources. You can also prefix any command with ~, which enables incremental compilation. For example, issuing ~less will watch *.less sources and compile only the subset of files that changed. To stop watching sources, press ENTER. Pressing Ctrl+C will terminate sbt.
Once you have a working BokehJS build (which you can verify by completing the steps described in Building BokehJS), you can use the setup.py script at the top level of the source checkout to install or develop the full Bokeh library from source.
The setup.py script has two main modes of operation: install and develop.
When python setup.py install is used, Bokeh will be installed in your local site-packages directory. In this mode, any changes to the python source code will not show up until setup.py install is run again.
When python setup.py develop is used, a path file bokeh.pth will be written to your site-packages directory that points to the bokeh subdirectory of your source checkout. Any changes to the python source code will be available immediately without any additional steps.
With either mode, you will be prompted for how to install BokehJS, e.g.:
$ python setup.py install
Bokeh includes a JavaScript library (BokehJS) that has its own
build process. How would you like to handle BokehJS:
1) build and install fresh BokehJS
2) install last built BokehJS from bokeh/bokehjs/build
Choice?
You may skip this prompt by supplying the appropriate command line option to setup.py:
If you have any problems with the steps here, please contact the developers (see Contact).
If you are working within a Conda environment, you will need to make sure you have the python requirements installed. You can install these via conda install or pip install for the packages referenced at Dependencies.
Testing dependencies include the following additional libraries:
If you build Bokeh on a Windows machine in a Conda environment with either setup.py install or setup.py develop, running bokeh-server will not work correctly. The .exe will not be available within the Conda environment, which means you will use the version available in the base install, if it is available. Instead, you can make sure you use the version within the environment by explicitly running the bokeh-server python script in the root of the bokeh repository, similar to the following example:
python bokeh-server --script path\to\<yourapp>.py
The processes described about result in building and using a full bokeh.js library. This could be considered “production” mode. It is also possible to run Bokeh code in a mode that utilizes require.js to serve up individual JavaScript modules separately. If this is done, then changes to BokehJS can be incrementally compiled (e.g. by running grunt watch in the bokehjs directory), and the development iteration cycle shortened considerably.
For static examples, you can use the BOKEH_RESOURCES environement variable to indicate that BokehJS should be loaded from individual sources:
$ BOKEH_RESOURCES=relative-dev python example.py
For Bokeh server examples, simply add the --dev command line flag to the server invocation:
$ bokeh-server --dev
$ python example-server.py