Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
IN THE HIGH COURT OF KERALA AT ERNAKULAM PRESENT THE HONOURABLE MR. JUSTICE SHAJI P.CHALY WEDNESDAY,THE 31ST DAY OF OCTOBER 2018 / 9TH KARTHIKA, 1940 WP(C).No. 41812 of 2017 PETITIONER/S: ELDO K. MATHEW, AGED 52 YEARS, KANIYATTIL HOUSE, KUMBALERI P.O., POTHUKETTI,SULTAN BATHERY, WAYANAD DISTRICT. BY ADV. DR.GEORGE ABRAHAM RESPONDENT/S: 1 DEPUTY FOREST CONSERVATOR AND WILD LIFE WARDEN, DEPARTMENT OF FOREST AND WILD LIFE DEPT., SULTHAN BATHERY, WAYANAD DISTRICT-673592. 2 DISTRICT GEOLOGIST, DEPARTMENT OF MINING AND GEOLOGY, MEENANGADI,WAYANAD DISTRICT-673592. BY SRI. SANDESH RAJA K., SPECIAL GOVERNMENT PLEADER (FORESTS). THIS WRIT PETITION (CIVIL) HAVING BEEN FINALLY HEARD ON 09.10.2018, THE COURT ON 31.10.2018 DELIVERED THE FOLLOWING: W.P.(C) No.41812 of 2017 2 JUDGMENT
This writ petition is filed by the petitioner seeking to quash Ext.P5 order dated 15.12.2017 passed by the 1st respondent, i.e., the Deputy Forest Conservator and Wild Life Warden, Sulthan Bathery, Wayanad District, declining No Objection Certificate (NOC) to the stock yard sought to be opened and maintained by the petitioner for stocking building stones. Material facts for the disposal of the writ petition are as follows:
2. Petitioner is conducting a Crusher Unit in Wayanad District. The raw material i.e., the granite stones were not readily available, and therefore, petitioner has taken necessary permission for transporting Granite stones from the State of Karnataka. According to the petitioner, permissions were granted by the concerned departments for purchase of granites from the State of Karnataka. The stones have to be stocked in a convenient place so that in accordance with the requirements, the same can be transported to the Crusher Unit. Thereupon, petitioner has entered into Ext.P1 agreement with one T.P. Sivanandan on 08.06.2016, and on the basis of the agreement executed, petitioner made an application for storage of building granite stones in W.P.(C) No.41812 of 2017 3 Form-A before the 2nd respondent i.e., the District Geologist, evident from Ext.P2.
3. Thereafter, petitioner requested the 2nd respondent to conduct a site inspection and on the basis of the site inspection, the Geologist found that the western side of the property under lease is abutting the forest land. According to the petitioner, though it is abutting the forest land, there is a well-demarcated compound wall separating the property from the forest land. Thereupon, 2nd respondent has issued Ext.P3 communication dated 02.08.2017, requesting the 1st respondent to clarify whether he has any objection in granting permission for storing the building stones. The 1st respondent, according to the petitioner, thereupon directed the petitioner to file an affidavit undertaking that he is willing to indemnify the forest department against any losses and risk caused due to the storage of stones. Accordingly, petitioner has submitted Ext.P4 affidavit. Anyhow, after keeping the matter for a few months, 1st respondent has issued Ext.P5, declining the permission sought for by the 2nd respondent. The case put forth by the petitioner is that, based on the directions issued by the Ministry of Environment and Forest, the surroundings of the Forest has to be declared W.P.(C) No.41812 of 2017 4 as Eco-Sensitive Zone. However, the 1st respondent admits that the State of Kerala has not so far notified the Eco-Sensitive Zone. Therefore, the directions issued by the Ministry of Environment and Forest has no application in the instant case. Further, the reasoning that as per the judgment of the Supreme Court, every project within the radius of 10 Kms. has to obtain permission from the National Board of Wild Life cannot also be sustained, since the buffer zone of 10 Kms. is not so far identified by the State of Kerala. Therefore, according to the petitioner, Ext.P5 cannot be sustained under law.
4. A statement is filed by the 1st respondent, refuting the claims and demands raised by the petitioner. Among other contentions, it is stated that, on verifying the facts in the field, 2nd respondent came to know that the proposed site for the mineral sales depot is having a boundary sharing with forest and protected area. As per Ext.P3 letter, the 2nd respondent asked for NOC from the 1st respondent, considering the existing laws and guidelines in place and verifying the facts, 1st respondent has not issued NOC. It is pointed out that, as per Sec.2(ix), (x) & (xvi) of the Kerala Minerals (Prevention of Illegal Mining, Storage and W.P.(C) No.41812 of 2017 5 Transportation) Rules, 2015 [hereinafter referred to as 'the Rules, 2015'], the holder of a dealer's licence will be able to store mineral products including minerals in any raw form such as rock aggregates, chips, rock dust etc. Therefore, issuing a dealer's licence to the petitioner will enable him to store the mineral products in the boundary of Muthanga Wildlife Range, which is a part of Wayanad Wildlife Sanctuary. The Wayanad Wildlife Sanctuary is a Protected Area as per Wild Life (Protection) Act, 1972, and storing of such mineral products in the boundary of Wildlife Sanctuary will add to make pollution with respect to sound, air and water in the forest area.
5. It is further submitted that, National Parks, Sanctuaries and Conservation Reserves are notified under the Wildlife Protection Act, 1972, as dedicated areas, rich in, and representing the unique bio-diversity of a place, and such protected areas are considered very important for conservation of bio-diversity and for ensuring the healthy populations of its floral and faunal components, for the present and future generations alike. Other contentions are also raised relying upon the Ecologically Fragile Zones under Sec.3(v) of the Environment (Protection) Act and Rule 5 of the W.P.(C) No.41812 of 2017 6 Environment (Protection) Rules. Based on this, Eco- Sensitive Zones around National Parks and Sanctuaries are created for the purpose of some kind of "Shock Absorber" for the Protected Areas. Therefore, according to the 1st respondent, the stand adopted in Ext.P5 is fully justified.
6. That apart, it is pointed out that, as per Sec.3 of the Environment (Protection) Act, 1986, the Central Government is empowered to take all measures that are necessary for protecting and improving the quality of the environment and to protect and control environmental pollution. In order to attain the said objective, the Central Government is at liberty to restrict areas in which any industries, operations or process or class of industries, operations or process shall not be carried out or shall be carried out subject to certain safeguards under Sec.3(2)(v) of Act, 1986. Based on the said perspective, guidelines were issued for declaring Eco- Sensitive Zones around protected areas, and therefore, storage of building granite stones near to the Wildlife Sanctuary can well be restricted as it falls within the Eco-Sensitive Zone Regulations.
7. That apart, it is stated that, if NOC is provided to operate the stock yard, this will add to more W.P.(C) No.41812 of 2017 7 of machineries such as, heavy vehicles, Tippers, Tractors, JCB etc. without any control in the vicinity of the Wildlife Sanctuary, which will add the pollution by means of noise, dust etc. Considering all these aspects only, the Forest Department has rejected the NOC sought for. The Forest Department is not having any objection in having such activities beyond 10 Kms. from the boundary of the Wildlife Sanctuary.
8. A reply affidavit is filed by the petitioner, reiterating the stand adopted in the writ petition, and stating that no Eco-Sensitive Zone is notified by the State Government from the National Parks and Wildlife Sanctuaries, and therefore, the restriction imposed without any Rules enunciated by the Central or State Government, the 1st respondent is not at liberty to decline NOC on the said ground. The judgments rendered by the apex court in 'Goa Foundation v. Union of India and Others' [2014 KHC 3163] and the Division Bench of this Court in 'State of Kerala and Others v. J & J Minerals Private Limited and Others' [2015 (5) KHC 854 : ILR 2016 (1) Ker. 518 : 2016 (2) KLT SN 76] are relied upon to substantiate the said contentions advanced by the petitioner.
W.P.(C) No.41812 of 2017 8
9. I have heard learned counsel for the petitioner, learned Special Government Pleader appearing for the 1st respondent and the learned Government Pleader for the 2 nd respondent. Perused the documents on record and the pleadings put forth by the respective parties.
10. The facts delineated above could make it clear that, petitioner has sought permission from the 2nd respondent to open up a stock yard on the basis of Ext.P1 lease deed executed by the petitioner with one T.P. Sivanandan. Since the property was bordering Muthanga Wildlife Zone coming under the Wayanad Wildlife Sanctuary, a communication was sent by the 2 nd respondent to the 1st respondent, evident from Ext.P3 dated 02.08.2017. According to the petitioner, it was on the basis of the directions issued by the 1 st respondent, petitioner has submitted Ext.P4 affidavit, undertaking to indemnify against any losses and risks in the above matter. However, petitioner has not produced any documents before this Court to establish that Ext.P4 was filed on the basis of any directions issued by the 1 st respondent. That apart, it is an admitted fact that the property in question is bordering a reserved forest.
11. The contention advanced by the petitioner is that, so far the buffer zone is not declared in W.P.(C) No.41812 of 2017 9 accordance with the directives issued in the order of the Supreme Court in 'Goa Foundation v. Union of India and Others' [(2011) 15 SCC 791] and therefore, the 1st respondent is not at liberty to decline NOC on the basis of the buffer zone so directed to be formulated by the respective State Governments. It is also pointed out that the said question was considered by a Division Bench of this Court in 'J & J Minerals Private Limited and Others' (supra). However, therein the question considered was in respect of a mineral water plant situated within the Buffer Zone of Silent Valley Park vis-a-vis the environmental clearance, and held that, industry concerned with mineralized water is not required to obtain environmental clearance certificate, and therefore, notification declaring the area around Silent Valley Park as a Buffer Zone cannot be relied on to interdict operation of industry carrying on production of mineral water.
12. Petitioner has relied upon the judgment of the Karnataka High Court in 'Vijayanagar Educational Trust (M/s.) v. Karnataka State Pollution Control Board, Bangalore' [2002 KHC 3482 : AIR 2002 Kar. 123], wherein the question with respect to establishment of a Medical College located on the banks of 'Kumudavathi river', and W.P.(C) No.41812 of 2017 10 the location being sensitive as river joins a reservoir, was under consideration. There, the Karnataka High Court held that the area was not declared sensitive by publication of notification by State or Central Government, as required under Rule 5 of the Environment (Protection) Rules, 1986 read along with the other provisions of the Water (Prevention and Control of Pollution) Act, 1974 and the Environment (Protection) Act, 1986. Therefore, according to the petitioner, the 1st respondent is not having the power to declare a Buffer Zone without a notification being issued in accordance with the provisions of the Environmental Laws pointed out above.
13. Learned counsel for the petitioner has also invited my attention to the classification of industries for consent management under the categories Red, Orange & Green, as per Schedule-VIII of Rules 3(2) and 12 of the Rules, 1986 and has produced before me and pointed out that the stone crusher unit comes under the "Orange" category. Therefore, according to the petitioner, Ext.P5 order passed by the 1st respondent suffers from the vice of arbitrariness and illegality, liable to be interfered with by this Court.
W.P.(C) No.41812 of 2017 11
14. On the other hand, learned Special Government Pleader pointed out that, going by the pleadings of the petitioner itself, it is evident that the property in question covered by Ext.P1 lease deed is situated just outside the Wayanad Wildlife Sanctuary, and therefore, even without declaration of 10 Kms. Buffer Zone, it is evident that the petitioner will definitely come under the said distance prescribed by the apex court in 'Goa Foundation case' (supra). That apart, it is pointed out that, in the judgment of the Supreme Court in 'Goa Foundation case' (supra), the Supreme Court has considered the question with respect to non-issuance of notification, vis-a-vis disability to create any prohibition for operation of any industry was considered. Learned Special Government Pleader has invited my attention to paragraph 41 of the said judgment, which read thus:
"41. This Court in exercise of its power under Art.32 of the Constitution can direct the State to prohibit mining activities in an area adjacent to a National Park or a Wildlife Sanctuary for the purpose of protecting the flora, fauna and wildlife habitat of the National Park/Wildlife Sanctuary because these constitute part of the natural environment necessary for healthy life of persons living in the State of Goa. The right to life under Art.21 of the Constitution is a guarantee against the State and for enforcing this fundamental right of persons the State, which alone has a right to grant mining leases of the mines located inside the State, can be directed by the Court by an W.P.(C) No.41812 of 2017 12 appropriate writ or direction not to grant mining leases or not to allow mining that will be violative under Art.21 of the Constitution. In Re: Constitution of Park at NOIDA near Okhla Bird Sanctuary, 2010 KHC 4956: 2011 (1) KHC SN 7: 2010 (13) SCALE 50: 2011 (1) SCC 744, a three-Judge Bench (Forest Bench) of this Court has observed:
"........Environment is one of the facets of the right to life guaranteed under Art.21 of the Constitution. Environment is, therefore, a matter directly under the Constitution and if the Court perceives any project or activity as harmful or injurious to the environment, it would feel obliged to step in......"
Thus, the submissions of learned counsel for the lessees that until a notification is issued under t he Environment (Protection) Act, 1986 and the Rules made thereunder prohibiting mining activities in an area outside the boundaries of a National Park / Wildlife Sanctuary, no mining can be prohibited by this Court is misconceived."
15. Therefore, it is contended that, even without declaration of Buffer Zone, if the Forest authorities are of the opinion that the activities that are proposed can cause serious disadvantage to the flora and fauna and the wildlife, the Forest authorities are duty bound to take into consideration such aspects, and if it is found that, it can cause serious repercussions to the wildlife, then, they are at liberty to decline NOC. Learned Special Government Pleader also pointed out that, in accordance with Article 51A(g) of the Constitution of India, a duty is cast upon every citizen of India to protect and improve the natural environment including forests, lakes, rivers and wild life, and to have compassion for living W.P.(C) No.41812 of 2017 13 creatures. The provisions of Environment (Protection) Act, as well as the Rules, 1986 are also relied upon to contend and canvass that the stock yard proposed by the petitioner can cause serious havoc to the wildlife of Muthanga Wildlife Zone, a part of Wayanad Wild Life Sanctuary.
16. I have considered the rival submissions made across the Bar and perused the pleadings and documents on record.
17. The contention made above would make it clear that, there is no dispute with respect to the property covered by Ext.P1, having a boundary with the Wayanad Wildlife Sanctuary, i.e., the Muthanga Wildlife Zone. The Wayanad Wildlife Sanctuary is well known for its bio- diversity, flora and fauna and wildlife existence, in abundance. Petitioner is not having a case that the property covered under Ext.P1 is outside the 10 Kms. Buffer Zone, since it is an admitted fact that the property has a boundary with the Wildlife Sanctuary. Petitioner is not entitled even to contend that since the 10 Kms. Buffer Zone is not identified, the 1 st respondent cannot deny NOC to the petitioner. The distance of 10 Kms. outside the various area will come into play only when there is a dispute as to the existence of the W.P.(C) No.41812 of 2017 14 property away from the wildlife border. Here, in this case, no such case is projected by the petitioner. It is also an admitted fact that the stocking yard is for the purpose of stocking building stones brought from Karnataka and remove the same from the yard to the Crusher site, as and when it is required. Therefore, one can clearly visualise the sound and dust that can emanate from the continuous activities that are taking place, which will disturb the wild life and the dust emanates from the said activity will pollute the air and water also, which will materially affect the existence of the flora and fauna as well as the water resources available in the forest area, causing serious damage and irreparable injuries to the wildlife and bio-diversity as such.
18. The importance of Buffer Zone that is put forth by the apex court in 'Goa Foundation case' (supra), is with the intention of protecting the bio-diversity, flora and fauna and the wildlife. Any serious disturbance emanating from an industrial activity can disturb the wildlife and there is every likelihood that animals may move out from the said area, encroaching into the other regions so as to affect the normal human life and activities also. The animals and the environment are W.P.(C) No.41812 of 2017 15 entitled to be protected, within their territorial region, which is an obligation cast upon the State under Article 51A(g) of the Constitution of India. So much so is the obligation under Article 48A encompassing a duty on the State to make endeavour to protect and improve the environment and safeguard forests and wild life of the country. Therefore, irrespective of any notification declaring any eco-sensitive zone, the State is destined to protect the environment and the wild life. Moreover, the citizens are entitled to enjoy the nature in its purest form and such enjoyment is integral part of the fundamental rights guaranteed under Article 21 of the Constitution of India. Therefore, reasonable restrictions imposed on the civil rights of an individual, to protect larger interest of the community guaranteed under Part III of the Constitution of India cannot be said totally irrelevant, arbitrary, illegal or unfair.
19. This cluster of factual and legal circumstances lead me to a safe conclusion that, if permission is granted to undertake the activity, as is sought for by the petitioner, it will materially affect the ecological balance available in the area, and also interferes with the natural environment as it exists today. Added to W.P.(C) No.41812 of 2017 16 these aspects, no documents are produced to sustain the submission that petitioner is entitled to transport the product from Karnataka State. Therefore, the reasons assigned in Ext.P5 cannot be said to be illegal and arbitrary, justifying interference of this Court under Article 226 of the Constitution of India.
Resultantly, the writ petition fails, accordingly it is dismissed.
Sd/-
SHAJI P.CHALY JUDGE W.P.(C) No.41812 of 2017 17 APPENDIX PETITIONER'S/S EXHIBITS:
EXHIBIT P1: TRUE COPY OF THE AGREEMENT EXECUTED BETWEEN THE PETITIONER ALONG WITH SRI. ANILKUMAR ON ONE SIDE AND SRI.T.P.SIVANANDAN ON THE OTHER SIDE.
EXHIBIT P2: TRUE COPY OF THE APPLICATION SUBMITTED BY THE PETITIOENR BEFORE THE SECOND RESPONDENT. EXHIBIT P3: TRUE COPY OF THE COMMUNICATION DATED 2.8.2017.
EXHIBIT P4: TRUE COPY OF THE AFFIDAVIT FILED BY THE PETITIONER DATED 20.10.2017.
EXHIBIT P5: TRUE COPY OF THE COMMUNICATION ISSUED BY THE IST RESPONDENT DATED 15.12.2017.
RESPONDENTS' EXHIBITS : NIL //TRUE COPY// P.S. TO JUDGE St/-


