Watch - Crowds go Cristiano Ronaldo crazy as 'Juventus star' turns up at the Bullring
Huge crowd grows as football icon appears to go on city centre shopping spree - but all is not as it seems
by Laura HaynesRon my head son!
Stunned shoppers went Cristiano crazy as it appeared the world's most famous footballer was on a shopping trip in Birmingham's Bullring.
A huge crowd crowd grew as word that Portuguese idol Ronaldo - surrounded by bodyguards - was in town spread earlier this month.
Fans posed for selfies with the man they thought was the Juventus and former Manchester United and Real Madrid star as mums whipped out their phones and their kids pose up with the 'star'.
But - in a dummy run worthy of the great man himself - the focus of all the attention was actually a Brummie prankster.
The identity of the lookalike remains a closely-guarded secret, but was organised by YouTube sensation TolaTheKurd.
He said: "A lot of planning went into creating and executing this prank, from choosing times to meet up, where the video should be shot, how many security guards were needed and how many actors we should have.
"I have done many videos previously, however nothing like this. Many crazy prank I have pulled of on my family and in public however It’s my first fake celebrity prank."
The video was watched more than 20,000 times in the first 24 hours it was on YouTube.
One viewer wrote: "This was the best video I have ever seen in my life, it was fantastic, keep the good work up."
Another said: "Hahaha great video bro! Truly loved the video. Keep the awesome content coming."


Bot Army Cookbook
Tips, Tricks, and Recipes for Building Effective Bots
The "Bot Army" is a tool for testing apps and services with AI-powered "bots." It can do both load testing and functional/integration testing.
First steps:
- Why bots? - because they simulate real users
- Understand how to use Behavior Trees effectively
- You're going to have to know a little Elixir
- Review the full docs
- Get started with the Bot Army Starter Repo
Here are some useful recipes for common bot tasks.
How do I...?
No matches found...
Don't see your question? Add an issue.


--- layout: archive title: Zulip Chat Archive permalink: /stream/144837-PR-reviews/topic/.231102.20local.20rings.html ---
I went ahead and PR'd @Neil Strickland's suggestion to refactor the definition of local rings. I also added local ring homs, residue fields, and the induced map between residue fields.
All feedback welcome.
Your definition of is_local_ring_hom
does not actually rely on the source and target being local rings, and it is occasionally useful in more general contexts, where it would be natural to use a different name. But it would be very straightforward to refactor later to cover that generalization, so it is not so important whether you do it now.
What do people think of this PR? @Chris Hughes @Neil Strickland
Not sure if local ring homs should be bundled or not.
I think they shouldn't. It is really a property of a ring hom. I think it makes a lot more sense to bundle ring homs instead.
Of course that's crazy hard to do.
For example, if you have f : R → S
, and a prime ideal P
of S
, then you can localize f
at P
and f ¯¹ P
. The library will given an induced ring_hom
. Since I localized at a prime ideal, the resulting rings are actually local rings, and the induced map turns out to be a local ring hom.
This is all a lot nicer to state in the unbundled setting.
Should it be a class?
Looks good to me.
It is a class, and I think that's fine. We seem to keep wishing that such properties are automatically inferred by the type class system.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Ghana
Explore Ghana, the land of rich culture, heritage, warmth and rhythm. Discover where nature is still pure and warmth flows easily. Akwaaba! discover yourself.
Explore Ghana, the land of rich culture, heritage, warmth and rhythm. Discover where nature is still pure and warmth flows easily. Akwaaba! discover yourself.


