Re-process deposited ADIT-NMR entry

The steps carried out by ADIT-NMR are

  1. convert ADIT's binary “odb” file to “raw” NMRIF
  2. convert NMRIF to NMR-STAR
  3. post-process NMR-STAR
    • this is the starting point of the BMRB entry
  4. convert post-processed NMR-STAR back to NMRIF
  5. convert NMRIF to PDBX mmCIF
  6. create the RCSB subdirectory w/extra files
  7. commit RCSB subdirectory to cvspdb CVS
  8. commit sesion directory to cvsdep CVS

CVS repositories are

  1. cvsdep: all ADIT-NMR depositions, complete “as deposited”,
  2. cvspdb: PDB part of ADIT-NMR structure deposition, mirrored to RCSB,
  3. cvsentries: at the start of annotation the entry is copied from cvsdep to cvsentries and all subsequent updates are stored in cvsentries.

Step 0: login to deposit-prog

All three repositories are mounted on programmer's ADIT-NMR: deposit-prog.

All of the steps below should be done as adit user on depost-prog.

As of the time of this writing, users hongyang and dmaziuk can

ssh adit@deposit-prog.bmrb.wisc.edu

without password. For everyone else the password is on a yellow sticky glued to Dimitri's computer.

Step 1: BMRB only/BMRB side of a structure deposition

Using entry 19065/2Z0U0W6 for example:

Pull the entry out of CVS

If the annotation is already started and the entry is in cvsentries:

cd /var/tmp
cvs -d /cvsentries co bmr19065
cd bmr19065/work

If the entry is still in cvsdep, use

cvs -d /cvsdep co 2Z0U0W6

instead.

NMRIF to NMR-STAR

First, convert “raw” NMRIF file that came out of ADIT-NMR to NMR-STAR.

/var/www/aditnmr/localbin/nmrif2nmrstr -f dict.cif bmr2Z0U0W6.nmrif

The output is bmr2Z0U0W6.str

(If this fails with dictionary errors, try

/var/www/aditnmr/localbin/nmrif2nmrstr -f /var/www/aditnmr/adit/config/bmrb-adit/dict.cif bmr2Z0U0W6.nmrif

instead.)

Post-process the NMR-STAR file

This one's a little more work as you need to fix paths in the script first.

  1. cp /var/www/aditnmr/localbin/aditpost/adit_postprocess_from_cgi .
  2. Edit adit_postprocess_from_cgi and change
    VALIDATOR_DIR=/var/www/aditnmr/javalib/validator
    DICT_DIR=/var/www/aditnmr/adit/config/bmrb-adit
  3. ./adit_postprocess_from_cgi bmr2Z0U0W6.str bmr2Z0U0W6.nmrif.post.nmrstr

This will take a couple of minutes and generate bmr2Z0U0W6.nmrif.post.nmrstr (if it fails look in validate.err and validate.log for clues).

Commit to CVS

  • cvs add bmr2Z0U0W6.nmrif.post.nmrstr
  • cvs commit -m 'reprocessed entry file'
  • cd /var/tmp
    rm -r bmr19065

Finally

  • log off,
  • go to /share/subedit/entries/bmr19065 and
  • run
    cvs up

Step 2: PDB structure deposition

If there are files missing from rcsbNNNNN, most likely one of the above steps failed. The problem is that some of the files sent to RCSB are generated by ADIT-NMR, so the easiest way to properly reprocess a PDB deposition is to re-submit it after fixing whatever caused it to fail.

Using 2Z0U0X2/rcsb103242/BMRB 19071/PDB 2M5Q as example:

Pull the entry out of CVS

cvs -d /cvspdb co rcsb103242

There should be rcsb103242.cor.cif file in there: it usually gets generated before the point of failure. That file has both the deposition code (e.g. 2Z0U0X2), in the name of the attachment, and ADIT-NMR restart ID in the Subject: line.

 
cvs -d /cvsdep co 2Z0U0X2

Note: sometimes the deposition gets comitted without the full set of uploaded files for some reason. If that happens you won't be able to hit Deposit on 2Z0U0X2. You'll need to copy the session directory from production ADIT-NMR and use that instead.

