![Logo](assets/logo.jpg)
A Social Network Analyzer application with a flexible and user-friendly, cross-platform tool for social network analysis and visualisation
Report Bug or Request Feature
Table of Contents
StatNet33 is a Social Network Analyzer project to build a flexible and user-friendly, cross-platform tool for social network analysis and visualisation. It is developed in Python and R, which can run on both Windows and macOS. The app features an intuitive and user-friendly interface that guides users through the analysis process. It offers interactive controls and tooltips to assist users in navigating functionalities.
- Clone or download the repo.
- Download and install Python from the official website. Make sure to add Python to your system's PATH environment variable during the installation process.
- Install required Python packages listed in the requirements.txt file by running `pip3 install -r requirements.txt.
- Download and install R from the official website. Follow the installation instructions specific to your operating system.
-
Required R Packages: Install any required R packages listed in the
install_packages.R
script by runningsource("install_packages.R")
in your R console. -
For Windows users: You will need to set the R_HOME and R_LIBS environment variable to your R installation directory. This code snippet is included at the top of the ergm.py, located in the pages folder. For example:
os.environ['R_HOME'] = 'C:\\Program Files\\R\\R-[version]'
os.environ['R_LIBS'] = 'C:\\Program Files\\R\\R-[version]\\library'
You can replace the path to your R installation directory on Windows accordingly.
-
For macOS users: You can set environment variables using the terminal using the export command. For example:
export R_HOME=/Library/Frameworks/R.framework/Resources`
export R_LIBS=/Library/Frameworks/R.framework/Versions/[version]/Resources/library
Or We can use code snippet that is also included for MacOs users:
os.environ['R_HOME'] = '/Library/Frameworks/R.framework/Resources'
os.environ['R_LIBS'] = '/Library/Frameworks/R.framework/Versions/[version]/Resources/library'
- After making sure that Python and R have what it needs, StatNet33 can be accessed by opening the preferred web browser (e.g., Google Chrome, Mozilla Firefox, Safari).
- If users use Windows, users can double-click to run the
run_app.bat
file, which is a script containing commands, written in plain text that can be executed in Windows commands or programs with command-like interfaces. - Else, if users are running macOS, then users can use
run_app.sh
. Users can make the file executable with
chmod +x run_app.sh
and then run it from the terminal using
./run_app.sh
- Alternatively, you can always choose to run our
app.py
from a terminal, an IDE, or a code editor that support Python environments.
The project's primary usage is for social network analysis. In details:
- Users can easily upload network data in common formats such as CSV or JSON. The application provides validation tools to ensure data integrity. See more information in section 5, Data Processing.
- A wide range of network cohesion statistics to summarize and characterize the properties of the uploaded network. These statistics include measures of centrality, connectivity, density, and more. Read more in section 6, Network Descriptive Statistics.
- Networks can be visualised using interactive and customizable graph layouts provided by Dash Cytoscape. The application supports various styles, colours, and labelling options to enhance the visual representation of the network. Read details in section 7, Network Visualisation.
- The app utilised Exponential Random Graph Models (ERGM) to analyse the structural patterns and associated factors in the network. Users can use ERGM models to assess model fit and interpret the results. See more in section 8, Statistical Models.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Duc Phat Nguyen - [email protected]
- Thi Thanh Thuy Tran - [email protected]
- Hoa Ngoc Vu - [email protected]
- A Luan Luong - [email protected]
- Viet Hoang Lai - [email protected]
Project Link: https://github.com/leocomsci/Statnet33
I would like to express my gratitude to Dr. Peng Wang and Dr. Eureka Priyadarshani for their invaluable guidance and mentorship throughout the project. I also would like to thank my team members for their support, contributions to this project, and for being good friends.