Just a quick post about Auth0. The point is that authentication, authorization can be tricky, especially when you want to support a bunch of features like 2FA, user management, SSO (Single Sign On), passwordless, etc. We also do not like having to deal with user-password database logic. It seems that Auth0 (and many other competitors) offers an easy and cheap way out.
For web related development, I am more used to JS, but let’s do some Python Flask. (1) Sign up on Auth0 and (2) create an Application on their dashboard and (3) create an API on their dashboard as we want to protect some REST API. From the application, we have Client ID, Client Secret, Auth0 Domain or Auth0 Base URL. From the API, we have the API identifier, aka Auth0 Audience.
During app initialization, just specify all these parameters:
from authlib.flask.client import OAuth
app = Flask(__name__)
app.secret_key = SECRET_KEY
oauth = OAuth(app)
auth0 = oauth.register(
'auth0',
client_id=AUTH0_CLIENT_ID,
client_secret=AUTH0_CLIENT_SECRET,
api_base_url=AUTH0_BASE_URL,
access_token_url=AUTH0_BASE_URL + '/oauth/token',
authorize_url=AUTH0_BASE_URL + '/authorize',
client_kwargs={
'scope': 'openid profile',
},
)
To login and obtain a token, all we need is a few lines of code!
@app.route('/login')
def login():
return auth0.authorize_redirect(
redirect_uri=url_for('callback', _external=True),
audience=AUTH0_AUDIENCE)
@app.route("/callback")
def callback():
return jsonify(auth0.authorize_access_token())
Basically, we provided to OAuth a callback URL. After the user signs in, our callback endpoint /callback
is hit and the auth0
object can process and return us access_token
(not to be confused with id_token
). If you did not specify an API / Auth0 Audience, then access_token
would not be JWT and is much shorter and is to with used only with Auth0’s endpoints at Auth0 Base URL. However, we did specify the Auth0 Audience, so access_token
is a JWT. Here is the sample output:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUQkROalJFUlRZMVFUWTBNMFUxUkVJNE16Y3lOMFV5TnpZMk1UUXpNekU0TVRFMk56WkdNUSJ9.eyJpc3MiOiJodHRwczovL2Rldi1vNG56cjM1cy5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NWM4YTRiYTM3YjdlZWM2NDAyMjI4NjcxIiwiYXVkIjpbIm15dGVzdGFwaSIsImh0dHBzOi8vZGV2LW80bnpyMzVzLmF1dGgwLmNvbS91c2VyaW5mbyJdLCJpYXQiOjE1NTI3ODQ4NTgsImV4cCI6MTU1Mjg3MTI1OCwiYXpwIjoiTE44WUR1MWhXckVTbjM5bmUxdTh3SFMwRkw1VVVKRnEiLCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIn0.gutSVg4YpzFO9b0UcFiUDOy4nR9epRXDX1vapuj4BI9Q8H0EN0eFX1UYBA5O2mIyQWVAwtyLBL5fnJCA6bGORRARxhPiMt7ObKY1U5PHYCUET70V4QRaAo-Qk-iv8_86XKyeKIUPR41r-DJcxBHbifyFr7bFMD6cRotBIMgj9WOn8-sX5blr_zyuON_hDJxTSbqkxjS4ZJetvHdfhBZXvTcfKJ9wptryfYq7QXRDz05-Z4z1v0DYXET9JO1eIGDVFoZODMdiFnHQIu2cuCZ4pGF0mVKReAtetjlGydB9Zsr0XppeWJXEb3MjfDfIEAiHUhKzc96WVVFFKXLwxa8A-w",
"expires_at":<PHONE_NUMBER>,
"expires_in": 86400,
"id_token": ".........",
"token_type": "Bearer"
}
Our user can take access_token
and specify in subsequent calls to our API. We will add a typical require_auth
decorator to check this header. This is taken from this link and it seems easy to adapt.
from functools import wraps
from flask import Flask, jsonify, redirect, request, url_for, g
from urllib.request import urlopen
import json
from jose import jwt
class AuthError(Exception):
def __init__(self, error, status_code):
self.error = error
self.status_code = status_code
def get_token_auth_header():
"""Obtains the access token from the Authorization Header."""
auth = request.headers.get("Authorization", None)
if not auth:
raise AuthError({
"code": "authorization_header_missing",
"description": "Authorization header is expected"
}, 401)
parts = auth.split()
if parts[0].lower() != "bearer":
raise AuthError({
"code": "invalid_header",
"description": "Authorization header must start with Bearer"
}, 401)
elif len(parts) == 1:
raise AuthError({
"code": "invalid_header",
"description": "Token not found"
}, 401)
elif len(parts) > 2:
raise AuthError({
"code": "invalid_header",
"description": "Authorization header must be Bearer token"
}, 401)
token = parts[1]
return token
def requires_auth(f):
"""Determines if the access token is valid."""
@wraps(f)
def decorated(*args, **kwargs):
token = get_token_auth_header()
jsonurl = urlopen("https://" + AUTH0_DOMAIN + "/.well-known/jwks.json")
jwks = json.loads(jsonurl.read())
try:
unverified_header = jwt.get_unverified_header(token)
except jwt.JWTError:
raise AuthError({"code": "invalid_header",
"description":
"Invalid header. "
"Use an RS256 signed JWT Access Token"}, 401)
if unverified_header["alg"] == "HS256":
raise AuthError({"code": "invalid_header",
"description":
"Invalid header. "
"Use an RS256 signed JWT Access Token"}, 401)
rsa_key = {}
for key in jwks["keys"]:
if key["kid"] == unverified_header["kid"]:
rsa_key = {
"kty": key["kty"],
"kid": key["kid"],
"use": key["use"],
"n": key["n"],
"e": key["e"]
}
if rsa_key:
try:
payload = jwt.decode(
token,
rsa_key,
algorithms=ALGORITHMS,
audience=AUTH0_AUDIENCE,
issuer="https://" + AUTH0_DOMAIN + "/"
)
except jwt.ExpiredSignatureError:
raise AuthError({"code": "token_expired",
"description": "token is expired"}, 401)
except jwt.JWTClaimsError:
raise AuthError({"code": "invalid_claims",
"description":
"incorrect claims,"
" please check the audience and issuer"}, 401)
except Exception:
raise AuthError({"code": "invalid_header",
"description":
"Unable to parse authentication"
" token."}, 401)
g.auth = payload
return f(*args, **kwargs)
raise AuthError({"code": "invalid_header",
"description": "Unable to find appropriate key"}, 401)
return decorated
@app.route('/validate')
@requires_auth
def validate():
"""Validate token"""
return jsonify(g.auth)
Observe that when the authorization succeeds, the thread-local request context g
will contain payload
which looks like this:
{
"iss": "https://dev-aaaaaaaa.auth0.com/",
"sub": "auth0|5c8a4ba37b7eec6402228671",
"aud": ["mytestapi", "https://dev-aaaaaaaa.auth0.com/userinfo"],
"iat":<PHONE_NUMBER>,
"exp":<PHONE_NUMBER>,
"azp": "LN8YDu1hWrESn39ne1u8wHS0FL5UUJFq",
"scope": "openid profile"
}
We can also get userinfo by hitting Auth0 Base URL’s /userinfo
with our access_token
.


15 September 2014
Some of us meditates, floating in between dreams and hopes. Some of us enjoy each moment we aspire. Some of us wonders the serenity behind each design. Some of us are just into the wild. Though bothersome, together we create moments to cherish for the whole life. We are brothers in arms. We are 27AE60 !
It is a fairy tale. I mean, who else has a Magical cupboard. People say it is a portal. But we are more or less happy to see our wishes get fulfilled. We have a Talking Glass. We scribble all our ideas on it. It is shrewd enough to narrate out ‘Philosophy and Principles’ of each idea pondered on it. We have ‘Teachers’ to guide us through our journey. Our ability is adding magic to little things we care.
To tell you the truth, we feel most of us knowingly or unknowingly are a part of ‘Vicious Cycle’. If we are not happy with what we are doing, we are part of it. We share our ideas, thoughts and memories. Our motivation to build something useful for everyone is our way to break free from the cycle. The magic is, ‘We’.