Hint

  • In session directory on deposit-prog:
    nc -l 1234 | tar -xvf -
  • Elsewhere
    ssh -R 1234:deposit-prog:1234 adit@shark
  • On shark, cd to the session directory and
    tar -cvf - . | nc localhost 1234

The easy way: redeposit

  1. Copy 2Z0U0X2 into sessions directory.
  2. Delete lock files:
    rm lockFlagFileBmrb
    rm lockFlagFilePdb
  3. Go to ADIT-NMR interface on deposit-prog and continue session 2Z0U0X2. Look at uploaded files list: if it has coordinates, restraints, and chemical shifts, it's good to redeposit. Otherwise you'll have to
    1. login to production ADIT-NMR,
    2. tar up 2Z0U0X2's session directory,
    3. copy it over to deposit-prog and
    4. go back to step 1 but use the session instead of 2Z0U0X2 checkout.
  4. Copy the dictionary files to session directory:
    cp /var/www/aditnmr/adit/config/bmrb-adit/dict.cif .
    cp /var/www/aditnmr/adit/config/bmrb-adit/nmrcifmatch.cif .
  5. And then, just to make double-sure, remove the binary versions that ADIT-NMR uses internally:
    rm dict.odb
    rm nmrcifmatch.odb
  6. Hit deposit to both PDB and BMRB button. Programmer's platform is configred to not send out any e-mail, so the authors won't get another notice of their submission.
    If this fails with an OS error about directory locking, delete /tmp/rcsbID directory and try again.
  7. Wait for the processing to complete (may take a few minutes).

The long way

  1. Follow the above procedure to get to the post-processed NMR-STAR. Note: if it's a “based on existing BMRB ID” deposition, the starting point is bmr_based_on_existing_.nmrif.
  2. Once you get there:

Post-processed NMR-STAR to NMRIF

Convert NMR-STAR back to NMRIF for the next step.

/var/www/aditnmr/localbin/nmrstr2nmrif -f dict.cif bmr2Z0U0X2.nmrif.post.nmrstr

As with NMRIF to NMR_STAR convertion, if you get “Tag not in dictionary” errors you'll need to update the dictionary. Try

/var/www/aditnmr/localbin/nmrstr2nmrif -f /var/www/aditnmr/adit/config/bmrb-adit/dict.cif bmr2Z0U0X2.nmrif.post.nmrstr

NMRIF to PDBX

/var/www/aditnmr/localbin/convert-nmrif-odb-to-pdb-odb new-nmrif-to-pdbx 2M5Q dict.cif nmrcifmatch.cif bmr2Z0U0X2.nmrif.post.nmrstr bmr2Z0U0X2.nmrif.post.pdbx.cif Y N

As with the other programs, you may have to use the updated dictionary files:

/var/www/aditnmr/adit/config/bmrb-adit/dict.cif
/var/www/aditnmr/adit/config/bmrb-adit/nmrcifmatch.cif

Re-deposit

If you get this far, the about the only way to re-process everything is to re-submit the deposition: there is a number of steps carried out by ADIT-NMR's CGI programs (generating the other files that get sent to RCSB, e.g. the correspondence .cor.cif file) and getting them to run from command line will take a lot of programming. So follow the “easy way” procedure above.

Finally: re-import into CVS

PDB deposition:

  • copy all files from rcsb103242 in the session directory to rcsb103242 you've checked out in the beginning
  • cd to the checked out rcsb103242 and run
    cvs add *

    followed by

    cvs commit -m 'reprocessed'
  • Delete the temporary checkout.

BMRB deposition:

  • copy all files from the session directory to 2Z0U0X2 checkout. That includes rcsb103242 and possibly upload subdirectories.
  • cd to 2Z0U0X2 and run
    cvs add *

    there and in every subdirectory.

  • Run
    cvs commit -m 'reprocessed'
  • Delete the temporary checkout.

BMRB entry:

normally if files are missing from the PDB deposition, we get alerted by RCSB before we start annotating BMRB entry, so this isn't needed. If you have to, the easiest is to delete (or rename and delete afterwards) the directory in /share/subedit/entries and in /cvsentries and re-run start-annotation script.

Login