DL enclosure and DT/DD repeater
DL enclosure and DT/DD repeater
ARTICLE enclosure and SECTION repeater
DIV enclosure and SPAN repeater
|
NO CONTROL
HEADER
SEPARATOR
FOOTER
DIV enclosure and SPAN repeater
|
TBODY enclosure and TR repeater
UL enclosure and LI repeater
OL enclosure and LI repeater
SELECT enclosure and OPTION repeater


| |
ABOUT US
Red Faction offers Multiplayer Capture the Flag
for two opposing teams of players. The object of the game is to score
points for your team by collecting your opponents' flag and returning
it to your base while protecting your own flag. Teams are awarded one
point per capture. To capture, you have to touch your opponents' flag
to automatically steal it. While carrying the flag, you will see a flashing
flag icon in the lower left of the screen besides the team score. You
must return the enemy flag to your own flag stand while your flag is there
in order to score a point. If your own flag is stolen, to return it to
the flag stand you must kill the opponent carrying the flag, which will
be visible on his back and will emanate a glow that matches your team
color. When killed, the opponent will drop the flag in the field -- you
must touch the flag to return it to your base before another opponent
comes and touches the flag to pick it back up. Games can be set to terminate
after a certain number of captures by a team or can end after a set time.
In addition to team score, players are awarded individual points for kills
as well as capturing or defending flags. Individual scores do not affect
team score.
ABOUT US
Red Faction offers Multiplayer Capture the Flag
for two opposing teams of players. The object of the game is to score
points for your team by collecting your opponents' flag and returning
it to your base while protecting your own flag. Teams are awarded one
point per capture. To capture, you have to touch your opponents' flag
to automatically steal it. While carrying the flag, you will see a flashing
flag icon in the lower left of the screen besides the team score. You
must return the enemy flag to your own flag stand while your flag is there
in order to score a point. If your own flag is stolen, to return it to
the flag stand you must kill the opponent carrying the flag, which will
be visible on his back and will emanate a glow that matches your team
color. When killed, the opponent will drop the flag in the field -- you
must touch the flag to return it to your base before another opponent
comes and touches the flag to pick it back up. Games can be set to terminate
after a certain number of captures by a team or can end after a set time.
In addition to team score, players are awarded individual points for kills
as well as capturing or defending flags. Individual scores do not affect
team score.
LINK
|
|


About the Project
Open Data Discovery is a project to track and present the up-to-date status of the world of open data. It collects information from {{ about.portalCount | number }} open data portals, including the number of published datasets, tags, categories, and publishers, in a weekly basis to show how they are acting. These data portals are established by nations, provinces, cities, and institutes worldwide, which are main force of the global activity of data openning. With the effort of constantly observing these portals, we hope to provide an overview of how data is opened worldwide from more perspectives and more dimensions.
Supported Platforms


Recently ive been experimenting with alot of different drugs and medications, then I found a bottle of effexor (Venlafaxine). I decided to pop 2 effexor pills (75mg each) and took some alcohol with it. Be warned that this is not a good idea to mix effexor with alcohol, but I considered the risk and took it anyway.
I downed the pills about about 6pm and sat back a drank a few beers. Around 30 min later I started to feel very dissy and began to get lightheaded. Shortly after that I felt very isolated, and felt very relaxed but strangely frightened at the same time. I also felt strong nausea.
At about 7:30 pm I became very drowsy, and my speach was extreamly slured, I tried to walk to my kitchen but found myself stumbling over myself. I convinced myself that it was just the alcohol so went back into my room and laid down to watch TV. As I tried to watch TV, I noticed movement in the corner of my eyes. I cant describe what I saw exactly but it was like a bunch of flies were flying all around.
Shortly after, at about 8 pm I get very sleepy and passed out.
I woke up the next morning feeling very strange, like I would the next day after smoking alot of marijuana, but it was more than that, I felt isolated from everything, I couldn't focus. This was a very weird experience, one that I will not try again because of the effects during and after taking the drug.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


IN & OUT (PG-13)
Directed by Frank Oz Running Time: 90 minutes Originally Released: September 19, 1997
Reviewed by E. Benjamin Kelsey
* * * ½ (out of four)
With more and more television shows having gay characters, and even the infamous "Ellen" sitcom being centered on the life of a lesbian, the movie industry too seems to be gaining more and more homosexual based plot lines. THE BIRDCAGE was critically acclaimed, as was this years CHASING AMY. Then along came IN & OUT, and all three of these films are on my top ten list for the years in which they were released. It's also noticeable that this "alternative lifestyle" becomes less and less taboo as the years go by, and it seems that using comedy as a medium is proving a worthwhile effort. While it's a very serious issue to many, it is the comedies that people are flocking to see and that are gaining notoriety.
But the way we're using comedy to present homosexuality is also changing quite dramatically.  It doesn't poke fun at the lifestyle, it simply uses it to all it's comedic capacity, just as love, sex, marriage, birth, death, and anything else has been.
The idea for IN & OUT was born the day Tom Hanks won his Oscar for portraying an AIDS-afflicted gay man in PHILADELPHIA.  It's a serious and touchy subject, but producer Scott Rudin viewed it as the setting for a potentially hilarious comedy, and pitched it to screenwriter Paul Rudnick.
Kevin Kline, who only seems to become more and more acclaimed, stars as Howard Brackett, a high school English teacher in the small, picturesque town of Greenleaf, Indiana. After a three-year engagement to fellow teacher Emily Montgomery (Joan Cusack), a wedding date has been set, and the hubbub surrounding it is almost as big as that surrounding another huge story - Greenleaf High graduate Cameron Drake (Matt Dillon) is up for a Best Actor Oscar. The small town eagerly awaits both events, and both seem quite astronomical, but little does anyone know how much one will affect the other.
When Cameron Drake is announced the winner, the excitement is heightened as he pays tribute to his high school English teacher, Mr. Brackett. Everyone is cheering back in Greenleaf - that is until Cameron tacks on those three calamitous words, "and he's gay." The town becomes silent as the entire population joins in a simultaneous jaw drop. The thing is, nobody, including Howard, can understand how Cameron came to that conclusion, and such wild and unexpected news can only wreak havoc in such a conservative American haven such as Greenleaf. Naturally the questions pour from Howard's fiancee, parents (Debbie Reynolds & Wilford Brimley), students, and the high school's principal, Tom Halliwell (Bob Newhart), and the evidence starts to become more and more obvious: Howard is clean, neat, honest, sincere, a romantic, and perhaps the most incriminating fact, he loves Barbara Streisand.
The frenzy isn't helped any when camera crews from every conceivable news magazine and "Entertainment Tonight" wannabe show up at Greenleaf High the very next morning. One particular reporter is Peter Malloy (Tom Selleck) of "Inside Entertainment", who unlike the collage of other reporters, wants to spend a whole week in the life of Howard Brackett, including coverage of his wedding. The intrusion is all but welcome by Howard, who is going more and more out of his mind with each passing minute. It seems that no matter where he turns, a camera is being shoved in his face and questions regarding homosexuality are being tossed to him like Frisbees.
The dominoes begin to tumble as Howard's closest friends begin acting different and Principal Halliwell hints at a possible termination of employment should Howard indeed be gay. It all sounds very devastating, and it would be if it weren't presented with near-perfection by one of this year's most delightful ensemble casts. Kline seems only to improve with age, and he is downright perfect here. The great thing about this film is that every single character has a moment to shine, and they use it wonderfully. Every single actor turns in one of their best performances ever. Dillon has never been so likeable, Cusack has never seemed so perfect for a role, and Brimley, Reynolds, and Newhart all provide huge laughs when they're up to bat.
Rudnick's script is heavily laced with wit and humor, and you'll likely find yourself laughing out loud for a solid ninety minutes. While IN & OUT doesn't carry enough to give it four stars, it remains one of the best done films of the year, all-around. The script is exuberant, the actors are absolutely top- notch, and we're allowed just the perfect blend of heart-tugging so as not to bog down the laughs. It remains a solid comedy throughout its entirety, yet we're still allowed a sappily touching ending.
Despite it's subject matter, and one scene that comes almost too close for comfort on explaining gay sex, this is a movie that everyone could, and should, enjoy. Frank Oz, best known as a voice talent for Muppets, directs this film quite delightfully, using all the potential Rudnick's script has to offer, which turns out to be quite a bit. Check this one out.
December 27, 1997
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


When enabled, this directive
makes Squid forward all
accelerated/intercepted requests to the
httpd_accel_host address. See Section 15.2.6. |
If you enable this directive and
httpd_accel_with_proxy, Squid may become
susceptible to cache poisoning. Please read Chapter 15 thoroughly before running such a
configuration.
|
|
|
Syntax
|
httpd_accel_single_host on|off
| |
Default
|
httpd_accel_single_host off
| |
Example
|
httpd_accel_single_host on
| |
Related
|
httpd_accel_host,
httpd_accel_port,
httpd_accel_with_proxy,
httpd_accel_uses_host_header
|
|


I'm a budding developer who's been working and practicing web development for the last two years. I specialize in Javascript and Ruby and am adept at all of the major frameworks for these languages. This includes Angular, React, Rails, and Node. I am currently learning PHP and Laravel.
I enjoy writing polished front-end code for dynamic web applications. I also enjoy thinking about complex data structures and relationships particularly in rails applications.


{% extends "feature.html" %}
{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% block headtitle %}{% trans "Offline" %}{% endblock %}
{% block h2title %}{% trans "Offline" %}{% endblock %}
{% block tuttags %}offline{% endblock %}
{% block caniuse %}offline-apps{% endblock %}
{% block updatesblockstyle %}{% endblock %}
{% block supportblockstyle %}{% endblock %}
{% block header %}
{% blocktrans %}
"Web" and "online" are two closely associated terms, downright synonymous to many people. So why on earth would we talk about "offline" web technologies, and what does the term even mean?
{% endblocktrans %}
{% blocktrans %}HTML5 and related specs introduce a number of features to make offline web apps a reality:{% endblocktrans %}
{% blocktrans %}For a whirlwind overview of the offline landscape, consider the article "Offline": What does it mean and why should I care?. These features can also be used to improve an application’s performance by storing data in the cache or to make data persistent between user sessions and when reloading and restoring pages.{% endblocktrans %}