Facebook Developer circle
Ndubuisi Onyemenam
Facebook Developer Circle Owerri Chapter is a group of tech lovers in Owerri Sponsored by Facebook. Everybody in the ecosystem is encouraged to join and aprticipate as there are a lot of benefits to being in a community like this one.


F.A.B. uses jinja2, all the framework templates can be overridden entirely or partially. This way you can add your own html on jinja2 templates. This can be done before or after defined blocks on the page, without the need of developing a template from scratch because you just want to add small changes on it. Next is a quick description on how you can do this
To add your own CSS’s or javascript application wide. You will need to tell the framework to use your own base jinja2 template, this template is extended by all the templates. It’s very simple, first create your own template on you templates directory.
On a simple application structure create mybase.html (or whatever name you want):
<my_project>
<app>
__init__.py
models.py
views.py
<templates>
**mybase.html**
Then on mybase.html add your js files and css files, use head_css for css’s and head_js for javascript. These are jinja2 blocks, F.A.B. uses them so that you can override or extend critical parts of the default templates, making it easy to change the UI, without having to develop your own from scratch:
{% extends 'appbuilder/baselayout.html' %}
{% block head_css %}
{{ super() }}
<script src="{{url_for('static',filename='css/your_css_file.js')}}"></script>
{% endblock %}
{% block head_js %}
{{ super() }}
<script src="{{url_for('static',filename='js/your_js_file.js')}}"></script>
{% endblock %}
If you want to import your javascript files at the end of the templates use tail_js:
{% block tail_js %}
{{ super() }}
<script src="{{url_for('static',filename='js/your_js_file.js')}}"></script>
{% endblock %}
Finally tell the framework to use it, instead of the default base template, when initializing on __init__.py use the base_template parameter:
appbuilder = AppBuilder(app, db.session, base_template='mybase.html')
You have an example that changes the way the menu is displayed on examples
This main structure of jinja2 on the baselayout template is:
{% block head_meta %}
... HTML Meta
{% endblock %}
{% block head_css %}
... CSS imports (bootstrap, fontAwesome, select2, fab specific etc...
{% endblock %}
{% block head_js %}
... JS imports (JQuery, fab specific)
{% endblock %}
{% block body %}
{% block navbar %}
... The navigation bar (Menu)
{% endblock %}
{% block messages %}
... Where the flask flash messages are shown ("Added row", etc)
{% endblock %}
{% block content %}
... All the content goes here, forms, lists, index, charts etc..
{% endblock %}
{% block footer %}
... The footer, by default its almost empty.
{% endblock %}
{% block tail_js %}
{% endblock %}
Using the contacts app example, we are going to see how to override or insert jinja2 on specific sections of F.A.B. list template. Remember that the framework uses templates with generated widgets, this widgets are big widgets, because they render entire sections of a page. On list’s of records you will have two widgets, the search widget, and the list widget. You will have a template with the following sections, where you can add your template sections over, before and after each block:
End Block “list_search”
End Block “list_list”
End Block “content”
To insert your template section over a block, say “list_search” just do:
{% extends "appbuilder/general/model/list.html" %}
{% block list_search scoped %}
This Text will replace the search widget
{% endblock %}
To insert your template section after a block do:
{% extends "appbuilder/general/model/list.html" %}
{% block list_search scoped %}
{{ super() }}
This Text will show after the search widget
{% endblock %}
I guess you get the general ideal, make use of {{ super() }} to render the block’s original content. To use your templates override list_template to your templates relative path, on your ModelView’s declaration.
If you have your template on ./your_project/app/templates/list_contacts.html
class ContactModelView(ModelView):
datamodel = SQLAModel(Contact)
list_template = 'list_contacts.html'
On your template you can do something like this
{% extends "appbuilder/general/model/list.html" %}
{% block content %}
Text on top of the page
{{ super() }}
{% block list_search scoped %}
Text before the search section
{{ super() }}
{% endblock %}
{% block list_list scoped %}
Text before the list
{{ super() }}
{% endblock %}
{% endblock %}
On this section we will see how to override the add template form. You will have only one widget, the add form widget. So you will have a template with the following sections. Where you can add your template sections over, before and after each block:
End Block “add_form”
End Block “content”
To insert your template section before the a block, say “add_form” just create your own template like this:
{% extends "appbuilder/general/model/add.html" %}
{% block add_form %}
This Text is before the add form widget
{{ super() }}
{% endblock %}
To use your template define you ModelView with add_template declaration to your templates relative path
If you have your template on ./your_project/app/templates/add_contacts.html
class ContactModelView(ModelView):
datamodel = SQLAModel(Contact)
add_template = 'add_contacts.html'
On this section we will see how to override the edit template form. You will have only one widget the edit form widget, so you will have a template with the following sections, where you can add your template sections over, before and after each block:
End Block “edit_form”
End Block “content”
To insert your template section before the edit widget, just create your own template like this:
{% extends "appbuilder/general/model/edit.html" %}
{% block add_form %}
This Text is before the add form widget
{{ super() }}
{% endblock %}
To use your template define you ModelView with edit_template declaration to your templates relative path
If you have your template on ./your_project/app/templates/edit_contacts.html
class ContactModelView(ModelView):
datamodel = SQLAModel(Contact)
edit_template = 'edit_contacts.html'
On this section we will see how to override the show template. You will have only one widget the show widget, so you will have a template with the following sections, where you can add your template sections over, before and after each block:
End Block “show_form”
End Block “content”
To insert your template section before the a block, say “show_form” just create your own template like this:
{% extends "appbuilder/general/model/edit.html" %}
{% block show_form %}
This Text is before the show widget
{{ super() }}
{% endblock %}
To use your template define you ModelView with edit_template declaration to your templates relative path
If you have your template on ./your_project/app/templates/edit_contacts.html
class ContactModelView(ModelView):
datamodel = SQLAModel(Contact)
edit_template = 'edit_contacts.html'
On cascade templates for related views the above rules apply, but you can use an extra block to insert your template code before, after or over the related view list widget. For show cascade templates you have the following structure:
End Block “show_form”
End Block “related_views”
End Block “content”
F.A.B. has the following library functions that you can use to render bootstrap 3 components easily. Using them will ease your productivity and help you introduce new html that shares the same look and feel has the framework.
Panel component:
{{ lib.panel_begin("Panel's Title") }}
Your html goes here
{{ lib.panel_end() }}
Accordion (pass your view’s name, or something that will serve as an id):
{% call lib.accordion_tag(view.__class__.__name__,"Accordion Title", False) %}
Your HTML goes here
{% endcall %}


Materialize Framework
(555) 867-5309
Available: 24/7
Call us now to speak with someone about your matter.
chat


class FeatureAvDeleteEvent extends FeatureAvEvent
Methods
|
__construct($featureAv_id)
|
||
|
hasFeatureAv()
|
from FeatureAvEvent | |
|
getFeatureAv()
|
from FeatureAvEvent | |
|
setFeatureAv($featureAv)
|
from FeatureAvEvent | |
|
getFeatureAvId()
|
||
|
setFeatureAvId($featureAv_id)
|
Details
at line 30
public
__construct($featureAv_id)
in FeatureAvEvent at line 37
public
hasFeatureAv()
in FeatureAvEvent at line 42
public
getFeatureAv()
in FeatureAvEvent at line 47
public
setFeatureAv($featureAv)
at line 35
public
getFeatureAvId()
at line 40
public
setFeatureAvId($featureAv_id)


Planner Hub
In the charts are the statistics of the cards that are assigned to you displayed.
If you hover over the different parts of the chart you will see a tooltip showing information of how many cards you have assigned to you of that specific priority class.
Click on the legends above the charts to remove certain priorities from the charts.


--- layout: default title: Cucumber-Eclipse Update Site of Snapshot versions ---
This is the Eclipse update site for the Snapshot versions of Cucumber-Eclipse plugin
For more information about installing or updating the plugin, please see the Eclipse Platform Help.


Week 2 Biology of CNVs & CNVs in Drosophila
Hastings et al. Mechanisms of change in gene copy number (2009) Nat Rev Genet
Abstract
- Deletions and duplications underlie human phenotypes and form at rates much bigger than other kinds of mutations
- Repair of broken replication forks might promote CNV production
Introduction
- (Somatic/Meiotically Generated) Identical twins differ in CNV and different organs and tissues vary in copy number in the same individual (Woah)
- CNV is at LEAST as important in the differences between humans as SNPs
- Can change protein structure
- CNV variation is disadvantageous and incolved in cancer formation and progression. Contributes to cancer proneness
- Question: Wouldn’t this be adaptive for the cancer cells and not necessairly deleterious?
- Although we are looking at other species, it is probably ok to extrapolate what we get from bacteria
Characteristics of copy number variants
- Change in copy number == change in chromosome structure
- Low Copy Repeats (LCRs): recurrent CNVs whose end-points are confined to few genomic positions
- Probably come from homologous recombination between repeated sequences
- Question Paragraph 2: “Most non-recurrent CNVs occur at sites of very limited homology of 2 to 15 base pairs (bp)”
- How do you measure homology within yourself?
- Recurrent CNVs
- Short
- Tend to be in regions where LCRs (recurrent CNVs) are
Mechanisms of structural change
- Mechansims of all structural changes are the same as those that cause CNV
- Homologous Recombination (HR) requires extensive sequence identity (to what? sister chromatid?)
- Important in accurate DNA repair
- HR causes CNVs not because the mechanism is inaccurate, but because genomes have tracts of low copy repeats or segmental dupplications
- Rad51: Strand exchange protein important in most homologous recombination
- Nonhomology: use only “microhomology” of a few bases or no homology
- NAHR: Non-allelic or ectopic homologous recombination
- when a damaged sequence is repaired by a homologous sequence in different chromosomal positions
Homologous recombination mechanisms
- Homologous recombination underlies many DNA repair processes.
- repair of dna breaks and gaps
- DSB: double-strand break induced recombination
-Spontaneous mitotic recombination is probably initionated by single strand DNA gaps
Double Holliday junction and synthesis-dependent strand annealing models of double-strand break repair
- Holliday junction Double strand break repair is a mechanism that can lead to gene converseion and crossing over,
- Synthesis-dependent strand-annealing (SDSA)
- does not generate crossovers
- mechanism for avoiding crossing-over, and loss of Heterozygosity (Question: Would LOH events contribute to ROH computations?)
- can still produce CNVs
- If chromatids carrying the same allele segregate together at mitosis then you can get LOH
- Repeats can cause NAHR (non-allelic or ectopic homologous recombination)
- Question: What’s a vegetative cell?
- Length of repeats might affect probability of Homologuous recombination which. Too short==Less HR because of physical constraints of loop
- Break Induced Replication (BIR) Homologous recombination is also used to repair collapsed/broken replication forks
- Can induce LOH if uses homologu instead of sister chromatid
- suggested major mechanism for change in copy number
- Can cause small deletions
Correct choice of recombination partner prevents chromosomal structural change
- Just don’t pick a nonallelic partner for repair and you might be ok
- MutS and MutL work together to undo base-paired DNA molecules that are imperfectly matched
- Homeologous Sequenced: Sequences that share less than about 95% identity.
- Cohesins are porteins that literaly bind two sister chromatids together
- loss of cohesion may induce copy number change at other loci
- Proteins even hold ends of a single Double strand break together
- Homologous recombination is dope for repair but can cause CNVS.
Nonhomologous repair
- Mechanisms of DNA repair that use very limited of NO homology.
- Can cause CNVs
- Two type: replicative and non-replicative mechansims
Nonhomologous repair: non-replicative mechanisms
Nonhomologous end joining
- Two pathways of Double strand break repair that do not require homology/verrry short microhomologies for repair
- Nonhomologous end joining (NHEJ)
- NHEJ rejoins DSB ends accurately or leads to small 1-4 bp deletions, and also in some cases to insertion of free DNA, often from mitochondria or retrotransposons
- Question: What is free DNA?
- Microhomology-mediated end joining (MMEG)
- uses 5 to 25 bp long homologies to anneal to ends of double strand breaks and, leads to deletions of sequences between annealed microhomologies.
- Likely to cause some chromosomal rearrangement by joining nonhomologus sequences
Breakage-fusion-bridge cycle
- If a chromosome loses its telomere due to a double strand break, there will be two sister chromatids that lack telomeres (during replication)
- Sister chromatids that lack telomeres will fuse, creating a diecentric chromosome
- The fused chromosomes will be ripped appart during anaphase
- this will happen over and over again
- will lead to large inverted duplications/repeats
- seen a lot in cancer
- Barbara McClintock proposed this!
Nonhomologous repair: replicative mechanisms
- If you see microhomology at a site of nonhomologous recombination its probably because of non-homologous end joining this CNV was created
- However, this might be a consequence instead of DNA replication, and Break induced repair instead of NHEj
- Replicative stree might induce CNV
- Aphidicolin: inhibitor of replicative DNA polymerases induces CNVs
- This suggests that replication can cause CNVs
- You see little homolgoy at these endpoints, suggests NOT HR
Replication slippage or template switching
- Single-stranded sequences that appear during replication (think Okazaki fragments) are often deleted or duplicated
Fork stalling and template switching
- During replication, forks can be stalled and the 3’ primer end uses a single-stranded DNA template of another replication fork
- Microhomology suggest that Homologous recombination is not involved
- They messed with the concentraion of certain exoncucleases and were able to find out which exonucleases involved
Effects of chromosome architecture on CNV
- CNVs are not randomly distributed in the human genome
- Clustered in regions of complex genomic architecture
- Complex patterns of direct/inverted Low copy repeats
- Can cause for stalling in DNA replication
- heterochromatin near telomeres/centromeres
- replication origins and terminators
- scaffold attachment sequences
- occurence of nonrecurrent changes in regions carrying multiple LCRs
- inverted repeats and palindromic sequences
- highly repeated sequences
- LINEs & SINE
- Cause CNV by Non-allelic or ectopic homologous recombination
- non-B conformation able DNA
- specific consensus sequences associated with CNVs
- THEME: Multiple genomic features can affect the probability of their occurence
-Question: What are the genomic features that can affect the probability of SNPs?
Conclusions and ramifications
- At least two mechanisms for change in copy number
-Non-allelic homologous recombination
-Formed by classical HR-mediated Double strand break repair via a double holliday junction
-Restarts broken replication forks by Homologous recombination
-Microhomology-mediated events
- underlie most copy-number change
-Breakage-fusion-bridge cycle operates and mayber importanin in amplification in some cancers
- Don’t think that only one mechanism causes one event. There’s mediation/interference/synergy in these methods
- CNV could stem from stress reponse.
- “evolvability”
- stressed cells can fuel CNV formation and therefore genetic diversity upon which natural selection acts
- Cancer cells loss of heterozygosity drives tumor progression and resistance to therapies
- Question: Cancer cell with runs of homozygosity will be more fit than other cells?
- Probably variants associated with CNVs
- Question: Can we do a GWAS on the phenotype: Total Length of Genome in Run of homoszygosity
Emerson et al. Natural Selection Shapes Genome-Wide Patterns of Copy-Number Polymorphism in Drosophila melanogaster. (2008) Science
Abstract
- We don’t really know how selection affects the distribution/density of CNVs.
- This paper identifies CNP (copy-number polymorphisms) in Drosphila and concludes that the locations and frequencies of CNPs are shaped by purifying selection
- Strength of Purifying Selection: Deletions > Duplications. Exon and Intron overlapping duplications and X chromosome duplications > random duplication
Paragraph 1
- “CNPs can create new genes, change gene dosage, reshape gene structures, and/or modify the elements that regulate gene expression, understanding their evolution is at the very heart of understanding how such structural changes in the genome contribute to the phenotypic evolution of organisms”
Paragraph 2
- Identify CNPs with a custom tiling array and use a HMM trained on a data from a line known to contain specific CNPs.
Paragraph 3
- They validated their model with wet-lab procedures.
- Deletions have a relatively high false-ositive rate (47%) because deletions are often near SNPs. This leads to DNA not binding well to the arrays
_ Question: Wonder what they’d estimate their positve-predictive value to be?
Paragraph 4
- They compare predicted and “true” boundaries of CNPs and claim their model can detect small CNPs and estaimate CNP boundaries with precision
- They detect a lot more CNPs than in human with a smaller genome/sample size.
- Human CNPs might include a class that are larger than anything found in drosophila. Current studies are missing small-scale variations.
Paragraph 5:
- Duplications outnumbered deletions 2.5:1 (Sign test P value <2.22 × 10–16; Fig. 1) and were significantly larger (Wilcoxon rank sum test, P value <2.22 × 10–16; Table 1).
- Nonallelic homologous recombination should either generate a 1:! ratio of Duplications:Deletions OR more deletions than duplications.
- There is deletion bias.
- Suggests that a large proportion of deletions are removed from the population by purifying selection. In this context, the dearth of deletions observed in our data, as well as the smaller size of the deleted variants, suggest that they are far more deleterious than duplications and that larger mutations are more deleterious than smaller ones.
- Deletions == More Deleterious. Larger Mutations More Deleterious than small ones.
Paragraph 6:
- Every region of the genome harbors at least low levels of CNPs. The median distance between two events was 12.6 kb (fig. S5).
- Pericentromeric regions were enriched in duplications, though not in deletions (fig. S5)
- Pericentromeric regions are also characterized by extremely low rates of crossing-over, leading to a lower effective population size as a result of linkage (14). Therefore, the higher density of CNPs observed in these regions may be a consequence of the reduced effectiveness of selection in purging deleterious mutations (14). Alternatively, the mutation rate may simply be higher in such regions (15).
- My favorite paragraph so far
- Question: Didn’t they design the tiling array? So the median distance/density is biased by themselves?
- Questions: Positive selection/interference could also cause these high density of enrichment of duplications?
Paragraph 7:
- More duplications in general in all categories of the genome
- Deletions relatively deleted in coding regions
Paragraph 8:
- 8% of genes partially duplicated
- 2% of genes partially deleted
- Transposable elements and CNPs are arranged similarly with respect to the ends of genes
Paragraph 9:
- Estimated demographic parameters, then used the parameters to not reject the standard neutral model, then estimated selection coefficients
Paragraph 10:
- Notably, selection differentially influenced CNP evolution among different genomic features as well as among different chromosomes. We compared the patterns of variation between the different classes of variants: both correcting for bias and error and with no corrections.
- Intronic is the most deleterious (splicing?)
Paragraph 11:
- Fail to reject neutrality for complete gene duplications
Paragraph 12:
- We also found that the autosomes have higher selection coefficients (less deleterious) than the X chromosome (Fig. 2). This observation is compatible with the following models:
- Duplicate mutations on the X chromosome are more deleterious than those on autosomes (X-linked genes may be more sensitive to changes in dosage)
- Duplicate polymorphisms tend to be slightly deleterious and recessive
Paragraph 13:
- Genes overlapping toxin respones and known to be under positive selection because of increased rates of gene expression
Paragraph 14:
- CNPs are distributed by natural selection


NEW YORK TAXI TRIP ANALYSIS
Card Payment
Scatter plot
Scatter Brownies
Overall Brownies
Predicted brownie result is
We hope it helps you to make better decision


Hong Kong is a de facto police state
by LettersKaren Yuen responds to letters about the Hong Kong government and allegations of police brutality
I am writing in response to the letter from Winky So, director general of the Hong Kong Economic and Trade Office in London (22 November). Her claim that Hong Kong police have “carried out enforcement actions in strict accordance with the law” is simply ludicrous.
International and local media have documented numerous cases of police brutality that are in violation of Police General Orders – citizens being pepper-sprayed in the face because they did not move fast enough; protesters being beaten ferociously on the head with batons when they were already immobilised; officers verbally abusing protesters. The list goes on.
By refusing to address these incidents properly, Carrie Lam and the Hong Kong government are simply perpetuating the institutional violence that is driving Hong Kong to the ground. They may want to maintain the facade that they are still governing Hong Kong, but those of us who have lived under the terror of the Hong Kong police know that Hong Kong is a de facto police state.
In another letter published with the one from Winky So, Koh-Ann Chu of Hong Kong claimed “the vast majority of the force are decent people doing their job to keep us safe”. As someone who has witnessed the police firing teargas in an empty junction in my neighbourhood, yelling profanities and taunting residents without provocation, I beg to differ.
Indeed, transportation was disrupted and streets were vandalised. But all of this would not have happened if Hong Kong police officers had not fired teargas and rubber bullets at unarmed protesters on 12 June, or let triads randomly attack citizens while shutting down police stations on 21 July, or attacked citizens at Prince Edward station on 31 August.
Karen Yuen
Hong Kong
• Join the debate – email<EMAIL_ADDRESS>• Read more Guardian letters – click here to visit gu.com/letters
• Do you have a photo you’d like to share with Guardian readers? Click here to upload it and we’ll publish the best submissions in the letters spread of our print edition


I am a Software Engineer. I build micro-services using Python asyncio, Kubernetes, MongoDB, ElasticSearch, RabbitMQ, Docker and Bash. In my career spanning 15 years, I have worked on Web Application Backend, Systems Programming, Software Security, High Performance Computing and Embedded Systems.
Built Multi Cloud Management Platform (MCMP), an IBM enterprise product. Technical lead and senior backend developer for health and multi-tenancy parts of the product
Technical lead and one of the main back-end developers for Software Assurance Marketplace (SWAMP). For SWAMP, I automated the application of software assessment tools for languages such as Java, .NET, Python, Ruby, PHP and JavaScript
Developed HPC framework to scale simulation/modeling software systems. Evaluated/studied Bio-inspired solutions for problems in Smart Grids
Optimized and vectorized image processing algorithms for a client developing computer-chip-wafer inspection machines
Analyzed North American Animal Disease Spread Model (NAADSM) for performance bottlenecks and provided solutions to remove them
Worked on the development of a portable scanner for vehicle on-board diagnostics and an in-vehicle network sniffer application. Developed a Palm OS based application for a sales team of a consumer electronics company
| Languages | Python, Bash, Java, C/C++, JavaScript, HTML5, CSS3 | |
| Web Frameworks | aiohttp, Tornado, Flask-RESTPlus, Flask | |
| Orcherstration/Deployment | Kubernetes, Helm, Docker, Virtual Machines | |
| Databases | MongoDB,, Elasticsearch,, PostgreSQL,, SQlite | |
| AWS | cloudwatch, lightsail, KMS, Route-53, Lambda, SNS, boto3 | |
| Message Queues | RabbitMQ, Redis | |
| Web Frontend | JQuery, Bootstrap, Web Sockets | |
| CI/CD | Jenkins, TravisCI | |
| Build Systems | Maven, Gradle, Ant, Make | |
| Operating Systems | Linux/Unix, SMX (an Embedded OS) |
| Wildlife | Ferrets, Unicorns |
Kupsch, J. A., Miller, B., Basupalli, V. and Burger, J. (2017). From Continuous Integration to Continuous Assurance
Kupsch, J. A., Heymann, E., Miller, B., and Basupalli, V. (2016). Bad and good news about using software assurance tools. Software: Practice and Experience 47 (1), 143-156
Yuki, T., Basupalli, V., Gupta, G., Iooss, G., Kim, D., Pathan, T., Srinivasa, P., Zou, Y. and Rajopadhye, S., (2012). AlphaZ: A System for Analysis, Transformation, and Code Generation in the Polyhedral Equational Model. Colorado State University, Tech. Rep
Basupalli, V. (2011). The AlphaZ verifier. Master’s Thesis, Colorado State University, Fort Collins, CO
Basupalli, V., Yuki, T., Rajopadhye, S.V., Morvan, A., Derrien, S., Quinton, P., Wonnacott, D. (2011). ompVerify: Polyhedral Analysis for the OpenMP Programmer. OpenMP in the Petascale Era, 37-53
English
Hindi
Telugu
Award, Company
There is no spoon.


Highlights from Neuromancer by William Gibson Last read on August 24, 2021
Highlights from this book
-
A middleman's business is to make himself a necessary evil.
-
When the fear came, it was like a half forgotten friend. Not the cold, rapid mechanism of the dex paranoia, but simple animal fear. He'd lived so long on a constant edge of anxiety that he'd almost forgotten what real fear was.
-
There is always a point at which the terrorist ceases to manipulate the media gestalt. A point at which the violence may escalate, but beyond which the terrorist has become symptomatic of the media gestalt itself. Terrorism as we ordinarily understand it is innately media related. The Panther Moderns differ from other terrorists precisely in their degree of self concisouness, in their awareness of the extent to which media divorce the act of terrorism from the original sociopolitical intent.
-
In the nonspace of the matrix, the interior of a given data construct possessed unlimited subjective dimension.
-
In the alley, the dragon in hand, he approached the blackened nest. It had broken open. Singed wasps wrenched and flipped on the asphalt.
He saw the thing the shell of grey paper had concealed.
Horror. The spiral birth factory, stepped terraces of the hatching cells, blind jaws of the unborn moving ceaselessles, the staged progress from egg to larva, near-wasp, wasp. In his mind's eye, a kind of timelapse photograhpy took place, revealing the thing as the biological equivalent of a machine gun, hideous in its perfection. Alien. He pulled the trigger, forgetting to press the ignition, and fuel hissed over the bulging, writhing life at his feet.
In the dream, just before he'd drenched the nest with fuel, he'd seen the T-A logo of Tessier Ashpool neatly embossed on its side, as though the wasps themselves had worked there.
-
He sat on the bed for a long time, savoring the new thing, the treasure.
The rage.
-
For thousands of years men have dreamed of pacts with demons. Only now are such things possible.
-
To call up a demon you must learn its name. Men dreamed that once, but now it is real in another way. You know that, Case. Your business is to know the names of programs, the long formal names, names the owners seek to conceal. True names...
A Turing code's not your name.
Neuromancer.
-
She'd seen through the sham immortality of cryogenics; unlike Ashpool and the other children -- aside from 3Jane -- she'd refused to stretch her time into a series of warm blinks strung along a chain of winter.
-
Neuromancer, foremost, was a shout in the night that was the 1980s, is the 1990s, and will be, it seems to me, the decades to come.
-
Cyberspace. A consensual hallucination experienced daily by billions of legitimate operators, in every nation.
-
(Commentary) In every generation, there's room enough in the American popular mind to admit only one science fiction writer. Bradbury, Asimov, "the guy who writes Star Trek / Wars". Gibson transcended that role almost at once. In attaining a cultural summit of another order, he outmaneuvered this cultural narrowcasting in a way that might have been imagined but never predicted by anyone.
-
(Commentary) All fiction is a personal reinterpretation of a writer's existence during the time the fiction was written. Therefore science fiction has never predicted with accuracy, save through coincidence.
-
(Commentary) Gibson first apprehended the shape of things to come. He saw the writing on the wall, the blood in the sky, the warning in the entrails... Now lets be Heisenbergian about this. What if the act of writing it down, in fact, brought it about?
-
(Commentary) Cyberspace was born where the laurel grows lush and verdant; where the dogwoods blossom and the whipperwools cry in the wind whipped limbs of the tulip trees. It was born between the ridges, deep in the glades where streams rush cold along their limestone courses; born high on the mountainside not yet stripmined for coal, atop the long green knobs of mars. The southern highlands, this was once called. We call it Appalapachia.
-
(Commentary) When the past is always with you, it may well be present. And if it is present, it will be future as well.


pairwise relatively prime,
854
Pan's method for matrix multiplication,
741 ex.
parallel-machine-scheduling problem,
1051 pr.
parenthesis structure of depth-first search,
543
parenthesization of a matrix-chain product,
331
partitioning algorithm,
146-148
around median of 3 elements,
159 ex.
pattern in string matching,
906
PERMUTE-WITHOUT-IDENTITY,
104 ex.
persistent data structure,
294 pr.,
432
point-value representation,
825
polylogarithmically bounded,
54
asymptotic behavior of,
57 pr.
coefficient representation of,
824
interpolation by,
825,
830 ex.
point-value representation of,
825
polynomial-time acceptance,
976
polynomial-time algorithm,
850,
966
polynomial-time approximation scheme,
1023
polynomial-time computability,
974
polynomial-time decision,
976
polynomial-time reducibility (
≤P),
984,
994 ex.
polynomial-time solvability,
973
polynomial-time verification,
979-983
positive-definite matrix,
732
post-office location problem,
194 pr.
for disjoint-set data structures,
512-517
for the generic push-relabel algorithm,
678-679
for the Knuth-Morris-Pratt algorithm,
926-927
for restructuring red-black trees,
428 pr.
potential of a data structure,
413
Pr {} (probability distribution),
1100
predecessor
in binary search trees,
258-259
in breadth-first trees,
532
in order-statistic trees,
310 ex.
in shortest-paths trees,
584
predecessor subgraph
in all-pairs shortest paths,
621
in breadth-first search,
537
in depth-first search,
540
in single-source shortest paths,
584
prefix-function iteration lemma,
927
with an adjacency matrix,
573 ex.
in approximation algorithm for traveling-salesman problem,
1028
implemented with a Fibonacci heap,
573
implemented with a min-heap,
573
with integer edge weights,
574 ex.
similarity to Dijkstra's algorithm,
570,
599
for sparse graphs,
575 pr.
prime distribution function,
888
principle of inclusion and exclusion,
1074 ex.
PRINT-ALL-PAIRS-SHORTEST-PATH,
621
PRINT-INTERSECTING-SEGMENTS,
946 ex.
in constructing Huffman codes,
387
in Dijkstra's algorithm,
598
heap implementation of,
138-142
min-priority queue,
138,
141 ex.
with monotone extractions,
144
Fibonacci heap
of approximation algorithm for MAX-3-CNF satisfiability,
1040
of average-case lower bound for sorting,
178 pr.
of average node depth in a randomly built binary search tree,
270 pr.
of collisions,
228 ex.,
249 ex.
of convex hull over a sparse-hulled
of file comparison,
915 ex.
of hashing with chaining,
226-228
of the height of a randomly built binary search tree,
265-268
of the hiring problem,
97-98
of insertion into a binary search tree with equal keys,
268 pr.
of longest-probe bound for hashing,
249 pr.
of the Miller-Rabin primality test,
893-896
of Pollard's rho heuristic,
898-901
of probabilistic counting,
118 pr.
of the Rabin-Karp algorithm,
915
and randomized algorithms,
99-101
of randomized selection,
186-189
of searching a compact list,
218 pr.
of slot-size bound for chaining,
250 pr.
of sorting points by distance from origin,
177 ex.
probability density function,
1107
probability distribution,
1100
probability distribution function,
177 ex.
pruning a Fibonacci heap,
497 pr.
pseudorandom-number generator,
94
push onto a run-time stack,
162 pr.
push operation (in push-relabel algorithms),
671-672
push-relabel algorithm,
669-692
by discharging an overflowing vertex of maximum height,
691 ex.
to find a maximum bipartite matching,
680 ex.
gap heuristic for,
691 ex.
with a queue of overflowing vertices,
691 ex.
relabel-to-front algorithm,
681-692


Melanie Simmons
Resourcing Director, NetDev Sys
<EMAIL_ADDRESS>| 0759765
Connect with Melanie on LinkedIN


John Bolton returns to Twitter amid claim White House locked him out of account
Former US national security adviser John Bolton says he has regained control of his personal Twitter account from the White House.
Mr Bolton claimed the White House refused to provide him access to the account after he resigned, a charge President Donald Trump has rejected.
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
Mr Bolton’s actions and words are being closely followed in the House impeachment inquiry. He has declined to give evidence unless a federal judge determines he can be compelled to testify against the White House’s wishes.
Mr Bolton issued a series of tweets that began with him saying he was glad to be back on Twitter and to “stay tuned”.
A third tweet accused the White House of refusing to return access to the account, asking: “Out of fear of what I may say?”
Sorry, this content isn't available on your device.
Sorry, this content isn't available on your device.
Finally, Mr Bolton thanked Twitter for “standing by their community standards” and “rightfully returning control”.


Add new stocks to your portfolio
Remove stocks from your portfolio
Current Date: {{p[0].date | date: 'longDate'}}
| {{header}} | ||||||
|---|---|---|---|---|---|---|
| {{s.companyName}} | {{s.ticker}} | {{s.high | currency: 'USD'}} | {{s.low | currency: 'USD'}} | {{s.open | currency: 'USD'}} | {{s.close | currency: 'USD'}} | |
| No stocks found in portfolio! | ||||||
| Loading... |
Update your username