Skip to content

Commit

Permalink
Added tests for both NMR-STAR2 and NMR-STAR3 formats.
Browse files Browse the repository at this point in the history
  • Loading branch information
smelandr committed Jan 11, 2017
1 parent f2f1502 commit 9eed933
Show file tree
Hide file tree
Showing 24 changed files with 25,938 additions and 80 deletions.
1,179 changes: 1,179 additions & 0 deletions tests/example_data/NMRSTAR2/bmr15000.str

Large diffs are not rendered by default.

10,830 changes: 10,830 additions & 0 deletions tests/example_data/NMRSTAR2/bmr18569.str

Large diffs are not rendered by default.

1,641 changes: 1,641 additions & 0 deletions tests/example_data/NMRSTAR2/chem_shifts_by_residue_all.json

Large diffs are not rendered by default.

Binary file not shown.
Binary file not shown.
Binary file not shown.
1,179 changes: 1,179 additions & 0 deletions tests/example_data/NMRSTAR2/starfiles_directory/bmr15000.str

Large diffs are not rendered by default.

10,830 changes: 10,830 additions & 0 deletions tests/example_data/NMRSTAR2/starfiles_directory/bmr18569.str

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
81 changes: 81 additions & 0 deletions tests/example_data/NMRSTAR3/chem_shifts_by_residue_SER.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
[
{
"2": {
"AA3Code": "SER",
"Seq_ID": "2",
"H": "8.225",
"HA": "4.420",
"HB2": "3.805",
"HB3": "3.857",
"CA": "58.593",
"CB": "64.057",
"N": "117.197"
},
"8": {
"AA3Code": "SER",
"Seq_ID": "8",
"H": "8.558",
"HA": "5.308",
"HB2": "3.599",
"HB3": "3.738",
"CA": "57.456",
"CB": "64.863",
"N": "117.870"
},
"9": {
"AA3Code": "SER",
"Seq_ID": "9",
"H": "9.230",
"HA": "5.059",
"HB2": "3.820",
"HB3": "3.981",
"CA": "57.852",
"CB": "67.332",
"N": "120.237"
},
"34": {
"AA3Code": "SER",
"Seq_ID": "34",
"H": "8.830",
"HA": "5.156",
"HB2": "3.212",
"HB3": "3.600",
"CA": "59.113",
"CB": "66.248",
"N": "115.301"
},
"46": {
"AA3Code": "SER",
"Seq_ID": "46",
"H": "7.552",
"HA": "5.091",
"HB2": "3.564",
"HB3": "4.136",
"CA": "55.939",
"CB": "66.829",
"N": "109.443"
},
"95": {
"AA3Code": "SER",
"Seq_ID": "95",
"H": "7.621",
"HA": "4.841",
"HB2": "4.101",
"HB3": "4.284",
"CA": "57.013",
"CB": "66.501",
"N": "110.313"
},
"108": {
"AA3Code": "SER",
"Seq_ID": "108",
"H": "7.623",
"HA": "4.033",
"HB2": "3.779",
"HB3": "3.849",
"CA": "61.617",
"CB": "62.493",
"N": "114.205"
}
}
]
46 changes: 46 additions & 0 deletions tests/example_data/NMRSTAR3/chem_shifts_by_residue_SER_CA_CB.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
[
{
"2": {
"AA3Code": "SER",
"Seq_ID": "2",
"CA": "58.593",
"CB": "64.057"
},
"8": {
"AA3Code": "SER",
"Seq_ID": "8",
"CA": "57.456",
"CB": "64.863"
},
"9": {
"AA3Code": "SER",
"Seq_ID": "9",
"CA": "57.852",
"CB": "67.332"
},
"34": {
"AA3Code": "SER",
"Seq_ID": "34",
"CA": "59.113",
"CB": "66.248"
},
"46": {
"AA3Code": "SER",
"Seq_ID": "46",
"CA": "55.939",
"CB": "66.829"
},
"95": {
"AA3Code": "SER",
"Seq_ID": "95",
"CA": "57.013",
"CB": "66.501"
},
"108": {
"AA3Code": "SER",
"Seq_ID": "108",
"CA": "61.617",
"CB": "62.493"
}
}
]
File renamed without changes.
File renamed without changes.
58 changes: 38 additions & 20 deletions tests/test_api_methods.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,51 @@


