initial version which supports the following (to some extents; note the beta designation)
- listing renaming and cloning molecular chains
- deleting, inserting, listing and pretty printin (tabulate) save-frames
- producing a NEF header with correct UUID
- streaming nef files into a pipeline
- testing itself
- fasta
- sequence [read and write]
- mars
- shifts [write]
- nmrpipe
- sequences [read]
- shifts [read]
- peaks [read]
- nmrview / nmrfx
- peaks [read and write]
- sequence [read]
- shifts [read]
- pales
- rdc restraints [write]
- rdc restraints template [write]
- pdb
- sequence [read]
Initial release to pypi with changes for better compatability with windows and linux
The nef test
command was disabled for this release as pytest and the tests
were not working well with the pyscaffold based release pipeline.
There were no changes in the tools and transcoders provided in this release, as this release was mostly about removing technical debt
The nef test
command is once again available.
A reliance on caching stdin was removed
There were no changes in the tools and transcoders provided in this release, other than the test subcommand, as this release was focused on testing.
supports reading xplor distance restraints [but currently only single atom selections]
adds xplor nih dihedral restraints
read sequences from xplor psf files
minor improvements to help text and error messages
note: the xplor support includes a proper parser for xplor nested restraint selections including SEGIDentifier RESIDue and NAME including proper literal abbreviations.
added support for import of RDCs from a csv file
added support for segment codes to pales / dc when exporting rdcs
added support for exporting neff rdc restraints to xplor legacy format
added missing test files
corrected an error in how test files are searched for
added support for reading MARS shift files
added an about command for information about the project
added support for export xcamshift chemical shift restraint files
added export of mars connected pseudo residue file
correct error in mars export fragments (mars connected pseudo residue file)
add support for writing sparky peak lists
add rudimentary rpf shift list exporter
add a sparky peak list importer [alpha no tests]
patches to rpf exporter
add the ability to rename nef frames
add a verbose option to about [lists os and python versions]
add the ability to suppress assignment height and volume columns in sparky peak export
shifts make peaks now has test suite
minor cleanups
initial support for RNA and DNA added (only surfaced in the sparky importers)
sparky sequence import including RNA and DNA
sparky peak import fully supported with all fields shown in the spark manual
improved sparky assignment parsing which is also refactored into a reusable library
initial experiments support for echidna peaks files
fixed a bug in frames list (verbose option was ignored)
fix a bug: make peaks faaled on generating empty peak lists
add importers for xeasy [flya dialect] sequences, peaks and shifts a number of bug fixes in the sparky and echidna tools
add the ability to unassign frames in general with support for different sequence_code unassignment strategies and the ability to choose what is unassigned (chain_code, sequence_code residue_name atom_name)
fasta input tool can read RNA/DNA sequences improvemenets to the xplor distance restraint reader to suppport CNS
correct error in naming frames in restraint lists produced by xplor import distance
removed bug in reading input streams in nmrview peak reader and updated tests
initial support for talos [export of shifts]
support for reading talos PHI PSI restraints into NEF
complete support for talos including
- sequences that don't start at residue 1
- support for oxidised cys and protonated his variants
- import of secondary structure to nef
- import of S2 values to nef
- support of chi restraints
improved testing to cover all new features bug fixes for talos
- rename can now edit frame names
- --pipe is now --in
- output to csv files is supported using tabulate
- the pdbx subcommand is now rcsb and supports mmcif
- remove use of biopython
- use new lighter weight mmcif pdb and fasta parsers
release is the same as 0.1.49 but...
- added missing packages required for installation
- added support for reading NMR-STAR shifts and sequences
- various bug fixes
release is the same as 0.1.51 but...
- added missing packages required for installation
- annotated-types
- hjson
- pydantic
release is the same as 0.1.51 but...
- added missing packages required for installation
- cache_tools
- added support for reading NMR-STAR projects from disk or the web
- including reading shifts and sequences
- supports direct download from the bmrb just using an accession code
- shifts make peaks now supports non ccpn peak lists for triple resonance spectra†
† ccpn peak lists when incompletely assigned use @xx-1 to indicate the previous residue and this was supported in the previous release but raw peak numbers weren't!
-
bmrb accession codes are now supported as raw numbers as well as bmrXXXXX in the nmrstar project subcommand
-
improve shifty output, by default it now
- infills missing residues
- selects a single assigned chain to output if present
- outputs to a templated file name
- upgrade pyparsing and pynmrstar
- pyparsing was triggering a deprecation warning
- pynmrstar had a bug in renaming frames
- corrected a bug in Linking lookup in the nmrstar project subcommand that affected some python versions
- corrected a bug in fasta sequence importer that affected files with spaces between residues
- improve handling of figures of merit especially for MARS peak imports
- spectrum dimension transfers were not correct in peak imports
- add support for c detect spectra for idps in peak simulation code
- use requests to download bmrb files from the web
- use urllib3 <= / == 1.26.15 to avoid a security warning
- remove dependance on Levenshtein which was causing compilation errors
- update to fyeah to try to make windows installation work
- fixed a bug in export of CO shifts reported by Pete Simpson
Major release with many new features and bug fixes
-
Relaxation
- Added initial support for fitting [using Streamfitter] this uses the NEF provisional data series format [command: series build]
- Added a tool to build a NEF [provisional] data series format from spectra [aka peak lists] [command: series build]
-
Multi file streams
- Added the ability to save a series of NEF files from a multi entry stream [command save]
- Added the ability to stream multiple NEF files from BMRB entries [command nmrstar project]
-
Documentation & Project
- NEF-Pipelines has a citation record
- Add an initial version of design doc for NEF-Pipelines describing the internals of the pipe commands within the pipeline
- The project is now automatically tested on python 3.9-3.12 and Linux and MacOS as a matrix hsing GitHub Actions
-
MARS and Fasta
- Fasta output and input to NEF-Pipelines supports round tripping of chain ids [chain_codes] and chain starts via a custom header
- Mars has a command to read in a sequence from its Fasta file [including round tripping if written by NEF-Pipelines] [command mars import sequence]
- Better support of a variety of Fasta headers (including PDB/RCSB headers)
- Fasta input and output the entry_id of the NEF stream is saved as the entry name of the fasta file
- Mars sequence exports has better error handling [command: mars export sequence]
- Fasta has improvement to the sequence handling [molecule type per sequence] and provides a python pipe command
-
Simulations
- The command
simulate peaks
replaces the commandshifts make_peaks
[mostly a rename] - Types of spectra are now arguments to
simulate peaks
not options and the command has better error messages and case-insensitive matching of spectra names [where possible] - Simulation of unlabelling spectra added [command: simulate unlabelling]
- The command
-
NMRStar and the BMRB
- Add the ability to read BMRB sequences, shifts and projects [currently shifts and sequences] [commands: nmrstar import sequences and nmrstar import shifts]
- add missing dependency on parse
- StrEnum was imported from wrong package
- handling fo the default file path in save wasn't working
- simulate unaleblling improved help text
- incosistent use of DataType in streamfitter and fit expoenetial was corrected
- DataType replaced with IntensityMeasuremenType
improved error handling when streamfitter
does load into fit exponential
- no major changes
- erroneous release no major updates
- better handling of NEF-Pipelines fasta headers for round tripping
- many more fasta format headers supported
- correct error in handling beta sheet records in pdb files
- pdbx reader takes sequence from SEQRES records as default
- add initial chemical shift averager [alpha quality]
- unassign supports creating ccpn style residue -1 entries e.g @32-1
- peak dimensions were incorrectly indexed causing a failure to import into CCPN suite of programs
- added ability to unassign residue ranges in nef frames
- better reporting of errors from reading chemical shift frames
- add missing dependency on runstat
- add display of python executable path to about --verbose
- unassign can be filtered by chains and residue ranges
- improvements to nmrstar project and shift reader which can
- work with multiple lists of shifts
- work with multiple sequences
- frame clone and remove get a --input option and pipe functions
- add a globals command to set global values through a pipe and save to clean up control frame correctly this allows you to use global setting of the --force option with mars
- updates to mars output transcoders: they now has a pipe function and checs for file overwriting and have a force option
- mars can now ouput assigned shifts and fixed assignment restraints
- mars output now includes assigned fragments using the ccpn # syntax
- fixed a bug where multi line strings were not being parsed correctly
- add support for reading shiftx2 shifts [alpha]
- support for the NEF relaxation data draft proposal
- output of data to modelfree
- minor bug fixes
- fixed bugs
- tree lib not included in requirements
- Strenum imported from python stdlib enum not strenum
- fit ratio requires a noise level
- add a deep neural network peak list importer
- better handling of residue names that don't match the read sequence
- fixed a bug in python 3.8 where annotations were stopping the nmrstar plugin loading
- added a github actions test to check that the main entry point runs and all plugins are loaded
- shiftx2 reader can read all formats output by shiftx2
- chains can now be renumber using pipes in python
- shiftx2 can now calculate shifts using an alphafold structure looked up from a pdb code
- added chains align command which can align the sequence of one frame to another frame by offsetting its sequence codes
- remove bad debug code which was killing pipelines from align
- align wasn't aligning sub-sequences correctly
- improvements to the shiftx2 readers chain handling
- align is now more robust: it matches to the longest matching element not the first!
- align now supports triming to the chain extents in a reference molecular frame
- peak list indices now start from 1 not 0
- bug fix in nmrstar sequence importer [entitys without sequences no longer crash the importer]
- fix a maths error in which wasn't aligning on the longest matching sequence
- simulate un-labelling now select frames in a better manner and has better defaults
- improvements to simulating peak lists from shifts
- the default chemical shift list is used by default rather than all shift lists this can avoid
accidental averaging with for example a predicted chemical shift lists - if mutiple shifts are selected for the same atom they are now properly averaged
- the default chemical shift list is used by default rather than all shift lists this can avoid
- shiftx2 wasn't trimming the output shifts to the initial PDB files sequence