Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing TRR/XTC/NetCDF/DCD support w/o MDTraj #613

Closed
Tracked by #615
padix-key opened this issue Jun 28, 2024 · 6 comments
Closed
Tracked by #615

Implementing TRR/XTC/NetCDF/DCD support w/o MDTraj #613

padix-key opened this issue Jun 28, 2024 · 6 comments
Assignees
Labels
major release Potentially backwards incompatible changes that should go in to the next major release

Comments

@padix-key
Copy link
Member

padix-key commented Jun 28, 2024

Currently Biotite requires MDTraj as additional dependency only for reading coordinates from trajectory files. However, MDTraj does not support NumPy 2.0, yet, but Biotite 1.0 will require NumPy 2.0. Therefore we could think about removing the dependency by implementing at least the common trajectory file formats .trr and .xtc. Lowering the number of dependencies would also make Biotite more lightweight.

To resolve this issue,

  • the TrajectoryFile classes need to be removed,
  • new trajectory file classes need to be added implementing .trr and .xtc (maybe in structure.io.trr?) and
  • the consistency tests checking against MDTraj need to be removed (could be solved by checking against a fixed CSV file obtained once from MDTraj).

Taking verbatim code from https://github.com/mdtraj/mdtraj is not possible due to the incompatible license.
As the xdrfile C-library is also GPL licensed, the entire Trajectory code would need to go into a separate extension package, if we decide to drop the MDTraj dependency.

@padix-key padix-key mentioned this issue Jun 28, 2024
8 tasks
@padix-key padix-key added the major release Potentially backwards incompatible changes that should go in to the next major release label Jun 28, 2024
@padix-key
Copy link
Member Author

I reached out to the MDTraj developers, asking them about their NumPy 2.0 migration plans: mdtraj/mdtraj#1873 (comment)

@padix-key padix-key self-assigned this Jun 28, 2024
@padix-key
Copy link
Member Author

#529 temporarily disables trajectory functionalites: d6ea506

After implementation if this issue, they need to be reenabled.

@JHKru
Copy link
Member

JHKru commented Aug 19, 2024

Additionally, the two other common trajectory formats, netCDF and DCD, are also supported now with biotraj.
I would change the PR title ("Implementing trajectory I/O support without MDTraj" perhaps?), if you're fine with this.

@JHKru JHKru changed the title Implementing TRR/XTC support Implementing TRR/XTC/NetCDF/DCD support w/o MDTraj Aug 19, 2024
@JHKru
Copy link
Member

JHKru commented Aug 19, 2024

Biotraj will directly work as a "drop-in replacement" for MDTraj in Biotite, so changes should remain limited
to the documentation, tests and the specific py-files for these formats.

@padix-key
Copy link
Member Author

@JHKru Could you comment in conda-forge/staged-recipes#27312, that I can add you as Conda package maintainer?

@padix-key
Copy link
Member Author

Closed via #627

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major release Potentially backwards incompatible changes that should go in to the next major release
Projects
None yet
Development

No branches or pull requests

2 participants