| I l@ve RuBoard |
So far, we've concentrated on the OOP tool in Python葉he class. But OOP is also about design issues揺ow to use classes to model useful objects. In this section, we're going to touch on a few OOP core ideas and look at some examples that are more realistic than the ones we've seen so far. Most of the design terms we throw out here require more explanation than we can provide; if this section sparks your curiosity, we suggest exploring a text on OOP design or design patterns as a next step.
Python's implementation of OOP can be summarized by three ideas:
Is based on attribute lookup in Python (in X.name expressions).
In X.method, the meaning of method depends on the type (class) of X.
Methods and operators implement behavior; data hiding is a convention by default.
By now, you should have a good feel for what inheritance is all about in Python. Python's flavor of polymorphism flows from its lack of type declarations. Because attributes are always resolved at runtime, objects that implement the same interfaces are interchangeable; clients don't need to know what sort of object is implementing a method they call.[4] Encapsulation means packaging in Python, not privacy; privacy is an option, as we'll see later in this chapter.
[4] Some OOP languages also define polymorphism to mean overloading functions based on the type signatures of their arguments. Since there is no type declaration in Python, the concept doesn't really apply, but type-base selections can be always be coded using if tests and type(X) built-in functions (e.g., if type(X) is type(0): doIntegerCase()).
We've talked about the mechanics of inheritance in depth already, but we'd like to show you an example of how it can be used to model real-world relationships. From a programmer's point of view, inheritance is kicked off by attribute qualifications and searches for a name in an instance, its class, and then its superclasses. From a designer's point of view, inheritance is a way to specify set membership. A class defines a set of properties that may be inherited by more specific sets (i.e., subclasses).
To illustrate, let's put that pizza-making robot we talked about at the start of the chapter to work. Suppose we've decided to explore alternative career paths and open a pizza restaurant. One of the first things we'll need to do is hire employees to service customers, make the pizza, and so on. Being engineers at heart, we've also decided to build a robot to make the pizzas; but being politically and cybernetically correct, we've also decided to make our robot a full-fledged employee, with a salary.
Our pizza shop team can be defined by the following classes in the example file employees.py. It defines four classes and some self-test code. The most general class, Employee, provides common behavior such as bumping up salaries (giveRaise) and printing ( __ repr __ ). There are two kinds of employees, and so two subclasses of Employee--Chef and Server. Both override the inherited work method to print more specific messages. Finally, our pizza robot is modeled by an even more specific class: PizzaRobot is a kind of Chef, which is a kind of Employee. In OOP terms, we call these relationships "is-a" links: a robot is a chef, which is a(n) employee.
class Employee: def __init__(self, name, salary=0): self.name = name self.salary = salary def giveRaise(self, percent): self.salary = self.salary + (self.salary * percent) def work(self): print self.name, "does stuff" def __repr__(self): return "<Employee: name=%s, salary=%s>" % (self.name, self.salary) class Chef(Employee): def __init__(self, name): Employee.__init__(self, name, 50000) def work(self): print self.name, "makes food" class Server(Employee): def __init__(self, name): Employee.__init__(self, name, 40000) def work(self): print self.name, "interfaces with customer" class PizzaRobot(Chef): def __init__(self, name): Chef.__init__(self, name) def work(self): print self.name, "makes pizza" if __name__ == "__main__": bob = PizzaRobot('bob') # make a robot named bob print bob # runs inherited __repr__ bob.giveRaise(0.20) # give bob a 20% raise print bob; print for klass in Employee, Chef, Server, PizzaRobot: obj = klass(klass.__name__) obj.work()
When we run this module's self-test code, we create a pizza-making robot named bob, which inherits names from three classes: PizzaRobot, Chef, and Employee. For instance, printing bob runs the Employee. __ repr __ method, and giving bob a raise invokes Employee.giveRaise, because that's where inheritance finds it.
C:\python\examples> python employees.py <Employee: name=bob, salary=50000> <Employee: name=bob, salary=60000.0> Employee does stuff Chef makes food Server interfaces with customer PizzaRobot makes pizza
In a class hierarchy like this, you can usually make instances of any of the classes, not just the ones at the bottom. For instance, the for loop in this module's self-test code creates instances of all four classes; each responds differently when asked to work, because the work method is different in each. Really, these classes just simulate real world objects; work prints a message for the time being, but could be expanded to really work later.
We introduced the notion of composition at the start of this chapter. From a programmer's point of view, composition involves embedding other objects in a container object and activating them to implement container methods. To a designer, composition is another way to represent relationships in a problem domain. But rather than set membership, composition has to do with components用arts of a whole. Composition also reflects the relationships between parts; it's usually called a "has-a" relationship, when OOP people speak of such things.
Now that we've implemented our employees, let's throw them in the pizza shop and let them get busy. Our pizza shop is a composite object; it has an oven, and employees like servers and chefs. When a customer enters and places an order, the components of the shop spring into action葉he server takes an order, the chef makes the pizza, and so on. The following example simulates all the objects and relationships in this scenario:
from employees import PizzaRobot, Server class Customer: def __init__(self, name): self.name = name def order(self, server): print self.name, "orders from", server def pay(self, server): print self.name, "pays for item to", server class Oven: def bake(self): print "oven bakes" class PizzaShop: def __init__(self): self.server = Server('Pat') # embed other objects self.chef = PizzaRobot('Bob') # a robot named bob self.oven = Oven() def order(self, name): customer = Customer(name) # activate other objects customer.order(self.server) # customer orders from server self.chef.work() self.oven.bake() customer.pay(self.server) if __name__ == "__main__": scene = PizzaShop() # make the composite scene.order('Homer') # simulate Homer's order print '...' scene.order('Shaggy') # simulate Shaggy's order
The PizzaShop class is a container and controller; its constructor makes and embeds instances of the employee classes we wrote in the last section, as well as an Oven class defined here. When this module's self-test code calls the PizzaShop order method, the embedded objects are asked to carry out their actions in turn. Notice that we make a new Customer object for each order, and pass on the embedded Server object to Customer methods; customers come and go, but the server is part of the pizza shop composite. Also notice that employees are still involved in an inheritance relationship; composition and inheritance are complementary tools:
C:\python\examples> python pizzashop.py Homer orders from <Employee: name=Pat, salary=40000> Bob makes pizza oven bakes Homer pays for item to <Employee: name=Pat, salary=40000> ... Shaggy orders from <Employee: name=Pat, salary=40000> Bob makes pizza oven bakes Shaggy pays for item to <Employee: name=Pat, salary=40000>
When we run this module, our pizza shop handles two orders熔ne from Homer, and then one from Shaggy. Again, this is mostly just a toy simulation; a real pizza shop would have more parts, and there's no real pizza to be had here. But the objects and interactions are representative of composites at work. As a rule of thumb, classes can represent just about any objects and relationships you can express in a sentence; just replace nouns with classes and verbs with methods, and you have a first cut at a design.
Why You Will Care: Classes and PersistenceBesides allowing us to simulate real-world interactions, the pizza shop classes could also be used as the basis of a persistent restaurant database. As we'll see in Chapter 10, instances of classes can be stored away on disk in a single step using Python's pickle or shelve modules. The object pickling interface is remarkably easy to use: import pickle object = someClass() file = open(filename, 'w') # create external file pickle.dump(object, file) # save object in file file = open(filename, 'r') object = pickle.load(file) # fetch it back later Shelves are similar, but they automatically pickle objects to an access-by-key database: import shelve object = someClass() dbase = shelve.open('filename') dbase['key'] = object # save under key object = dbase['key'] # fetch it back later (Pickling converts objects to serialized byte streams, which may be stored in files, sent across a network, and so on.) In our example, using classes to model employees means we can get a simple database of employees and shops for free: pickling such instance objects to a file makes them persistent across Python program executions. See Chapter 10 for more details on pickling. |
Object-oriented programmers often talk about something called delegation too, which usually implies controller objects that embed other objects, to which they pass off operation requests. The controllers can take care of administrative activities such as keeping track of accesses and so on. In Python, delegation is often implemented with the __ getattr __ method hook; because it intercepts accesses to nonexistent attributes, a wrapper class can use __ getattr __ to route arbitrary accesses to a wrapped object. For instance:
class wrapper: def __init__(self, object): self.wrapped = object # save object def __getattr__(self, attrname): print 'Trace:', attrname # trace fetch return getattr(self.wrapped, attrname) # delegate fetch
You can use this module's wrapper class to control any object with attributes様ists, dictionaries, and even classes and instances. Here, the class simply prints a trace message on each attribute access:
>>> from trace import wrapper >>> x = wrapper([1,2,3]) # wrap a list >>> x.append(4) # delegate to list method Trace: append >>> x.wrapped # print my member [1, 2, 3, 4] >>> x = wrapper({"a": 1, "b": 2}) # wrap a dictionary >>> x.keys() # delegate to dictionary method Trace: keys ['a', 'b']
Classes are also commonly used to extend the functionality of Python's built-in types, to support more exotic data structures. For instance, to add queue insert and delete methods to lists, you can code classes that wrap (embed) a list object, and export insert and delete methods that process the list.
Remember those set functions we wrote in Chapter 4? Here's what they look like brought back to life as a Python class. The following example implements a new set object type, by moving some of the set functions we saw earlier in the book to methods, and adding some basic operator overloading. For the most part, this class just wraps a Python list with extra set operations, but because it's a class, it also supports multiple instances and customization by inheritance in subclasses.
class Set: def __init__(self, value = []): # constructor self.data = [] # manages a list self.concat(value) def intersect(self, other): # other is any sequence res = [] # self is the subject for x in self.data: if x in other: # pick common items res.append(x) return Set(res) # return a new Set def union(self, other): # other is any sequence res = self.data[:] # copy of my list for x in other: # add items in other if not x in res: res.append(x) return Set(res) def concat(self, value): # value: list, Set... for x in value: # removes duplicates if not x in self.data: self.data.append(x) def __len__(self): return len(self.data) # on len(self) def __getitem__(self, key): return self.data[key] # on self[i] def __and__(self, other): return self.intersect(other) # on self & other def __or__(self, other): return self.union(other) # on self | other def __repr__(self): return 'Set:' + `self.data` # on print
By overloading indexing, our set class can often masquerade as a real list. Since we're going to ask you to interact with and extend this class in an exercise at the end of this chapter, we won't say much more about this code until Appendix C.
When we discussed details of the class statement, we mentioned that more than one superclass can be listed in parentheses in the header line. When you do this, you use something called multiple inheritance; the class and its instances inherit names from all listed superclasses. When searching for an attribute, Python searches superclasses in the class header from left to right until a match is found. Technically, the search proceeds depth-first, and then left to right, since any of the superclasses may have superclasses of its own.
In theory, multiple inheritance is good for modeling objects which belong to more than one set. For instance, a person may be an engineer, a writer, a musician, and so on, and inherit properties from all such sets. In practice, though, multiple inheritance is an advanced tool and can become complicated if used too much; we'll revisit this as a gotcha at the end of the chapter. But like everything else in programming, it's a useful tool when applied well.
One of the most common ways multiple inheritance is used is to "mix in" general-purpose methods from superclasses. Such superclasses are usually called mixin classes; they provide methods you add to application classes by inheritance. For instance, Python's default way to print a class instance object isn't incredibly useful:
>>> class Spam: ... def __init__(self): # no __repr__ ... self.data1 = "food" ... >>> X = Spam() >>> print X # default format: class, address <Spam instance at 87f1b0>
As seen in the previous section on operator overloading, you can provide a __ repr _ _ method to implement a custom string representation of your own. But rather than code a __ repr __ in each and every class you wish to print, why not code it once in a general-purpose tool class, and inherit it in all classes?
That's what mixins are for. The following code defines a mixin class called Lister that overloads the _ _ repr __ method for each class that includes Lister in its header line. It simply scans the instance's attribute dictionary (remember, it's exported in __ dict __ ) to build up a string showing the names and values of all instance attributes. Since classes are objects, Lister's formatting logic can be used for instances of any subclass; it's a generic tool.
Lister uses two special tricks to extract the instance's classname and address. Instances have a built-in __ class __ attribute that references the class the instance was created from, and classes have a __ name __ that is the name in the header, so self. __ class _ _ . __ name __ fetches the name of an instance's class. You get the instance's memory address by calling the built-in id function, which returns any object's address:
# Lister can be mixed-in to any class, to # provide a formatted print of instances # via inheritance of __repr__ coded here; # self is the instance of the lowest class; class Lister: def __repr__(self): return ("<Instance of %s, address %s:\n%s>" % (self.__class__.__name__, # my class's name id(self), # my address self.attrnames()) ) # name=value list def attrnames(self): result = '' for attr in self.__dict__.keys(): # scan instance namespace dict if attr[:2] == '__': result = result + "\tname %s=<built-in>\n" % attr else: result = result + "\tname %s=%s\n" % (attr, self.__dict__[attr]) return result
Now, the Lister class is useful for any class you write容ven classes that already have a superclass. This is where multiple inheritance comes in handy: by adding Lister to the list of superclasses in a class header, you get its __ repr _ _ for free, while still inheriting from the existing superclass:
from mytools import Lister # get tool class class Super: def __init__(self): # superclass __init__ self.data1 = "spam" class Sub(Super, Lister): # mix-in a __repr__ def __init__(self): # Lister has access to self Super.__init__(self) self.data2 = "eggs" # more instance attrs self.data3 = 42 if __name__ == "__main__": X = Sub() print X # mixed-in repr
Here, Sub inherits names from both Super and Lister; it's a composite of its own names and names in both its superclasses. When you make a Sub instance and print it, you get the custom representation mixed in from Lister:
C:\python\examples> python testmixin.py <Instance of Sub, address 7833392: name data3=42 name data2=eggs name data1=spam >
Lister works in any class it's mixed into, because self refers to an instance of the subclass that pulls Lister in, whatever that may be. If you later decide to extend Lister's __ repr __ to also print class attributes an instance inherits, you're safe; because it's an inherited method, changing Lister's __ repr __ updates each subclass that mixes it in.[5] In some sense, mixin classes are the class equivalent of modules. Here is Lister working in single-inheritance mode, on a different class's instances; like we said, OOP is about code reuse:
[5] For the curious reader, classes also have a built-in attribute called __bases__ , which is a tuple of the class's superclass objects. A general-purpose class hierarchy lister or browser can traverse from an instance's __class__ to its class, and then from the class's __bases__ to all superclasses recursively. We'll revisit this idea in an exercise, but see other books or Python's manuals for more details on special object attributes.
>>> from mytools import Lister >>> class x(Lister): ... pass ... >>> t = x() >>> t.a = 1; t.b = 2; t.c = 3 >>> t <Instance of x, address 7797696: name b=2 name a=1 name c=3 >
Because classes are objects, it's easy to pass them around a program, store them in data structures, and so on. You can also pass classes to functions that generate arbitrary kinds of objects; such functions are sometimes called factories in OOP design circles. They are a major undertaking in a strongly typed language such as C++, but almost trivial in Python: the apply function we met in Chapter 4 can call any class with any argument in one step, to generate any sort of instance:[6]
[6] Actually, apply can call any callable object; that includes functions, classes, and methods. The factory function here can run any callable, not just a class (despite the argument name).
def factory(aClass, *args): # varargs tuple return apply(aClass, args) # call aClass class Spam: def doit(self, message): print message class Person: def __init__(self, name, job): self.name = name self.job = job object1 = factory(Spam) # make a Spam object2 = factory(Person, "Guido", "guru") # make a Person
In this code, we define an object generator function, called factory. It expects to be passed a class object (any class will do), along with one or more arguments for the class's constructor. The function uses apply to call the function and return an instance. The rest of the example simply defines two classes and generates instances of both by passing them to the factory function. And that's the only factory function you ever need write in Python; it works for any class and any constructor arguments. The only possible improvement worth noting: to support keyword arguments in constructor calls, the factory can collect them with a **args argument and pass them as a third argument to apply:
def factory(aClass, *args, **kwargs): # +kwargs dict return apply(aClass, args, kwargs) # call aClass
By now, you should know that everything is an "object" in Python; even things like classes, which are just compiler input in languages like C++. However, only objects derived from classes are OOP objects in Python; you can't do inheritance with nonclass-based objects such as lists and numbers, unless you wrap them in classes.
Speaking of objects, it turns out that methods are a kind of object too, much like functions. Because class methods can be accessed from either an instance or a class, they actually come in two flavors in Python:
Accessing a class's function attribute by qualifying a class returns an unbound method object. To call it, you must provide an instance object explicitly as its first argument.
Accessing a class's function attribute by qualifying an instance returns a bound method object. Python automatically packages the instance with the function in the bound method object, so we don't need to pass an instance to call the method.
Both kinds of methods are full-fledged objects; they can be passed around, stored in lists, and so on. Both also require an instance in their first argument when run (i.e., a value for self), but Python provides one for you automatically when calling a bound method through an instance. For example, suppose we define the following class:
class Spam: def doit(self, message): print message
Now, we can make an instance, and fetch a bound method without actually calling it. An object.name qualification is an object expression; here, it returns a bound method object that packages the instance (object1) with the method function (Spam.doit). We can assign the bound method to another name and call it as though it were a simple function:
object1 = Spam() x = object1.doit # bound method object x('hello world') # instance is implied
On the other hand, if we qualify the class to get to doit, we get back an unbound method object, which is simply a reference to the function object. To call this type of method, pass in an instance in the leftmost argument:
t = Spam.doit # unbound method object t(object1, 'howdy') # pass in instance
Most of the time, you call methods immediately after fetching them with qualification (e.g., self.attr(args)), so you don't always notice the method object along the way. But if you start writing code that calls objects generically, you need to be careful to treat unbound methods specially; they require an explicit object.
| I l@ve RuBoard |


Download Times of the book D3 Tips and Tricks
Original Blogpost
Raw source
.
Original d3 visualization
.


Iran Supports the Two-State Solution? Not So Fast
12 Aug 2015A lot of noise is currently being made about The Forward’s Larry Cohler-Esses’s article about his experiences in Iran being the first American Jewish journalist to get a visa to do so since 1979. The Obama Administration’s cheerleaders at the New York Times also jumped in with an article of their own Reporting From Iran, Jewish Paper Sees No Plot to Destroy Israel.
This rests largely on on Choler-Esses’s description of his talks with Iranian officials:
During the course of my conversations with several senior ayatollahs and prominent political and government officials, it became clear that there is high-placed dissent to the official line against Israel. No one had anything warm to say about the Jewish state. But pressed as to whether it was Israel’s policies or its very existence to which they objected, several were adamant: It’s Israel’s policies. Others, notwithstanding their ideological objection to a Jewish state, made it clear they would accept a two-state solution to Israel’s conflict with the Palestinians if the Palestinians were to negotiate one and approve it in a referendum.
However, despite this “positive” report, when discussing his meeting with Grand Ayatollah Abdolkarim Mousavi Ardebili of Qom, not only did his son say that he has no understanding of the two state solution, but said that “This is an idea much discussed in the West, but not much here.” Ardebili was very clear in his opposition to the existence of Israel:
“We believe that the State of Israel must be changed, corrected and improved. And if that is not possible, and if the nature of the state does not allow for improvement, then the state must be destroyed.”
And while he may dress it up as opposition to policies, the specific policy he and the Iranian regime oppose is the ancient anti-Semitic canard of Jewish-infanticide:
The only way to achieve peace, he explained, was for the Israelis “to stop their cruelty against Palestinians.” Israel, he said, “kills children and proudly defends killing them.”
So how exactly is it that Cohler-Esses was able to report that so many Iranian officials and ayatollahs were willing to support a two-state solution? This seems like a very moderate, mainstream position that we would expect from any Western country. That is because this solution that is presented as moderate and reasonable means one thing to us and quite another to the Iranians. Remember where Cohler-Esses said that such an agreement would need the Palestinians to “approve it in a referendum?”
The “reformist” Grand Ayatollah Yousef Saanei, who is often called “the spiritual father” of Iran’s Green Movement also spoke of a “referendum.”
“The idea that Israel should be destroyed is Ahmadinejad’s… What Israel should do is change its policies…. It’s impossible to destroy a country… There should be a referendum about this. All human beings should look for mutual humanitarian understandings.”
Mohammad Hassan Asafari of the IRGC and chairman of the Iranian Parliament’s National Security and Foreign Policy Committee, also spoke of the need for a referendum, but he was more clear about what such a referendum would be:
“I absolutely disagree with a two-state solution.” Like many, he instead advocated the right of return of all Palestinian refugees to their former homes and elections by “all the people living there now — Jew, Muslim and members of other religions” — to decide the country’s future.”
This is the same type of referendum Ayatollah Khamenei champions (in Farsi and English) and what Iranian officials are referring to:
Why should & how can #Israel be eliminated? Ayatollah Khamenei's answer to 9 key questions.
#HandsOffAlAqsa pic.twitter.com/IVPOuNfMQH
— Khamenei.ir (@khamenei_ir) November 9, 2014
Here is a closer look at the relevant two sections:
The Iranians are not talking about the Israelis and Palestinians sitting down to vote on a two state solution. The only referendum that is supported by the regime would be one in which only Palestinians get to vote. Once the Palestinians, both in Israel, the territories and around the world vote, they can then decide what to do with the Jews they have been trying to kill for the past 100 years.
But even if by some miracle the Jews aren’t all killed, Khamenei makes it clear that this new government would have the authority to ethnically cleanse the area of any Jews it wishes. Not only that, but until Israel agrees to this system for its own dismantlement and expulsion, Ayatollah Khamenei says, “we believe the West Bank, too, should be armed just like Gaza and those who are interested in the fate of the Palestinians must work in this respect.”
It is certainly encouraging to hear many ordinary Iranians talk positively about Jews and, to an extent, Israel (with many even talking about ancient ties between Iran, Israel and Cyrus), but none of this was really ever in question.
What we are pointing out is that those in Iran who hold power and make policy are clear about their views and plans for Israel. It’s about time we stopped lying to ourselves and started listening.


Claptrap is a computer that makes up its own jokes. Terrible, terrible jokes. Rather than using a pre-built list of puns, it builds up jokes using a model of what words sound alike and how objects are related.
The puns start with a random word known as the nucleus. It then looks in its library of relationships to see if the start (or end) of the nucleus can be replaced by a different rhyming word. This substitution gives Claptrap the punchline, but it still needs a setup to make a joke.
To create the setup Claptrap uses semantic relationships like synonyms or properties. These relationships are used to create descriptions that hint at the punchline. Claptrap finds one relation for the rhyming word, and (where possible) one for the nucleus. Finally, it chooses a pattern for the description based on the relationships and compiles it all together into a hilarious joke.
Once the joke has been produced, that's where you come in. Claptrap let's you rate the jokes and even suggest improvements. By doing this you're helping to teach Claptrap what words are linked and what type of relationships make the best puns. The more data you give, the funnier Claptrap can eventually be.
The project was created by me, William Bradshaw. Sorry. If you have any comments or questions feel free to give me a shout at w.a.bradshaw@gmail.com.


Package algorithms.statistics
Class GeneralizedExtremeValue
- java.lang.Object
-
- algorithms.statistics.GeneralizedExtremeValue
-
public class GeneralizedExtremeValue extends java.lang.Object
Generate curves following the Generalized Extreme Value probability density function. The GEV is a.k.a. the Fisher-Tippett distribution (though some restrict the Fisher-Tippett to the Gumbel distribution). ( ( ( x-mu))-(1/k)) (-1*(1 + k*(-----)) ) 1 ( ( (sigma)) ) ( ( x-mu))(-1-(1/k)) y = y_const * ----- * exp * (1 + k*(-----)) sigma ( (sigma)) mu is the location parameter sigma is the scale parameter and is .gt. 0 k is the shape parameter if k != 0, 1 + (k * (x-mu)/sigma) .gt. 0 Let z = (x-mu)/sigma Extreme Value Type I (Gumbel): 1 y = y_const * ----- * exp( -z -exp(-z)) sigma sigma .gt. 0 k = 0 Extreme Value Type II (Frechet): k (sigma)^(k+1) ( (sigma)^k) y = y_const * ----- * (-----) * exp( - (-----) ) sigma ( x ) ( ( x ) ) k .gt. 0, (1/k) .gt. 0 sigma .gt. 0 x .gt. 0 if (1 + k*(x - mu)/sigma) .lte. 0, y = 0 Extreme Value Type III (Weibull): k (x - mu)^(k+1) ( (x - mu)^k) y = y_const * ----- * (------) * exp( - (------) ) sigma (sigma ) ( (sigma ) ) k = y_const * ----- * (z)^(k+1) * exp( -1*(z)^k ) sigma k .lt. 0, (1/k) .lt. 0 sigma .gt. 0 x .gt. 0 if -(1 + k*(x - mu)/sigma) .geq. 0, y = 1
first implemented in project https://github.com/nking/two-point-correlation w/ Copyright Climb With Your Feet and using The MIT License (MIT) then moved to this shared library project which has the same copyright and license.-
-
-
-
Method Detail
-
fitUsingMethodOfProbabilityWeightedMoments
public static double[] fitUsingMethodOfProbabilityWeightedMoments(double[] x)
calculate a rough estimate of GEV distribution parameters for the given x. Note that the methods works best for sample sizes .gt. 50.references: "Estimation of the Generalized Extreme-Value Distribution by the Method of Probability Weighted Moments" Hosking, Wallis, and Wood 1984
- Parameters:
x
- ordered statistic of an observed GEV distribution where X is ordered from min to max.- Returns:
-
generateNormalizedCurve
public double[] generateNormalizedCurve(double[] parameters, double yConst)
generate a normalized GEV- Parameters:
parameters
- mu, sigma, and k where mu is the location parameter, sigma is the scale parameter and is .gt. 0, and k is the shape parameter.yConst
- normalization factor- Returns:
-
generateNormalizedCurve
public double[] generateNormalizedCurve(double[] parameters)
generate a GEV curve- Parameters:
parameters
- mu, sigma, and k where mu is the location parameter, sigma is the scale parameter and is .gt. 0, and k is the shape parameter.- Returns:
-
generateNormalizedCurve
public double[] generateNormalizedCurve(double mu, double sigma, double k)
- Parameters:
mu
-sigma
-k
-- Returns:
-
generateNormalizedCurve
public double[] generateNormalizedCurve(double mu, double sigma, double k, double yConst)
generate a GEV curve w/ parameters k, sigma, and mu and then multiply it by yConst so that the highest peak has value yConst- Parameters:
k
- shape parametersigma
- scale parameter, .gt. 0mu
- location parameteryConst
-- Returns:
-
generateYGEV
public static java.lang.Double generateYGEV(double xPoint, double mu, double sigma, double k)
- Parameters:
xPoint
-mu
-sigma
-k
-- Returns:
-
generateYEVTypeI
public static java.lang.Double generateYEVTypeI(double xPoint, double mu, double sigma)
- Parameters:
xPoint
-mu
-sigma
-- Returns:
-
generateCurve
public double[] generateCurve(double[] x1, double mu, double sigma, double k)
- Parameters:
x1
-mu
-sigma
-k
-- Returns:
-
generateEVTypeICurve
public static double[] generateEVTypeICurve(double[] x1, double mu, double sigma)
- Parameters:
x1
-mu
-sigma
-- Returns:
-
determineYConstant
public double determineYConstant(double[] yGEV, double mu)
- Parameters:
yGEV
-mu
-- Returns:
-
determineYConstant
public double determineYConstant(double[] yGEV, double mu, int index)
- Parameters:
yGEV
-mu
-index
-- Returns:
-
sumOfSquaredDiff
public static double sumOfSquaredDiff(double[] y1, double[] yGEV)
calculate sum of the square of the differences between the curves.- Parameters:
y1
- the y data arrayyGEV
- the generated GEV y model array- Returns:
- the mean error of the fit
-
chisq
public static double chisq(double[] y1, double[] yGEV)
calculate sum of ( square(y1 - yGEV)/yGEV )- Parameters:
y1
- the y data arrayyGEV
- the generated GEV y model array- Returns:
- the mean error of the fit
-
calculateFittingErrorSquared
public static double calculateFittingErrorSquared(GEVYFit yFit, double xPoint)
NOT READY FOR USE. I dropped some of the terms needed,soneedtoreplace or redeisgn the method.return the error in fitting the GEV curve | dy_fit |^2 | dy_fit |^2 | dy_fit|^2 |dy_fit|^2 (err_y_fit)^2 = (err_x)^2|--------| + (err_k)^2|--------| + (err_s)^2|-------| + (err_m)^2|------| | dx | | dk | | ds | | dm |
- Parameters:
yFit
-xPoint
-- Returns:
-
calculateWidthFittingError
public static double calculateWidthFittingError(GEVYFit yFit, double yMaxFactor)
calculate the error in an area / height calculation for y=0 to y .gt. yLimitFraction where y is yLimitFraction to to the right of the peak. This is useful for determining errors for things like FWHM for example. For FWHM we have sum of f = sum(X_i*Y_i)_(i .lt. yLimit)/ Y_i err^2 = xError^2*(Y_i/Y_i) = xError^2 it reduces to the sum of the errors in x. no pde's...
- Parameters:
yFit
-yMaxFactor
-- Returns:
-
inverseCdf
public static double inverseCdf(double p, double location, double scale, double shape) throws java.security.NoSuchAlgorithmException
calculate the inverse CDF of the GEV, that is, a random variate x given the probability alpha.reference is from the book "Extreme Value Distributions, Theory and Applications" by Kotz and Nadarajah 2000, Section 2.2 Macleod (1989): when shape != 0: x = location + scale*(1 - exp(-shape * y))/shape when shape= 0 x = location + scale * y where y = -log(-log(p)); 0 .lt. p .lt. 1
- Parameters:
p
- random variate drawn from U(0,1) where U is the uniform distribution. NOTE that p must be greater than 0 and less 1, so consider using a number such as eps=1-11 up to 1e-16 for an offset from 0 or 1. In other words, p drawn from U(1e-16, 1. - 1e-16).location
- parameter of the distribution functionscale
- parameter of the distribution functionshape
- parameter of the distribution function- Returns:
- Throws:
java.security.NoSuchAlgorithmException
-
inverseCdf
public static double inverseCdf(double p, double location, double scale, double shape, java.security.SecureRandom rand)
calculate the inverse CDF of the GEV, that is, a random variate x given the probability alpha.reference is from the book "Extreme Value Distributions, Theory and Applications" by Kotz and Nadarajah 2000, Section 2.2 Macleod (1989): when shape != 0: x = location + scale*(1 - exp(-shape * y))/shape when shape= 0 x = location + scale * y where y = -log(-log(p)); 0 .lt. p .lt. 1
- Parameters:
p
- random variate drawn from U(0,1) where U is the uniform distribution. NOTE that p must be greater than 0 and less 1, so consider using a number such as eps=1-11 up to 1e-16 for an offset from 0 or 1. In other words, p drawn from U(1e-16, 1. - 1e-16).location
- parameter of the distribution functionscale
- parameter of the distribution functionshape
- parameter of the distribution functionrand
-- Returns:
-
inverseCdf
public static double[] inverseCdf(double[] p, double location, double scale, double shape, java.security.SecureRandom rand)
calculate the inverse CDF of the GEV, that is, a random variate x given the probability alpha.reference is from the book "Extreme Value Distributions, Theory and Applications" by Kotz and Nadarajah 2000, Section 2.2 Macleod (1989): when shape != 0: x = location + scale*(1 - exp(-shape * y))/shape when shape= 0 x = location + scale * y where y = -log(-log(p)); 0 .lt. p .lt. 1
- Parameters:
p
- array of random variates drawn from U(0,1) where U is the uniform distribution. NOTE that p elements must be greater than 0 and less 1, so consider using a number such as eps=1-11 up to 1e-16 for an offset from 0 or 1. In other words, p elements drawn from U(1e-16, 1. - 1e-16).location
- parameter of the distribution functionscale
- parameter of the distribution functionshape
- parameter of the distribution functionrand
-- Returns:
-
sampleRandomlyFrom
public static double[] sampleRandomlyFrom(double location, double scale, double shape, int nDraws) throws java.security.NoSuchAlgorithmException
randomly draw from the inverse CDF of the GEV to return points that follow a GEV distibution.reference is from the book "Extreme Value Distributions, Theory and Applications" by Kotz and Nadarajah 2000, Section 2.2 Macleod (1989): when shape != 0: x = location + scale*(1 - exp(-shape * y))/shape when shape= 0 x = location + scale * y where y = -log(-log(p)); 0 .lt. p .lt. 1
- Parameters:
location
- parameter of the distribution functionscale
- parameter of the distribution functionshape
- parameter of the distribution functionnDraws
-- Returns:
- array of randomly drawn numbers from the GEV
- Throws:
java.security.NoSuchAlgorithmException
-
sampleRandomlyFrom
public static double[] sampleRandomlyFrom(double location, double scale, double shape, int nDraws, java.security.SecureRandom rand)
randomly draw from the inverse CDF of the GEV to return points that follow a GEV distibution.reference is from the book "Extreme Value Distributions, Theory and Applications" by Kotz and Nadarajah 2000, Section 2.2 Macleod (1989): when shape != 0: x = location + scale*(1 - exp(-shape * y))/shape when shape= 0 x = location + scale * y where y = -log(-log(p)); 0 .lt. p .lt. 1
- Parameters:
location
- parameter of the distribution functionscale
- parameter of the distribution functionshape
- parameter of the distribution functionnDraws
-rand
-- Returns:
- array of randomly drawn numbers from the GEV
-
generateNormalizedCurve
public static double[] generateNormalizedCurve(double[] x1, double mu, double sigma, double k)
- Parameters:
x1
-mu
-sigma
-k
-- Returns:
-
_genCurve
public static double[] _genCurve(double[] x1, double mu, double sigma, double k)
- Parameters:
x1
-mu
-sigma
-k
-- Returns:
-
genCurve
public static double[] genCurve(double[] x1, double mu, double sigma, double k)
- Parameters:
x1
-mu
-sigma
-k
-- Returns:
-
-


This page is used to test single sign on identity providers. The
Relay URL field contains
the URL of the service provider resource to invoke after authentication with the IDP. It defaults to this page.
The
SAML Tracer add-on
for Firefox is also useful in diagnosing problems with a particular identity provider.


Our families will be staying at hotels/guest-houses near the wedding and reception venues; the details of which have been provided below.
If you wish to make a reservation here , then mention 'Rutwik-Parul' wedding to avail the wedding group discount.
(Name and Address of hotel/guesthouse)
(Name and Address of hotel/guesthouse)


1.
Diagram of AudMem Auditory Memory Mind-Module
/^^^^^^^^^\ Recall Of Knowledge On Seeing A Cat /^^^^^^^^^\ / EYE \ REACTIVATED / EAR \ / \ CONCEPTS / _________ \ | _______ | | | | SEMANTIC MEMORY | /MindBoot \ | | /"cat" \!!!!|!!!|!| | | / English \ | | / image \---|---|-+ | __________ | \ bootstrap / | | \ recog / | |c| | / \ | \"vault" / | | \_______/ | |a| | ( Sentence ) | \_______/ | | | |t| | \__________/--------|-------------\ | | recognition | |s| | | \ ______ | AudMem short| | | of "cat" | e| | | | \/EnVerb\ | term memory | | | results in | a| | | | ( Phrase ) | where ideas | | | spreading | t| | | ___V__ /\______/ | are heard or| | | activation | | |f| /EnNoun\/ | | generated, | | | among related | | |i| ( Phrase ) | | then stored | | | concepts | | |s| \______/ | | ________ | | | _______ | | |h| | _V_____ | / \ | | | /new \ | |_|_| _V___ /English\ | / "cats" \| | | / percept \ | / \ / En \ \ Verbs /-|-\ "eat" / | | \ engram /---|--\ Psy /--/ Nouns \ \_____/ | \ "fish" / | | \_______/ | \___/ \_______/-----------|---\______/ |
2. Purpose of the AudMem AUditory Memory Mind-Module
When AudMem() starts out in the Ghost Perlmind AI, the MindBoot sequence has created a blank line in memory with
$t=2424; $ear[$t] = " ,0,0"; # 2016may23: blank spacestoring an auditory engram. AudMem always needs to store a word after at least one blank space, so that AudRecog can recognize each word.
The question arises -- when the AI is steadily thinking, without human input, should AudInput be sending any phonemes "$pho" into AudMem for storage?
The recent Perlmind from ghost175.pl on has a simplified auditory memory format that does not store a continuation "ctu" flag, and so the AudRecog software must rely on one more blank phoneme beyond any stored word to detect the end of a recognizand word. It is the job of AudInput and AudMem to store that extra blank character at the end of each word.
3. Algorithm of the AudMem Auditory Memory Mind-Module
AudMem stores the incoming character $pho (for phoneme) in the first of three columns in a row in the @ear auditory memory array. The second of three spaces in the array is for any momentary activation on the auditory engram during pattern-matching for word-recognition. The third and final slot in the row of the auditory array is for holding the $audpsi concept-number for the abstract concept which the English or Russian word represents.
After storing each character coming in from AudInput in the first slot of the current-most row of the auditory memory array, AudMem sends the $pho character into the AudRecog module to report back any recognized word so that AudInput may call the OldConcept module. If no recognition of a known word comes back from AudRecog, the AudInput module automatically calls the NewConcept module to create and thus learn a new concept. This process is machine learning in its truest sense, because the machine is learning new ideas and new words to express the ideas.
The AudMem module stores the $audpsi concept-number of a recognized word in the third slot of the auditory memory array-row for the last character in the recognized word, and also for one or more characters which are not quite at the end of the word, but which may be part of an inflectional ending attached to the stem of the word, as the letter "S" may be attached to the word "book" in creating the plural form "BOOKS". These not-quite-final $audpsi tags are necessary for the AI Mind to be able to recognize word-stems in the future.
4. Code of
AudMem() from the ghost273.pl AI Mind in
Perl
sub AudMem() { # http://ai.neocities.org/AudMem.html if ($pho eq chr(13)) { $pov = 2 } # 2017-03-31: for sake of pause-counter $ear[$t] = "$pho,0,0"; # 2017-03-16: store the character in the first column; if ($t > $vault) { # 2017-03-15: Engrams in vault do not need auditory recognition. if ($pho eq chr(13)||$pho eq chr(32)||$pho=~/[A-Z]/) {AudRecog()} #2017-12-23 if ($pho eq "\x80"||$pho eq "\x81"||$pho eq "\x82"){AudRecog()} #2017-12-26 if ($pho eq "\x83"||$pho eq "\x84"||$pho eq "\x85"){AudRecog()} #2017-12-26 if ($pho eq "\xF0"||$pho eq "\x86"||$pho eq "\x87"){AudRecog()} #2017-12-26 if ($pho eq "\x88"||$pho eq "\x89"||$pho eq "\x8A"){AudRecog()} #2017-12-26 if ($pho eq "\x8B"||$pho eq "\x8C"||$pho eq "\x8D"){AudRecog()} #2017-12-26 if ($pho eq "\x8E"||$pho eq "\x8F"||$pho eq "\x90"){AudRecog()} #2017-12-26 if ($pho eq "\x91"||$pho eq "\x92"||$pho eq "\x93"){AudRecog()} #2017-12-26 if ($pho eq "\x94"||$pho eq "\x95"||$pho eq "\x96"){AudRecog()} #2017-12-26 if ($pho eq "\x97"||$pho eq "\x98"||$pho eq "\x99"){AudRecog()} #2017-12-26 if ($pho eq "\x9A"||$pho eq "\x9B"||$pho eq "\x9C"){AudRecog()} #2017-12-26 if ($pho eq "\x9D"||$pho eq "\x9E"||$pho eq "\x9F"){AudRecog()} #2017-12-26 } # 2017-03-15: end of test for time-point beyond MindBoot vault. if ($audpsi > 0) { # 2017-03-15: if there is a recognized audpsi if ($t > $vault) { # 2017-03-15: during normal time beyond MindBoot vault... my @aud=split(',',$ear[($t-1)]); # 2017-10-25: look at penultimate row # 2017-03-16: above line yields $aud[0] $aud[1] $aud[2] $ear[$t-1] = "$aud[0],$aud[1],$audpsi"; # 2017-10-20: store just prior to 32=SPACE. if ($aud[0] eq chr(83)) { # 2018-09-16: if word ends in 83=S like a plural... my @aud=split(',',$ear[($t-2)]); # 2018-09-16: go back one line earlier. # 2018-09-16: above line yields $aud[0] $aud[1] $aud[2] $ear[$t-2] = "$aud[0],$aud[1],$audpsi"; # 2018-09-16: store back one space. } # 2018-09-16: end of test for "S" possibly indicating an inflection. } # 2017-03-15: end of test for time past "vault" of MindBoot. } # 2017-03-15: end of test for recognized word. } # 2017-03-15: AudMem() returns to AudInput().
5. Troubleshooting and Debugging AudMem
5.1.a. Symptom: (Something goes wrong.)
5.1.b. Solution: (AI Mind
Maintainer devises solution.)
6.
Variables for the AudMem Auditory Memory Mind-Module
$audpsi -- concept number of word in @ear auditory memory array.
$pho --
a "phoneme" or character of auditory input.
$pov -- point-of-view: 1=self; 2=dual; 3=alien. When pov=1, the word "you" is somebody in the external word. When pov=2, the word "you" refers to the self-concept "I" in the AI. When pov=3, the word "you" is interpreted as part of a conversation by a third-party or as a word in a text, not referring to the self-concept of either the AI or of someone talking to the AI.
$t -- lifetime Ghost AI experiential time "$t"
$vault -- size of MindBoot() sequence in time-points.
AudMem will eventually have to work with true acoustic phonemes.
Roadmap to Artificial Intelligence
http://mind.sourceforge.net/audstm.html
http://www.scholarpedia.org/article/Memory
9.
AiTree of the Strong AI Mind Cognitive Architecture


RegenX Project - The situation
THE SITUATION
The task was to research a new project created by doctors of the University of Harvard in which they are developing a technique to grow tissue artificially that could save lives in a close future. The challenge? To create a logo and some deliverables that would promote their brand to raise awareness and donations for the project.
RegenX Project - The solution
THE SOLUTION
The result is a solid style guide for the brand that would let them grow with concise styling, a brochure that would educate people who don’t know about their project yet and a video for educational purposes as well. Some of the assets utilized in this project were created in Cinema4D.


{% extends "main.html" %} {% block content %} {% include "header.html" %}
N3C members please use NCATS UNA to log in. Login with GitHub is disabled.


intervention motivational children care primary study body obesity physical group activity childhood treatment using {border-style px;} #ffffff;} health mass clinical control pediatricians family BMI Institut blood interventions interview therapists assess index pediatric reference (CAP Català age assessed changes child food nurses use visit Salut); performed training trial Health baseline carotid families participants received review treat weight Clin.  Obemat. Study Treatment adherence change collab: considered design diet different end font-size https://orcid.org/--- included increase monitor multicomponent obese obesity, parents professionals program reported sessions used usual visits, years Am. Body Figure Furthermore, Hospital Table [], and/or data degree double; eHealth effect effective efficacy following groups healthy lifestyle main means models obtained software specific support time treatment, visits (mg/dL), Child. Childhood Cole Fat Ferré Intervention June M.S. Pediatric Pediatrics Weight adolescent assessment attendance available behavior border-color border-width child’s circumference consisted designed device energy free lack lose mineral motivation nurse outcomes participate participation patients pediatrician printed registered regular secondary solid; took trained volume weight, workshops {font-style {font-weight (BMI) (Hospital (kg), BCU Development Management March Mass Medical Pediatr. Prevention Research Reus, Review Secondary Software Spain Systematic T.J. Tanner Tarragona Tarragona, Using World able according achieve additional aim barriers based beginning bold bone compared concluded cooking coordinated courier; del did diet, dietary difference eating em; figure followed height home hospital including information intervention, investigators left level measure measurements monthly months obesity. overall patient perception personnel place positive possible problems, provided providers providing pt;} published receiving recommendations recommended recruitment reductions risk role samples score), sedentary settings similar size specialized standard started statistical structure study. systematic test therapy, values variables visit. waist wearable


species OpenUrl regional Carabus phylogenetic Pleistocene niche regions (i.e. CrossRef distribution matrix Science pools processes similarity used environmental evolutionary module node faunas range European Web effects southern Calatayud Fig. co-occurrence dispersal geographical nodes probability spatial (see different region similarities cells function using associated climate climatic connectivity grid northern Hortal S). occurrence results structure Ecology historical ice model models modules Biology breakpoint patterns related relationship Finally, analysis ancestral correspond current descendant diversity events glacial network similar (e.g. Abstract Evolution barriers distances explained higher hypothesis line pairwise Biogeography Europe Turin community evolution generalized including large marginal molecular package ranges regions. showed speciation Joaquín Rodríguez Text according calculated changes conducted configuration dynamics faunas. formation genus importance multiple new phylogenies phylogeny regions, sequence species, transition FREE Search Then, age analyses data derived diversification ecological evidence glaciations history independently influence lineages local mainly matrices matrix. modularity number post-Pleistocene regression richness sheet significant strong structuration study topographical <;sup>;th<;/sup>; (H) (available Departamento Madrid, Thus, alignment based change coincidence colours deviance estimation explanatory generated geographic grouped habitat high identify main overlap potential pre-Pleistocene probabilities refugia shaped showing signal site species. state Casale Ciencias Diniz-Filho Download Europe. Glacial Hórreo Module Molecular National Open Phylogenetic Pleistocene. Proceedings Sciences Scientific Spain. Trends University areas b). complex composition conditions configuring detection determinants distance distributional expected factors finding geographically geophysical identified included index lead low networks. null origin partial point post-glacial recent regressions scales signals submodules. subsequent temporal total variables water (median Academy American Appendix Bioinformatics Carpathian Deuve Figure GAMM GeoRef Global Hortal, However, Jose LGM Leo Luís María Maximum Miguel Molina-Vengas Penev Rafael Regional Results Ricklefs Ricklefs, Skov Sonnhammer Statistical Svenning Table USA Wallace a). account algorithm analyses. approach area assess bars binomial biogeography biotas black calibration capacity case, cell central climates. conservatism constrained corresponds dashed data-hide-link-title=""> data-icon-position="" data. dataset dating deciduous depict depicts despite determined disentangle distributions divided dotted effect figure following forest, general geological hand, having https://doi.org/./ hypothetical implemented independent inhabiting internal joint lack largely likely limit lines north observed ones percentile percentiles piecewise pools. primacy regions) remaining sheets so, suggests supported tab time tree unrelated values version zone zones Ángel


{% extends "Resources/views/layout.twig.html" %} {% block content %}
Check the source code of this project
Your timeline is empty.


| Phase 1 - preclinical |
No clinical signs or symptoms |
PD-specific pathology assumed to be present |
Supported by biomarkers (genetic, molecular, and/or imaging) |
| Phase 2 - prodromal |
Early nonmotor symptoms±early subtle motor symptoms |
Extranigral PD pathology (Braak stages 1 and 2)±nigral PD pathology (<40–60% cell loss; Braak Stage 3) |
Criteria yet to be defined based on clinical motor and nonmotor markers and nonclinical biomarkers. Two levels of certainty have been proposed [
19]: Probable prodromal PD (high likelihood, e.g., >80% ; sufficiently certain for neuroprotective trials) and possible prodromal PD (lower, but still substantial likelihood, e.g., 30% –80%)
|
| Phase 3 - motor |
Classical motor manifestations are present |
Nigral PD pathology (>40–60% cell loss; Braak stages 3 to 6) |
Current clinical diagnostic criteria based on motor syndrome are met;±a variety on nonmotor symptoms may be present due to the extension of PD pathology |


Isar735.github.io
20 Creative Writing Careers Writing Forward.
How It Works – Online Writing Jobs Freelance Content.
The 20 Best Jobs for People who Love to Travel WORLD. Find Jobs for Writers! The Write Jobs from Writers Write, Inc. offers writing job listings in Freelance Writing, Journalism, Media, Publishing, Technical and Medical.
This unique four-year combined degree in laws and creative writing provides graduates with clear professional pathways as both legal and writing practitioners.
Creative Writing Summer Programme Institute. Newcomers with the writing bug are often surprised to learn just how many paths there are to choose from in the writing field. Some jobs pay well. Online Writing Jobs Benefits: No Boss, No Noisy Alarm Clocks, and Definitely No Schedules! You make your own decisions. There are no unrealistic deadlines.
37 Freelance Writing Jobs for Beginners with No Experience.
Creative Ways to Improve Your Resume Monster.com. The Best Free Online Writing Courses for Creative Writers. Creative jobs that are high paying - Business Insider. 3 creative writing careers that actually.
Online Freelance Writing + Editing Jobs - Academic, Business. Individuals searching for Careers in Writing That Pay Well found the following related articles, links, and information useful. Check out 32 fun jobs that pay well, and find career possibilities that you probably haven't considered before. Avoid a boring professional life by exploring. The Time Is Now - Weekly writing prompts for poetry. Creative Ways to Improve Your Resume Stuck in a Resume Rut? Here's How to Review and Revise with Fresh. The Best-Paid Writing Jobs Chron.com. The Epistolary Novel, a Creative Writing Style for Novelists.
Have you ever bothered to look at the creative writing careers that are available? Browse these job possibilities, and then go out there and make it happen. Weekly writing prompts in poetry, fiction, and creative nonfiction for poets and fiction writers. 32 Fun Jobs That Pay Well Find a Career Students who searched for Creative Jobs that Pay Well found the articles, information, and resources on this page helpful. Canadian Freelance Writing Jobs Jobs for Canadian Writers.
Here are 3 creative writing careers that actually pay. Felicia chose a creative writing career that actually Finding the highest paying writing jobs;.
Apply as a freelance writer today and let Online Writing Jobs bring the writing work to you. Become an official Online Writing Jobs freelancer and take advantage. This programme builds on a rich literary tradition at Cambridge and is designed for those wishing to develop their existing writing skills, either for professional.
Creative writing jobs that pay well - Nähfrosch.
A High-Paying Job Ideal For Creative Writers. high pay, a flexible schedule There are dozens—if not hundreds—of well-paid writing projects available.
Creative jobs are out that place high importance on thinking creatively and pay an average annual sets as well as special exhibits. MFA Programs Database Poets Writers. 10 Online Gold Mines for Finding Paid Freelance Writing. The Best Free Online Writing Courses for Creative Writers, Fiction, and Nonfiction. 0 comments.
Writing Jobs at The Write Jobs - Writers Write: Books. 10 Unusual Jobs That Pay Surprisingly Well - Forbes. Studying Creative Writing will equip you with an adaptable set of skills that can give entry to a vast range of occupations and career directions. The 20 best jobs for people who love to travel features a list of the best jobs for travellers to travel Want freelance writing jobs? bad compared to the pittance most jobs pay. this post and some of the other ones as well about freelance writing. Online Writing Jobs Freelance Content Writing.
Here's a list of writing jobs and pay rates for freelance writers, plus how I earned $35,000 my first year of full-time freelance writing for magazines. Creative writing jobs that pay well - Instead of wasting time in inefficient attempts, get professional assistance here Opt for the service, and our professional. SCU - Bachelor of Laws and Creative Writing Online Writing Jobs needs talented freelance SEO content writers, copywriters, bloggers, and subject matter experts to create great content and fulfill.
Online application for freelance writers. Our writing jobs application requires you to pay nothing up front, unlike other organizations. If you have the ability. 99+ Paid Writing Gigs and Opportunities. Essay Writing Service From Vetted Writers - GradeMiners.  Complete confidentiality. Zero plagiarism. Affordable pricing. Turnaround from 3 hours.
This degree offers a stimulating and wide-ranging introduction to English literature and creative writing. You’ll have the opportunity to study.
BA (Honours) English Literature and Creative Writing.
Writing Jobs - How To Get Paid To Write Online. A802 - MA Creative Writing part 1 - Open University Course. A High-Paying Job Ideal For Creative Writers - Writer. Academia-research.com - Online Writing Jobs for Freelancers. You don't have to be a doctor, lawyer, or CEO to pull in six figures a year. As it turns out, there are plenty of unusual jobs that pay surprisingly. Freelance Writing Pay Rates for Newspaper and Magazine. Epistolary novels can be monologic, which means they focus exclusively on the letters or diary entries of one character, which can evoke dramatic moods.
Do you want to work from home as a writer? Here are some of the best types of paid writing gigs, where Freelance writer jobs for writers of all levels. Great opportunities for freelance writers looking for well-paid job. Work from home and earn money easily. You don t have to be a doctor, lawyer, or CEO to pull in six figures a year. As it turns out, there are plenty of unusual jobs that pay surprisingly.
Creative Jobs that Pay Well - Study.com. Are you looking for Freelance Writing Jobs? Nerdyturtlez.Com is one stop solutions for all kind of Freelance Academic Writing Jobs for professional writers. Careers in Writing That Pay Well - Study.com. Find details about every creative writing competition—including poetry contests, short story competitions, essay contests, awards for novels, grants for translators. NerdyTurtlez - Freelance Writing Jobs Online Academic.
As a content writer for Rough Maps you will be responsible for writing awesome lists, stories and editorials for our website roughmaps.com. This is a fantastic.


Alleged Fraud: EFCC Hits Mompha With 14-count Charge
by Donatus AnichukwuezeThe Economic and Financial Crimes Commission (EFCC) has slammed a 14 charge of alleged fraud and money laundering against internet celebrity, Ismaila Mustapha, popularly known as Mompha.
The anti-graft agency said it will arraign Mompha before Justice Mohammad Liman of the Federal High Court, Ikoyi Lagos on Monday, November 25.
The EFCC, in the first charge, said that between 2015 & 2018, Mompha procured Ismalob Global Investment Ltd to retain the sum of N18m in its account, a sum suspected to be proceeds of crime.
Mompha had yesterday filed a Fundamental Rights Enforcement Suit before the Lagos High Court to challenge his continued detention by the EFCC.
The internet celebrity asked the court to award him N5m in damages against the EFCC for what he called his unlawful detention.


Figure
5.6.11
.
Countries in the world, sorted by their per capita CO2 emissions in tons of CO2 per person. Data from
[<IP_ADDRESS>]
.
Image Description 3
.
in-context


val birthdate: String?
The user’s date-of-birth. This field is only available when the current user has granted access to the SpotifyScope.USER_READ_BIRTHDATE scope.
birthdate
- The user’s date-of-birth. This field is only available when the current user
has granted access to the SpotifyScope.USER_READ_BIRTHDATE scope.


RFM (recency, frequency, monetary) analysis is a behavior based technique used to segment customers by examining their transaction history such as
It is based on the marketing axiom that 80% of your business comes from 20% of your customers. RFM helps to identify customers who are more likely to respond to promotions by segmenting them into various categories.
To calculate the RFM score for each customer we need transaction data which should include the following:
rfm
includes a sample data set rfm_data
which includes the above details:
## # A tibble: 4,906 x 3
## customer_id order_date revenue
## <chr> <date> <dbl>
## 1 Mr. Brion Stark Sr. 2004-12-20 32
## 2 Ethyl Botsford 2005-05-02 36
## 3 Hosteen Jacobi 2004-03-06 116
## 4 Mr. Edw Frami 2006-03-15 99
## 5 Josef Lemke 2006-08-14 76
## 6 Julisa Halvorson 2005-05-28 56
## 7 Judyth Lueilwitz 2005-03-09 108
## 8 Mr. Mekhi Goyette 2005-09-23 183
## 9 Hansford Moen PhD 2005-09-07 30
## 10 Fount Flatley 2006-04-12 13
## # ... with 4,896 more rows
So how is the RFM score computed for each customer? THe below steps explain the process:
A recency score is assigned to each customer based on date of most recent purchase. The score is generated by binning the recency values into a number of categories (default is 5). For example, if you use four categories, the customers with the most recent purchase dates receive a recency ranking of 4, and those with purchase dates in the distant past receive a recency ranking of 1.
A frequency ranking is assigned in a similar way. Customers with high purchase frequency are assigned a higher score (4 or 5) and those with lowest frequency are assigned a score 1.
Monetary score is assigned on the basis of the total revenue generated by the customer in the period under consideration for the analysis. Customers with highest revenue/order amount are assigned a higher score while those with lowest revenue are assigned a score of 1.
A fourth score, RFM score is generated which is simply the three individual scores concatenated into a single value.
The customers with the highest RFM scores are most likely to respond to an offer. Now that we have understood how the RFM score is computed, it is time to put it into practice. Use rfm_table()
to generate the score for each customer from the sample data set rfm_data
.
rfm_table()
takes 8 inputs:
data
: a data set with
customer_id
: name of the customer id columnorder_date
: name of the transaction date columnrevenue
: name of the transaction amount columnanalysis_date
: date of analysisrecency_bins
: number of rankings for recency score (default is 5)frequency_bins
: number of rankings for frequency score (default is 5)monetary_bins
: number of rankings for monetary score (default is 5)analysis_date <- lubridate::as_date("2006-12-31", tz = "UTC")
rfm_result <- rfm_table(rfm_data, customer_id, order_date, revenue, analysis_date)
rfm_result
| customer_id | date_most_recent | recency_days | transaction_count | amount | recency_score | frequency_score | monetary_score | rfm_score |
|---|---|---|---|---|---|---|---|---|
| Abbey O’Reilly DVM | 2006-06-09 | 205 | 6 | 472 | 3 | 4 | 3 | 343 |
| Add Senger | 2006-08-13 | 140 | 3 | 340 | 4 | 1 | 2 | 412 |
| Aden Lesch Sr. | 2006-06-20 | 194 | 4 | 405 | 3 | 2 | 3 | 323 |
| Admiral Senger | 2006-08-21 | 132 | 5 | 448 | 4 | 3 | 3 | 433 |
| Agness O’Keefe | 2006-10-02 | 90 | 9 | 843 | 5 | 5 | 5 | 555 |
| Aileen Barton | 2006-10-08 | 84 | 9 | 763 | 5 | 5 | 5 | 555 |
| Ailene Hermann | 2006-03-25 | 281 | 8 | 699 | 3 | 5 | 5 | 355 |
| Aiyanna Bruen PhD | 2006-04-29 | 246 | 4 | 157 | 3 | 2 | 1 | 321 |
| Ala Schmidt DDS | 2006-01-16 | 349 | 3 | 363 | 2 | 1 | 2 | 212 |
| Alannah Borer | 2005-04-21 | 619 | 4 | 196 | 1 | 2 | 1 | 121 |
rfm_table()
will return the following columns as seen in the above table:
customer_id
: unique customer iddate_most_recent
: date of most recent visitrecency_days
: days since the most recent visittransaction_count
: number of transactions of the customeramount
: total revenue generated by the customerrecency_score
: recency score of the customerfrequency_score
: frequency score of the customermonetary_score
: monetary score of the customerrfm_score
: RFM score of the customerThe heat map shows the average monetary value for different categories of recency and frequency scores. Higher scores of frequency and recency are characterized by higher average monetary value as indicated by the darker areas in the heatmap.
Use rfm_bar_chart()
to generate the distribution of monetary scores for the different combinations of frequency and recency scores.
Use rfm_histograms()
to examine the relative distribution of
The best customers are those who:
Now let us examine the relationship between the above.
Customers who visited more recently generated more revenue compared to those who visited in the distant past. The customers who visited in the recent past are more likely to return compared to those who visited long time ago as most of those would be lost customers. As such, higher revenue would be associated with most recent visits.
As the frequency of visits increases, the revenue generated also increases. Customers who visit more frquently are your champion customers, loyal customers or potential loyalists and they drive higher revenue.
Customers with low frequency visited in the distant past while those with high frequency have visited in the recent past. Again, the customers who visited in the recent past are more likely to return compared to those who visited long time ago. As such, higher frequency would be associated with the most recent visits.
Let us classify our customers based on the individual recency, frequency and monetary scores.
| Segment | Description | R | F | M |
|---|---|---|---|---|
| Champions | Bought recently, buy often and spend the most | 4 - 5 | 4 - 5 | 4 - 5 |
| Loyal Customers | Spend good money. Responsive to promotions | 2 - 5 | 3 - 5 | 3 - 5 |
| Potential Loyalist | Recent customers, spent good amount, bought more than once | 3 - 5 | 1 - 3 | 1 - 3 |
| New Customers | Bought more recently, but not often | 4 - 5 | <= 1 | <= 1 |
| Promising | Recent shoppers, but haven’t spent much | 3 - 4 | <= 1 | <= 1 |
| Need Attention | Above average recency, frequency & monetary values | 2 - 3 | 2 - 3 | 2 - 3 |
| About To Sleep | Below average recency, frequency & monetary values | 2 - 3 | <= 2 | <= 2 |
| At Risk | Spent big money, purchased often but long time ago | <= 2 | 2 - 5 | 2 - 5 |
| Can’t Lose Them | Made big purchases and often, but long time ago | <= 1 | 4 - 5 | 4 - 5 |
| Hibernating | Low spenders, low frequency, purchased long time ago | 1 - 2 | 1 - 2 | 1 - 2 |
| Lost | Lowest recency, frequency & monetary scores | <= 2 | <= 2 | <= 2 |
We can use the segmented data to identify
Once we have classified a customer into a particular segment, we can take appropriate action to increase his/her lifetime value.
Now that we have defined and segmented our customers, let us examine the distribution of customers across the segments. Ideally, we should have very few or no customer in segments such as At Risk
or Needs Attention
.
## # A tibble: 8 x 2
## Segment Count
## <chr> <int>
## 1 Loyal Customers 278
## 2 Potential Loyalist 229
## 3 Champions 158
## 4 Hibernating 111
## 5 At Risk 86
## 6 About To Sleep 50
## 7 Others 48
## 8 Needs Attention 35
We can also examine the average frequency across the different segments. As you can observe, average recency in days is higher for customers in the segments such as Needs Attention
, Hibernating
, At Risk
and About To Sleep
.
rfm_segments %>%
group_by(segment) %>%
select(segment, recency_days) %>%
summarize(mean(recency_days)) %>%
rename(segment = segment, avg_recency = `mean(recency_days)`) %>%
ggplot(aes(segment, avg_recency)) +
geom_bar(stat = "identity", fill = brewer.pal(n = 8, name = "Set1")) +
xlab("Segment") + ylab("Average Recency") +
ggtitle("Average Recency by Segment") +
coord_flip() +
theme(
plot.title = element_text(hjust = 0.5)
)


Genotype concordance between two callsets
This tool takes in two callsets (vcfs) and tabulates the number of sites which overlap and share alleles, and for each sample, the genotype-by-genotype counts (e.g. the number of sites at which a sample was called homozygous-reference in the EVAL callset, but homozygous-variant in the COMP callset). It outputs these counts as well as convenient proportions (such as the proportion of het calls in the EVAL which were called REF in the COMP) and metrics (such as NRD and NRS).
Genotype concordance requires two callsets (as it does a comparison): an EVAL and a COMP callset, specified via the -eval and -comp arguments. Typically, the EVAL callset is an experimental set you want to evaluate, while the COMP callset is a previously existing set used as a standard for comparison (taken to represent "truth").
(Optional) Jexl expressions for genotype-level filtering of EVAL or COMP genotypes, specified via the -gfe and -cfe arguments, respectively.
Genotype Concordance writes a GATK report to the specified file (via -o), consisting of multiple tables of counts and proportions. These tables are constructed on a per-sample basis, and include counts of EVAL vs COMP genotype states.
Headers for the (non-moltenized -- see below) GenotypeConcordance counts and proportions tables give the genotype of the EVAL callset followed by the genotype of the COMP callset. For example the value corresponding to HOM_REF_HET reflects variants called HOM_REF in the EVAL callset and HET in the COMP callset. Variants for which the alternate alleles between the EVAL and COMP sample did not match are excluded from genotype comparisons and given in the "Mismatching_Alleles" field.
It may be informative to reshape rows of the GenotypeConcordance counts and proportions tables into separate row-major tables where the columns indicate the COMP genotype and the rows indicate the EVAL genotype for easy comparison between the two callsets. This can be done with the gsa.reshape.concordance.table function in the gsalib R library. In Excel this can be accomplished using the OFFSET function.
For strictly bi-allelic VCFs, only the ALLELES_MATCH, EVAL_ONLY, TRUTH_ONLY fields will be populated, but where multi-allelic sites are involved counts for EVAL_SUBSET_TRUTH and EVAL_SUPERSET_TRUTH will be generated.
For example, in the following situation
eval: ref - A alt - C comp: ref - A alt - C,Tthen the site is tabulated as EVAL_SUBSET_TRUTH. Were the situation reversed, it would be EVAL_SUPERSET_TRUTH. However, in the case where EVAL has both C and T alternate alleles, both must be observed in the genotypes (that is, there must be at least one of (0/1,1/1) and at least one of (0/2,1/2,2/2) in the genotype field). If one of the alleles has no observations in the genotype fields of the EVAL, the site-level concordance is tabulated as though that allele were not present in the record.
A site which has an alternate allele, but which is monomorphic in samples, is treated as not having been discovered, and will be recorded in the TRUTH_ONLY column (if a record exists in the COMP set), or not at all (if no record exists in the COMP set).
That is, in the situation
eval: ref - A alt - C genotypes - 0/0 0/0 0/0 ... 0/0 comp: ref - A alt - C ... 0/0 0/0 ...is equivalent to
eval: ref - A alt - . genotypes - 0/0 0/0 0/0 ... 0/0 comp: ref - A alt - C ... 0/0 0/0 ...
When a record is present in the COMP set the *genotypes* for the monomorphic site will still be used to evaluate per-sample genotype concordance counts.
These tables may be optionally moltenized via the -moltenize argument. That is, the standard table
Sample NO_CALL_HOM_REF NO_CALL_HET NO_CALL_HOM_VAR (...) NA12878 0.003 0.001 0.000 (...) NA12891 0.005 0.000 0.000 (...)would instead be displayed
NA12878 NO_CALL_HOM_REF 0.003 NA12878 NO_CALL_HET 0.001 NA12878 NO_CALL_HOM_VAR 0.000 NA12891 NO_CALL_HOM_REF 0.005 NA12891 NO_CALL_HET 0.000 NA12891 NO_CALL_HOM_VAR 0.000 (...)
java -jar GenomeAnalysisTK.jar \ -T GenotypeConcordance \ -R reference.fasta \ -eval test_set.vcf \ -comp truth_set.vcf \ -o output.grp
These Read Filters are automatically applied to the data by the Engine before processing by GenotypeConcordance.
All tools inherit arguments from the GATK Engine' "CommandLineGATK" argument collection, which can be used to modify various aspects of the tool's function. For example, the -L argument directs the GATK engine to restrict processing to specific genomic intervals; or the -rf argument allows you to apply certain read filters to exclude some of the data from the analysis.
This table summarizes the command-line arguments that are specific to this tool. For more details on each argument, see the list further down below the table or click on an argument name to jump directly to that entry in the list.
| Argument name(s) | Default value | Summary | |
|---|---|---|---|
| Required Inputs | |||
| --comp |
NA | The variants and genotypes to compare against | |
| --eval |
NA | The variants and genotypes to evaluate | |
| Required Flags | |||
| --moltenize |
false | Molten rather than tabular output | |
| Optional Outputs | |||
| --out -o |
stdout | An output file created by the walker. Will overwrite contents if file exists | |
| Optional Parameters | |||
| --genotypeFilterExpressionComp -gfc |
[] | One or more criteria to use to set COMP genotypes to no-call. These genotype-level filters are only applied to the COMP rod. | |
| --genotypeFilterExpressionEval -gfe |
[] | One or more criteria to use to set EVAL genotypes to no-call. These genotype-level filters are only applied to the EVAL rod. | |
| --printInterestingSites -sites |
NA | File to output the discordant sites and genotypes. | |
| Optional Flags | |||
| --ignoreFilters |
false | Filters will be ignored |
Arguments in this list are specific to this tool. Keep in mind that other arguments are available that are shared with other tools (e.g. command-line GATK arguments); see Inherited arguments above.
The variants and genotypes to compare against
The callset you want to treat as 'truth'. Can also be of unknown quality for the sake of callset comparisons.
This argument supports reference-ordered data (ROD) files in the following formats: BCF2, VCF, VCF3
R RodBinding[VariantContext] NA
The variants and genotypes to evaluate
The callset you want to evaluate, typically this is where you'd put 'unassessed' callsets.
This argument supports reference-ordered data (ROD) files in the following formats: BCF2, VCF, VCF3
R RodBinding[VariantContext] NA
One or more criteria to use to set COMP genotypes to no-call. These genotype-level filters are only applied to the COMP rod.
Identical to -gfe except the filter is applied to genotypes in the comp rod.
ArrayList[String] []
One or more criteria to use to set EVAL genotypes to no-call. These genotype-level filters are only applied to the EVAL rod.
A genotype level JEXL expression to apply to eval genotypes. Genotypes filtered in this way will be replaced by NO_CALL.
For instance: -gfe 'GQ<20' will set to no-call any genotype with genotype quality less than 20.
ArrayList[String] []
Filters will be ignored
The FILTER field of the eval and comp VCFs will be ignored. If this flag is not included, all FILTER sites will
be treated as not being present in the VCF. (That is, the genotypes will be assigned UNAVAILABLE, as distinct
from NO_CALL).
boolean false
Molten rather than tabular output
Moltenize the count and proportion tables. Rather than moltenizing per-sample data into a 2x2 table, it is fully
moltenized into elements. That is, WITHOUT this argument, each row of the table begins with the sample name and
proceeds directly with counts/proportions of eval/comp counts (for instance HOM_REF/HOM_REF, HOM_REF/NO_CALL).
If the Moltenize argument is given, the output will begin with a sample name, followed by the contrastive genotype
type (such as HOM_REF/HOM_REF), followed by the count or proportion. This will significantly increase the number of
rows.
boolean false
An output file created by the walker. Will overwrite contents if file exists
PrintStream stdout
File to output the discordant sites and genotypes.
Print sites where genotypes are mismatched between callsets along with annotations giving the genotype of each callset
to the given filename
PrintStream NA


Master
AstroDate 0.7.10
Graham Fairweather<EMAIL_ADDRESS>Still very much work in progress, so there are bugs and the API has not been fully defined (or documented) and is subject to major changes.
The idea behind the project is to not rely on Javascript's rather flaky Date
object, give better accuracy, flexibility and be cross-browser.
Besides the standard Gregorian calendar, the Julian calendar is also available. This allows for AstroDate to be used in astronomical calculations. A set of routines will be made available for changing between systems and methods for obtaining Julian Day Numbers, Julian Dates, Modified Julian Dates, Delta Time and Terestrial Time etc.
For dates beyond the normal Date
range and Javascript's limited number arithmetic, it is necessary to do the Math using arbitrary-precision arithmetic,
BigNumber.js is the library chosen for this.
Both calendars can be extrapolated to dates prior to their first adoption and hence are a Proleptic Gregorian calendar and Proleptic Julian Calendar.
AstroDate includes an ISO 8601 parser as one means of setting the date and time, other methods will be available, ie. using an Array and Object of discrete values.
As with ISO 8601 and the Proleptic calendars, Astronomical year numbering will be used for input and so have a year zero. Outputs may be formated to use either Astronomical year numbering or Calendar Era numbering, ie. BC/AD.
It is not intended for AstroDate to be a generic date parser and handle formats like 13/10/12
. Though in future it will be possible to develop addons to do this.
Times beginning 1961 will be assumed to be UTC before this it is assumed to be Universal Time, specifically UT1.
You can see AstroDate in use (jsFiddle) to get an idea of how things are currently functioning until the API and documentation are standardised.
CLDR Languages available.
- ar
- ca
- cs
- da
- de
- el
- en
- en_AU
- en_CA
- en_GB
- en_HK
- en_IN
- es
- fi
- fr
- he
- hi
- hr
- hu
- it
- ja
- ko
- nb
- nl
- pl
- pt
- pt_PT
- ro
- root
- ru
- sk
- sl
- sr
- sv
- th
- tr
- uk
- vi
- zh
- zh_Hant
The defaut language is 'en'.
Once loaded use AstroDate.lang('en');
to set the default application language, or change a particular instance new AstroDate().lang('en-GB');
CLDR locale modifiers
Loaded languages may be modified for locale, use AstroDate.locale('sr_ME');
to set the default application locale, or change a particular instance new AstroDate().locale('sr_RO');
toString
methods
By default .toString()
, .toDateString()
and .toTimeString()
use 'full'
locale format, options are 'full'
, 'long'
, 'medium'
and 'short'
.
.toISOString()
has no modifiers and will produce a standard ISO 8601 time-stamp string, ie. 1972-07-01T00:00:00.000Z
Pattern formatting
.format("YYYY'-W'ww'-'E")
// 2013-W46-3
Date and time formats are specified by date and time pattern strings. Within date and time pattern strings, all unquoted ASCII letters [A-Za-z] are reserved as pattern letters representing calendar fields.
astrodate
supports the date and time formatting algorithm and pattern letters defined by UTS#35 Unicode Locale Data Markup Language (LDML)
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.
A pattern containing any invalid pattern letter will result in a thrown exception during formatting.