{% from "erpnext/templates/includes/macros.html" import product_image_square %} {% macro item_name_and_description(d) %}


-remattr template: pers?clnt=<name|pass>&com=remattr&attr=<attr_pattern_1>&ftr=... Order of query params is not important. pattern : * | name[.*], where name is a path expression descript: removes all records with attributes matching the attribute pattern(s). Referential integrity constraints will cause records of tables where those attributes are foreign keys to be removed as well. If no feature in DB matches a pattern, no record will be deleted (200 OK will still be returned). If the error code 401 is returned then none of the attributes matching the request pattern(s) has been deleted. Can be used to initialize the Personal Mode DB, by deleting all data in tables (note that table'num_data' are not affected, however). example : pers?clnt=name|pass&com=remattr&attr=lang.*&attr=gender pers?clnt=name|pass&com=remattr&attr=* (deletes everything from DB tables) returns : 200 OK, 401 (fail, request error), 501 (fail, server error) 200 OK : in this case the response body is as follows <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="/resp_xsl/rows.xsl"?> <result> <row><num_of_rows>number of relevant rows</num_of_rows></row> </result> comments: the reference to the xsl file allows to view results in a web browser. In case the response body is handled directly by an application and not by a browser, this reference to xsl can be ignored.


{{name}} is a totally original, never-before-seen idea that we didn't copy from anyone. The primary purpose of this application is to showcase a few Hapi features.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.brightcove.commons.catalog.objects.CuePoint
public class CuePoint
A Cue Point object.
This object is defined primarily by the Media API documentation for a CuePoint object: http://support.brightcove.com/en/docs/media-api-objects-reference#CuePoint.
This may be modified however from the Media API documentation so that it can also support other interfaces (e.g. batch provisioning).
The CuePoint object is a marker set at a precise time point in
the duration of a video. You can use cue points to trigger
mid-roll ads or to separate chapters or scenes in a long-form
video. For more information, see
Adding Cue Points to Videos
and
Setting CuePoints with the Media API.
| Constructor Summary | |
|---|---|
CuePoint()
Default Constructor. |
|
CuePoint(org.w3c.dom.Element element)
Constructs a new CuePoint from an XML representation (generated by Videos.toXml()). |
|
CuePoint(java.lang.String json)
Constructor using JSON string. |
| Method Summary | |
|---|---|
org.w3c.dom.Element |
appendXml(org.w3c.dom.Element root)
Uses the W3C libraries to generate an XML representation of this object. |
java.lang.Boolean |
getForceStop()
Gets the forceStop attribute of the Cue Point. |
java.lang.Long |
getId()
Gets the id of the Cue Point. |
java.lang.String |
getMetadata()
Gets the meta data on the Cue Point. |
java.lang.String |
getName()
Gets the name of the Cue Point. |
java.lang.Long |
getTime()
Gets the time of the Cue Point. |
CuePointTypeEnum |
getType()
Gets the type of the Cue Point. |
java.lang.String |
getVideoId()
Gets the id(s) of the video(s) this cue point applies to. |
void |
initAll()
Initializes all variables to null |
void |
setForceStop(java.lang.Boolean forceStop)
Sets the forceStop attribute of the Cue Point. |
void |
setId(java.lang.Long id)
Sets the id of the Cue Point. |
void |
setMetadata(java.lang.String metadata)
Sets the meta data on the Cue Point. |
void |
setName(java.lang.String name)
Sets the name of the Cue Point. |
void |
setTime(java.lang.Long time)
Sets the time of the Cue Point. |
void |
setType(CuePointTypeEnum type)
Sets the type of the Cue Point. |
void |
setVideoId(java.lang.String videoId)
Sets the id(s) of the video(s) this cue point applies to. |
JSONObject |
toJson()
Converts the cue point into a JSON object suitable for use with the Media API |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public CuePoint()
Default Constructor.
All fields set to null to start - required fields must be set before calling Write Media API.
public CuePoint(java.lang.String json) throws JSONException
Constructor using JSON string.
Given a JSON string from the Media API, attempts to construct a new Cue Point object and fill out all of the fields defined. All other fields will be null.
JSONException
public CuePoint(org.w3c.dom.Element element)
Constructs a new CuePoint from an XML representation (generated by Videos.toXml()).
element
- XML Element representing the cuepoint object| Method Detail |
|---|
public void initAll()
Initializes all variables to null
public java.lang.String getName()
Gets the name of the Cue Point.
Property name: name
Type: String
Read only?: yes
Description: Required. A name for the cue point, so that you
can refer to it.
public void setName(java.lang.String name)
Sets the name of the Cue Point.
Property name: name
Type: String
Read only?: yes
Description: Required. A name for the cue point, so that you
can refer to it.
name
- Name of the Cue Pointpublic java.lang.Long getId()
Gets the id of the Cue Point.
(undocumented)
public void setId(java.lang.Long id)
Sets the id of the Cue Point.
(undocumented)
id
- Id of the Cue Pointpublic java.lang.String getVideoId()
Gets the id(s) of the video(s) this cue point applies to.
Property name: videoId
Type: String
Read only?: yes
Description: A comma-separated list of the ids of one or
more videos that this cue point applies to.
public void setVideoId(java.lang.String videoId)
Sets the id(s) of the video(s) this cue point applies to.
Property name: videoId
Type: String
Read only?: yes
Description: A comma-separated list of the ids of one or
more videos that this cue point applies to.
videoId
- Comma-separated String of the video ids this Cue Point applies topublic java.lang.Long getTime()
Gets the time of the Cue Point.
Property name: time
Type: Long
Read only?: yes
Description: Required. The time of the cue point, measured
in milliseconds from the beginning of the
video.
public void setTime(java.lang.Long time)
Sets the time of the Cue Point.
Property name: time
Type: Long
Read only?: yes
Description: Required. The time of the cue point, measured
in milliseconds from the beginning of the
video.
time
- Time of the Cue Pointpublic java.lang.Boolean getForceStop()
Gets the forceStop attribute of the Cue Point.
Property name: forceStop
Type: Boolean
Read only?: no
Description: If true, the video stops playback at the cue
point. This setting is valid only for AD type
cue points.
public void setForceStop(java.lang.Boolean forceStop)
Sets the forceStop attribute of the Cue Point.
Property name: forceStop
Type: Boolean
Read only?: no
Description: If true, the video stops playback at the cue
point. This setting is valid only for AD type
cue points.
forceStop
- forceStop attribute of the Cue Pointpublic CuePointTypeEnum getType()
Gets the type of the Cue Point.
Property name: type
Type: Enum
Read only?: yes
Description: Required. An integer code corresponding to the
type of cue point. One of 0 (AD) or 1 (CODE).
An Ad cue point is used to trigger mid-roll ad
requests. A Code cue point can be used to
indicate a chapter or scene break in the video.
public void setType(CuePointTypeEnum type)
Sets the type of the Cue Point.
Property name: type
Type: Enum
Read only?: yes
Description: Required. An integer code corresponding to the
type of cue point. One of 0 (AD) or 1 (CODE).
An Ad cue point is used to trigger mid-roll ad
requests. A Code cue point can be used to
indicate a chapter or scene break in the video.
type
- Type of the Cue Pointpublic java.lang.String getMetadata()
Gets the meta data on the Cue Point.
Property name: metadata
Type: String
Read only?: no
Description: A string that can be passed along with a CODE
cue point. Not more than 512 characters.
public void setMetadata(java.lang.String metadata)
Sets the meta data on the Cue Point.
Property name: metadata
Type: String
Read only?: no
Description: A string that can be passed along with a CODE
cue point. Not more than 512 characters.
metadata
- Meta data on the Cue Pointpublic JSONObject toJson() throws JSONException
Converts the cue point into a JSON object suitable for use with the Media API
JSONException
public org.w3c.dom.Element appendXml(org.w3c.dom.Element root)
Uses the W3C libraries to generate an XML representation of this object.
root
- Element to append data to
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


 No matter how it is! The top videoblogers are real stars. They have hundreds of thousands of subscribers, millions of views and very good fees.
