DeepSide A Deep Learning Framework For Drug Side Effect Prediction
DeepSide A Deep Learning Framework For Drug Side Effect Prediction
ABSTRACT
EXISTING
SYSTEM
Disadvantages
• The complexity of data: Most of the existing machine learning models
must be able to accurately interpret large and complex datasets to detect an
accurate Drug Side Effect.
• Data availability: Most machine learning models require large amounts
of data to create accurate predictions. If data is unavailable in sufficient
quantities, then model accuracy may suffer.
• Incorrect labeling: The existing machine learning models are only as
accurate as the data trained using the input dataset. If the data has been
incorrectly labeled, the model cannot make accurate predictions.
Proposed System
Advantages
SYSTEM
REQUIREMENTS
SOFTWARE REQUIREMENTS:
Front-End : Python.
Back-End : Django-ORM
HARD REQUIRMENTS :
System : i3 or above.
Ram : 4 GB.
Hard Disk : 40 GB
SOFTWARE REQUIRMENTS :
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour
into the research and development of the system is limited. The
expenditures must be justified. Thus the developed system as well within
the budget and this was achieved because most of the technologies used
are freely available. Only the customized products had to be purchased.
TECHNICAL FEASIBILI
This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not
have a high demand on the available technical resources. This will lead to
high demands on the available technical resources. This will lead to high
demands being placed on the client. The developed system must have a
modest requirement, as only minimal or null changes are required for
implementing this system.
SOCIAL FEASIBILITY
The goal is for UML to become a common language for creating models
of object oriented computer software. In its current form UML is
comprised of two major components: a Meta-model and a notation. In the
future, some form of method or process may also be added to; or
associated with, UML.
CLASS DIAGRAM:
user
dataset
SEQUENCE DIAGRAM:
A sequence diagram in Unified Modeling Language (UML) is a kind of
interaction diagram that shows how processes operate with one another
and in what order. It is a construct of a Message Sequence Chart.
Sequence diagrams are sometimes called event diagrams, event scenarios,
and timing diagrams.
user dataset
COLLABRATION DIAGRAM:
Activity diagrams are graphical representations of workflows of stepwise
activities and actions with support for choice, iteration and concurrency. In
the Unified Modeling Language, activity diagrams can be used to describe
the business and operational step-by-step workflows of components in a
system. An activity diagram shows the overall flow of control.
user 1: upload historical trajectory dataset
2: genarate train & test model
3: run random forest algoritham
4: run MLP algoritham
5: run DDS algoritham
6: accuracy comparision graph
7: predict DDS type
dataset
IMPLEMENTATION:
MODULES:
1. Upload Historical Trajectory Dataset : Upload Historical Trajectory
Dataset’ button and upload dataset.
2. Generate Train & Test Model :Generate Train & Test Model’ button to
read dataset and to split dataset into train and test part to generate machine
learning train model
3. Run MLP Algorithm:Run MLP Algorithm’ button to train MLP model
and to calculate its accuracy.
4. Run DDS with Genetic Algorithm : Run DDS with Genetic Algorithm
button to train DDS and to calculate its prediction accuracy.
5. Predict DDS Type :Predict DDS Type’ button to predict test data
SOFTWARE ENVIRONMENT :
What is Python :
Advantages of Python :-
Let’s see how Python dominates over other languages.
1. Extensive Libraries
Python downloads with an extensive library and it contain code for
various purposes like regular expressions, documentation-generation,
unit-testing, web browsers, threading, databases, CGI, email, image
manipulation, and more. So, we don’t have to write the complete code
for that manually.
2. Extensible
As we have seen earlier, Python can be extended to other languages.
You can write some of your code in languages like C++ or C. This
comes in handy, especially in projects.
3. Embeddable
Complimentary to extensibility, Python is embeddable as well. You can
put your Python code in your source code of a different language, like
C++. This lets us add scripting capabilities to our code in the other
language.
4. Improved Productivity
The language’s simplicity and extensive libraries render
programmers more productive than languages like Java and C++ do.
Also, the fact that you need to write less and get more things done.
5. IOT Opportunities
Since Python forms the basis of new platforms like Raspberry Pi, it
finds the future bright for the Internet Of Things. This is a way to
connect the language with the real world.
7. Readable
Because it is not such a verbose language, reading Python is much like
reading English. This is the reason why it is so easy to learn,
understand, and code. It also does not need curly braces to define
blocks, and indentation is mandatory. This further aids the
readability of the code.
8. Object-Oriented
This language supports both the procedural and object-
oriented programming paradigms. While functions help us with code
reusability, classes and objects let us model the real world. A class
allows the encapsulation of data and functions into one.
10. Portable
When you code your project in a language like C++, you may need to
make some changes to it if you want to run it on another platform. But
it isn’t the same with Python. Here, you need to code only once, and
you can run it anywhere. This is called Write Once Run Anywhere
(WORA). However, you need to be careful enough not to include any
system-dependent features.
11. Interpreted
Lastly, we will say that it is an interpreted language. Since statements
are executed one by one, debugging is easier than in compiled
languages.
Any doubts till now in the advantages of Python? Mention in the
comment section.
1. Less Coding
Almost all of the tasks done in Python requires less coding when the
same task is done in other languages. Python also has an awesome
standard library support, so you don’t have to search for any third-
party libraries to get your job done. This is the reason that many
people suggest learning Python to beginners.
2. Affordable
Python is free therefore individuals, small companies or big
organizations can leverage the free available resources to build
applications. Python is popular and widely used so it gives you better
community support.
Disadvantages of Python
So far, we’ve seen why Python is a great choice for your project. But if
you choose it, you should be aware of its consequences as well. Let’s
now see the downsides of choosing Python over another language.
1. Speed Limitations
3. Design Restrictions
5. Simple
History of Python : -
Human beings, at this moment, are the most intelligent and advanced
species on earth because they can think, evaluate and solve complex
problems. On the other side, AI is still in its initial stage and haven’t
surpassed human intelligence in many aspects. Then the question is that
what is the need to make machine learn? The most suitable reason for
doing this is, “to make decisions, based on data, with efficiency and
scale”.
Emotion analysis
Sentiment analysis
Error detection and prevention
Weather forecasting and prediction
Stock market analysis and forecasting
Speech synthesis
Speech recognition
Customer segmentation
Object recognition
Fraud detection
Fraud prevention
Recommendation of products to customer in online shopping
In case you are a genius, you could start ML directly but normally, there
are some prerequisites that you need to know which include Linear
Algebra, Multivariate Calculus, Statistics, and Python. And if you don’t
know these, never fear! You don’t need a Ph.D. degree in these topics to
get started but you do need a basic understanding.
Now that you are done with the prerequisites, you can move on to
actually learning ML (Which is the fun part!!!) It’s best to start with the
basics and then move on to the more complicated stuff. Some of the
basic concepts in ML are:
Machine Learning can review large volumes of data and discover specific
trends and patterns that would not be apparent to humans. For instance,
for an e-commerce website like Amazon, it serves to understand the
browsing behaviors and purchase histories of its users to help cater to the
right products, deals, and reminders relevant to them. It uses the results to
reveal relevant advertisements to them.
2. No human intervention needed (automation)
With ML, you don’t need to babysit your project every step of the way.
Since it means giving machines the ability to learn, it lets them make
predictions and also improve the algorithms on their own. A common
example of this is anti-virus softwares; they learn to filter new threats as
they are recognized. ML is also good at recognizing spam.
3. Continuous Improvement
Machine Learning algorithms are good at handling data that are multi-
dimensional and multi-variety, and they can do this in dynamic or
uncertain environments.
5. Wide Applications
1. Data Acquisition
Machine Learning requires massive data sets to train on, and these should
be inclusive/unbiased, and of good quality. There can also be times where
they must wait for new data to be generated.
2. Time and Resources
ML needs enough time to let the algorithms learn and develop enough to
fulfill their purpose with a considerable amount of accuracy and
relevancy. It also needs massive resources to function. This can mean
additional requirements of computer power for you.
3. Interpretation of Results
Purpose :-
We demonstrated that our approach enables successful segmentation of
intra-retinal layers—even with low-quality images containing speckle
noise, low contrast, and different intensity ranges throughout—with the
assistance of the ANIS feature.
Python
Tensorflow
Numpy
Pandas
Matplotlib
Scikit – learn
There have been several updates in the Python version over the years.
The question is how to install Python? It might be confusing for the
beginner who is willing to start learning Python but this tutorial will
solve your query. The latest or the newest version of Python is version
3.7.4 or in other words, it is Python 3.
Note: The python version 3.7.4 cannot be used on Windows XP or
earlier devices.
Before you start with the installation process of Python. First, you need
to know about your System Requirements. Based on your system type
i.e. operating system and based processor, you must download the
python version. My system type is a Windows 64-bit operating system.
So the steps below are to install python version 3.7.4 on Windows 7
device or to install Python 3. Download the Python Cheatsheet here.The
steps on how to install Python on Windows 10, 8 and 7 are divided into
4 parts to help understand better.
Now, check for the latest and the correct version for your operating
system.
Step 4: Scroll down the page until you find the Files option.
Step 5: Here you see a different version of python along with the
operating system.
• To download Windows 32-bit python, you can select any one from the
three options: Windows x86 embeddable zip file, Windows x86
executable installer or Windows x86 web-based installer.
•To download Windows 64-bit python, you can select any one from the
three options: Windows x86-64 embeddable zip file, Windows x86-64
executable installer or Windows x86-64 web-based installer.
Here we will install Windows x86-64 web-based installer. Here your first
part regarding which version of python is to be downloaded is
completed. Now we move ahead with the second part in installing
python i.e. Installation
Note: To know the changes or updates that are made in the version you
can click on the Release Note Option.
Installation of Python
Step 1: Go to Download and Open the downloaded python version to
carry out the installation process.
Step 2: Before you click on Install Now, Make sure to put a tick on Add
Python 3.7 to PATH.
Step 3: Click on IDLE (Python 3.7 64-bit) and launch the program
Step 4: To go ahead with working in IDLE you must first save the
file. Click on File > Click on Save
Step 5: Name the file and save as type should be Python files. Click on
SAVE. Here I have named the files as Hey World.
Step 6: Now for e.g. enter print
SYSTEM TEST :
The purpose of testing is to discover errors. Testing is the process of trying
to discover every conceivable fault or weakness in a work product. It
provides a way to check the functionality of components, sub assemblies,
assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the Software system meets its
requirements and user expectations and does not fail in an unacceptable
manner. There are various types of test. Each test type addresses a specific
testing requirement.
TYPES OF TESTS
Unit testing :
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce
valid outputs. All decision branches and internal code flow should be
validated. It is the testing of individual software units of the application .it
is done after the completion of an individual unit before integration. This
is a structural testing, that relies on knowledge of its construction and is
invasive. Unit tests perform basic tests at component level and test a
specific business process, application, and/or system configuration. Unit
tests ensure that each unique path of a business process performs
accurately to the documented specifications and contains clearly defined
inputs and expected results.
Integration testing
Integration tests are designed to test integrated software
components to determine if they actually run as one program. Testing is
event driven and is more concerned with the basic outcome of screens or
fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the
combination of components is correct and consistent. Integration testing is
specifically aimed at exposing the problems that arise from the
combination of components.
Functional test
Functional tests provide systematic demonstrations that
functions tested are available as specified by the business and technical
requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be
accepted.
Invalid Input : identified classes of invalid input must be
rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be
exercised.
Systems/Procedures : interfacing systems or procedures must be
invoked.
Organization and preparation of functional tests is focused
on requirements, key functions, or special test cases. In addition,
systematic coverage pertaining to identify Business process flows; data
fields, predefined processes, and successive processes must be considered
for testing. Before functional testing is complete, additional tests are
identified and the effective value of current tests is determined.
System Test
System testing ensures that the entire integrated software
system meets requirements. It tests a configuration to ensure known and
predictable results. An example of system testing is the configuration
oriented system integration test. System testing is based on process
descriptions and flows, emphasizing pre-driven process links and
integration points.
White Box Testing
White Box Testing is a testing in which in which the
software tester has knowledge of the inner workings, structure and
language of the software, or at least its purpose. It is purpose. It is used to
test areas that cannot be reached from a black box level.
Unit Testing
Unit testing is usually conducted as part of a combined
code and unit test phase of the software lifecycle, although it is not
uncommon for coding and unit testing to be conducted as two distinct
phases.
Test strategy and approach
Field testing will be performed manually and functional
tests will be written in detail.
Test objectives
All field entries must work properly.
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page.
Integration Testing
Conclusion:
In conclusion, the development of an accurate and efficient drug side
effect prediction framework is essential for enhancing drug safety and
efficacy. DeepSide offers a promising solution by leveraging deep
learning techniques to overcome the limitations of traditional methods. By
learning rich representations of drugs and their associated side effects,
DeepSide enables better decision-making in drug development and clinical
practice, ultimately benefiting patients and healthcare providers.
References:
Cheng, F., et al. (2018). "Adverse Drug Reaction Prediction Using
Multi-Level Deep Neural Networks." Molecular Pharmaceutics,
15(10), 4440-4448.
Xu, Y., et al. (2018). "Deep Learning for Pharmacovigilance:
Recurrent Neural Network Architectures for Labeling Adverse Drug
Reactions in Twitter Posts." Journal of the American Medical
Informatics Association, 25(10), 1406-1415.
Zhao, P., et al. (2019). "Deep Convolutional Neural Networks for
Predicting Chemical Toxicity." Molecular Pharm