Sharing a Phenix project via Dropbox
Hi, Has anyone ever successfully shared a Phenix project through Dropbox? I tried Googling for info on this without success. I have tried sharing but it doesn't work because Phenix uses the full path to the project, e.g. /Users/derek/Dropbox/project rather than ~/Dropbox/project, which would work for all users sharing the project. I tried manually editing project.phil in the .phenix directory, but at the end of a run of phenix.refine it was overwritten again. Is there somewhere (job_history.phil?) I can replace /Users/derek with ~ so that it the change will be permanent? I think that this would be a very effective way for me to set up a project being run by one of my PhD students involving people from at least 3 labs that could have opinions on the refinement! /Derek P.S. We are all using Macs.
Do you have the dropbox app on every computer, so that the files can be
accessed through finder? I use Google Drive to sync phenix project
directories between my 3 Macs, and usually it works perfectly. If I run a
job on one computer, I can open a phenix gui on another, and it will show
the intact job history, including jobs run on a different computer.
Sometimes I get a error that 'this is not a valid phenix project directory'
when I attempt to import a job folder created on a different computer.
When that happens, I just make a new sub-folder within it, make that the
new project folder, and move on...so maybe I'm running into the same
problem as you and ignoring it. Usually it's problem free however.
Nat
On Fri, May 16, 2014 at 5:03 AM, Derek Logan wrote: Hi, Has anyone ever successfully shared a Phenix project through Dropbox? I
tried Googling for info on this without success. I have tried sharing but
it doesn't work because Phenix uses the full path to the project, e.g.
/Users/derek/Dropbox/project rather than ~/Dropbox/project, which would
work for all users sharing the project. I tried manually editing
project.phil in the .phenix directory, but at the end of a run of
phenix.refine it was overwritten again. Is there somewhere
(job_history.phil?) I can replace /Users/derek with ~ so that it the change
will be permanent? I think that this would be a very effective way for me
to set up a project being run by one of my PhD students involving people
from at least 3 labs that could have opinions on the refinement! /Derek P.S. We are all using Macs. _______________________________________________
phenixbb mailing list
[email protected]
http://phenix-online.org/mailman/listinfo/phenixbb
Hi Nat,
Thanks for your reply. However could it be that it works for you because you have the same user name on each Mac, so that your home directory is always /Users/nat (or whatever)?. Thus the hard-wiring of full paths into the Phenix files would not be a problem for you? In our case there are at least 3 users with different names (in different countries!) who might want to access the same project. Otherwise I would think that Google Drive should behave just like Dropbox?
I'm sure Jürgen's idea would work but it would be nice if possible to avoid creating a separate common user. I don't remember having done this since we had a "data processing account" on our microVAXes for integrating film data at Oxford in the early 1990s :-) Any other ideas?
/Derek
On 16 May 2014, at 14:47, nathanielclar5 .
Hi Derek,
the way I work with Google Drive is installing its folder (you can choose where to put it) directly into / (that is /Google Drive - unfortunately you cannot change its name and have to live with the space).
If you and your collaborators all do that in your Macs, Phenix will find always the same path and work with no hassles.
HTH,
ciao,
Sebastiano
On 16 May 2014, at 15:49, Derek Logan
Hi Nat,
Thanks for your reply. However could it be that it works for you because you have the same user name on each Mac, so that your home directory is always /Users/nat (or whatever)?. Thus the hard-wiring of full paths into the Phenix files would not be a problem for you? In our case there are at least 3 users with different names (in different countries!) who might want to access the same project. Otherwise I would think that Google Drive should behave just like Dropbox?
I'm sure Jürgen's idea would work but it would be nice if possible to avoid creating a separate common user. I don't remember having done this since we had a "data processing account" on our microVAXes for integrating film data at Oxford in the early 1990s :-) Any other ideas?
/Derek
On 16 May 2014, at 14:47, nathanielclar5 .
wrote: Do you have the dropbox app on every computer, so that the files can be accessed through finder? I use Google Drive to sync phenix project directories between my 3 Macs, and usually it works perfectly. If I run a job on one computer, I can open a phenix gui on another, and it will show the intact job history, including jobs run on a different computer. Sometimes I get a error that 'this is not a valid phenix project directory' when I attempt to import a job folder created on a different computer. When that happens, I just make a new sub-folder within it, make that the new project folder, and move on...so maybe I'm running into the same problem as you and ignoring it. Usually it's problem free however.
Nat
On Fri, May 16, 2014 at 5:03 AM, Derek Logan
wrote: Hi, Has anyone ever successfully shared a Phenix project through Dropbox? I tried Googling for info on this without success. I have tried sharing but it doesn't work because Phenix uses the full path to the project, e.g. /Users/derek/Dropbox/project rather than ~/Dropbox/project, which would work for all users sharing the project. I tried manually editing project.phil in the .phenix directory, but at the end of a run of phenix.refine it was overwritten again. Is there somewhere (job_history.phil?) I can replace /Users/derek with ~ so that it the change will be permanent? I think that this would be a very effective way for me to set up a project being run by one of my PhD students involving people from at least 3 labs that could have opinions on the refinement!
/Derek
P.S. We are all using Macs.
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
-- Sebastiano Pasqualato, PhD Crystallography Unit Department of Experimental Oncology European Institute of Oncology IFOM-IEO Campus via Adamello, 16 20139 - Milano Italy tel +39 02 9437 5167 fax +39 02 9437 5990 web http://is.gd/IEO_XtalUnit
That should work. If Dropbox is necessarily in the user's directory, have root create a folder like /a/ and chown it to the user who needs to share. Said user then creates a soft link to Dropbox in her home directory. Then have phenix create the job in /a/Dropbox/mypoject. (Hope Phenix doesn't automatically resolve the path to full path) same /a/ is also useful for the user to make short paths to other frequently accessed directories. To avoid spaces, ln -sf /../"Google Drive" /a/gd eab On 05/16/2014 09:56 AM, Sebastiano Pasqualato wrote:
Hi Derek,
the way I work with Google Drive is installing its folder (you can choose where to put it) directly into / (that is /Google Drive - unfortunately you cannot change its name and have to live with the space). If you and your collaborators all do that in your Macs, Phenix will find always the same path and work with no hassles.
HTH, ciao, Sebastiano
On 16 May 2014, at 15:49, Derek Logan
mailto:[email protected]> wrote: Hi Nat,
Thanks for your reply. However could it be that it works for you because you have the same user name on each Mac, so that your home directory is always /Users/nat (or whatever)?. Thus the hard-wiring of full paths into the Phenix files would not be a problem for you? In our case there are at least 3 users with different names (in different countries!) who might want to access the same project. Otherwise I would think that Google Drive should behave just like Dropbox?
I'm sure Jürgen's idea would work but it would be nice if possible to avoid creating a separate common user. I don't remember having done this since we had a "data processing account" on our microVAXes for integrating film data at Oxford in the early 1990s :-) Any other ideas?
/Derek
On 16 May 2014, at 14:47, nathanielclar5 .
mailto:[email protected]> wrote: Do you have the dropbox app on every computer, so that the files can be accessed through finder? I use Google Drive to sync phenix project directories between my 3 Macs, and usually it works perfectly. If I run a job on one computer, I can open a phenix gui on another, and it will show the intact job history, including jobs run on a different computer. Sometimes I get a error that 'this is not a valid phenix project directory' when I attempt to import a job folder created on a different computer. When that happens, I just make a new sub-folder within it, make that the new project folder, and move on...so maybe I'm running into the same problem as you and ignoring it. Usually it's problem free however.
Nat
On Fri, May 16, 2014 at 5:03 AM, Derek Logan
mailto:[email protected]> wrote: Hi,
Has anyone ever successfully shared a Phenix project through Dropbox? I tried Googling for info on this without success. I have tried sharing but it doesn't work because Phenix uses the full path to the project, e.g. /Users/derek/Dropbox/project rather than ~/Dropbox/project, which would work for all users sharing the project. I tried manually editing project.phil in the .phenix directory, but at the end of a run of phenix.refine it was overwritten again. Is there somewhere (job_history.phil?) I can replace /Users/derek with ~ so that it the change will be permanent? I think that this would be a very effective way for me to set up a project being run by one of my PhD students involving people from at least 3 labs that could have opinions on the refinement!
/Derek
P.S. We are all using Macs.
_______________________________________________ phenixbb mailing list [email protected] mailto:[email protected] http://phenix-online.org/mailman/listinfo/phenixbb
_______________________________________________ phenixbb mailing list [email protected] mailto:[email protected] http://phenix-online.org/mailman/listinfo/phenixbb
-- *Sebastiano Pasqualato, PhD* Crystallography Unit Department of Experimental Oncology European Institute of Oncology IFOM-IEO Campus via Adamello, 16 20139 - Milano Italy
tel +39 02 9437 5167 fax +39 02 9437 5990 web http://is.gd/IEO_XtalUnit
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
On Fri, May 16, 2014 at 7:42 AM, Edward A. Berry
(Hope Phenix doesn't automatically resolve the path to full path)
Well.... yeah, it does. Which mostly reflects my particular work style and environment rather than any rational design. A number of people have complained about this in the past, but the reason that it hasn't been fixed yet is that it's somewhat difficult to avoid completely. However, an update of Phenix for the bold new era of cloud computing is probably overdue; I'll see if I can deal with it this summer. I should also mention, however, that when you have multi-user (or multi-computer) projects it is also difficult to prevent different instances of Phenix from conflicting. -Nat
Hi Derek et al. -
Since, as Nat (Echols) mentioned, Phenix does expand the paths, you’ll have to do the linking the other way around (i.e. the actual files are in /a/my_project, and the link is ~/Dropbox/a/my_project => /a/my_project). Then as long as the /a/my_project path is the same on all three computers, it should be fine—Dropbox follows symlinkshttp://www.dropboxwiki.com/tips-and-tricks/sync-other-folders I have several directories linked this way, with the original files outside the Dropbox folder on each computer, although, I admit I haven’t done it with Phenix.
To set it up on an additional computer, you should allow Dropbox to download all the files locally, pause Dropbox syncing, move the directory to the root location, create the symlink, then resume Dropbox syncing.
As for guarding against having multiple instances modifying the files simultaneously: I know I’m presented with a warning if I try to run multiple instances of Phenix on the same machine, but there doesn’t appear to be anything like that to prevent concurrent access to a project directory by multiple instances of Phenix on different machines. Assuming network connectivity for all machines and a fast-enough Dropbox sync (which may or may not be a reasonable assumption), it could be sufficient to place a simple lockfile in the .phenix directory of the project, perhaps with a username and date/time, and if another user (or the same user on a different machine) tries to open the project, Phenix would present an alert message with info about who locked the project and when, along with the option to abort or override the lock. Just thought I’d throw that idea into the ring, in case it might not be too difficult to implement.
Cheers,
Jared
--
Jared Sampson
Xiangpeng Kong Lab
NYU Langone Medical Center
http://kong.med.nyu.edu/
On May 16, 2014, at 11:09 AM, Nathaniel Echols
On Fri, May 16, 2014 at 1:52 PM, Sampson, Jared
Since, as Nat (Echols) mentioned, Phenix does expand the paths, you’ll have to do the linking the other way around (i.e. the actual files are in /a/my_project, and the link is ~/Dropbox/a/my_project => /a/my_project). Then as long as the /a/my_project path is the same on all three computers, it should be fine—Dropbox follows symlinkshttp://www.dropboxwiki.com/tips-and-tricks/sync-other-folders I have several directories linked this way, with the original files outside the Dropbox folder on each computer, although, I admit I haven’t done it with Phenix.
There is another alternative here that has the advantage of being somewhat easier: what if I just added some hacks to support sharing of Dropbox folder specifically? If the directories have predictable names and locations, as appears to be the case, it is relatively straightforward to substitute $HOME/Dropbox where appropriate. FYI, the problem with expanding paths is more general than specific to my code, at least on Mac OS - it looks like symlinks are expanded to the absolute path whether I ask for this or not. So to fix this I would need to make all paths relative, which is considerably more difficult. As for guarding against having multiple instances modifying the files
simultaneously: I know I’m presented with a warning if I try to run multiple instances of Phenix on the same machine, but there doesn’t appear to be anything like that to prevent concurrent access to a project directory by multiple instances of Phenix on different machines. Assuming network connectivity for all machines and a fast-enough Dropbox sync (which may or may not be a reasonable assumption), it could be sufficient to place a simple lockfile in the .phenix directory of the project, perhaps with a username and date/time, and if another user (or the same user on a different machine) tries to open the project, Phenix would present an alert message with info about who locked the project and when, along with the option to abort or override the lock. Just thought I’d throw that idea into the ring, in case it might not be too difficult to implement.
Yeah, this isn't too difficult. Ideally though I would still like the project to be accessible in a read-only mode (which doesn't exist yet). -Nat
Hi Sebastian,
Instinctively this sounded like the easiest solution of all those suggested. However when I try to do this for Dropbox through the Preferences it says "Can't create a Dropbox folder in the requested location", so it looks like it's hard-wired to use locations in my home directory. Has anyone else succeeded in moving a Dropbox folder to / ? It doesn't work for Google Drive either - it says the location is not writeable. I have administrator privileges on my Mac. Do I have to change permissions on / manually?
Best wishes
Derek
On 16 May 2014, at 15:56, Sebastiano Pasqualato
Hi Derek, I didn't have this kind of problem, and could easily install Google Drive by defining " /Google Drive " as default path. Maybe I created the directory beforehand, and then selected it while installing Google Drive, but honestly I don't remember. I think I can easily create a directory in / Best, Sebastiano
On 19/mag/2014, at 09:10, Derek Logan
wrote: Hi Sebastian,
Instinctively this sounded like the easiest solution of all those suggested. However when I try to do this for Dropbox through the Preferences it says "Can't create a Dropbox folder in the requested location", so it looks like it's hard-wired to use locations in my home directory. Has anyone else succeeded in moving a Dropbox folder to / ? It doesn't work for Google Drive either - it says the location is not writeable. I have administrator privileges on my Mac. Do I have to change permissions on / manually?
Best wishes Derek
On 16 May 2014, at 15:56, Sebastiano Pasqualato
wrote: Hi Derek,
the way I work with Google Drive is installing its folder (you can choose where to put it) directly into / (that is /Google Drive - unfortunately you cannot change its name and have to live with the space). If you and your collaborators all do that in your Macs, Phenix will find always the same path and work with no hassles.
HTH, ciao, Sebastiano
On 16 May 2014, at 15:49, Derek Logan
wrote: Hi Nat,
Thanks for your reply. However could it be that it works for you because you have the same user name on each Mac, so that your home directory is always /Users/nat (or whatever)?. Thus the hard-wiring of full paths into the Phenix files would not be a problem for you? In our case there are at least 3 users with different names (in different countries!) who might want to access the same project. Otherwise I would think that Google Drive should behave just like Dropbox?
I'm sure Jürgen's idea would work but it would be nice if possible to avoid creating a separate common user. I don't remember having done this since we had a "data processing account" on our microVAXes for integrating film data at Oxford in the early 1990s :-) Any other ideas?
/Derek
On 16 May 2014, at 14:47, nathanielclar5 .
wrote: Do you have the dropbox app on every computer, so that the files can be accessed through finder? I use Google Drive to sync phenix project directories between my 3 Macs, and usually it works perfectly. If I run a job on one computer, I can open a phenix gui on another, and it will show the intact job history, including jobs run on a different computer. Sometimes I get a error that 'this is not a valid phenix project directory' when I attempt to import a job folder created on a different computer. When that happens, I just make a new sub-folder within it, make that the new project folder, and move on...so maybe I'm running into the same problem as you and ignoring it. Usually it's problem free however.
Nat
On Fri, May 16, 2014 at 5:03 AM, Derek Logan
wrote: Hi, Has anyone ever successfully shared a Phenix project through Dropbox? I tried Googling for info on this without success. I have tried sharing but it doesn't work because Phenix uses the full path to the project, e.g. /Users/derek/Dropbox/project rather than ~/Dropbox/project, which would work for all users sharing the project. I tried manually editing project.phil in the .phenix directory, but at the end of a run of phenix.refine it was overwritten again. Is there somewhere (job_history.phil?) I can replace /Users/derek with ~ so that it the change will be permanent? I think that this would be a very effective way for me to set up a project being run by one of my PhD students involving people from at least 3 labs that could have opinions on the refinement!
/Derek
P.S. We are all using Macs.
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
_______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
-- Sebastiano Pasqualato, PhD Crystallography Unit Department of Experimental Oncology European Institute of Oncology IFOM-IEO Campus via Adamello, 16 20139 - Milano Italy
tel +39 02 9437 5167 fax +39 02 9437 5990 web http://is.gd/IEO_XtalUnit
participants (6)
-
Derek Logan
-
Edward A. Berry
-
Nathaniel Echols
-
nathanielclar5 .
-
Sampson, Jared
-
Sebastiano Pasqualato