Read my blog


Inside each mViewer instance is a "view" object (type mvView) which has no methods (other than the standard __str__ and __repr__ for casting the contents into text representations) but which contains all the information defining how the display should be rendered. Once you have created an mViewer object (e.g. as variable "viewer") the view object can be referenced as "viewer.view". Calling "print viewer.view" will print the contents of the structure, as shown below for the full color example.
One of the reasons for using the browser for display is that this gives us a highly-programmable environment (Javascript) for constructing additional GUI components. In the web service context we have pop-ups for interactive color stretching (sliders) and layer (overlay) controls and these could easily be added to this environment as well. More importantly, anyone wishing to use mViewer in a custom context can fairly easily modify the GUI code to include their own buttons, forms, and other controls.


The first five generalized macros work with keys of any data type and fields of any name. The latter five convenience macros do the same thing, but take fewer arguments. (In order to use the convenience macros, the structure's UT_hash_handle field must be named hh, and the key field must be of type int or char[]).
The arguments are summarized below. Refer to the User Guide for a full explanation of the usage of these macros.
name of the UT_hash_handle field in the structure. Conventionally called hh.
the structure pointer variable which acts as the "head" of the hash. So named because it points to the first item which is added to the hash.
the name of the key field in the structure. (In the case of a multi-field key, this is the first field of the key). If you're new to macros, it might seem strange to pass the name of a structure field as a parameter. Rest assured the macros expand to valid C code.
the length of the key field in bytes. E.g. for an integer key, this is sizeof(int), while for a string key it's strlen(key). (For a multi-field key, see the notes in the User Guide on calculating key length).
for HASH_FIND, this is a pointer to the key to look up in the hash (since it's a pointer, you can't directly pass a literal value here). For HASH_ADD_KEYPTR, this is the address of the key of the item being added.
pointer to the structure being added, deleted or looked up. This is an input parameter for HASH_ADD and HASH_DELETE macros, and an output parameter for HASH_FIND.
pointer to comparison function which accepts two arguments (pointers to items to compare) and returns an int specifying whether the first item should sort before, equal to, or after the second item (like strcmp()).
HASH_ADD_KEYPTR is used when the structure contains a pointer to the key, rather than the key itself.
Written by Troy D. Hanson<EMAIL_ADDRESS>See the uthash web site for the complete User Guide.


Several routines in the Str module are exported unqualified.
| Lower | Convert a string to lower case. | |
| Upper | Convert a string to upper case. | |
| Trim | Remove leading and trailing blanks. | |
| index | Finds a specified string in another string. | |
| length | Returns the length of a string. | |
| repeat | Creates a string by repeating a specified string a number of times. |


Beans roasted more than 2 weeks ago and other special deals!
Sold Out!
Go back to the store front and make a reservation or check our Regular fresh roasts and Samplers!
{{item.origin}}
{{item.roast_type}}
In Stock: {{item.weight}} lbs.
{{item.price_per_lb | currency}}/lb
Back to the Store Front


one
two
Emmental
Roquefort
Parmigiano
Cheddar
one
two
one
two
one
two
one
two
one
two
three
four
five
six
LaClare Farms Evalon with Cummin
Yarra Valley Vintage Savourine
Avonlea Clothbound Cheddar
Regular
Disabled
Hidden
Invisible
one
two


| A high quality and reasonably fast random number generator based on Makoto Matsumoto, Takuji Nishimura, and Eric Landry's implementation of the Mersenne Twister algorithm. The default seed is a xor of the ANSI C time() and clock() return values. | ||
|
bytes(count)
Returns a Sequence of size count containing random bytes.
flip
Returns a random bit as a true or false object.
gaussian(optionalMean, optionalStandardDeviation)
Returns a pseudo random number between 0 and 1 with a gaussian distribution.
setSeed(aNumber)
Sets the random number generator seed to the unsigned int version of aNumber.
value(optionalArg1, optionalArg2)
If called with:
|


Money Play. How should Red play 65?
pips Red=165 White=154
(CorrectAnswer= 0/0, ErrorScore= 0)
This follows on from the theme of Position 79. Where should Red leave his blot(s)?
One could argue that the bar-point is a key point to make and so 13/8, 13/7 is certainly possible. If Red wants to maintain his mid-point then he can try the single slot 10/5, 8/2 or the double slot (of better points) 10/4, 8/3.
Giving up the mid-point is wrong because it strands the three rear checkers. 13/8, 13/7 is virtually a double blunder.
Because of White's weak home board Red is correct (just) to venture the double slot of two key points, although the single slot play is not an error. The key learning point is not to give up the mid-point in positions like this.
One could argue that the bar-point is a key point to make and so 13/8, 13/7 is certainly possible. If Red wants to maintain his mid-point then he can try the single slot 10/5, 8/2 or the double slot (of better points) 10/4, 8/3.
Giving up the mid-point is wrong because it strands the three rear checkers. 13/8, 13/7 is virtually a double blunder.
Because of White's weak home board Red is correct (just) to venture the double slot of two key points, although the single slot play is not an error. The key learning point is not to give up the mid-point in positions like this.
1. Cubeful 2-ply 24/22(2) 6/4(2) Eq.: +0.123 0.524 0.148 0.005 - 0.476 0.106 0.003 2. Cubeful 2-ply 24/22 13/11 6/4(2) Eq.: +0.058 (-0.064) 0.519 0.152 0.007 - 0.481 0.147 0.007 3. Cubeful 2-ply 24/20(2) Eq.: +0.051 (-0.072) 0.506 0.114 0.003 - 0.494 0.086 0.003 4. Cubeful 2-ply 13/11 10/8 6/4(2) Eq.: +0.017 (-0.105) 0.504 0.151 0.006 - 0.496 0.144 0.007 5. Cubeful 2-ply 13/11 8/4 6/4 Eq.: -0.017 (-0.140) 0.494 0.155 0.007 - 0.506 0.151 0.010


hello
i have read and looked at the pictures, but no help
i am trying to install the content channels for our clan.
we all are use using chrome, and all have the lastest bbl 3.5.3
when i click on the link for example,it show this
(http://getbblog.com/channels.php?api-action=channel&channel=34f6ba64d6d681abd23966e9816b19797a3a919a)
is that what i use to add to bbl content channel, and also how do i write something
to our platoon.
if anyone can help
thank you
ORFK
Global Moderator
after you had installed the content channels on your own, local, server you can add channels (which will be subscribed by your clan members) and these channels need content boxes (which will have the content).
the example, which you see, have your member to add as "subscribed channel" in general improvements -> content channels.


Spend less time worrying
and more time living life
Generate your budget
Lorem Ipsum is simply dummy text of the printing and typesetting
industry.
Generate monthly report
Lorem Ipsum is simply dummy text of the printing and typesetting
industry.
Real time tracker
Lorem Ipsum is simply dummy text of the printing and typesetting
industry.
Our Products
Keep your budget
up to date
Lorem Ipsum is simply dummy text of the printing and typesetting
industry.survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
Download the app
Our Blog
Bitcoin in Nigeria and how the
Political Climate has changed with everything.
We take a critical look at Bitcoin usage and the
#EndSars protest and how it changed the perception
of bitcoins
Bitcoin in Nigeria and how the
Political Climate has changed with everything.
We take a critical look at Bitcoin usage and the
#EndSars protest and how it changed the perception
of bitcoins
Bitcoin in Nigeria and how the
Political Climate has changed with everything.
We take a critical look at Bitcoin usage and the
#EndSars protest and how it changed the perception
of bitcoins


In this part of the experiment you will be randomly paired with two other participants who, with you, form your 3 person group for this part of the experiment. The decisions of you and your partners will determine your payoff and your partners' payoffs in this part of the experiment.
You and your two partners start with an endowment of 10 quarters. Your decision, and the decisions of your partners, is how many of your 10 quarters to put into your group's Group Account. The part of your endowment that you do not put into the Group Account will be put into your Private Account. Similarly, the part of your partners' endowment that they do not put into the Group Account are put into their respective private accounts. For every quarter you put into your Private Account, you will earn 1 quarter. Similarly, your partners will earn 1 quarter for each quarter they put into their respective Private Accounts.
For example, if you were to put 2 quarters into the Group Account, you will put 10 - 2 = 8 quarters into your Private Account. Thus, in this scenario, you would earn 8 quarters from your Private Account.
Each member will earn the same amount from what you give to the Group Account. On the other hand, you will also get a payoff from the other group members' contributions. Specifically, for each dollar held in the Group Account, everyone in your group earns \( \frac{1}{2} \) of a quarter. For example, if the sum of all contributions to the Group Account is 12 quarters, then each member of the group will earn \( 12 \times \frac{1}{2} = 6 \text{ quarters} \). If the sum of all contributions to the Group Account is 16 quarters, th en each member of the group will earn \( 16 \times \frac{1}{2} = 8 \text{ quarters} \) .
 Mathematically,
$$ \text{Payoff} = \text{Private Account} + \frac{1}{2} \times \text{Group Account} $$
For this part of the experiment, you will be randomly assigned two partners who could be one of several “types”. In an interaction separate from their interaction with you the computer will randomly pair each of them with another participant. In that interaction, the computer will first divide $10 between your counterpart and this other participant. Your counterpart will be given an opportunity (that they are not forced to accept) to take money that belongs to their partner. This could be any amount between $0.10 and $3.00.
The decisions of other participants, in the role of a prosecutor and in the role of jurors, will determine whether those suspected of taking money from their partner are found guilty or not-guilty of having done so. Some truly innocent people may appear to be guilty and some truly guilty people may appear to be innocent.  All participants found guilty of having taken money from another participant have to pay a monetary penalty as well.
Your decision is to tell us how much of your 10 quarter endowment you would like to contribute to the Group Account. You can contribute in 1 quarter increments.
As previously stated, you will have 10 quarters at your disposal. You can put them into your Private Account or you can put them into the Group Account. Each subject has two types of decisions in this experiment, which will be referred to as "unconditional contribution" and "contribution list".
Unconditional contribution: You will first decide how many of the 10 quarters you want to place into the Group Account.
Contribution list: You will next decide to how to fill in a "contribution list" where you decide how many quarters you would like to contribute to the Group Account conditional on each possible contribution of the other group members.
There will be several situations that describe the possible average contribution of the other group members to the Group Account. You simply have to select how many quarters you will contribute to the Group Account for each scenario. You must select a number everywhere you can. For example, you will have to indicate how much you will contribute if the other members of the group contribute an average of 0, 1, 2 quarters, etc. Again, you can select any whole number of quarters.
After all participants in your group have made the above two sets of decisions, a random mechanism will select a single group member from every group. They will have their conditional contribution implemented and the rest of the group members will have their unconditional contributions implemented. You do not know whom will be selected in your group, so you must think carefully about both the conditional and unconditional contributions you will make.
Imagine that you are selected by the random mechanism. Imagine that the other two members of your group contribute an average of 10 quarters. The computer will then look in the contribution list for what you decided to contribute when the other members contributed and average of 10 quarters. Imagine you said you would contribute 4 quarters when the other members contributed an average of 10 quarters. Then the Group Account would have \( 2 \time 10 + 4 = 14 \text{ quarters} \). Since everyone gets a half quarter for every quarter in the Group Account, you would receive a 7 quarter return from the Group Account and a 6 quarter return from your Private Account (since 10 - 4 = 6), meaning, in total, you would have earned 13 quarters.
 Assume your unconditional contribution to the Group Account is 6 quarters and the other unselected member of the group also contributed 6 quarters unconditionally. The computer will then look in the contribution list for what the selected group member decided to contribute when the other members contributed and average of 6 quarters. Imagine they contributed 8 quarters. Then the Group Account would total 6 + 6 + 8 = 20 quarters. Since everyone gets half of a quarter for every quarter in the Group Account, you would receive a 10 quarter return from the Group Account and a 4 quarter from your Private Account (since 10 - 6 = 4), meaning, in total, you would have earned 14 quarters.
The 2nd member of the group will always be the one that has their conditional contribution used in the payoff calculations. However, the computer randomly determines each members group ID number (1, 2, or 3) when forming the groups, and this number is never displayed to you or anyone else. Therefore the process for deciding whose conditional contribution will be used for determining payoffs is also random.


Gatekeeping
Success on any major scale requires you to accept responsibility… in the final analysis, the one quality that all successful people have… is the ability to take on responsibility.
Michael Korda
Let’s be very clear, I’m really opinionated on how people should behave when they have been given a responsibility whether it be in the form of a job title or if it’s in an after work charity. So keep that in mind as I explain how I view gatekeeping vs acting in a principled manner. I view any job title as more of a set of responsibilities versus permissions. I view any position as a way to serve. I skew everything I do through the lense of making people’s lives better (or at least trying)
Gatekeeping - the activity of controlling, and usually limiting, general access to something.
There are several ways that gatekeeping can arise in an organization. A title, a role, a responsibility. It’s very easy to default to controlling who can do what in your domain. It’s how you ensure that everyone is acting as you’d like them to act.
But there are serious problems with gatekeeping, not only on the culture of a company that has gatekeepers, but also on the ability to get work done. When a gatekeeper is put in place you have an instant bottleneck for any workflow you might currently have. And then you have to build process around the gate to verify that the appropriate work went through the correct gatekeeper. This magnifies as you get more and more gatekeepers. In many ways we can treat gatekeepers as proxies for bottlenecks.
Principles
Failure comes only when we forget our ideals and objectives and principles.
Jawaharlal Nehru
Every title, role or position can be boiled down into a set of principles. Principles in this case being a rule that governs behavior. So for example, I spent a lot of my career as a software engineer. My basic principles were to create quality software that made people’s lives better. It was pretty easy to abide by that. As a manager now, my position and my principles have changed somewhat. I now spend a lot of my time around building people and keeping the organization healthy. Because of this change in role I’ve become more aware of how people behave. I’ve noticed that a lot of the problems we face as an organization stem from gatekeeping.
The interesting juxtaposition of acting under principles versus gatekeeping only became clear to me recently as I was conversing with a co-worker. He was explaining how he didn’t mind that I was stepping into his domain because he operated under a set of principles and as long as I was helping with those principles, there was no problem on his end with me doing what I was doing. He viewed his job and/or title, not as a principality but as a set of principles he cared for. Because of this he was more than willing to have help.
If you stop and think about your current role as a set of principles how does that change the way you interact with other people in the organization?
Let me give you an example. In my current role as a manager in engineering I abide by these principles:
- Foster employee growth and performance
- Proactively handle issues with people and the department
- Drive clarity in communication
This means that anytime anyone wants to do anything that affects any of those areas, I’m not a gatekeeper, I’m a facilitator. Any attempt that furthers those principles is awesome whether it comes from me or from someone else.
One of the big benefits to seeing your role this way is that this method scales much better than the gatekeeping method. If someone with a different perspective sees an issue in an area that would traditionally be in your domain there’s little reason to push back on them helping. It becomes less of a “this is my job” and more of a “how can I help” conversation. This in turn fosters trust and cooperation.
Effects on Culture
In a gatekeeping culture silos are really easy to erect. There are a lot of reasons that these can happen. I’ve often seen them happen as a response to a mistake or for lack of trust. They can also happen to ensure that a step in a process happens. The problem is that this can lead to “not-my-problem” syndrome. Where you avoid looking out for an issue because it’s not your problem. This is fine until the gatekeeper has a bad day. Then more process and more gatekeeping will likely need to be enacted to ensure that the error doesn’t happen again.
Contrast that with a culture where principles are king. If silos aren’t necessary because you believe in fostering good principles, it’ll be hard for people to get into an apathetic state. Trust changes the behavior of people in a lot of interesting ways. It fosters open communication where potential problems should surface much earlier. It fosters collaboration which fosters friendships. This creates a sort of feedback loop. If you can get enough of this sort of behavior in a system you’ll end up with a really healthy culture.
Where I work (a company called Nav) our leaders have been actively trying to foster a culture of trust. A lot of ways that has historically manifested itself is through Principle Driven Work. People at the company view their jobs more as principles than principalities. It means that if you see a blind spot you can approach someone whose primary responsibility it is and help them drive a good solution. It’s probably why Nav is such an amazing company. It’s also why we’re able to actively solve problems better, we have more eyes from more angles. Think about what that means.
Experiment
Try this little experiment. Spend 15 minutes thinking about what principles drive your current role. Write them down. Then think about ways people around you support you or could support you better in those areas. It’s amazing how many people around you could truly help you be better. And even more amazing is how many people you could help as this idea is adopted.
Become Principled
Every company tries to define itself by a series of Why’s, they come up with a nice statement that defines what they do, what they are trying to accomplish and how they think they should behave. At Nav we follow a set of values that guide every decision we make. It works super well for us as a company. Why wouldn’t a set of values work just as well for a position? The next time someone approaches you with a problem that feels like it should be you doing it, ask yourself: “What would I lose if I let them take the lead since they cared enough to look into it?”
I feel strongly that every organizational culture would change dramatically if they took this approach. The guiding principles of each role will reveal common areas of interest/concern. You’ll find allies you never knew you had. You’ll have more insight into the health of the organization, into the well-being of the product and the happiness of the people you work with.


@import views.html.organization.includes.headerdynamic @(title:String)(map: Map[String, List[String]])(content: Html)


First Name
Last Name
Age
Eric
Thompson
24
Registration
First name:
Last name:
Age:
Email:
Birthday:
What is your favorite color?
Green
Red
What are your favorite foods?
Brocolli
Carrots
What's your favorite alcoholic beverage?
Select Below!
Beer
Wine
Spirits
Lorem ipsum dolor sit, amet
consectetur
adipisicing elit. Fugiat cupiditate iusto nesciunt quae.
Lorem
ipsum
dolor
Sit
amet
consectetur


Harry Potter Characters GIFs
Click on the names to show GIFs
Add a gif with character of your choice:
Powered by GIPHY


When adding asynchronous function, call resolver.resolve when data is ready.
resolver.resolve
Use q.add(fn, name) to add fn to the queue, and restore its return value in q.data[name]
q.add(fn, name)
fn
q.data[name]


History of the Penguin Wardens
The little penguin colony at Sydney’s North Harbour was a local secret for many years with residents reporting its existence from around the 1940s and '50s. They breed in more than ten island sites in NSW, including Lion Island in Pittwater and Five Islands off Port Kembla.
The population numbering approximately 60–70 breeding pairs lives in secluded coves and is the only remaining breeding colony on the NSW mainland.
Little penguins forage for food throughout Sydney Harbour and along the Sydney coast, with frequent sightings around Bondi, Botany Bay, Mosman, Narrabeen and Vaucluse. Some of our penguins have even travelled as far as Victoria.
Little penguins come back to Manly each year to breed between May and February. They usually return to their burrows at sunset, when the darkness hides them from predators. These little penguins are also known as fairy penguins, and where they nest around the beaches of Manly, they are vulnerable to dog attacks and being hit by boats.
But each night, a group of volunteers does their best to protect the penguins by watching over them as they make the risky journey from the ocean to their nests
Unlike Phillip Island, near Melbourne, the little penguin population at Manly is small, so it’s not always possible to see them in their natural habitat.


Image upload information and requirementsYou can upload an image of any ticket type to see if it already exists in the system.
If you do not get a ticket search result
If you have a blue handwritten ticket that starts with an A, you may need to create your online ticket. Upload your ticket image to start the process and follow the prompts to create your ticket.
If you have an Intersection Safety Camera or eTicket and you do not get a result with the information on your ticket, contact the Violation Ticket Centre at 1-888-661-8026.
For best ticket photo scanning results, follow these instructions:
Image specifications
NOTE: If your image does not meet the criteria above there may be processing issues during reconciliation. Please ensure your image meets requirements.


Properties
- AutoPlay - Setting this to true will play the slideshow automatically on render
- ContextKey - User/page specific context provided to an optional overload of the web method described by ServiceMethod/ServicePath
- ImageDescriptionLabelID - ID of Label describing the current picture
- ImageHeight - Height of the image container to animate slides smoothly from up to down or down to up
- ImageTitleLabelID - ID of Label displaying the current picture's title
- ImageWidth - Width of the image container to animate slides smoothly from left to right or right to left
- Loop - Setting this to true will allow you to view images in a round-robin fashion
- NextButtonID - ID of the button that will allow you to see the next picture
- PlayButtonID - ID of the button that will allow you to play/stop the slideshow
- PlayButtonText - The text to be shown in the play button to play the slideshow
- PlayInterval - An interval in milliseconds between slide transitions in play mode
- PreviousButtonID - ID of the button that will allow you to see the previous picture
- SlideShowAnimationType - Type of animation used on changing from one slide to another
- SlideShowServiceMethod - The webservice method that will be called to supply images
- SlideShowServicePath - The path to the webservice that the extender will pull the images from
- StopButtonText - The text to be shown in the play button to stop the slideshow
- UseContextKey - Whether or not the ContextKey property should be used


The Dataset Market displays all our supported datasets. To view the page, in the top navigation bar, click
Each dataset displays the name, description, coverage, start date, and price of the dataset. Coverage is the number of assets, securities, contracts, currency pairs, or articles that are included in the dataset. To view the listing page of a dataset, click the dataset.
You can search the market by applying filters or searching for keywords.
Click the Category: All field and then select a category from the drop-down menu to only display datasets in that category.
Click the Delivery Options: All field and then select an option from the drop-down menu to only display datasets with that delivery option.
Enter keywords in the search bar to only display datasets that contain those keywords.


Preparation time
30 mins to 1 hour
Cooking time
1 to 2 hours
Serves
Serves 6
This pie would make a wonderful centrepiece for a family meal. My granddaughters Abby and Grace helped me to make it for the TV programme.
For this recipe you will need a 1.75 litre/3 pint shallow, wide-based ovenproof dish, about 25cm/10in in diameter.
Preheat the oven to 160C/140C Fan/Gas 3.
Put the chicken legs, celery and bay leaves into a large ovenproof saucepan, pour over the wine and stock and season with salt and freshly ground black pepper. Bring to the boil on a medium-high heat, cover with a lid and transfer to the oven for 30–40 minutes, or until the chicken legs are cooked and tender. Set aside to cool.
Once cool, remove the meat from the chicken bones. The bones can be reserved and used for a stock. Break the meat into bite-sized pieces before transferring to a bowl. Strain the stock, reserving the celery and discarding the bay leaves, and measure out the liquid. You should have about 750ml/1 pint 6fl oz; if not, make up to this amount with a little extra stock or white wine.
Heat a large frying pan and fry the bacon pieces on a medium-high heat for 3 minutes. Add the onion, cover with a lid and fry for a further 10 minutes until the onion is softened. Add the butter, stir until melted, and then sprinkle in the flour to make a roux. Pour the reserved liquid into the roux a little at a time, whisking as you add, and stir over a high heat until thickened to a smooth sauce consistency.
Add a little salt and pepper, the reserved celery, crème fraiche and mustard and mix to combine before adding the chicken pieces. Spoon the filling into the ovenproof dish and level the top. Leave until cool and then chill, covered, in the fridge for 30 minutes.
Meanwhile, prepare the pastry for the pie. On a lightly floured work surface, roll out each of the pastry sheets to about 3mm/⅛in thick. Cut each piece into long, thick ribbons, about 3cm/1¼in wide. You will need to make enough to cover the top of the dish, about 16 in total.  Chill in the fridge for 15 minutes to firm up or, if time allows, freeze until solid.
Take the filling out of the fridge and brush the edges of the dish with a little beaten egg. Carefully slide the pastry lattice from the baking paper and lay on top of the chilled filling. Trim the excess pastry around the rim and lightly press to seal.
Increase the oven temperature to 200C/180C Fan/Gas 6. Brush the pastry with the remaining beaten egg and bake for 30 minutes until the pastry is golden and cooked through, and the chicken is bubbling. Serve hot.


WITNESS LIST Pensions & Investments Committee March 11, 1997-8:00A HB 138 Registering, but not testifying: For: Opel, Glenn (TX. Growth Fund) Soileau, Stephen (TGF Management Corp.) HB 163 For: Antolik, Cindy (American Cancer Society) Parker, Carolyn A., PhD (Texas AIDS Network) Wallace, Peggy S. (Affirmative Life/ VSI) HB 633 For: Pennington, William F. (Representing Himself) Stout, Max (Representing Himself) On: Zivley, Lane A. (TX. Public Emp. Assn.) Registering, but not testifying: For: Gresser, Rick (Representing Himself) On: Cowan, Andrea (Comptroller of P.A.) HB 653 For: Donoho, Travis (TX. Emp. Union/CWAL6186) McGiffert, Lisa (Consumers Union) Against: Zivley, Lane A. (TX. Public Emp. Assn.) On: Rummel, Leah (TX. Dept. of Insurance) Stewart, Dan (Emp. Retirement Sys.) Registering, but not testifying: On: Young, Gary (Public Insurance Coun.) HB 934 For: Stout, Max (Representing Himself) Zivley, Lane A. (TX. Public Emp. Assn.) Registering, but not testifying: For: Gresser, Rick (Representing Himself) HB 1242 For: Thomas, Kendall (Austin PRS/ Himself) Registering, but not testifying: For: Wood, Chesley K. (Austin PRS) On: May, Robert M. (Austin PRS) ERS Legislation On: Beckett, Shiela (Emp. Retirement Sys.)


Fri Jun 10, 2011
There’s not a lot to recommend in the latest releases. If you really want to watch a Thor movie, avoid this stinker and shell out the extra bucks for the excellent version that’s in the cinema right now. But if I had to pick, I’d go with the critic darling Waltz with Bashir, even though it looks like a bit of a downer.
Almighty Thor
Flixster Audience Rating: 6%
When the ancient demon Loki attacks Los Angeles with his devilish hordes and his devastating Hammer of Invincibility, Nordic god Thor forges his own mighty hammer to save the metropolis and send Loki back to the underworld. More details / Watch now
Middle Men
Rotten Tomatoes Rating: 39%
After spotting a big financial opportunity in the future of Internet pornography, straightlaced entrepreneur Jack Harris (Luke Wilson) enlists his pals Buck (Gabriel Macht) and Wayne (Giovanni Ribisi) to help him develop an online billing company specializing in adult entertainment. But as the firm takes off, Jack finds some unexpected kinks in the business of kink – including mobsters, the FBI, con men and terrorists. More details / Watch now
Waltz with Bashir
Rotten Tomatoes Rating: 96%
Director Ari Folman employs vivid black-and-white animation in this Golden Globe-winning film, exploring the memory gaps in his life during his service for the Israeli army in the Lebanese war of the early 1980s. Recounting stories based on recorded interviews with colleagues and friends, Folman relives the horrors of war and dissects the curious coping mechanisms humans use to survive under brutal circumstances. More details / Watch now
Exorcismus
Flixster Audience Rating: 25%
When their teenage daughter reports curious symptoms that point toward demonic possession, a desperate family calls a priest in to investigate and allows her exorcism to be secretly recorded. More details / Watch now
The Housemaid
Rotten Tomatoes Rating: 75%
A wealthy family’s new maid, Eun-yi (Do-yeon Jeon), attracts the attention of Hoon (Jung-Jae Lee), the man of the house, and a fiery affair develops between them. But although Hoon signs Eun-yi’s checks, he’s not the one controlling the relationship.  This update of the 1960 chiller was an Official Selection of the 2010 Cannes Film Festival. More details / Watch now


--- title: Driverless Printers layout: default ---
This page shows printers that support the AirPrint™ and/or IPP Everywhere™ standards for driverless printers. These printers also often support Mopria® as used on Android OS and Microsoft Windows®, and Wi-Fi Direct Print Services for printing directly via Wi-Fi.
| Model | Standard(s) |
|---|


| Items | Initial price | Current bid | Bids | Location | When |
|---|---|---|---|---|---|
| 9" long board | $50 | $40 | 5 | La Jolla Shores | 11:00am 11/12/2019 |
| 11" long board | $80 | $50 | 10 | Pacific Beach | 11:00am 11/12/2019 |
| 7" long board | $40 | $30 | 2 | Ocean Beach | 11:00am 11/12/2019 |
| Items | Price | Location | Time | Winner | Contact |
|---|---|---|---|---|---|
| 9" long board | $50 | La Jolla Shores | 11:00am 11/12/2019 | Kostas |<EMAIL_ADDRESS>|
| 11" long board | $80 | Pacific Beach | 11:00am 11/12/2019 | OldMan |<EMAIL_ADDRESS>|


English Online
Hotline: 012345678
Email<EMAIL_ADDRESS>HOME
TEST
Free Tests
My Tests
COURSES
Level 1
Level 2
Level 3
Level 4
ABOUT


Search
0
Home
|
Basket
|
Events
Search Terms
Jeans
Shoes
Shirts
Boots
Trousers
Your search for
produced
9
results
Pink Dress
19.99 €
Pink High Heel
19.99 €
Purple Boot
19.99 €
Green Leather Shoe
19.99 €
Grey Polo
19.99 €
Yellow Sneaker
19.99 €
Grey Shirt
19.99 €
Blue Trousers
19.99 €
Green Coat
19.99 €


Last updated: 2020-03-23
Checks: 7 0
Knit directory: EvaluateSingleCellClustering/
This reproducible R Markdown analysis was created with workflowr (version 1.4.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20200322)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility. The version displayed above was the version of the Git repository at the time these results were generated.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .Rproj.user/
Ignored: data/simulated_data/
Untracked files:
Untracked: data/%
Untracked: data/allen_mouse_brain/
Untracked: data/intermediate_data/
Untracked: data/pbmc/
Untracked: data/pbmc_5k_v3.rds
Untracked: data/pbmc_5k_v3_label_transfered_from_10k.rds
Untracked: data/sc_mixology/
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the R Markdown and HTML files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view them.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| Rmd | ec7b622 | Ming Tang | 2020-03-23 | wflow_publish(“analysis/mixture_tidy_idents.Rmd”) |
| html | f13f221 | Ming Tang | 2020-03-23 | Build site. |
To demonstrate the utility of the R package, we run the Snakemake pipeline on a single-cell RNAseq dataset which contains cells from 5 cancer cell lines mixed together: A549, H1975, H2228, H838 and HCC827 (Tian et al. 2019). We tested the combination of 6 different k.param (10,20,30,60,80,100), 7 different resolutions (0.001,0.005,0.01,0.05,0.1,0.2,0.3) and 5 different number of PCs (3,5,7,10,15) to retain after dimension reduction resulting in a total of 210 different parameter sets.
To follow the analysis, you can download the data at osf.io
library(scclusteval)
library(tidyverse)
library(patchwork)
library(Seurat)
# read in the seurat object
sc_10x_5cl_seurat<- readRDS("data/sc_mixology/sc_10x_5cl_seruat.rds")
subsample_idents<- readRDS("data/sc_mixology/gather_subsample.rds")
fullsample_idents<- readRDS("data/sc_mixology/gather_full_sample.rds")
## how many PCs to include
ElbowPlot(sc_10x_5cl_seurat)
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
# a tibble with a list column
fullsample_idents
# A tibble: 210 x 4
pc resolution k_param original_ident_full
<chr> <chr> <chr> <list>
1 3 0.001 10 <fct [3,918]>
2 5 0.001 10 <fct [3,918]>
3 7 0.001 10 <fct [3,918]>
4 10 0.001 10 <fct [3,918]>
5 15 0.001 10 <fct [3,918]>
6 3 0.005 10 <fct [3,918]>
7 5 0.005 10 <fct [3,918]>
8 7 0.005 10 <fct [3,918]>
9 10 0.005 10 <fct [3,918]>
10 15 0.005 10 <fct [3,918]>
# … with 200 more rows
# what's the relationship of clusters between resolution 0.05, 0.1 and 0.3 with the same and k_param
fullsample_idents %>% mutate(id = row_number()) %>%
filter(pc == 15, resolution == 0.05, k_param == 20)
# A tibble: 1 x 5
pc resolution k_param original_ident_full id
<chr> <chr> <chr> <list> <int>
1 15 0.05 20 <fct [3,918]> 55
fullsample_idents %>% mutate(id = row_number()) %>%
filter(pc == 15, resolution == 0.1, k_param == 20)
# A tibble: 1 x 5
pc resolution k_param original_ident_full id
<chr> <chr> <chr> <list> <int>
1 15 0.1 20 <fct [3,918]> 60
fullsample_idents %>% mutate(id = row_number()) %>%
filter(pc == 15, resolution == 0.3, k_param == 20)
# A tibble: 1 x 5
pc resolution k_param original_ident_full id
<chr> <chr> <chr> <list> <int>
1 15 0.3 20 <fct [3,918]> 70
## x-axis is resolution of 0.1, and y-axis is resolution of 0.05
PairWiseJaccardSetsHeatmap(fullsample_idents$original_ident_full[[55]],
fullsample_idents$original_ident_full[[60]],
show_row_dend = F, show_column_dend = F,
cluster_row = F, cluster_column =F)
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
cluster 4 split into cluster 4 and cluster 6 cluster 0 split into cluster 0 and 5
## x-axis is resolution of 0.3, and y-axis is resolution of 0.05
PairWiseJaccardSetsHeatmap(fullsample_idents$original_ident_full[[55]],
fullsample_idents$original_ident_full[[70]],
show_row_dend = F, show_column_dend = F,
cluster_row = F, cluster_column =F)
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
cluster 4 split into cluster 4,7 cluster 2 split into cluster 2,8 cluster 1 split into cluster 1,5
## x-axis is resolution of 0.3, and y-axis is resolution of 0.1
PairWiseJaccardSetsHeatmap(fullsample_idents$original_ident_full[[60]],
fullsample_idents$original_ident_full[[70]],
show_row_dend = F, show_column_dend = F,
cluster_row = F, cluster_column =F)
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
We see as we increase the resolution, the number of clusters increase.
Let’s check how the clusters are splitting when we increase the resolution.
## PC= 15, k.param = 20, resolution = 0.05
sc_10x_5cl_seurat<-
FindNeighbors(sc_10x_5cl_seurat, dims = 1:15, k.param = 20) %>%
FindClusters(resolution = 0.05)
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 3918
Number of edges: 125427
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9883
Number of communities: 5
Elapsed time: 0 seconds
sc_10x_5cl_seurat<-
FindNeighbors(sc_10x_5cl_seurat, dims = 1:15, k.param = 20) %>%
FindClusters(resolution = 0.1)
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 3918
Number of edges: 125427
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9777
Number of communities: 7
Elapsed time: 0 seconds
sc_10x_5cl_seurat<-
FindNeighbors(sc_10x_5cl_seurat, dims = 1:15, k.param = 20) %>%
FindClusters(resolution = 0.3)
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 3918
Number of edges: 125427
Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9440
Number of communities: 9
Elapsed time: 0 seconds
p1<- DimPlot(sc_10x_5cl_seurat, reduction = "umap", label = TRUE, group.by = "RNA_snn_res.0.05") + ggtitle("res 0.05")
p2<- DimPlot(sc_10x_5cl_seurat, reduction = "umap", label = TRUE, group.by = "RNA_snn_res.0.1") + ggtitle("res 0.1")
p3<- DimPlot(sc_10x_5cl_seurat, reduction = "umap", label = TRUE, group.by = "RNA_snn_res.0.3") + ggtitle("res 0.3")
p4<- DimPlot(sc_10x_5cl_seurat, reduction = "umap", group.by = "cell_line", label = TRUE)
p1 + p2 + p3 + p4
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
With resolution of 0.3, the A549 split into cluster 0 and 6; the H1957 cells split into cluster 7 and 4. Let’s see if any pathways are enriched in the subclusters.
## for gsea to work, I need all the genes without filtering
library(presto)
library(fgsea)
library(msigdbr)
markers_cluster_0_vs_6 <- wilcoxauc(sc_10x_5cl_seurat,"RNA_snn_res.0.3", assay = "data", groups_use = c('0', '6' ))
head(markers_cluster_0_vs_6)
feature group avgExpr logFC statistic auc pval
1 COL27A1 0 0.031760692 -0.0116538526 115528.0 0.5103278 3.063853e-01
2 SLC35B1 0 0.683947081 0.1956584920 138596.0 0.6122272 1.517886e-07
3 POLR3D 0 0.185635993 0.0006077942 123564.0 0.5458256 1.362686e-02
4 SMC4 0 0.745252987 0.1838241768 132952.0 0.5872957 4.173436e-05
5 MAST2 0 0.050445438 0.0108938014 121558.5 0.5369666 1.948823e-03
6 FAM167B 0 0.005223014 0.0052230139 114620.0 0.5063168 9.401081e-02
padj pct_in pct_out
1 3.778442e-01 8.454810 5.909091
2 1.167106e-06 87.074830 51.363636
3 2.690672e-02 39.941691 23.181818
4 1.827196e-04 80.660836 54.545455
5 5.153427e-03 13.022352 5.000000
6 1.384668e-01 1.263362 0.000000
m_df<- msigdbr(species = "Homo sapiens")
#m_list_c2<- m_df %>% filter(gs_cat == "C2", gs_subcat == "CP:REACTOME") %>%
# split(x = .$gene_symbol, f= .$gs_name)
# hallmark gene set
m_list_c2<- m_df %>% filter(gs_cat == "H") %>%
split(x = .$gene_symbol, f= .$gs_name)
ranks_0<- markers_cluster_0_vs_6 %>%
filter(group == "0") %>%
arrange(desc(auc)) %>%
select(feature, auc) %>%
deframe()
ranks_6<- markers_cluster_0_vs_6 %>%
filter(group == "6") %>%
arrange(desc(auc)) %>%
select(feature, auc) %>%
deframe()
fgsea_res0<-fgsea(pathways = m_list_c2, stats = ranks_0, nperm = 1000)
fgsea_res6<-fgsea(pathways = m_list_c2, stats = ranks_6, nperm = 1000)
ggplot(fgsea_res0 %>% mutate(pathway = gsub("HALLMARK_", "", pathway)), aes(reorder(pathway, NES), NES)) +
geom_col(aes(fill= padj < 0.05)) +
coord_flip() +
scale_fill_manual(values= c("#00BFC4", "#F8766D")) +
labs(x="Pathway", y="Normalized Enrichment Score",
title="cluster 0 in A549 cells") +
theme_minimal()
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
ggplot(fgsea_res6 %>% mutate(pathway = gsub("HALLMARK_", "", pathway)), aes(reorder(pathway, NES), NES)) +
geom_col(aes(fill= padj < 0.05)) +
coord_flip() +
scale_fill_manual(values= c("#00BFC4", "#F8766D")) +
labs(x="Pathway", y="Normalized Enrichment Score",
title="cluster 6 in A549 cells") +
theme_minimal()
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
Different pathways are enriched indicating that those are two sub-populations. e.g. Oxdative phosphorylation/glycolysis pathway is highly activated in cluster 0, but highly negatively enriched in cluster 6.
Note that even cell lines are not composed of pure populations of cells (Kinker et al., n.d.). There are usually cells in different cell cycle stages in typical cell cultures, and cells with different ploidies in cancer cell lines.
## cluster number for each set of parameter
purrr::map_dbl(fullsample_idents$original_ident_full, function(x) length(unique(x)))
[1] 3 5 4 4 4 4 5 5 5 5 4 5 5 5 5 5 5 5 5 6 5 6 7
[24] 6 8 8 8 11 9 10 12 10 13 13 12 2 3 3 3 3 3 4 4 4 4 4
[47] 5 5 5 5 4 5 5 5 5 5 5 5 5 7 5 7 7 7 8 6 8 9 9
[70] 9 2 3 2 4 4 4 5 5 5 5 4 5 5 5 5 4 5 5 5 5 5 5
[93] 5 5 5 5 5 7 7 7 5 8 7 7 9 2 3 3 4 4 4 5 5 5 5
[116] 4 5 5 5 5 4 5 5 5 5 4 5 5 5 5 5 5 6 5 5 5 6 6
[139] 7 7 2 3 3 3 3 4 5 5 5 5 4 5 5 5 5 4 5 5 5 5 4
[162] 5 5 5 5 5 5 5 5 5 5 5 6 5 5 2 3 3 3 3 4 5 5 5
[185] 5 4 5 5 5 5 4 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 5
[208] 6 5 5
## how many cells identity change from one cluster to another
ClusterIdentityChordPlot(fullsample_idents$original_ident_full[[55]],
fullsample_idents$original_ident_full[[60]])
## cluster size plot
ClusterSizeBarplot(fullsample_idents$original_ident_full[[55]]) +
theme_classic()
## change idents to cluster id when resolution is 0.1
Idents(sc_10x_5cl_seurat)<-<EMAIL_ADDRESS>CalculateSilhouette(sc_10x_5cl_seurat, dims = 1:15) %>% head()
# A tibble: 6 x 3
cluster width cell
<fct> <dbl> <chr>
1 3 0.461 Lib90_00000
2 3 0.471 Lib90_00001
3 1 0.464 Lib90_00002
4 3 0.585 Lib90_00003
5 3 0.531 Lib90_00004
6 3 0.355 Lib90_00005
silhouette_scores<- CalculateSilhouette(sc_10x_5cl_seurat, dims = 1:15)
sil_p1<- SilhouetteRainCloudPlot(silhouette_scores)
## check silhouette score with resolution 0.05
Idents(sc_10x_5cl_seurat)<-<EMAIL_ADDRESS>silhouette_scores<- CalculateSilhouette(sc_10x_5cl_seurat, dims = 1:15)
sil_p2<- SilhouetteRainCloudPlot(silhouette_scores)
sil_p1 + sil_p2
From the jaccard heatmap we know that: cluster 4 split (res = 0.05) into cluster 4 and cluster 6 (res = 0.1) cluster 0 split (res = 0.05) into cluster 0 and 5 (res = 0.1)
cluster 0 and cluster 5 have on average smaller silhouette score than the original cluster 0, suggesting that it is not a good idea to split A549 cells.
cluster 4 and 6 seems to have a higher silhouette score than the orignal cluster 4, suggesting that H1975 cells can be future split into two subclusters. From the UMAP
plot, it does suggest cluster 4 and 6 are seperated.
# a tibble with two list columns, note that the ident number is 80% of the full dataset
subsample_idents
# A tibble: 21,000 x 6
pc resolution k_param original_ident recluster_ident round
<chr> <chr> <chr> <list> <list> <chr>
1 3 0.001 10 <fct [3,134]> <fct [3,134]> 0
2 3 0.001 10 <fct [3,134]> <fct [3,134]> 1
3 3 0.001 10 <fct [3,134]> <fct [3,134]> 2
4 3 0.001 10 <fct [3,134]> <fct [3,134]> 3
5 3 0.001 10 <fct [3,134]> <fct [3,134]> 4
6 3 0.001 10 <fct [3,134]> <fct [3,134]> 5
7 3 0.001 10 <fct [3,134]> <fct [3,134]> 6
8 3 0.001 10 <fct [3,134]> <fct [3,134]> 7
9 3 0.001 10 <fct [3,134]> <fct [3,134]> 8
10 3 0.001 10 <fct [3,134]> <fct [3,134]> 9
# … with 20,990 more rows
## check for one of the subsample experiment, the cell identities
## should be the same before and after clustering, but the cluster identities
## should be different
subsample_idents %>% mutate(id = row_number()) %>%
filter(pc == 15, resolution == 0.05, k_param == 20)
# A tibble: 100 x 7
pc resolution k_param original_ident recluster_ident round id
<chr> <chr> <chr> <list> <list> <chr> <int>
1 15 0.05 20 <fct [3,134]> <fct [3,134]> 0 5401
2 15 0.05 20 <fct [3,134]> <fct [3,134]> 1 5402
3 15 0.05 20 <fct [3,134]> <fct [3,134]> 2 5403
4 15 0.05 20 <fct [3,134]> <fct [3,134]> 3 5404
5 15 0.05 20 <fct [3,134]> <fct [3,134]> 4 5405
6 15 0.05 20 <fct [3,134]> <fct [3,134]> 5 5406
7 15 0.05 20 <fct [3,134]> <fct [3,134]> 6 5407
8 15 0.05 20 <fct [3,134]> <fct [3,134]> 7 5408
9 15 0.05 20 <fct [3,134]> <fct [3,134]> 8 5409
10 15 0.05 20 <fct [3,134]> <fct [3,134]> 9 5410
# … with 90 more rows
identical(names(subsample_idents$original_ident[[5401]]), names(subsample_idents$recluster_ident[[5401]]))
[1] TRUE
table(subsample_idents$original_ident[[5401]])
0 1 2 3 4
1003 715 609 460 347
table(subsample_idents$recluster_ident[[5401]])
0 1 2 3 4
1003 719 609 457 346
subsample_idents_list<- subsample_idents %>%
group_by(pc, resolution, k_param) %>%
nest()
subsample_idents_list %>% ungroup() %>% mutate(id = row_number()) %>%
filter(pc == 15, resolution == 0.05, k_param == 20)
# A tibble: 1 x 5
pc resolution k_param data id
<chr> <chr> <chr> <list> <int>
1 15 0.05 20 <tibble [100 × 3]> 55
subsample_idents_list$data[[55]]
# A tibble: 100 x 3
original_ident recluster_ident round
<list> <list> <chr>
1 <fct [3,134]> <fct [3,134]> 0
2 <fct [3,134]> <fct [3,134]> 1
3 <fct [3,134]> <fct [3,134]> 2
4 <fct [3,134]> <fct [3,134]> 3
5 <fct [3,134]> <fct [3,134]> 4
6 <fct [3,134]> <fct [3,134]> 5
7 <fct [3,134]> <fct [3,134]> 6
8 <fct [3,134]> <fct [3,134]> 7
9 <fct [3,134]> <fct [3,134]> 8
10 <fct [3,134]> <fct [3,134]> 9
# … with 90 more rows
## for the n times repeating, matching the clusters before and after reclustering
## and assign the jaccard for that cluster
AssignHighestJaccard(subsample_idents_list$data[[55]]$original_ident,
subsample_idents_list$data[[55]]$recluster_ident)
# A tibble: 100 x 5
`0` `1` `2` `3` `4`
<dbl> <dbl> <dbl> <dbl> <dbl>
1 0.998 0.994 1 0.993 0.997
2 1 0.999 1 0.998 1
3 0.999 1 1 0.998 1
4 0.997 0.994 1 0.989 1
5 0.998 0.997 1 0.996 1
6 0.999 0.999 1 1 1
7 0.999 1 1 0.998 1
8 0.998 0.997 1 0.992 1
9 0.999 1 1 0.998 1
10 0.999 1 1 0.998 1
# … with 90 more rows
JaccardRainCloudPlot(subsample_idents_list$data[[55]]$original_ident,
subsample_idents_list$data[[55]]$recluster_ident) +
geom_hline(yintercept = c(0.6, 0.75), linetype = 2) +
xlab("cluster id w/ k=20 res=0.1 pc=15")
| Version | Author | Date |
|---|---|---|
| f13f221 | Ming Tang | 2020-03-23 |
with resolution of 0.05, Seurat finds 5 clusters which is optimal given that 5 cancer cell lines were mixed together. The jaccard indices are close to 1 for all clusters after subsampling and reclustering suggesting all 5 clusters are quite stable.
subsample_idents_list2<- subsample_idents_list %>%
mutate(plot = map(data, ~JaccardRainCloudPlot(.x$original_ident, .x$recluster_ident) + geom_hline(yintercept = c(0.6, 0.75), linetype = 2)))
p1<- subsample_idents_list2 %>%
filter(resolution == 0.05, pc == 15, k_param ==20) %>%
pull(plot) %>% `[[`(1) + ggtitle("resolution = 0.05, pc = 15, k.param = 20")
p2<- subsample_idents_list2 %>%
filter(resolution == 0.1, pc == 15, k_param ==20) %>%
pull(plot) %>% `[[`(1) + ggtitle("resolution = 0.1, pc = 15, k.param = 20")
p1/ p2
## to save to disk, give a name for each pdf
## subsample_idents_list2<- mutate(subsample_idents_list2, file_name =
## paste0("PC_",pc, "_", ## "resolution_",resolution, "_", "k_", k_param, ".pdf"))
# save to disk
#walk2(subsample_idents_list2$file_name, subsample_idents_list2$plot, ggsave, width = 10, height = 6.5)
From the Jaccard raincloud plot, cluster 0,5 (res = 0.1) have dropped jaccard similarity index. cluster 4,6 (res = 0.1) also have dropped jaccard similarity index, suggesting that the orginal cluster 0 and cluster 4 (res - 0.05) should not be further splitted.
Increasing resolution will always give more clusters and whenever we observe a bimodal distribution of jaccard in a cluster when increasing the resolution, it indicates this cluster can be merged with a different cluster in the resampling and reclustering procedure.
As a rule of thumb, clusters with a mean/median stability score less than 0.6 should be considered unstable. scores between 0.6 and 0.75 indicate that the cluster is measuring a pattern in the data. clusters with stability score greater than 0.85 are highly stable (Zumel and Mount 2014). This task can be achieved using AssignStableCluster function in our R package. We observed for some datasets, the jaccard index follows a bimodal distribution, so the mean or median may not be representative. As an alternative, we also calculate the percentage of subsampling with a jaccard greater than a cutoff (e.g. 0.85), which can be used to check stability assessments.
## for one set of parameter: k=8, res=0.6, pc = 20
## return a list
AssignStableCluster(subsample_idents_list$data[[55]]$original_ident,
subsample_idents_list$data[[55]]$recluster_ident,
jaccard_cutoff = 0.8,
method = "jaccard_percent",
percent_cutoff = 0.8)
$jaccardIndex
# A tibble: 100 x 5
`0` `1` `2` `3` `4`
<dbl> <dbl> <dbl> <dbl> <dbl>
1 0.998 0.994 1 0.993 0.997
2 1 0.999 1 0.998 1
3 0.999 1 1 0.998 1
4 0.997 0.994 1 0.989 1
5 0.998 0.997 1 0.996 1
6 0.999 0.999 1 1 1
7 0.999 1 1 0.998 1
8 0.998 0.997 1 0.992 1
9 0.999 1 1 0.998 1
10 0.999 1 1 0.998 1
# … with 90 more rows
$stable_cluster
0 1 2 3 4
TRUE TRUE TRUE TRUE TRUE
$number_of_stable_cluster
[1] 5
$stable_index
0 1 2 3 4
1 1 1 1 1
# ?AssignStableCluster
## for all sets of parameters
stable_clusters<- subsample_idents_list %>%
mutate(stable_cluster = map(data, ~ AssignStableCluster(.x$original_ident,
.x$recluster_ident,
jaccard_cutoff = 0.8,
method = "jaccard_percent",
percent_cutoff = 0.8)))
with y axis representing the number of stable clusters and total number of clusters.
ParameterSetScatterPlot(stable_clusters = stable_clusters,
fullsample_idents = fullsample_idents,
x_var = "k_param",
y_var = "number",
facet_rows = "resolution",
facet_cols = "pc")
ParameterSetScatterPlot(stable_clusters = stable_clusters,
fullsample_idents = fullsample_idents,
x_var = "resolution",
y_var = "number",
facet_rows = "k_param",
facet_cols = "pc")
We see there are multiple parameter sets generate the optimal 5 clusters. This is a very artifical dataset. The plot looks more informative for real dataset.
#?CalculatePercentCellInStable
stable_and_full<- left_join(stable_clusters, fullsample_idents)
CalculatePercentCellInStable(stable_and_full$original_ident_full[[1]],
stable_and_full$stable_cluster[[1]]$stable_cluster)
[1] 0.3177642
# as expected, all clusters are stable, and the percentage should be 100%
CalculatePercentCellInStable(stable_and_full$original_ident_full[[55]],
stable_and_full$stable_cluster[[55]]$stable_cluster)
[1] 1
stable_and_full<- stable_and_full %>%
mutate(precentage_in_stable = map2_dbl(original_ident_full, stable_cluster,
function(x, y) CalculatePercentCellInStable(x, y$stable_cluster)))
The ParameterSetScatterPlot
function will calculate the percentage of cells in stable clusters and plot a scatter/line plot.
ParameterSetScatterPlot(stable_clusters = stable_clusters,
fullsample_idents = fullsample_idents,
x_var = "k_param",
y_var = "percentage",
facet_rows = "resolution",
facet_cols = "pc") +
ggtitle("percentage of cells in stable clusters")
sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] msigdbr_6.2.1 fgsea_1.8.0 presto_1.0.0
[4] Rcpp_1.0.2 patchwork_0.0.1 forcats_0.4.0
[7] stringr_1.4.0 dplyr_0.8.3 purrr_0.3.2
[10] readr_1.3.1 tidyr_1.0.0 tibble_2.1.3
[13] ggplot2_3.1.0 tidyverse_1.2.1 scclusteval_<IP_ADDRESS>00
[16] Seurat_3.0.2
loaded via a namespace (and not attached):
[1] Rtsne_0.15 colorspace_1.4-1 rjson_0.2.20
[4] ellipsis_<IP_ADDRESS> ggridges_0.5.1 rprojroot_1.3-2
[7] circlize_0.4.7 GlobalOptions_0.1.0 fs_1.2.6
[10] clue_0.3-57 rstudioapi_0.10 listenv_0.7.0
[13] npsurv_0.4-0 ggrepel_0.8.0 fansi_0.4.0
[16] lubridate_1.7.4 xml2_1.2.0 codetools_0.2-16
[19] splines_3.5.1 R.methodsS3_1.7.1 lsei_1.2-0
[22] knitr_1.21 jsonlite_1.6 workflowr_1.4.0
[25] broom_0.5.2 ica_1.0-2 cluster_2.0.7-1
[28] png_0.1-7 R.oo_1.22.0 sctransform_0.2.0
[31] compiler_3.5.1 httr_1.4.0 backports_1.1.3
[34] assertthat_0.2.0 Matrix_1.2-15 lazyeval_0.2.1
[37] cli_1.0.1 htmltools_0.3.6 tools_3.5.1
[40] rsvd_1.0.0 igraph_1.2.2 gtable_0.2.0
[43] glue_1.3.1 RANN_2.6 reshape2_1.4.3
[46] fastmatch_1.1-0 cellranger_1.1.0 vctrs_0.2.3
[49] gdata_2.18.0 ape_5.2 nlme_3.1-137
[52] gbRd_0.4-11 lmtest_0.9-36 xfun_0.4
[55] globals_0.12.4 rvest_0.3.2 lifecycle_0.1.0
[58] irlba_2.3.2 gtools_3.8.1 future_1.10.0
[61] MASS_7.3-51.1 zoo_1.8-4 scales_1.0.0
[64] hms_0.5.3 parallel_3.5.1 RColorBrewer_1.1-2
[67] ComplexHeatmap_2.1.0 yaml_2.2.0 reticulate_1.10
[70] pbapply_1.3-4 gridExtra_2.3 stringi_1.2.4
[73] caTools_<IP_ADDRESS> BiocParallel_1.16.2 bibtex_0.4.2
[76] shape_1.4.4 Rdpack_0.10-1 SDMTools_1.1-221
[79] rlang_0.4.5 pkgconfig_2.0.2 bitops_1.0-6
[82] evaluate_0.12 lattice_0.20-38 ROCR_1.0-7
[85] labeling_0.3 htmlwidgets_1.3 cowplot_0.9.3
[88] tidyselect_0.2.5 plyr_1.8.4 magrittr_1.5
[91] R6_2.3.0 gplots_3.0.1 generics_0.0.2
[94] pillar_1.3.1 haven_2.0.0 whisker_0.3-2
[97] withr_2.1.2 fitdistrplus_1.0-11 survival_2.43-3
[100] future.apply_1.0.1 tsne_0.1-3 modelr_0.1.2
[103] crayon_1.3.4 utf8_1.1.4 KernSmooth_2.23-15
[106] plotly_4.8.0 rmarkdown_1.11 GetoptLong_0.1.7
[109] grid_3.5.1 readxl_1.2.0 data.table_1.11.8
[112] git2r_0.23.0 metap_1.0 digest_0.6.18
[115] R.utils_2.7.0 munsell_0.5.0 viridisLite_0.3.0


Xbox One & 360 The dreaded platform that runs the time devourer that is Fallout, you can bring any game, but for the Xbone, games need to be installed first. See our list of games below. Read More
Wii Woo Wii Woo The Gods of game nights, Nintendo, bless us with the Messenger of God that is Mario Kart. (And the Judas of games, Super Smash). Bring your own floor fillers and see our list below. Read More
Steam Winter Sales Why are are you reading this? Why aren't you on steam buying top games at a, frankly, absurdly low low prices. Read More


Creative breakthroughs don’t just happen. Brilliant artistic leaps don’t fall out of the sky, or out of the minds of “geniuses”: they come in the wake of new technology.
Give humans an opportunity to work with something at a slight deviation to its intended use, and boy, will they grasp it with both hands. And the invention of a single piece of tech can create unintended outcomes.
For instance: children’s favourite squishable, fluff-collecting play-stuff, Play-Doh, was initially marketed as a wallpaper cleaning product. It was only when kids - the purest creative minds of all - started globbing handfuls of it together that a pivot to playfulness took place.
Meanwhile, in adult-world, one small box, the Roland TR-808 drum machine, had a profound effect on pop culture. Designed to make backing tracks for semi-professional musicians to jam too, emerging hip-hop heads got their hands on it, tweaked the sounds, and made it the backbone of the sound of the first ten years of hip-hop. Oh, and Kanye named an album after it.
The constraints imposed by tech creates new windows of innovation: something as innocuous as twitter’s 140-character limit actually forced millions of people to communicate in new ways: more succinct, more inventive, with more emojis, with more gifs, more like @dril.
It's also why Twitter’s recent proposed bump to a 280 character limit was received with plenty of derision:
Beat Art
It's a simple enough progression: new stuff begets new stuff. But what about when it becomes a feedback loop - where the art influences the technology? What about when creativity works the other way?
Remember: everything is a remix now.
Thus, the division between creators and technologists has shrunk to a cigarette-paper’s width. Which is why now, technologists are thieving ideas from the creatives, just as the creatives once stole from them.
Novels have spawned plenty of “real” versions of imagined technology. Even something as deliberately quirky as The Hitch-Hiker’s Guide to the Galaxy seems to have a lot in common with today: Google Translate is essentially the Babel Fish, and the Guide itself is essentially a smartphone and a link to Wikpedia.
One TV show in particular gave pop culture a glut of tasty ideas to bring to life: Star Trek's Replicators are advanced 3D printers, the Holodeck is essentially an Augmented Reality device, and even the Teleporter kind-of exists now (but is only really useful if you are a single photon interested in travelling 88 miles)
But there are two big recent touchstones in pop culture that have very directly spurred designers, technologists, and #makers to point our future in the direction same direction as fiction. And they’re both from a place where the job title “Imagineer” is whoilly legitimised: Hollywood.
Run to the future
The two movies whose names appear again and again when designers talk about inspiration are Steven Spielberg’s Minority Report and, latterly, Spike Jonzes’ Her.
For many of us, 2002's Minority Report was a crackling sci-fi tale featuring one of Tom Cruise’s greatest exhibitions of grim-faced on-screen sprinting.
For others, the movie presented them with a blueprint for our today. Minority Report’s multi-touchscreen devices, gesture control, eye tracking, e-paper and even the core crime-prediction technology all exist in 2017, and if you own a mobile phone or an e-reader you’re probably used all but the latter (the US military isn’t so keen to share that one.)
More recently, Her proved to be more than an adorable story of a sentient operating system (voiced by Scarlett Johansson) who allows Theodore Twombly - a wet lettuce of a human - to fall in love with “her” before ditching him at the altar of humanity.
For UX/UI geeks, it was an opportunity to go gooey-eyed over the serene screens that subtly puncture humanity’s otherwise apparently tech-free world in the near future - and to get busy making it real.
Here’s how one Spotify designer effused over Her’s vision:
“Tomorrow’s devices should be unobtrusive… something so “you” that it dissolves into your life. The movie ‘Her’ is a great example of that…. Design should be more analogue, more natural feeling.”
This sounds great - and you can already see (or not see) the shift in tech away from type-’n’-click interfaces to the more ethereal ones offered by Amazon’s Alexa et al.
One point of concern: Her is not a movie about awesome UX, natty OS design, or smart AI. It’s about the singularity, and humans being superseded by machines.
All those designers who rushed to make better typefaces after watching Her might actually have been hastening our demise. And you thought that typeface aficionados were insufferable already.
DNA under NDA
To summarise: tech has eaten pop culture which has eaten tech which has eaten pop culture which has eaten tech all over again. And this pattern will keep happening, ever closer in sync.
So which movie might the next wave of tech change be inspired by? Worryingly, it could be a movie that suggests a future where designers have designs on… you.

The movie wonders: what does it mean if you are an imperfect person living in a world of genetically perfect specimens? In 2017, when the “designer baby” is feasible, the citizens of the USA are asking themselves a similar question - because their bad genes might suddenly cost them a lot of money that they might not have.
If the Trump-led repeal of the Affordable Care Act passes, insurance companies will be able to charge people who get big, bad illnesses - the ones who cost them most money - more. And that extends to people who have a genetic predisposition to illness - even if it hasn’t manifested yet and you are not “ill”.
Because it’s 2017, and everything is awful, there is worse to come. Bill HR 1313 could allow potential employers to have access to your genetic records - and if they don’t fancy the burden of an employer who might get heart disease in 15 years, they can choose not to hire you.
Surely, this is all a coincidence. For the dystopian eugenic future of Gattica to have been an inspiration for US lawmakers, they’d have to be deeply unkind, troubled individuals who’d put the love of money before goodness, empathy and care for their fellow humans. So it couldn’t be that.
But don’t bet your future on it.


first example of a page
This is heading 1
This is heading 2
This is heading 3
This is heading 4
This is heading 5
This is heading 6
This is a link to SLU


{% if page.description %}{% endif %}
Foundation GEEK is an element gallery for web designers and web developers, anybody who is using Foundation will find this website essential in their craft. Currently Foundation GEEK is using Foundation Framework v 4.3.0
Design elements and code snippets for Foundation HTML/CSS/JS framework
Subscribe to our monthly mailing list to receive latest updates from Foundation GEEK.