def test_chem_shift_by_residue_all():
starfile_generator = nmrstarlib.read_files("tests/example_data/bmr18569.str")
starfile = next(starfile_generator)
test_chem_shifts = starfile.chem_shifts_by_residue()
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/bmr18569.str",
"tests/example_data/NMRSTAR2/bmr18569.str")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
test_chem_shifts1 = starfile1.chem_shifts_by_residue(nmrstar_version="3")
test_chem_shifts2 = starfile2.chem_shifts_by_residue(nmrstar_version="2")

with open("tests/example_data/chem_shifts_by_residue_all.json", "r") as infile:
model_chem_shifts = json.load(infile, object_pairs_hook=OrderedDict)
with open("tests/example_data/NMRSTAR3/chem_shifts_by_residue_all.json", "r") as infile:
model_chem_shifts1 = json.load(infile, object_pairs_hook=OrderedDict)
with open("tests/example_data/NMRSTAR2/chem_shifts_by_residue_all.json", "r") as infile:
model_chem_shifts2 = json.load(infile, object_pairs_hook=OrderedDict)

assert repr(test_chem_shifts) == repr(model_chem_shifts)
assert repr(test_chem_shifts1) == repr(model_chem_shifts1)
assert repr(test_chem_shifts2) == repr(model_chem_shifts2)


def test_chem_shift_by_residue_specific_amino_acid():
starfile_generator = nmrstarlib.read_files("tests/example_data/bmr18569.str")
starfile = next(starfile_generator)
test_chem_shifts = starfile.chem_shifts_by_residue(aminoacids=("SER"))
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/bmr18569.str",
"tests/example_data/NMRSTAR2/bmr18569.str")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
test_chem_shifts1 = starfile1.chem_shifts_by_residue(amino_acids=("SER",), nmrstar_version="3")
test_chem_shifts2 = starfile2.chem_shifts_by_residue(amino_acids=("SER",), nmrstar_version="2")

with open("tests/example_data/chem_shifts_by_residue_SER.json", "r") as infile:
model_chem_shifts = json.load(infile, object_pairs_hook=OrderedDict)
with open("tests/example_data/NMRSTAR3/chem_shifts_by_residue_SER.json", "r") as infile:
model_chem_shifts1 = json.load(infile, object_pairs_hook=OrderedDict)
with open("tests/example_data/NMRSTAR2/chem_shifts_by_residue_SER.json", "r") as infile:
model_chem_shifts2 = json.load(infile, object_pairs_hook=OrderedDict)

assert repr(test_chem_shifts) == repr(model_chem_shifts)
assert repr(test_chem_shifts1) == repr(model_chem_shifts1)
assert repr(test_chem_shifts2) == repr(model_chem_shifts2)


def test_chem_shift_by_residue_specific_amino_acid_specific_atoms():
starfile_generator = nmrstarlib.read_files("tests/example_data/bmr18569.str")
starfile = next(starfile_generator)
test_chem_shifts = starfile.chem_shifts_by_residue(aminoacids=("SER"), atoms=("CA", "CB"))

with open("tests/example_data/chem_shifts_by_residue_SER_CA_CB.json", "r") as infile:
model_chem_shifts = json.load(infile, object_pairs_hook=OrderedDict)

assert repr(test_chem_shifts) == repr(model_chem_shifts)
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/bmr18569.str",
"tests/example_data/NMRSTAR2/bmr18569.str")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
test_chem_shifts1 = starfile1.chem_shifts_by_residue(amino_acids=("SER",), atoms=("CA", "CB"), nmrstar_version="3")
test_chem_shifts2 = starfile2.chem_shifts_by_residue(amino_acids=("SER",), atoms=("CA", "CB"), nmrstar_version="2")

