<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Hi Alexander
<div><br>
</div>
<div>Excellent idea, thanks!</div>
<div>But I don't find that the Entity definitions are available in db. E.g., your last line would error with</div>
<div><br>
</div>
<div>
<div>AttributeError: 'Database' object has no attribute '<span style="font-size: 13px; ">Entity1</span>'</div>
<div><br>
</div>
<div>And I looked inside all of db's attributes, and didn't find it.</div>
<div><br>
<div>
<div>On Dec 11, 2014, at 3:30 PM, Alexander Kozlovsky <<a href="mailto:alexander.kozlovsky@gmail.com">alexander.kozlovsky@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">Ok, I understand now. I suggest you to use the following pattern:<br>
<br>
It is possible to define entities inside a function. Currently you place entity definitions in modules: <span style="font-size:13px">moduleDefineEntitys1, </span><span style="font-size:13px">moduleDefineEntitys2, etc. But inside each module you can write a
function which will accept db object as a parameter and define entities for that db object. Then the application structure will look like this:<br>
<br>
entities1.py - some of entities defined here inside define_entities() funciton:<br>
<br>
def define_entities(db):<br>
<br>
class MyEntity1(db.Entity):<br>
a = Required(int)<br>
b = Required(int)<br>
<br>
class MyEntity2(db.Entity):<br>
c = Required(int)<br>
d = Required(int)<br>
<br>
entities2.py</span><span style="font-size:13px"> - other entities defined here inside define_entities() funciton:</span><span style="font-size:13px"><br>
<br>
def define_entities(db)<br>
<br>
</span><span style="font-size:13px"> class MyEntity3(db.Entity):</span><br style="font-size:13px">
<span style="font-size:13px"> e = Required(int)</span><br style="font-size:13px">
<span style="font-size:13px"> f = Required(int)</span><br style="font-size:13px">
<br style="font-size:13px">
<span style="font-size:13px"> class MyEntity4(db.Entity):</span><br style="font-size:13px">
<span style="font-size:13px"> g = Required(int)</span><br style="font-size:13px">
<span style="font-size:13px"> h = Required(int)</span><br style="font-size:13px">
<span style="font-size:13px"><br>
</span><span style="font-size:13px">all_entities.py </span><span style="font-size:13px"> - this module define all entities inside define_entities() function:</span><span style="font-size:13px"><br>
<br>
import entities1, entities2<br>
<br>
def define_entities(db):<br>
entities1.define_entities(db)<br>
entities2.define_entities(db)<br>
<br>
geneticDBMScommon.py - contains `connect` function as in you current code:<br>
<br>
from pony.orm import *<br>
from all_entities import define_entities<br>
<br>
def connect(...):<br>
db = Database() # create new database object<br>
define_entities(db) # define entities for this database<br>
db.bind(...) # bind this database<br>
...<br>
return db<br>
<br>
some_program.py - command line program which uses `connect` function:<br>
<br>
from pony.orm import *<br>
from geneticDBMSCommon import Connect<br>
<br>
db = Connect(...) # get new database object<br>
theDB.db = db # store db object to global variable if necessary<br>
<br>
with db_session: # process data<br>
result = select(e for e in db.Entity1)<br>
<br>
<br>
We use similar approach when writing pony.orm tests. Hope it will work for you.<br>
<br>
Regards,<br>
Alexander<br>
<br>
<br>
</span>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Dec 11, 2014 at 9:30 PM, Goldberg, Arthur P <span dir="ltr">
<<a href="mailto:arthur.p.goldberg@mssm.edu" target="_blank">arthur.p.goldberg@mssm.edu</a>></span> wrote:
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word">Thanks AK!
<div><br>
</div>
<div>but that doesn't quite work. </div>
<div>Here's my basic pattern, reusing general purpose functionality and separating entity declarations from dbms applications.</div>
<div>
<div><br>
</div>
<div>One module creates the database handle: theDB.py:</div>
</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>
<div>from pony.orm import *</div>
</div>
<div>
<div>db = Database()</div>
</div>
</blockquote>
<div><br>
</div>
<div>Multiple modules define Entitys; they all say:</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>
<div>from pony.orm import *</div>
</div>
<div>
<div>import theDB</div>
</div>
<div>
<div>class IDcategory(theDB.db.Entity):</div>
</div>
<div> ...</div>
<div>
<div>class ID(theDB.db.Entity):</div>
</div>
<div>
<div> ...</div>
</div>
</blockquote>
<div>
<div></div>
</div>
<div>
<div><br>
</div>
<div>One module establishes connections to a database: </div>
</div>
<div>geneticsDBMScommon.py:</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>
<div>from pony.orm import *</div>
</div>
<div>
<div>import theDB</div>
</div>
<div>
<div><br>
</div>
</div>
<div>
<div>
<div>from moduleDefineEntitys1 import *</div>
<div></div>
</div>
</div>
<div>
<div>from moduleDefineEntitys2 import *</div>
<div>...</div>
<div></div>
<div><br>
</div>
</div>
</blockquote>
<div>Many modules (command line programs) that look like:</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>
<div>from geneticsDBMScommon import *</div>
</div>
<div>from moduleDefineEntitys1 import *</div>
<div>
<div>if __name__ == "__main__":</div>
</div>
</blockquote>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>Connect( dbms, ... )</div>
</blockquote>
</blockquote>
<div><br>
</div>
<div>(I shouldn't say 'import *' so much.)</div>
<div>Overall, calls need to happen in this order:</div>
<div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>from pony.orm import *</div>
<div>db = Database()</div>
<div>
<div>class IDcategory(theDB.db.Entity): # using the singleton Database handle</div>
<div> ...</div>
<div>theDB.db.bind( ...)</div>
<div>theDB.db.generate_mapping( )</div>
<div># optionally drop tables</div>
<div>
<div>theDB.db.create_tables()</div>
</div>
<div># use theDB.db</div>
<div></div>
</div>
</blockquote>
</div>
<div><br>
</div>
<div>I cannot put</div>
<div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>theDB.db = Database()</div>
</blockquote>
at the top of Connect() because we get "Mapping is not generated for entity" errors.</div>
<div>But, to disconnect(), everything needs to begin again with db = Database(). So it seems that a single command line program must restart to change the database it is using.</div>
<div><br>
</div>
<div>I think that to fix this I need to get rid of theDB.py and have geneticsDBMScommon.py dynamically do:</div>
<div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>db = Database()</div>
<div>from moduleDefineEntitys1 import *</div>
<div><br>
</div>
<div>...</div>
<div><br>
</div>
</blockquote>
but I need to work on other things now ...</div>
<div><br>
</div>
<div>thanks again</div>
<div><br>
</div>
<div>A</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div>
<div>On Dec 11, 2014, at 11:13 AM, Alexander Kozlovsky <<a href="mailto:alexander.kozlovsky@gmail.com" target="_blank">alexander.kozlovsky@gmail.com</a>> wrote:</div>
<blockquote type="cite">
<div>
<div class="h5">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hi Arthur!<br>
<br>
</div>
Now I get your problem.<br>
<br>
</div>
The `disconnect` method does not reverse what `bind` and `generate_mapping` methods do. Once the Database object is binded to specific physical database, it cannot be unbinded. But you can create new database object instead of the previous one. Also, it is
possible to have several database objects at once.<br>
<br>
</div>
To solve your problem, just place the next line at the top of your `Connect` method:<br>
<br>
</div>
theDB.db = Database()<br>
<br>
</div>
This way you will create new db object each time you call `Create` method.<br>
<br>
<div>
<div>The `disconnect` method is just optimization which allows the program to drop connection to previous database server and to garbage-collect previous db object.<br>
</div>
<div><br>
</div>
<div>By the way, it is not necessary to have `theDB` class inside of your `theDB` module. In Python, each module is already a Singleton instance.Because of this, you can just place `db = Database()` right into your `theDB` module itself. Then your need to replace
`from theDB import *` to `import theDB` in all of your modules, and all should work as before.<br>
</div>
<div><br>
<div class="gmail_extra"><br>
Regards,<br>
</div>
<div class="gmail_extra">A.K.<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Dec 11, 2014 at 5:54 PM, Goldberg, Arthur P <span dir="ltr">
<<a href="mailto:arthur.p.goldberg@mssm.edu" target="_blank">arthur.p.goldberg@mssm.edu</a>></span> wrote:
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>
<div style="word-wrap:break-word">Hi Alexander
<div><br>
</div>
<div>Thanks! Yes, your simple program works.</div>
<div>As far as I know, I'm using 1 thread, and I'd like to switch between different dbmses. </div>
<div>Basically, I'm using</div>
<div>bind()</div>
<div>generate_mapping()</div>
<div>disconnect()</div>
<div>
<div>bind()</div>
</div>
<div><br>
</div>
<div>and getting </div>
<div>
<div>TypeError: Database object was already bound to MySQL provider</div>
</div>
<div>on the 2nd bind().</div>
<div><br>
</div>
<div>Here's a bit of my code.</div>
<div>test program t.py</div>
<div>the connection manager, geneticsDBMScommon.py</div>
<div>a shared singleton database handle, theDB.py</div>
<div>geneticsSubjects and geneticsClasses just define classes.<br>
<br>
</div>
<div>I can simplify the example if you like.</div>
<div><br>
</div>
<div>A</div>
<div><br>
</div>
<div></div>
</div>
<div style="word-wrap:break-word">
<div></div>
</div>
<div style="word-wrap:break-word">
<div></div>
<div></div>
</div>
<div style="word-wrap:break-word">
<div></div>
<div><br>
</div>
<div><br>
<div>
<div>
<div>
<div>On Dec 10, 2014, at 6:06 PM, Alexander Kozlovsky <<a href="mailto:alexander.kozlovsky@gmail.com" target="_blank">alexander.kozlovsky@gmail.com</a>> wrote:</div>
<br>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">
<div>
<div>Hi Arthur!<br>
<br>
</div>
<div>For what purpose do you want to use `disconnect` method? I'm not sure I correctly understand what example you want to see, but the simplest example of `disconnect` method is this:<br>
</div>
<div><br>
</div>
from pony.orm import *<br>
<br>
db = Database('mysql', host="myhost", user="me", passwd="123", db="mydb")<br>
<br>
class Person(db.Entity):<br>
name = Required(str)<br>
<br>
db.generate_mapping(create_tables=True)<br>
<br>
with db_session:<br>
p1 = Person(name='John')<br>
<br>
db.disconnect()<br>
<br>
</div>
<br>
The disconnect method works for current thread only. It releases connection to the server which db object holds in its connection pool.<br>
<div><br>
</div>
<div>This method should be called outside of any db session.<br>
</div>
<div><br>
</div>
<div>If you application is multi-threaded and you want to disconnect your db object from the database, the you need to call `disconnect` method from each thread in which you have worked with the entities of this db object.<br>
</div>
<div><br>
<br>
</div>
<div>Regards,<br>
</div>
<div>Alexander Kozlovsky<br>
</div>
<div><br>
</div>
</div>
<div><br>
<div>On Wed, Dec 10, 2014 at 5:39 AM, Goldberg, Arthur P <span dir="ltr"><<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__mailto-3Aarthur.p.goldberg-40mssm.edu&d=AAMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=MdhUTa5GEj8B5HsquznH3IF3hQvAX2z34nrPC35Fbqc&s=ct-V7Z7acRopVeskia8UT4P3-cU9cGjInrFDZss0TLk&e=" target="_blank">arthur.p.goldberg@mssm.edu</a>></span>
wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word">Hi Guys
<div><br>
</div>
<div>Could you please show an example with disconnect()? I'm using a couple of dbmses in one SQL server, and getting </div>
<div>
<div>Database object was already bound to MySQL provider</div>
<div>Sorry, I'm too rushed to debug carefully.</div>
<div><br>
</div>
<div>Yhanks</div>
<div>A</div>
<div><br>
</div>
<div><br>
<div>
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">
<span style="border-collapse:separate;border-spacing:0px">
<div style="word-wrap:break-word"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word">
<div style="word-wrap:break-word">
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
---</div>
<div> </div>
<div>Arthur Goldberg
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
Associate Professor of Psychiatry</div>
<div>Seaver Autism Center and Icahn Institute for Genomics & Multiscale Biology</div>
<div>Icahn School of Medicine at Mount Sinai</div>
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
Seaver Center, Room ABE-33</div>
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
212-241-4229<br>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__mailto-3AArthur.Goldberg-40mssm.edu&d=AAMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=MdhUTa5GEj8B5HsquznH3IF3hQvAX2z34nrPC35Fbqc&s=zyJFM3R79vy0YD4o6VWXoHEs0OQXaiwdQ3nrXfBIBN8&e=" target="_blank">Arthur.Goldberg@mssm.edu</a></div>
</div>
</div>
<div>Follow us on Twitter <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__twitter.com_IcahnInstitute&d=AAMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=MdhUTa5GEj8B5HsquznH3IF3hQvAX2z34nrPC35Fbqc&s=b8XJr7NW4WKs0NkKVXPX5Ua1nTWBMEFE6nwzM3mLer0&e=" target="_blank">@IcahnInstitute</a></div>
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
<br>
</div>
</div>
</div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</div>
</div>
<br>
<br>
</div>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
ponyorm-list mailing list<br>
<a href="mailto:ponyorm-list@ponyorm.org" target="_blank">ponyorm-list@ponyorm.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AAMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=MdhUTa5GEj8B5HsquznH3IF3hQvAX2z34nrPC35Fbqc&s=EqprhF2xxCO00Y6lH7LjUW0WmnyegTuf-EW5kECRTA8&e=" target="_blank">/ponyorm-list</a><br>
<br>
</blockquote>
</div>
<br>
</div>
_______________________________________________<br>
ponyorm-list mailing list<br>
<a href="mailto:ponyorm-list@ponyorm.org" target="_blank">ponyorm-list@ponyorm.org</a><br>
</div>
</div>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AAIGaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=MdhUTa5GEj8B5HsquznH3IF3hQvAX2z34nrPC35Fbqc&s=EqprhF2xxCO00Y6lH7LjUW0WmnyegTuf-EW5kECRTA8&e=" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AAIGaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=MdhUTa5GEj8B5HsquznH3IF3hQvAX2z34nrPC35Fbqc&s=EqprhF2xxCO00Y6lH7LjUW0WmnyegTuf-EW5kECRTA8&e=</a>
<br>
</blockquote>
</div>
<span><br>
<div>
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">
<div style="font-family:Helvetica;font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">
<span style="border-collapse:separate;border-spacing:0px">
<div style="word-wrap:break-word"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word"><span style="text-indent:0px">
<div style="word-wrap:break-word">
<div style="word-wrap:break-word">
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
---</div>
<div> </div>
<div>Arthur Goldberg
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
Associate Professor of Psychiatry</div>
<div>Seaver Autism Center and Icahn Institute for Genomics & Multiscale Biology</div>
<div>Icahn School of Medicine at Mount Sinai</div>
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
Seaver Center, Room ABE-33</div>
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
212-241-4229<br>
<a href="mailto:Arthur.Goldberg@mssm.edu" target="_blank">Arthur.Goldberg@mssm.edu</a></div>
</div>
</div>
<div>Follow us on Twitter <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__twitter.com_IcahnInstitute&d=AwMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=YwVTDkQQLeA-rvnWaYkkQ9VzBXh33ZAhgFEk2hOENxI&s=cfiVP61ha8Ag45F8nOyDMtkYYqDZ-Qx_lrVppLFYpCk&e=" target="_blank">@IcahnInstitute</a></div>
<div style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-transform:none;white-space:normal;word-spacing:0px;border-spacing:0px;font-size:medium">
<br>
</div>
</div>
</div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</div>
</div>
<br>
<br>
</div>
<br>
</span></div>
</div>
</div>
<br>
_______________________________________________<br>
ponyorm-list mailing list<br>
<a href="mailto:ponyorm-list@ponyorm.org" target="_blank">ponyorm-list@ponyorm.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AwMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=YwVTDkQQLeA-rvnWaYkkQ9VzBXh33ZAhgFEk2hOENxI&s=IiaXyoraaZ63il62cuaacgi8celdD2x5HB31vFkvHao&e=" target="_blank">/ponyorm-list</a><br>
<br>
</blockquote>
</div>
</div>
</div>
</div>
</div>
_______________________________________________<br>
ponyorm-list mailing list<br>
<a href="mailto:ponyorm-list@ponyorm.org" target="_blank">ponyorm-list@ponyorm.org</a><br>
</div>
</div>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AwIGaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=YwVTDkQQLeA-rvnWaYkkQ9VzBXh33ZAhgFEk2hOENxI&s=IiaXyoraaZ63il62cuaacgi8celdD2x5HB31vFkvHao&e=" target="_blank">https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AwIGaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=YwVTDkQQLeA-rvnWaYkkQ9VzBXh33ZAhgFEk2hOENxI&s=IiaXyoraaZ63il62cuaacgi8celdD2x5HB31vFkvHao&e=</a>
<br>
</blockquote>
</div>
<span class=""><br>
<div>
<div style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; word-wrap: break-word; ">
<div style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; word-wrap: break-word; ">
<div style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; word-wrap: break-word; ">
<span style="border-collapse:separate;border-spacing:0px">
<div style="word-wrap:break-word"><span style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
<div style="word-wrap:break-word"><span style="text-align:-webkit-auto;text-indent:0px">
<div style="word-wrap:break-word"><span style="text-align:-webkit-auto;text-indent:0px">
<div style="word-wrap:break-word"><span style="text-align:-webkit-auto;text-indent:0px">
<div style="word-wrap:break-word"><span style="text-align:-webkit-auto;text-indent:0px">
<div style="word-wrap:break-word"><span style="text-align:-webkit-auto;text-indent:0px">
<div style="word-wrap:break-word">
<div style="word-wrap:break-word">
<div style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
<div style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
---</div>
<div> </div>
<div>Arthur Goldberg
<div style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
Associate Professor of Psychiatry</div>
<div>Seaver Autism Center and Icahn Institute for Genomics & Multiscale Biology</div>
<div>Icahn School of Medicine at Mount Sinai</div>
<div style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
Seaver Center, Room ABE-33</div>
<div style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
212-241-4229<br>
<a href="mailto:Arthur.Goldberg@mssm.edu" target="_blank">Arthur.Goldberg@mssm.edu</a></div>
</div>
</div>
<div>Follow us on Twitter <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__twitter.com_IcahnInstitute&d=AwMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=bfreSqFO30iBjiizihScKUKfcEywktdMXISup54bWC8&s=QWUUnl5VhObHVGrOQwoZC_3P1Lfkj3TA9bW4Q4hLgvE&e=" target="_blank">@IcahnInstitute</a></div>
<div style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; font-size: medium; ">
<br>
</div>
</div>
</div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</div>
</div>
<br>
<br>
</div>
<br>
</span></div>
</div>
<br>
_______________________________________________<br>
ponyorm-list mailing list<br>
<a href="mailto:ponyorm-list@ponyorm.org">ponyorm-list@ponyorm.org</a><br>
<a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AwMFaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=bfreSqFO30iBjiizihScKUKfcEywktdMXISup54bWC8&s=FudRfYgFlnzzsvvftHjQTOdmoIUMf2AoIRWECyPQA4I&e=" target="_blank">/ponyorm-list</a><br>
<br>
</blockquote>
</div>
</div>
</div>
_______________________________________________<br>
ponyorm-list mailing list<br>
<a href="mailto:ponyorm-list@ponyorm.org">ponyorm-list@ponyorm.org</a><br>
https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman-2Dmail5.webfaction.com_listinfo_ponyorm-2Dlist&d=AwIGaQ&c=4R1YgkJNMyVWjMjneTwN5tJRn8m8VqTSNCjYLg1wNX4&r=TntoeYH7lekXzpBRjXwLTkqiWTbWAvp3pHKo_kZp5qI&m=bfreSqFO30iBjiizihScKUKfcEywktdMXISup54bWC8&s=FudRfYgFlnzzsvvftHjQTOdmoIUMf2AoIRWECyPQA4I&e=
<br>
</blockquote>
</div>
<br>
<div>
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; -webkit-text-decorations-in-effect: none; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; -webkit-text-decorations-in-effect: none; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; -webkit-text-decorations-in-effect: none; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; -webkit-text-decorations-in-effect: none; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-style-span" style="orphans: 2; text-align: -webkit-auto; text-indent: 0px; widows: 2; -webkit-text-decorations-in-effect: none; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
<div style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
---</div>
<div> </div>
<div>Arthur Goldberg
<div style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
Associate Professor of Psychiatry</div>
<div>Seaver Autism Center and Icahn Institute for Genomics & Multiscale Biology</div>
<div>Icahn School of Medicine at Mount Sinai</div>
<div style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
Seaver Center, Room ABE-33</div>
<div style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
212-241-4229<br>
<a href="mailto:Arthur.Goldberg@mssm.edu">Arthur.Goldberg@mssm.edu</a></div>
</div>
</div>
<div>Follow us on Twitter <a href="https://twitter.com/IcahnInstitute">@IcahnInstitute</a></div>
<div style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-transform: none; white-space: normal; word-spacing: 0px; border-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
<br>
</div>
</div>
</div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></div>
</div>
</div>
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
</div>
<br>
</div>
</div>
</body>
</html>