Metadata-Version: 2.1
Name: neuroflex
Version: 0.0.3
Summary: An advanced neural network framework with interpretability, generalization, robustness, and fairness features
Home-page: https://github.com/VishwamAI/neuroflex
Author: kasinadhsarma
Author-email: kasinadhsarma@gmail.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jax>=0.3.0
Requires-Dist: jaxlib>=0.3.0
Requires-Dist: ml_dtypes
Requires-Dist: flax>=0.6.0
Requires-Dist: optax
Requires-Dist: tensorflow-cpu
Requires-Dist: keras
Requires-Dist: gym
Requires-Dist: pytest
Requires-Dist: flake8
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: aif360
Requires-Dist: packaging
Requires-Dist: gast
Requires-Dist: wrapt
Requires-Dist: pennylane
Requires-Dist: ibm-watson-machine-learning
Requires-Dist: scikit-learn
Requires-Dist: pandas
Requires-Dist: adversarial-robustness-toolbox
Requires-Dist: lale
Requires-Dist: qutip
Requires-Dist: pyquil
Requires-Dist: qiskit
Requires-Dist: biopython
Requires-Dist: scikit-bio
Requires-Dist: ete3
Requires-Dist: xarray
Requires-Dist: torch
Requires-Dist: shap
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: flake8; extra == "dev"

# NeuroFlex: Advanced Neural Network Framework

NeuroFlex is a cutting-edge neural network framework built on JAX and Flax, designed to address key challenges in modern machine learning: interpretability, generalization, robustness, and fairness. This project showcases state-of-the-art techniques and methodologies for creating more transparent, reliable, and ethical AI systems.

![image](neuroflex-architecture-svg.svg)

## Latest Updates

- Integration of AlphaFold for advanced protein structure prediction
- Enhanced capabilities for neural protein modeling and drug discovery
- Quantum Neural Network module for quantum computing integration
- Improved Brain-Computer Interface (BCI) functionality
- Advanced cognitive architecture with consciousness simulation
- Support for multiple Python versions (3.9, 3.10, 3.11, 3.12)

## Features

- Advanced neural network architectures (CNN, RNN, LSTM, GAN)
- Integration of JAX, TensorFlow, and PyTorch modules
- Quantum Neural Network integration
- Reinforcement learning capabilities
- Brain-Computer Interface (BCI) integration
- Fairness constraints and bias mitigation
- Adversarial training for improved robustness
- Interpretability tools (SHAP)
- 2D and 3D convolution support
- Data augmentation techniques
- Cognitive architecture with consciousness simulation
- AlphaFold integration for protein structure prediction
- Neural protein modeling for neuroscience applications
- Drug discovery support through protein structure analysis
- Synthetic biology insights from protein folding predictions
- Compatibility with numpy < 2 and torch 1.11.0
- Resolved dependency issues for improved stability
- Successful test runs for neural network components

## Installation

```bash
pip install neuroflex
```

## Environment Setup

NeuroFlex supports multiple operating systems and Python versions:

- Ubuntu
- Windows
- macOS
- Python 3.9, 3.10, 3.11, 3.12

To set up your environment:

1. Clone the repository: `git clone https://github.com/neuroflex/neuroflex.git`
2. Create a virtual environment: `python -m venv neuroflex-env`
3. Activate the environment:
   - Ubuntu/macOS: `source neuroflex-env/bin/activate`
   - Windows: `neuroflex-env\Scripts\activate`
4. Install dependencies: `pip install -r requirements.txt`

## Quick Start

from neuroflex import NeuroFlexNN, train_model, AlphaFoldIntegration

# Define your model
```
model = NeuroFlexNN(
    features=[64, 32, 10],
    use_cnn=True,
    use_rnn=True,
    fairness_constraint=0.1,
    use_quantum=True,  # Enable quantum neural network
    use_alphafold=True  # Enable AlphaFold integration
)
```
# Initialize AlphaFold integration
```
alphafold = AlphaFoldIntegration()
alphafold.setup_model(model_params={'max_recycling': 3})
```
# Predict protein structure
```
predicted_structure = alphafold.predict_structure()
```
# Train your model with AlphaFold integration
```
trained_state, trained_model = train_model(
    model, train_data, val_data,
    num_epochs=10, batch_size=32, learning_rate=1e-3,
    alphafold_structure=predicted_structure
)
```
# Get pLDDT scores and predicted aligned error
```
plddt_scores = alphafold.get_plddt_scores()
predicted_aligned_error = alphafold.get_predicted_aligned_error()

print(f"Average pLDDT score: {plddt_scores.mean()}")
print(f"Average predicted aligned error: {predicted_aligned_error.mean()}")
```
## Testing

To run tests for different Python versions and operating systems:

```bash
pytest tests/
```

## Documentation

For detailed documentation, please visit our [official documentation](https://neuroflex.readthedocs.io).

## Contributing

We welcome contributions! Please see our [contributing guidelines](CONTRIBUTING.md) for more information.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Citation

If you use NeuroFlex in your research, please cite:

```
@software{neuroflex2024,
  author = {kasinadhsarma},
  title = {NeuroFlex: Advanced Neural Network Framework},
  year = {2024},
  url = {https://github.com/VishwamAI/NeuroFlex}
}
```

## Contact

For any questions or feedback, please open an issue on our [GitHub repository](https://github.com/VishwamAI/NeuroFlex/issues) or contact us at kasinadhsarma@gmail.com.