with open("tests/example_data/NMRSTAR3/chem_shifts_by_residue_SER_CA_CB.json", "r") as infile:
model_chem_shifts1 = json.load(infile, object_pairs_hook=OrderedDict)
with open("tests/example_data/NMRSTAR2/chem_shifts_by_residue_SER_CA_CB.json", "r") as infile:
model_chem_shifts2 = json.load(infile, object_pairs_hook=OrderedDict)

assert repr(test_chem_shifts1) == repr(model_chem_shifts1)
assert repr(test_chem_shifts2) == repr(model_chem_shifts2)
73 changes: 50 additions & 23 deletions tests/test_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,50 +4,77 @@


def teardown_module(module):
shutil.rmtree("tests/example_data/tmp")
shutil.rmtree("tests/example_data/NMRSTAR3/tmp")
shutil.rmtree("tests/example_data/NMRSTAR2/tmp")


def test_from_nmrstar_to_json_single_file():
converter = Converter(from_path="tests/example_data/bmr18569.str",
to_path="tests/example_data/tmp/bmr18569.json",
converter = Converter(from_path="tests/example_data/NMRSTAR3/bmr18569.str",
to_path="tests/example_data/NMRSTAR3/tmp/bmr18569.json",
from_format="nmrstar",
to_format="json")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/tmp/bmr18569.json")
starfile = next(starfile_generator)
assert starfile.bmrbid == "18569"
converter = Converter(from_path="tests/example_data/NMRSTAR2/bmr18569.str",
to_path="tests/example_data/NMRSTAR2/tmp/bmr18569.json",
from_format="nmrstar",
to_format="json")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/tmp/bmr18569.json",
"tests/example_data/NMRSTAR2/tmp/bmr18569.json")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
assert starfile1.bmrbid == "18569" and starfile2.bmrbid == "18569"


def test_from_json_to_nmrstar_single_file():
converter = Converter(from_path="tests/example_data/tmp/bmr18569.json",
to_path="tests/example_data/tmp/bmr18569.str",
converter = Converter(from_path="tests/example_data/NMRSTAR3/tmp/bmr18569.json",
to_path="tests/example_data/NMRSTAR3/tmp/bmr18569.str",
from_format="json",
to_format="nmrstar")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/tmp/bmr18569.str")
starfile = next(starfile_generator)
assert starfile.bmrbid == "18569"
converter = Converter(from_path="tests/example_data/NMRSTAR2/tmp/bmr18569.json",
to_path="tests/example_data/NMRSTAR2/tmp/bmr18569.str",
from_format="json",
to_format="nmrstar")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/tmp/bmr18569.str",
"tests/example_data/NMRSTAR2/tmp/bmr18569.str")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
assert starfile1.bmrbid == "18569" and starfile2.bmrbid == "18569"


def test_from_nmrstar_to_json_directory():
converter = Converter(from_path="tests/example_data/starfiles_directory",
to_path="tests/example_data/tmp/starfiles_directory_json",
converter = Converter(from_path="tests/example_data/NMRSTAR3/starfiles_directory",
to_path="tests/example_data/NMRSTAR3/tmp/starfiles_directory_json",
from_format="nmrstar",
to_format="json")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/tmp/starfiles_directory_json")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
assert starfile1.bmrbid in ("15000", "18569") and starfile2.bmrbid in ("15000", "18569")
converter = Converter(from_path="tests/example_data/NMRSTAR2/starfiles_directory",
to_path="tests/example_data/NMRSTAR2/tmp/starfiles_directory_json",
from_format="nmrstar",
to_format="json")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/tmp/starfiles_directory_json",
"tests/example_data/NMRSTAR2/tmp/starfiles_directory_json")
starfiles_list = list(starfile_generator)
starfiles_ids_set = set(sf.bmrbid for sf in starfiles_list)
assert starfiles_ids_set == {"15000", "18569"}


