Electrostatics / apbs-pdb2pqr

APBS - software for biomolecular electrostatics and solvation
http://www.poissonboltzmann.org/
128 stars 62 forks source link

Move PDB2PQR back to its own repo? #619

Closed sobolevnrm closed 4 years ago

sobolevnrm commented 4 years ago

Since PDB2PQR is now its own package -- thanks to @kozlac -- I wonder if we should move it back to its own repo. It would make it much easier to release via PyPI and could simplify the APBS installation process and repo.

What do you think? I'd love to envision a future where someone could pip install apbs and automatically grab pdb2pqr and propka as dependencies. Making PDB2PQR discoverable via PyPI would be a great start for this.

speleo3 commented 4 years ago

I like the idea of a separate pdb2pqr repo. The only downside I see is that git history will be lost, but I think the benefits you listed will outweigh this.

sobolevnrm commented 4 years ago

I like the idea of a separate pdb2pqr repo. The only downside I see is that git history will be lost, but I think the benefits you listed will outweigh this.

There may be a way to move over the git history and prune out the APBS history to keep the archive size reasonable.

intendo commented 4 years ago

Following the instructions on https://help.github.com/en/github/using-git/splitting-a-subfolder-out-into-a-new-repository, we could create a repository for apbs and pdb2pqr by splitting them. They would each have their respective histories intact (at least from their top level directory).

I created a new empty repository for pdb2pqr (https://github.com/Electrostatics/pdb2pqr) using the following: mkdir split && cd split/ git clone https://github.com/Electrostatics/apbs-pdb2pqr.git cd apbs-pdb2pqr/ git filter-branch --prune-empty --subdirectory-filter pdb2pqr/ master git remote add origin https://github.com/Electrostatics/pdb2pqr.git git remote set-url origin https://github.com/Electrostatics/pdb2pqr.git git push -u origin master

@sobolevnrm and @kozlac can you set the new repository and see if it has everything we need to make pdb2pqr a release on PyPI?

sobolevnrm commented 4 years ago

Hi @intendo -- wow! Thanks for moving this over. However, now I'm confused: was this an existence proof or an actual migration of the repo? If the latter, we need to figure out what to do with the code in the main apbs-pdb2pqr repo. We can transfer issues but I'm unsure how to move branches given the differences between repositories. However, these repos are going to get out of sync very quickly. Can you make the new repo read-only while we figure this out?

intendo commented 4 years ago

This was proof that it can be done. Branches on apbs-pdb2pqr can be pushed to the new pdb2pqr repo and then deleted. I think the procedure is:

  # go to your directory where your current apbs-pdb2pqr repo is
  # checkout the branch you want to push (e.g. nathan/pdb2pka)
  git remote add pdb2pqr https://github.com/Electrostatics/pdb2pqr
  git push pdb2pqr 
  # repeat for all your branches you want to move to the new repository

I can only make the pdb2pqr read only for 24 hours at a time.

If you want, we can delete this and we can do it again. It only takes about 10 minutes.

sobolevnrm commented 4 years ago

I love the forward-leaning nature of this and think we should proceed -- you took a huge jump I was hesitating on and made the right move.

Here are my thoughts on some next steps:

What do you think?

intendo commented 4 years ago

My thoughts were to:

sobolevnrm commented 4 years ago

That works for me if we leave the apbs-pdb2pqr repo HEAD mostly empty with a README.md that points to the new locations. The release was tagged and will still be available in the archive but I don't want to create confusion by duplicating code in different repos. What do you think?

intendo commented 4 years ago

That works for me too. I have started moving pdb2pqr issues to the new repo.

sobolevnrm commented 4 years ago

This thread is too messy: I've put the APBS-specific tasks in https://github.com/Electrostatics/apbs-pdb2pqr/issues/626 and moved the PDB2PQR-specific tasks over to https://github.com/Electrostatics/pdb2pqr/issues