This function removes an Assay from a study in an ISA file
    Typically, you should use the exploreISA function to check the contents
    of the ISA file and retrieve the assay and study numbers you are interested in!
    :param assayNum: The Assay number (notice it's 1-based index).
    :type assayNum: int
    :param studyNum: The Study number (notice it's 1-based index).
    :type studyNum: int
    :param pathToISATABFile: The path to the ISATAB file
    :type pathToISATABFile: string
    :raise FileNotFoundError: If pathToISATABFile does not contain file 'i_Investigation.txt'.

def dropAssayFromStudy(assayNum, studyNum, pathToISATABFile):
    """
    This function removes an Assay from a study in an ISA file
    Typically, you should use the exploreISA function to check the contents
    of the ISA file and retrieve the assay and study numbers you are interested in!
    :param assayNum: The Assay number (notice it's 1-based index).
    :type assayNum: int
    :param studyNum: The Study number (notice it's 1-based index).
    :type studyNum: int
    :param pathToISATABFile: The path to the ISATAB file
    :type pathToISATABFile: string
    :raise FileNotFoundError: If pathToISATABFile does not contain file 'i_Investigation.txt'.
    """
    from isatools import isatab
    import os
    try:
        isa = isatab.load(pathToISATABFile, skip_load_tables=True)
        std = isa.studies[studyNum - 1]
        assays = std.assays
        if os.path.isfile(os.path.join(pathToISATABFile,assays[assayNum - 1].filename)):
            os.remove(os.path.join(pathToISATABFile,assays[assayNum - 1].filename))
        del assays[assayNum - 1]
        isatab.dump(isa_obj=isa, output_path=pathToISATABFile)
    except FileNotFoundError as err:
        raise err