def test_from_json_to_nmrstar_directory():
converter = Converter(from_path="tests/example_data/tmp/starfiles_directory_json",
to_path="tests/example_data/tmp/starfiles_directory_nmrstar",
converter = Converter(from_path="tests/example_data/NMRSTAR3/tmp/starfiles_directory_json",
to_path="tests/example_data/NMRSTAR3/tmp/starfiles_directory_nmrstar",
from_format="json",
to_format="nmrstar")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/tmp/starfiles_directory_nmrstar")
starfile1 = next(starfile_generator)
starfile2 = next(starfile_generator)
assert starfile1.bmrbid in ("15000", "18569") and starfile2.bmrbid in ("15000", "18569")
converter = Converter(from_path="tests/example_data/NMRSTAR2/tmp/starfiles_directory_json",
to_path="tests/example_data/NMRSTAR2/tmp/starfiles_directory_nmrstar",
from_format="json",
to_format="nmrstar")
converter.convert()
starfile_generator = nmrstarlib.read_files("tests/example_data/NMRSTAR3/tmp/starfiles_directory_nmrstar",
"tests/example_data/NMRSTAR2/tmp/starfiles_directory_nmrstar")
starfiles_list = list(starfile_generator)
starfiles_ids_set = set(sf.bmrbid for sf in starfiles_list)
assert starfiles_ids_set == {"15000", "18569"}
54 changes: 41 additions & 13 deletions tests/test_csviewer.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,59 @@


def teardown_module(module):
shutil.rmtree("tests/example_data/tmp")
shutil.rmtree("tests/example_data/NMRSTAR3/tmp")
shutil.rmtree("tests/example_data/NMRSTAR2/tmp")


def test_csviewer_all():
csviewer = CSViewer(from_path="tests/example_data/bmr18569.str",
aminoacids=(),
csviewer = CSViewer(from_path="tests/example_data/NMRSTAR3/bmr18569.str",
amino_acids=(),
atoms=(),
filename="tests/example_data/tmp/18569",
csview_format="png")
filename="tests/example_data/NMRSTAR3/tmp/18569",
csview_format="png",
nmrstar_version="3")
csviewer.csview(view=False)

csviewer = CSViewer(from_path="tests/example_data/NMRSTAR2/bmr18569.str",
amino_acids=(),
atoms=(),
filename="tests/example_data/NMRSTAR2/tmp/18569",
csview_format="png",
nmrstar_version="2")
csviewer.csview(view=False)


def test_csviewer_specific_amino_acid():
csviewer = CSViewer(from_path="tests/example_data/bmr18569.str",
aminoacids=("SER",),
csviewer = CSViewer(from_path="tests/example_data/NMRSTAR3/bmr18569.str",
amino_acids=("SER",),
atoms=(),
filename="tests/example_data/tmp/18569_SER",
csview_format="png")
filename="tests/example_data/NMRSTAR3/tmp/18569_SER",
csview_format="png",
nmrstar_version="3")
csviewer.csview(view=False)

csviewer = CSViewer(from_path="tests/example_data/NMRSTAR2/bmr18569.str",
amino_acids=("SER",),
atoms=(),
filename="tests/example_data/NMRSTAR2/tmp/18569_SER",
csview_format="png",
nmrstar_version="2")
csviewer.csview(view=False)


def test_csviewer_specific_amino_acid_specific_atom():
csviewer = CSViewer(from_path="tests/example_data/bmr18569.str",
aminoacids=("SER",),
csviewer = CSViewer(from_path="tests/example_data/NMRSTAR3/bmr18569.str",
amino_acids=("SER",),
atoms=("CA", "CB"),
filename="tests/example_data/NMRSTAR3/tmp/18569_SER_CA_CB",
csview_format="png",
nmrstar_version="3")
csviewer.csview(view=False)

csviewer = CSViewer(from_path="tests/example_data/NMRSTAR2/bmr18569.str",
amino_acids=("SER",),
atoms=("CA", "CB"),
filename="tests/example_data/tmp/18569_SER_CA_CB",
csview_format="png")
filename="tests/example_data/NMRSTAR2/tmp/18569_SER_CA_CB",
csview_format="png",
nmrstar_version="2")
csviewer.csview(view=False)

0 comments on commit 9eed933

Please sign in to comment.