diff --git a/tests/test_core.py b/tests/test_core.py index a146b385d8b30b58034fb33674437e44998981c3..54542eaa17ee41be9bdb9b980e3570d0a21fca51 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -55,7 +55,7 @@ def test_get_header(): assert core.get_header("tsv") == res_tsv assert core.get_header("pwet") == res_fasta -def test_output_results(capsys, tmpdir): +def test_output_results(capsys, tmp_path): """Test function 'output_results(output_file, all_seq_digested, fmt, quiet, verbose)'""" # Test file not found @@ -81,21 +81,22 @@ def test_output_results(capsys, tmpdir): water_mass = core.WATER_MASS_MONO all_seq_digested = digest.digest_from_input(seq, "sequence", enzymes, mode, aa_pka, aa_mass, water_mass) - output_file = tmpdir.join("test_result.csv") + output_file = tmp_path.joinpath("test_result.csv") fmt = "csv" quiet = False verbose = 0 core.output_results(str(output_file), all_seq_digested, fmt, quiet, verbose) out, err = capsys.readouterr() - assert out == output_file.read() - assert output_file.read() == "Original_header,No_peptide,Enzyme,Cleaving_"\ - "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ - "Input,0,fake_enzyme1,4,4,534.20743,3.14,WQS"\ - "D\nInput,1,fake_enzyme1,7,3,349.11213,3.04,"\ - "ESD\nInput,2,fake_enzyme1,12,5,495.19653,3."\ - "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.112"\ - "13,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ - "07898,5.97,F\n" + with open(output_file, encoding="utf-8") as outf: + assert out == outf.read() + assert out == "Original_header,No_peptide,Enzyme,Cleaving_"\ + "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ + "Input,0,fake_enzyme1,4,4,534.20743,3.14,WQS"\ + "D\nInput,1,fake_enzyme1,7,3,349.11213,3.04,"\ + "ESD\nInput,2,fake_enzyme1,12,5,495.19653,3."\ + "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.112"\ + "13,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ + "07898,5.97,F\n" # CSV output seq = "WQSDESDFZQSDESDF" @@ -104,60 +105,63 @@ def test_output_results(capsys, tmpdir): water_mass = core.WATER_MASS all_seq_digested = digest.digest_from_input(seq, "sequence", enzymes, mode, aa_pka, aa_mass, water_mass) - output_file = tmpdir.join("test_result.csv") + output_file = tmp_path.joinpath("test_result.csv") fmt = "csv" quiet = False verbose = 0 core.output_results(str(output_file), all_seq_digested, fmt, quiet, verbose) out, err = capsys.readouterr() - assert out == output_file.read() - assert output_file.read() == "Original_header,No_peptide,Enzyme,Cleaving_"\ - "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ - "Input,0,fake_enzyme1,4,4,534.52598,3.14,WQS"\ - "D\nInput,1,fake_enzyme1,7,3,349.29758,3.04,"\ - "ESD\nInput,2,fake_enzyme1,12,5,495.48938,3."\ - "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.297"\ - "58,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ - "19188,5.97,F\n" + with open(output_file, encoding="utf-8") as outf: + assert out == outf.read() + assert out == "Original_header,No_peptide,Enzyme,Cleaving_"\ + "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ + "Input,0,fake_enzyme1,4,4,534.52598,3.14,WQS"\ + "D\nInput,1,fake_enzyme1,7,3,349.29758,3.04,"\ + "ESD\nInput,2,fake_enzyme1,12,5,495.48938,3."\ + "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.297"\ + "58,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ + "19188,5.97,F\n" # TSV output - output_file = tmpdir.join("test_result.tsv") + output_file = tmp_path.joinpath("test_result.tsv") fmt = "tsv" quiet = False verbose = 0 core.output_results(str(output_file), all_seq_digested, fmt, quiet, verbose) out, err = capsys.readouterr() - assert out == output_file.read() - assert output_file.read() == "Original_header\tNo_peptide\tEnzyme\tCleavi"\ - "ng_pos\tPeptide_size\tPeptide_mass\tpI\tSeq"\ - "uence\nInput\t0\tfake_enzyme1\t4\t4\t534.52"\ - "598\t3.14\tWQSD\nInput\t1\tfake_enzyme1\t7"\ - "\t3\t349.29758\t3.04\tESD\nInput\t2\tfake_e"\ - "nzyme1\t12\t5\t495.48938\t3.14\tFZQSD\nInpu"\ - "t\t3\tfake_enzyme1\t15\t3\t349.29758\t3.04"\ - "\tESD\nInput\t4\tfake_enzyme1\t16\t1\t165.1"\ - "9188\t5.97\tF\n" + with open(output_file, encoding="utf-8") as outf: + assert out == outf.read() + assert out == "Original_header\tNo_peptide\tEnzyme\tCleavi"\ + "ng_pos\tPeptide_size\tPeptide_mass\tpI\tSeq"\ + "uence\nInput\t0\tfake_enzyme1\t4\t4\t534.52"\ + "598\t3.14\tWQSD\nInput\t1\tfake_enzyme1\t7"\ + "\t3\t349.29758\t3.04\tESD\nInput\t2\tfake_e"\ + "nzyme1\t12\t5\t495.48938\t3.14\tFZQSD\nInpu"\ + "t\t3\tfake_enzyme1\t15\t3\t349.29758\t3.04"\ + "\tESD\nInput\t4\tfake_enzyme1\t16\t1\t165.1"\ + "9188\t5.97\tF\n" # Fasta output - output_file = tmpdir.join("test_result.fasta") + output_file = tmp_path.joinpath("test_result.fasta") fmt = "fasta" quiet = False verbose = 0 core.output_results(str(output_file), all_seq_digested, fmt, quiet, verbose) out, err = capsys.readouterr() - assert out == output_file.read() - assert output_file.read() == ">Input_0_fake_enzyme1_4_4_534.52598_3.14\nW"\ - "QSD\n>Input_1_fake_enzyme1_7_3_349.29758_3."\ - "04\nESD\n>Input_2_fake_enzyme1_12_5_495.489"\ - "38_3.14\nFZQSD\n>Input_3_fake_enzyme1_15_3_"\ - "349.29758_3.04\nESD\n>Input_4_fake_enzyme1_"\ - "16_1_165.19188_5.97\nF\n" + with open(output_file, encoding="utf-8") as outf: + assert out == outf.read() + assert out == ">Input_0_fake_enzyme1_4_4_534.52598_3.14\nW"\ + "QSD\n>Input_1_fake_enzyme1_7_3_349.29758_3."\ + "04\nESD\n>Input_2_fake_enzyme1_12_5_495.489"\ + "38_3.14\nFZQSD\n>Input_3_fake_enzyme1_15_3_"\ + "349.29758_3.04\nESD\n>Input_4_fake_enzyme1_"\ + "16_1_165.19188_5.97\nF\n" # CSV output in quiet seq = "WQSDESDFZQSDESDF" all_seq_digested = digest.digest_from_input(seq, "sequence", enzymes, mode, aa_pka, aa_mass, water_mass) - output_file = tmpdir.join("test_result.csv") + output_file = tmp_path.joinpath("test_result.csv") fmt = "csv" quiet = True verbose = 0 @@ -166,40 +170,42 @@ def test_output_results(capsys, tmpdir): out, err = capsys.readouterr() # Quiet assert out == "" - assert output_file.read() == "Original_header,No_peptide,Enzyme,Cleaving_"\ - "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ - "Input,0,fake_enzyme1,4,4,534.52598,3.14,WQS"\ - "D\nInput,1,fake_enzyme1,7,3,349.29758,3.04,"\ - "ESD\nInput,2,fake_enzyme1,12,5,495.48938,3."\ - "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.297"\ - "58,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ - "19188,5.97,F\n" + with open(output_file, encoding="utf-8") as outf: + assert outf.read() == "Original_header,No_peptide,Enzyme,Cleaving_"\ + "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ + "Input,0,fake_enzyme1,4,4,534.52598,3.14,WQS"\ + "D\nInput,1,fake_enzyme1,7,3,349.29758,3.04,"\ + "ESD\nInput,2,fake_enzyme1,12,5,495.48938,3."\ + "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.297"\ + "58,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ + "19188,5.97,F\n" # CSV output in verbose > 2 seq = "WQSDESDFZQSDESDF" all_seq_digested = digest.digest_from_input(seq, "sequence", enzymes, mode, aa_pka, aa_mass, water_mass) - output_file = tmpdir.join("test_result.csv") + output_file = tmp_path.joinpath("test_result.csv") fmt = "csv" quiet = False verbose = 3 core.output_results(str(output_file), all_seq_digested, fmt, quiet, verbose) out, err = capsys.readouterr() - assert output_file.read() == "Original_header,No_peptide,Enzyme,Cleaving_"\ - "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ - "Input,0,fake_enzyme1,4,4,534.52598,3.14,WQS"\ - "D\nInput,1,fake_enzyme1,7,3,349.29758,3.04,"\ - "ESD\nInput,2,fake_enzyme1,12,5,495.48938,3."\ - "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.297"\ - "58,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ - "19188,5.97,F\n" - # Verbose > 2 - assert out == "\nNumber of cleavage: 4\nCleavage position: 4, 7, 12, 15\n"\ - "Number of miscleavage: 0\nmiscleavage position: \nmis"\ - "cleavage ratio: 0.00%\nSmallest peptide size: 1\nN termin"\ - "al peptide: WQSD\nC terminal peptide: F\n" + \ - output_file.read() + with open(output_file, encoding="utf-8") as outf: + content = outf.read() + assert content == "Original_header,No_peptide,Enzyme,Cleaving_"\ + "pos,Peptide_size,Peptide_mass,pI,Sequence\n"\ + "Input,0,fake_enzyme1,4,4,534.52598,3.14,WQS"\ + "D\nInput,1,fake_enzyme1,7,3,349.29758,3.04,"\ + "ESD\nInput,2,fake_enzyme1,12,5,495.48938,3."\ + "14,FZQSD\nInput,3,fake_enzyme1,15,3,349.297"\ + "58,3.04,ESD\nInput,4,fake_enzyme1,16,1,165."\ + "19188,5.97,F\n" + # Verbose > 2 + assert out == "\nNumber of cleavage: 4\nCleavage position: 4, 7, 12, 15\n"\ + "Number of miscleavage: 0\nmiscleavage position: \nmis"\ + "cleavage ratio: 0.00%\nSmallest peptide size: 1\nN termin"\ + "al peptide: WQSD\nC terminal peptide: F\n" + content # No output file output_file = None @@ -284,11 +290,12 @@ def test_peptide(): assert pep3.get_isoelectric_point() == 2.91 -def test_next_read(capsys, tmpdir): +def test_next_read(capsys, tmp_path): """ Test function 'next_read(files)'""" # Test fasta (multi-line) file with two sequences - fasta_file = tmpdir.join("test.fasta") - fasta_file.write(">Fake1\nACGTTATATGCTA\nTGTG\n>Fake2\nCAGTACTAGCA") + fasta_file = tmp_path.joinpath("test.fasta") + with open(fasta_file, "w", encoding="utf-8") as f_file: + f_file.write(">Fake1\nACGTTATATGCTA\nTGTG\n>Fake2\nCAGTACTAGCA") # Only a portion of the file (from 0 to 3) res = core.next_read(fasta_file, 0, 3) # First read @@ -308,7 +315,7 @@ def test_next_read(capsys, tmpdir): # Test gzipped fasta file data = b">Fake1\nACGTTATATGCTATGT\n" - fastagz_file = tmpdir.join("test.fasta.gz") + fastagz_file = tmp_path.joinpath("test.fasta.gz") with gzip.open(fastagz_file, "wb") as fil: fil.write(data) res = core.next_read(fastagz_file, 0, 35) @@ -317,8 +324,9 @@ def test_next_read(capsys, tmpdir): assert a_read == (">Fake1", "ACGTTATATGCTATGT") # Test fastq file with two sequence - fastq_file = tmpdir.join("test.fastq") - fastq_file.write("@Fake1\nACGTTATATGCTATGTG\n+Fake1\n5Q8D8=64DS-+DZ84!\n"\ + fastq_file = tmp_path.joinpath("test.fastq") + with open(fastq_file, "w", encoding="utf-8") as f_file: + f_file.write("@Fake1\nACGTTATATGCTATGTG\n+Fake1\n5Q8D8=64DS-+DZ84!\n"\ "@Fake2\nATGCATGCTG\n+Fake1\n8173*8173!") # First sequence only (from 0 to 3) res = core.next_read(fastq_file, 0, 3) @@ -339,7 +347,7 @@ def test_next_read(capsys, tmpdir): # Test gzipped fastq file data = b"@Fake1\nACGTTATATGCTATGTG\n+Fake1\n5Q8D8=64DS-+DZ84!\n" - fastqgz_file = tmpdir.join("test.fastq.gz") + fastqgz_file = tmp_path.joinpath("test.fastq.gz") with gzip.open(fastqgz_file, "wb") as fil: fil.write(data) res = core.next_read(fastqgz_file, 0, 35) @@ -349,7 +357,7 @@ def test_next_read(capsys, tmpdir): # Test wrong gzipped fastq file data = b"+Fake1\nACGTTATATGCTATGTG\n+Fake1\n5Q8D8=64DS-+DZ84!\n" - fastqgz_file = tmpdir.join("test.fastq.gz") + fastqgz_file = tmp_path.joinpath("test.fastq.gz") with gzip.open(fastqgz_file, "wb") as fil: fil.write(data) with pytest.raises(ValueError) as pytest_wrapped_e: diff --git a/tests/test_digest.py b/tests/test_digest.py index 32484a2b9eea5c6764081417f5e96901b665e161..91ff52c9e06f4c981bc476f9d43d19c8e94807ab 100644 --- a/tests/test_digest.py +++ b/tests/test_digest.py @@ -342,7 +342,7 @@ def test_concurrent_digest(): assert res[0].peptides[3].__repr__() == res_pep3.__repr__() assert res[0].peptides[4].__repr__() == res_pep4.__repr__() -def test_digest_from_input(capsys, tmpdir): +def test_digest_from_input(capsys, tmp_path): """ Test function 'digest_from_input(input_data, input_type, enz, mode, aa_pka, aa_mass, water_mass, nb_proc=1)'""" @@ -404,8 +404,9 @@ def test_digest_from_input(capsys, tmpdir): assert pytest_wrapped_e.value.code == 1 # Test fasta file - fasta_file = tmpdir.join("test.fasta") - fasta_file.write(">Fake1\nWQSDESDFZQS\nDESDF\n>Fake2\nNPHARDORCOMPLET") + fasta_file = tmp_path.joinpath("test.fasta") + with open(fasta_file, "w", encoding="utf-8") as f_file: + f_file.write(">Fake1\nWQSDESDFZQS\nDESDF\n>Fake2\nNPHARDORCOMPLET") res = digest.digest_from_input(str(fasta_file), "file", enzymes, mode, aa_pka, aa_mass, water_mass) assert res[0][0].__repr__() == "Number of cleavage: 4\nNumber of miscle"\ @@ -442,8 +443,9 @@ def test_digest_from_input(capsys, tmpdir): "MPLET\n]\n" # Test fastq file (same result) with multiple proc - fastq_file = tmpdir.join("test.fastq") - fastq_file.write("@Fake1\nWQSDESDFZQSDESDF\n+Fake1\nnWQSDESDFZQSDESDF\n@F"\ + fastq_file = tmp_path.joinpath("test.fastq") + with open(fastq_file, "w", encoding="utf-8") as f_file: + f_file.write("@Fake1\nWQSDESDFZQSDESDF\n+Fake1\nnWQSDESDFZQSDESDF\n@F"\ "ake2\nNPHARDORCOMPLET\n+Fake2\nnNPHARDORCOMPLET\n") res = digest.digest_from_input(str(fastq_file), "file", enzymes, mode, aa_pka, aa_mass, water_mass, 2) @@ -486,8 +488,9 @@ def test_digest_from_input(capsys, tmpdir): assert res[1][0].__repr__() in results_unsorted # Test wrong fastq file - fastq_file = tmpdir.join("test.fastq") - fastq_file.write("?Fake1\nWQSDESDFZQSDESDF\n+Fake1\nnWQSDESDFZQSDESDF\n@F"\ + fastq_file = tmp_path.joinpath("test.fastq") + with open(fastq_file, "w", encoding="utf-8") as f_file: + f_file.write("?Fake1\nWQSDESDFZQSDESDF\n+Fake1\nnWQSDESDFZQSDESDF\n@F"\ "ake2\nNPHARDORCOMPLET\n+Fake2\nnNPHARDORCOMPLET\n") with pytest.raises(SystemExit) as pytest_wrapped_e: res = digest.digest_from_input(str(fastq_file), "file", enzymes, mode, @@ -504,12 +507,13 @@ def test_digest_from_input(capsys, tmpdir): assert err == "Input Error: input type not recognized (42).\n" assert pytest_wrapped_e.value.code == 1 -def test_digest_part(tmpdir): +def test_digest_part(tmp_path): """ Test function 'digest_part(offset_start, offset_end, file, enz, mode, aa_pka, aa_mass, water_mass)'""" # Fake input file - file = tmpdir.join("test.fasta") - file.write(">Fake1\nWQSDESDFZQS\nDESDF\n>Fake2\nNPHARDORCOMPLET") + file = tmp_path.joinpath("test.fasta") + with open(file, "w", encoding="utf-8") as f_file: + f_file.write(">Fake1\nWQSDESDFZQS\nDESDF\n>Fake2\nNPHARDORCOMPLET") rule_dict = {} rule_txt = "(S)(D,)" rule_dict[rule_txt] = True @@ -533,8 +537,9 @@ def test_digest_part(tmpdir): assert results_digestion[1][0].nb_cleavage == 0 # Fake false input file - file = tmpdir.join("test.fasta") - file.write(",Fake1\nWQSDESDFZQS\nDESDF\n>Fake2\nNPHARDORCOMPLET") + file = tmp_path.joinpath("test.fasta") + with open(file, "w", encoding="utf-8") as f_file: + f_file.write(",Fake1\nWQSDESDFZQS\nDESDF\n>Fake2\nNPHARDORCOMPLET") rule_dict = {} rule_txt = "(S)(D,)" rule_dict[rule_txt] = True diff --git a/tests/test_enzyme.py b/tests/test_enzyme.py index 2c8365fe562ed3e89afe300daf92708037b9dd43..4ed1427e08031f8ac8635eb7639cc9aa041fc44b 100644 --- a/tests/test_enzyme.py +++ b/tests/test_enzyme.py @@ -7,7 +7,7 @@ from rpg import enzyme from rpg import rule from rpg.enzymes_definition import AVAILABLE_ENZYMES -def test_enzyme(tmpdir): +def test_enzyme(tmp_path): """Test class 'Enzyme'""" # First enzyme: cut after D not precedeed by S dict_rule = {} @@ -47,23 +47,24 @@ def test_enzyme(tmpdir): """Test function 'write_enzyme_in_user_file(self, enz_file=DEFUSERENZFILE)' """ - output_file = tmpdir.join("test_enzuser.py") + output_file = tmp_path.joinpath("test_enzuser.py") dict_rule = {} rule_txt = "(D)(E,)" dict_rule[rule_txt] = True all_rules = rule.create_rules(dict_rule) new_enz = enzyme.Enzyme(-1, "fake_enzyme", all_rules) new_enz.write_enzyme_in_user_file(str(output_file)) - assert output_file.read() == '\n\n\n# User-defined enzyme fake_enzyme\nEN'\ - 'Z = []\n\nE_1 = rule.Rule(0, "E", False, 1)'\ - ' # Never cleaves after E, except...\nD_E_1M'\ - '1 = rule.Rule(-1, "D", True, -1) # Always c'\ - 'leaves after E, preceded by D, except...\nE'\ - '_1.rules.append(D_E_1M1)\nENZ.append(E_1)\n'\ - '\nENZYME = enzyme.Enzyme(CPT_ENZ, "fake_enz'\ - 'yme", ENZ, 0)\n# Add it to available enzyme'\ - 's\nAVAILABLE_ENZYMES_USER.append(ENZYME)\nC'\ - 'PT_ENZ += 1\n' + with open(output_file, encoding="utf-8") as outf: + assert outf.read() == '\n\n\n# User-defined enzyme fake_enzyme\nEN'\ + 'Z = []\n\nE_1 = rule.Rule(0, "E", False, 1)'\ + ' # Never cleaves after E, except...\nD_E_1M'\ + '1 = rule.Rule(-1, "D", True, -1) # Always c'\ + 'leaves after E, preceded by D, except...\nE'\ + '_1.rules.append(D_E_1M1)\nENZ.append(E_1)\n'\ + '\nENZYME = enzyme.Enzyme(CPT_ENZ, "fake_enz'\ + 'yme", ENZ, 0)\n# Add it to available enzyme'\ + 's\nAVAILABLE_ENZYMES_USER.append(ENZYME)\nC'\ + 'PT_ENZ += 1\n' def test_check_enzyme_name(capsys): """Test function 'check_enzyme_name(name_new_enz, all_name_enz)'.""" diff --git a/tests/test_functional.py b/tests/test_functional.py index aaa9e53c0b462701f92925a5e6a0b61adbb347b3..9efbe2e8801cfb932953ada09545d92bc5d11e32 100644 --- a/tests/test_functional.py +++ b/tests/test_functional.py @@ -439,36 +439,37 @@ def truth_ipc(): "LADAHLSMS\n"] @pytest.fixture -def file_a(tmpdir): +def file_a(tmp_path): """ Good fasta file """ - file_name = tmpdir.join("A.fasta") - file_name.write(">A0A2C9KB11/1065-1162\n"\ - "DREALDSSWKKLRSgagGRKNAGIRLVLWMLDHVPNMRNQFKKFAHQPDSVLQRDPE\n"\ - "FLAQVDRILGGVESMINNVDDPVALEAAFDRLADAHLSMT\n"\ - ">A0A2C9KB11/1221-1332\n"\ - "ERKALKSSWDSLKSaagGSQEAGVNLVLWMLQNVPNMRDRFTFNAHQGDDALKADAE\n"\ - "FIKQVQRITGGLESMIDNLDNQGKLQAAIDRLVDAHLHMTpSVGLEYFEPLQKN\n"\ - ">A0A2C9KB11/1378-1486\n"\ - "DRKYIESSWKKLTDaagGSEKAGTNFVFWLLDNVPNMRDRFTFNAHQSDAALQEDEE\n"\ - "FRNQVKAITGGIESFVNNVNNPAALQSSIETLVDAHLNMQpSIGLSYFGSV\n"\ - ">A0A2C9KB11/1535-1643\n"\ - "DRRAVVSSWKKLTAsGRQSFGIDLVLWMFNNVPNMREQFTFDAKQSDADLRRDPNFL\n"\ - "KQVNSIVNGLGDMVDSVNDPGKLQANLERLSEIHLHFVpSVGPEFFVPLEK\n"\ - ">A0A2C9K1A5/128-239\n"\ - "DIKALDSSWNKLTAgadGRTTFGNNLVLWMLNVPNMRERFVKFNAHQSDEALKNDAE\n"\ - "FIKQVKLIVGGLQTLIINLNNPGQLQASIEHLADVHLHMKpSIGLEYFKPLQEN\n"\ - ">A0A2C9K1A5/285-395\n"\ - "DKVALESSWSRLTAgvnGKRNAGVRLVLWMFNVPDMRERFTRFNAKQSDEALKTDAE\n"\ - "FLKQVDVIIGGFETLINNLNDPTLLQDRLESLADAHLEKKpAIGVSYFGPLQK\n"\ - ">A0A2C9K1A5/588-698\n"\ - "DKKALQSSWNTLVNqagGQQNAGIKLVLWMFNVPNMRDRFSKFNAHSSDDALKADAE\n"\ - "FLKQVNVIVGGLESLVNNVDDADKLQAGVERLVDAHLHMSpSVGLEYFGPLQQ\n"\ - ">A0A2C9K1A5/745-855\n"\ - "DRKVLERTWNQLISgpgGKEKAGIKLVLWMFENVPNMRDQFSKFDAHKSDEALSKPE\n"\ - "FVKQVNNIFGGLESILNNLNKPGQLQSALENLADDHLDRKpRIGLEFFGPLQK\n"\ - ">A0A2C9K1A5/935-1004\n"\ - "QMFEHVPNMREQFTKFDAHQPNAALKQNPEFLAQVGRILGGIESLLNNDDPVALKAA\n"\ - "IDRLADAHLSMS\n") + file_name = tmp_path.joinpath("A.fasta") + with open(file_name, "w", encoding="utf-8") as f_file: + f_file.write(">A0A2C9KB11/1065-1162\n"\ + "DREALDSSWKKLRSgagGRKNAGIRLVLWMLDHVPNMRNQFKKFAHQPDSVLQRDPE\n"\ + "FLAQVDRILGGVESMINNVDDPVALEAAFDRLADAHLSMT\n"\ + ">A0A2C9KB11/1221-1332\n"\ + "ERKALKSSWDSLKSaagGSQEAGVNLVLWMLQNVPNMRDRFTFNAHQGDDALKADAE\n"\ + "FIKQVQRITGGLESMIDNLDNQGKLQAAIDRLVDAHLHMTpSVGLEYFEPLQKN\n"\ + ">A0A2C9KB11/1378-1486\n"\ + "DRKYIESSWKKLTDaagGSEKAGTNFVFWLLDNVPNMRDRFTFNAHQSDAALQEDEE\n"\ + "FRNQVKAITGGIESFVNNVNNPAALQSSIETLVDAHLNMQpSIGLSYFGSV\n"\ + ">A0A2C9KB11/1535-1643\n"\ + "DRRAVVSSWKKLTAsGRQSFGIDLVLWMFNNVPNMREQFTFDAKQSDADLRRDPNFL\n"\ + "KQVNSIVNGLGDMVDSVNDPGKLQANLERLSEIHLHFVpSVGPEFFVPLEK\n"\ + ">A0A2C9K1A5/128-239\n"\ + "DIKALDSSWNKLTAgadGRTTFGNNLVLWMLNVPNMRERFVKFNAHQSDEALKNDAE\n"\ + "FIKQVKLIVGGLQTLIINLNNPGQLQASIEHLADVHLHMKpSIGLEYFKPLQEN\n"\ + ">A0A2C9K1A5/285-395\n"\ + "DKVALESSWSRLTAgvnGKRNAGVRLVLWMFNVPDMRERFTRFNAKQSDEALKTDAE\n"\ + "FLKQVDVIIGGFETLINNLNDPTLLQDRLESLADAHLEKKpAIGVSYFGPLQK\n"\ + ">A0A2C9K1A5/588-698\n"\ + "DKKALQSSWNTLVNqagGQQNAGIKLVLWMFNVPNMRDRFSKFNAHSSDDALKADAE\n"\ + "FLKQVNVIVGGLESLVNNVDDADKLQAGVERLVDAHLHMSpSVGLEYFGPLQQ\n"\ + ">A0A2C9K1A5/745-855\n"\ + "DRKVLERTWNQLISgpgGKEKAGIKLVLWMFENVPNMRDQFSKFDAHKSDEALSKPE\n"\ + "FVKQVNNIFGGLESILNNLNKPGQLQSALENLADDHLDRKpRIGLEFFGPLQK\n"\ + ">A0A2C9K1A5/935-1004\n"\ + "QMFEHVPNMREQFTKFDAHQPNAALKQNPEFLAQVGRILGGIESLLNNDDPVALKAA\n"\ + "IDRLADAHLSMS\n") return file_name @pytest.fixture @@ -638,16 +639,17 @@ def res_dig_1_42_ipc(): ">Input_8_Trypsin_47_3_407.46678_3.36\n"\ "EFL\n" -def test_wrong_file(tmpdir, capsys): +def test_wrong_file(tmp_path, capsys): """ Try the full software with wrong fasta file """ # False file A - false_file_a = tmpdir.join("FalseA.fasta") - false_file_a.write("?A0A2C9KB11/1065-1162\n"\ - "DREALDSSWKKLRSgagGRKNAGIRLVLWMLDHVPNMRAHQPDSVLQREFL\n"\ - "AQVDRILGGVESMINNVDDPVALEAAFDRLADAHLSMT\n"\ - ">A0A2C9KB11/1221-1332\n"\ - "ERKALKSSWDSLKSaagGSQEAGVNLVLWMLQNVTKFNAHQGDDALKAEFI\n"\ - "KQVQRITGGLESMIDNLDNQGKLQAAIDRLVDAHLHMTpSVGLEYEPLQKN\n") + false_file_a = tmp_path.joinpath("FalseA.fasta") + with open(false_file_a, "w", encoding="utf-8") as f_file: + f_file.write("?A0A2C9KB11/1065-1162\n"\ + "DREALDSSWKKLRSgagGRKNAGIRLVLWMLDHVPNMRAHQPDSVLQREFL\n"\ + "AQVDRILGGVESMINNVDDPVALEAAFDRLADAHLSMT\n"\ + ">A0A2C9KB11/1221-1332\n"\ + "ERKALKSSWDSLKSaagGSQEAGVNLVLWMLQNVTKFNAHQGDDALKAEFI\n"\ + "KQVQRITGGLESMIDNLDNQGKLQAAIDRLVDAHLHMTpSVGLEYEPLQKN\n") with pytest.raises(SystemExit) as pytest_wrapped_e: with unittest.mock.patch("sys.argv", ["func_test", @@ -659,37 +661,38 @@ def test_wrong_file(tmpdir, capsys): captured = capsys.readouterr() assert "Input Error: input file format not recognized (?)." in captured.err -def test_wrong_file_in_middle(tmpdir, capsys): +def test_wrong_file_in_middle(tmp_path, capsys): """ Try the full software with wrong fasta file (error in the middle) """ # False file A - false_file_a_mid = tmpdir.join("FalseAmid.fasta") - false_file_a_mid.write(">A0A2C9KB11/1065-1162\n"\ - "DREALDSSWKKLRSgagGRKNAGIRLVLWMLDFDAHQPDSVLQREFL\n"\ - "AQVDRILGGVESMINNVDDPVALEAAFDRLADAHLSMT\n"\ - ">A0A2C9KB11/1221-1332\n"\ - "ERKALKSSWDSLKSaagGSQEAGVNLVLWMLQNVPNQGDDALKAEFI\n"\ - "KQVQRITGGLESMIDNLDNQGKLQAAIDRLVDAHLHMTpSVGLLQKN\n"\ - ">A0A2C9KB11/1378-1486\n"\ - "DRKYIESSWKKLTDaagGSEKAGTNFVFWLLDNVPHQSDAALQEDFR\n"\ - "NQVKAITGGIESFVNNVNNPAALQSSIETLVDAHLNMQpSIGLSYSV\n"\ - "?A0A2C9KB11/1535-1643\n"\ - "DRRAVVSSWKKLTAsGRQSFGIDLVLWMFNNVPNMSDADLRRDFLKQ\n"\ - "VNSIVNGLGDMVDSVNDPGKLQANLERLSEIHLHFVpSVGPEFFVEK\n"\ - ">A0A2C9K1A5/128-239\n"\ - "DIKALDSSWNKLTAgadGRTTFGNNLVLWMLDNVPNMSDEALKNEFI\n"\ - "KQVKLIVGGLQTLIINLNNPGQLQASIEHLADVHLHMKpSIGLLQEN\n"\ - ">A0A2C9K1A5/285-395\n"\ - "DKVALESSWSRLTAgvnGKRNAGVRLVLWMFNAKQSDEALKTDAEFL\n"\ - "KQVDVIIGGFETLINNLNDPTLLQDRLESLADAHLEKKpAIGVPLQK\n"\ - ">A0A2C9K1A5/588-698\n"\ - "DKKALQSSQNAGIKLVLWMFDNVPNMRFSKFNAHSSDDALKADAEFL\n"\ - "KQVNVIVGGLESLVNNDKLQAGVERLVDAHLHMSpSVGLEYFGPLQQ\n"\ - ">A0A2C9K1A5/745-855\n"\ - "DRKVLERTWNQLISgpgGKEENVPNMRDSKFDAHKSDEALSKDPEFV\n"\ - "KQVNNIFGGLESILNNLNKPGQLQSALENLADDHLDRKpRIGGPLQK\n"\ - ">A0A2C9K1A5/935-1004\n"\ - "QMFEHVPNMREQFTKFDAHQPNAALKQNPEFLLNNLDDPVALKAAID\n"\ - "RLADAHLSMS\n") + false_file_a_mid = tmp_path.joinpath("FalseAmid.fasta") + with open(false_file_a_mid, "w", encoding="utf-8") as f_file: + f_file.write(">A0A2C9KB11/1065-1162\n"\ + "DREALDSSWKKLRSgagGRKNAGIRLVLWMLDFDAHQPDSVLQREFL\n"\ + "AQVDRILGGVESMINNVDDPVALEAAFDRLADAHLSMT\n"\ + ">A0A2C9KB11/1221-1332\n"\ + "ERKALKSSWDSLKSaagGSQEAGVNLVLWMLQNVPNQGDDALKAEFI\n"\ + "KQVQRITGGLESMIDNLDNQGKLQAAIDRLVDAHLHMTpSVGLLQKN\n"\ + ">A0A2C9KB11/1378-1486\n"\ + "DRKYIESSWKKLTDaagGSEKAGTNFVFWLLDNVPHQSDAALQEDFR\n"\ + "NQVKAITGGIESFVNNVNNPAALQSSIETLVDAHLNMQpSIGLSYSV\n"\ + "?A0A2C9KB11/1535-1643\n"\ + "DRRAVVSSWKKLTAsGRQSFGIDLVLWMFNNVPNMSDADLRRDFLKQ\n"\ + "VNSIVNGLGDMVDSVNDPGKLQANLERLSEIHLHFVpSVGPEFFVEK\n"\ + ">A0A2C9K1A5/128-239\n"\ + "DIKALDSSWNKLTAgadGRTTFGNNLVLWMLDNVPNMSDEALKNEFI\n"\ + "KQVKLIVGGLQTLIINLNNPGQLQASIEHLADVHLHMKpSIGLLQEN\n"\ + ">A0A2C9K1A5/285-395\n"\ + "DKVALESSWSRLTAgvnGKRNAGVRLVLWMFNAKQSDEALKTDAEFL\n"\ + "KQVDVIIGGFETLINNLNDPTLLQDRLESLADAHLEKKpAIGVPLQK\n"\ + ">A0A2C9K1A5/588-698\n"\ + "DKKALQSSQNAGIKLVLWMFDNVPNMRFSKFNAHSSDDALKADAEFL\n"\ + "KQVNVIVGGLESLVNNDKLQAGVERLVDAHLHMSpSVGLEYFGPLQQ\n"\ + ">A0A2C9K1A5/745-855\n"\ + "DRKVLERTWNQLISgpgGKEENVPNMRDSKFDAHKSDEALSKDPEFV\n"\ + "KQVNNIFGGLESILNNLNKPGQLQSALENLADDHLDRKpRIGGPLQK\n"\ + ">A0A2C9K1A5/935-1004\n"\ + "QMFEHVPNMREQFTKFDAHQPNAALKQNPEFLLNNLDDPVALKAAID\n"\ + "RLADAHLSMS\n") with pytest.raises(SystemExit) as pytest_wrapped_e: with unittest.mock.patch("sys.argv", ["func_test", @@ -1028,18 +1031,17 @@ def test_i_option_parallel_ipc(capsys, truth_ipc, file_a): for i in truth_ipc: assert i in captured.out -def test_o_option(tmpdir, truth, file_a): +def test_o_option(tmp_path, truth, file_a): """ Test the functional behavior of FRAG of o (and q) option """ # Output folder - output_folder = tmpdir.mkdir("res_functional_tests") - + output_folder = tmp_path / "res_functional_tests" + output_folder.mkdir() # Test -o behavior with fasta file with unittest.mock.patch("sys.argv", ["func_test", "-i", str(file_a), "-e", "42", "-q", - "-o", os.path.join(output_folder, - "res.fa")]): + "-o", str(output_folder/"res.fa")]): RapidPeptidesGenerator.main() # Check result nb_line = 0 @@ -1049,18 +1051,17 @@ def test_o_option(tmpdir, truth, file_a): assert line in truth assert nb_line == len(truth) -def test_o_option_ipc(tmpdir, truth_ipc, file_a): +def test_o_option_ipc(tmp_path, truth_ipc, file_a): """ Test the functional behavior of FRAG of o (and q) option """ # Output folder - output_folder = tmpdir.mkdir("res_functional_tests") - + output_folder = tmp_path / "res_functional_tests" + output_folder.mkdir() # Test -o behavior with fasta file with unittest.mock.patch("sys.argv", ["func_test", "-i", str(file_a), "-e", "42", "-q", "-p", "ipc", - "-o", os.path.join(output_folder, - "res.fa")]): + "-o", str(output_folder/"res.fa")]): RapidPeptidesGenerator.main() # Check result nb_line = 0