HTSplotter


NameHTSplotter JSON
Version 2.11 PyPI version JSON
download
home_pagehttps://github.com/CBIGR/HTSplotter
SummaryAn end-to-end data processing, analysis and visualisation tool for chemical and genetic in vitro perturbation screens
upload_time2023-03-19 16:38:09
maintainer
docs_urlNone
authorCarolinadCNunes
requires_python
licenseGNU General Public License v3 or later (GPLv3+)
keywords high-throughput screening drug combination genetic-chemical perturbation dose-response hts bliss synergism antagonism
VCS
bugtrack_url
requirements certifi cycler h5py kiwisolver matplotlib minio numpy pandas Pillow psutil pyparsing pyPdf PyPDF2 PyPDF3 python-dateutil pytz scipy seaborn six tqdm urllib3 xlrd
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # HTSplotter

HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro perturbation screens. It also available as a [web tool](https://htsplotter.cmgg.be/). 
HTSplotter is tailored to analyse drug, drug combination, genetic perturbagen and combinations of genetic-chemical perturbagen screens. 
These experiments can be conducted either in real-time or as with endpoint readout. HTSplotter identifies the type of experimental setup through a conditional statement algorithm. It then performs a normalization and, in case of a drug screen, drug combination or genetic-chemical perturbagen experiment, identifies the dose-response relationship for each drug alone. Additionally, synergism or antagonism of drug or genetic-chemical combination screens is determined through the BI method. Finally, results are plotted and exported as PDF files, allowing a fast biological interpretation of the data.


All python library usage information is in this page, however, complementary information and example files can be found at the [website manual](https://htsplotter.cmgg.be/) or at [HTSplotter GitHub](https://github.com/CBIGR/HTSplotter).

## Install
```
pip install HTSplotter
```
## Uninstall
```
pip uninstall HTSplotter
```
## Import HTSplotter library
```
import HTSplotter as HTSP
```

## Running Analysis

The HTSplotter analysis can be made by introducing the input data from the shell or it can read the inputs from an input file. This allows the integration of HTSplotter into other scripts and the grouping of various analyses into a single run, even in the case of different input directories, readouts, units, effect and in case of biological replicates.
 In both cases, the Analyser object must be initialized:

```
hts = HTSP.Analyser()
```

### Setting up inputs from shell

To setup the inputs, the attributes of the Analyser object must be changed to the proper ones:

```
# set main directory path
hts.main_folder = 'path/to/main/folder/'

# set readout information, e.g.: confluency, impedance, fluorescence, ...
hts.information_readout = 'confluency'

# set readout units, e.g. %, area, Å _mÅ _/Wel, ... 
hts.readout_units = '%'

# in case of biological replicate analysis give a file name, otherwise set to 0
hts.file_name_br = 0

# list of file names
hts.files_list = ['drugscreen_1timepoint.txt', 'drug_combination_screen_1timepoint.txt']

# =0 not biological replicate (default); =1 biological replicate
hts.biological_replicate = 0

# =0 no user validation (default); =1 user validation
hts.userinput = 0

# =0 inhibition (default); =1 enhancement
hts.expected_effect = 0
```

By default, all input files, log files (information extracted) and output files are set to the main folder path. However, these can be changed to diferent paths to ease data organization: 

```
# set input files path
hts.input_path = 'path/to/input/files/'

# set path for extracted information from the headers
hts.information_extracted = 'path/to/information/extracted/files/'

# set path for extracted information from the headers
hts.results_path = 'path/to/output/files/'
```

For more information on the input fields, please visit [HTSplotter website](https://htsplotter.cmgg.be/).
To run the analysis, after all inputs have been set, you must use the execute() routine:

```
# execute analysis
htsplotter.execute()
```

### Setting up inputs from input file

The input data can be introduced into an input file, where several analysis blocks can be set with different characteristics. Setting up HTSplotter in this way allows the sequential execution of several execute() routines, for each input data block.
Each analysis block must end with #. Bellow is the example of an input file with two input blocks:

```
path/to/to/main/directory/                             # add your directory path
path/to/input/files/directory/                         # input path directory
path/to/information/extracted/files/directory          # information_extracted path directory
path/to/output/files/directory/                        # output_results path directory
0                                                      # =0 not biological replicate (default); =1 biological replicate
0                                                      # =0 no user validation (default); =1 user validation
confluency                                             # information_readout e.g.: confluency, impedance, fluorescence, ...
%                                                      # readout_units e.g. %, area, Å _mÅ _/Wel, ... 
0                                                      # =0 inhibition (default); =1 enhancement
0                                                      # file_name_br file name
drug_combination_screen_1timepoint.txt                 # file 1
end                                                    # file 2 (if end, stop reading)
#
path/to/to/main/directory/                             # add your directory path
path/to/input/files/directory/                         # input path directory
path/to/information/extracted/files/directory          # information_extracted path directory
path/to/output/files/directory/                        # output_results path directory
1                                                      # =0 not biological replicate (default); =1 biological replicate
0                                                      # =0 no user validation (default); =1 user validation
confluency                                             # information_readout e.g.: confluency, impedance, fluorescence, ...
area                                                   # readout_units e.g. %, area, Å _mÅ _/Wel, ... 
0                                                      # =0 inhibition (default); =1 enhancement
drug_screen_biological_replicate.txt                   # file_name_br file name
drug_screen_over_time_br1.txt			       # file 1
drug_screen_over_time_br2.txt			       # file 2
end                                                    # file 3 (if end, stop reading)
#
``` 

More than one file can be processed in the same analysis block. These can be added in the file1, file2, ..., fileN lines, where the last line must have the "end" string. These files will be processed with the same characteristics as the ones in the respective analysis block.
The paths to input files, log files (information extracted) and output files directories can be set as relative paths from the main directory by adding 'main_dir + ' at the beginning of the lines:
```
main_dir + relative/path/to/input/files/directory/                         # input path directory
main_dir + relative/path/to/information/extracted/files/directory          # information_extracted path directory
main_dir + relative/path/to/output/files/directory/                        # output_results path directory
```
If these lines only contain 'main_dir', the directories will be considered the same as the main directory.

For more information on the input fields, please visit [HTSplotter website](https://htsplotter.cmgg.be/).

To run all the analysis blocks, use the execute_from_file() routine:

```
hts.execute_from_file('path/to/input/file/filename.txt')
```
![](https://github.com/CBIGR/HTSplotter/blob/main/images/HTSplotter_GITHUB.png)








            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/CBIGR/HTSplotter",
    "name": "HTSplotter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "High-throughput screening,drug combination,genetic-chemical perturbation,dose-response,HTS,Bliss,synergism,antagonism",
    "author": "CarolinadCNunes",
    "author_email": "carolina.decarvalhonunes@ugent.be",
    "download_url": "https://files.pythonhosted.org/packages/10/fb/b210ae1cd4f18bc69952bda539979488acc0707023f59eed8d2ee9b0201a/HTSplotter-2.11.tar.gz",
    "platform": null,
    "description": "# HTSplotter\r\n\r\nHTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro perturbation screens. It also available as a [web tool](https://htsplotter.cmgg.be/). \r\nHTSplotter is tailored to analyse drug, drug combination, genetic perturbagen and combinations of genetic-chemical perturbagen screens. \r\nThese experiments can be conducted either in real-time or as with endpoint readout. HTSplotter identifies the type of experimental setup through a conditional statement algorithm. It then performs a normalization and, in case of a drug screen, drug combination or genetic-chemical perturbagen experiment, identifies the dose-response relationship for each drug alone. Additionally, synergism or antagonism of drug or genetic-chemical combination screens is determined through the BI method. Finally, results are plotted and exported as PDF files, allowing a fast biological interpretation of the data.\r\n\r\n\r\nAll python library usage information is in this page, however, complementary information and example files can be found at the [website manual](https://htsplotter.cmgg.be/) or at [HTSplotter GitHub](https://github.com/CBIGR/HTSplotter).\r\n\r\n## Install\r\n```\r\npip install HTSplotter\r\n```\r\n## Uninstall\r\n```\r\npip uninstall HTSplotter\r\n```\r\n## Import HTSplotter library\r\n```\r\nimport HTSplotter as HTSP\r\n```\r\n\r\n## Running Analysis\r\n\r\nThe HTSplotter analysis can be made by introducing the input data from the shell or it can read the inputs from an input file. This allows the integration of HTSplotter into other scripts and the grouping of various analyses into a single run, even in the case of different input directories, readouts, units, effect and in case of biological replicates.\r\n In both cases, the Analyser object must be initialized:\r\n\r\n```\r\nhts = HTSP.Analyser()\r\n```\r\n\r\n### Setting up inputs from shell\r\n\r\nTo setup the inputs, the attributes of the Analyser object must be changed to the proper ones:\r\n\r\n```\r\n# set main directory path\r\nhts.main_folder = 'path/to/main/folder/'\r\n\r\n# set readout information, e.g.: confluency, impedance, fluorescence, ...\r\nhts.information_readout = 'confluency'\r\n\r\n# set readout units, e.g. %, area, \u00c5\u00a0_m\u00c5\u00a0_/Wel, ... \r\nhts.readout_units = '%'\r\n\r\n# in case of biological replicate analysis give a file name, otherwise set to 0\r\nhts.file_name_br = 0\r\n\r\n# list of file names\r\nhts.files_list = ['drugscreen_1timepoint.txt', 'drug_combination_screen_1timepoint.txt']\r\n\r\n# =0 not biological replicate (default); =1 biological replicate\r\nhts.biological_replicate = 0\r\n\r\n# =0 no user validation (default); =1 user validation\r\nhts.userinput = 0\r\n\r\n# =0 inhibition (default); =1 enhancement\r\nhts.expected_effect = 0\r\n```\r\n\r\nBy default, all input files, log files (information extracted) and output files are set to the main folder path. However, these can be changed to diferent paths to ease data organization: \r\n\r\n```\r\n# set input files path\r\nhts.input_path = 'path/to/input/files/'\r\n\r\n# set path for extracted information from the headers\r\nhts.information_extracted = 'path/to/information/extracted/files/'\r\n\r\n# set path for extracted information from the headers\r\nhts.results_path = 'path/to/output/files/'\r\n```\r\n\r\nFor more information on the input fields, please visit [HTSplotter website](https://htsplotter.cmgg.be/).\r\nTo run the analysis, after all inputs have been set, you must use the execute() routine:\r\n\r\n```\r\n# execute analysis\r\nhtsplotter.execute()\r\n```\r\n\r\n### Setting up inputs from input file\r\n\r\nThe input data can be introduced into an input file, where several analysis blocks can be set with different characteristics. Setting up HTSplotter in this way allows the sequential execution of several execute() routines, for each input data block.\r\nEach analysis block must end with #. Bellow is the example of an input file with two input blocks:\r\n\r\n```\r\npath/to/to/main/directory/                             # add your directory path\r\npath/to/input/files/directory/                         # input path directory\r\npath/to/information/extracted/files/directory          # information_extracted path directory\r\npath/to/output/files/directory/                        # output_results path directory\r\n0                                                      # =0 not biological replicate (default); =1 biological replicate\r\n0                                                      # =0 no user validation (default); =1 user validation\r\nconfluency                                             # information_readout e.g.: confluency, impedance, fluorescence, ...\r\n%                                                      # readout_units e.g. %, area, \u00c5\u00a0_m\u00c5\u00a0_/Wel, ... \r\n0                                                      # =0 inhibition (default); =1 enhancement\r\n0                                                      # file_name_br file name\r\ndrug_combination_screen_1timepoint.txt                 # file 1\r\nend                                                    # file 2 (if end, stop reading)\r\n#\r\npath/to/to/main/directory/                             # add your directory path\r\npath/to/input/files/directory/                         # input path directory\r\npath/to/information/extracted/files/directory          # information_extracted path directory\r\npath/to/output/files/directory/                        # output_results path directory\r\n1                                                      # =0 not biological replicate (default); =1 biological replicate\r\n0                                                      # =0 no user validation (default); =1 user validation\r\nconfluency                                             # information_readout e.g.: confluency, impedance, fluorescence, ...\r\narea                                                   # readout_units e.g. %, area, \u00c5\u00a0_m\u00c5\u00a0_/Wel, ... \r\n0                                                      # =0 inhibition (default); =1 enhancement\r\ndrug_screen_biological_replicate.txt                   # file_name_br file name\r\ndrug_screen_over_time_br1.txt\t\t\t       # file 1\r\ndrug_screen_over_time_br2.txt\t\t\t       # file 2\r\nend                                                    # file 3 (if end, stop reading)\r\n#\r\n``` \r\n\r\nMore than one file can be processed in the same analysis block. These can be added in the file1, file2, ..., fileN lines, where the last line must have the \"end\" string. These files will be processed with the same characteristics as the ones in the respective analysis block.\r\nThe paths to input files, log files (information extracted) and output files directories can be set as relative paths from the main directory by adding 'main_dir + ' at the beginning of the lines:\r\n```\r\nmain_dir + relative/path/to/input/files/directory/                         # input path directory\r\nmain_dir + relative/path/to/information/extracted/files/directory          # information_extracted path directory\r\nmain_dir + relative/path/to/output/files/directory/                        # output_results path directory\r\n```\r\nIf these lines only contain 'main_dir', the directories will be considered the same as the main directory.\r\n\r\nFor more information on the input fields, please visit [HTSplotter website](https://htsplotter.cmgg.be/).\r\n\r\nTo run all the analysis blocks, use the execute_from_file() routine:\r\n\r\n```\r\nhts.execute_from_file('path/to/input/file/filename.txt')\r\n```\r\n![](https://github.com/CBIGR/HTSplotter/blob/main/images/HTSplotter_GITHUB.png)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3 or later (GPLv3+)",
    "summary": "An end-to-end data processing, analysis and visualisation tool for chemical and genetic in vitro perturbation screens",
    "version": "2.11",
    "split_keywords": [
        "high-throughput screening",
        "drug combination",
        "genetic-chemical perturbation",
        "dose-response",
        "hts",
        "bliss",
        "synergism",
        "antagonism"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "23d3172306f94029fe76a6a4b547eec572b1f8b70ce0f0851cd1074f93ffb421",
                "md5": "1da52d7399d822e0e028e8e9c4388fbf",
                "sha256": "6067735d14f15ca2fd35963701a96e39edaf0899742bfa7ccc8f9867a0279346"
            },
            "downloads": -1,
            "filename": "HTSplotter-2.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1da52d7399d822e0e028e8e9c4388fbf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 89081,
            "upload_time": "2023-03-19T16:38:08",
            "upload_time_iso_8601": "2023-03-19T16:38:08.003317Z",
            "url": "https://files.pythonhosted.org/packages/23/d3/172306f94029fe76a6a4b547eec572b1f8b70ce0f0851cd1074f93ffb421/HTSplotter-2.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "10fbb210ae1cd4f18bc69952bda539979488acc0707023f59eed8d2ee9b0201a",
                "md5": "68f003d9c0702aa201b60f8d4b191867",
                "sha256": "51c0cee4e8eeecfd03f32dd707e0fa433cec91abb9334ec1d28e7f82615dbe29"
            },
            "downloads": -1,
            "filename": "HTSplotter-2.11.tar.gz",
            "has_sig": false,
            "md5_digest": "68f003d9c0702aa201b60f8d4b191867",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 75304,
            "upload_time": "2023-03-19T16:38:09",
            "upload_time_iso_8601": "2023-03-19T16:38:09.655163Z",
            "url": "https://files.pythonhosted.org/packages/10/fb/b210ae1cd4f18bc69952bda539979488acc0707023f59eed8d2ee9b0201a/HTSplotter-2.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-19 16:38:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "CBIGR",
    "github_project": "HTSplotter",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2021.5.30"
                ]
            ]
        },
        {
            "name": "cycler",
            "specs": [
                [
                    "==",
                    "0.10.0"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": [
                [
                    "==",
                    "3.2.1"
                ]
            ]
        },
        {
            "name": "kiwisolver",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "minio",
            "specs": [
                [
                    "==",
                    "7.1.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.20.1"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "1.3.2"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    "==",
                    "8.1.2"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "5.8.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "2.4.7"
                ]
            ]
        },
        {
            "name": "pyPdf",
            "specs": [
                [
                    "==",
                    "1.13"
                ]
            ]
        },
        {
            "name": "PyPDF2",
            "specs": [
                [
                    "==",
                    "1.26.0"
                ]
            ]
        },
        {
            "name": "PyPDF3",
            "specs": [
                [
                    "==",
                    "1.0.4"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.8.1"
                ]
            ]
        },
        {
            "name": "pytz",
            "specs": [
                [
                    "==",
                    "2021.1"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.6.2"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    "==",
                    "0.11.2"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.15.0"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.60.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "1.26.6"
                ]
            ]
        },
        {
            "name": "xlrd",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        }
    ],
    "lcname": "htsplotter"
}
        
Elapsed time: 0.05158s