Skip to content

OOAAHH/ribocentre-search-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ” Ribocentre-Aptamer Search Module

License Version JavaScript PRs Welcome

๐Ÿงฌ A powerful, intelligent search module designed specifically for RNA aptamer databases and bioinformatics research platforms.

๐ŸŒŸ Features

  • ๐Ÿ” Smart Search Algorithm: Advanced relevance scoring with multi-field search capabilities
  • โšก Real-time Search: Instant results with <100ms response time
  • ๐ŸŽฏ Advanced Filtering: Filter by year, sequence length, GC content, and more
  • ๐Ÿ’ก Keyword Highlighting: Automatic search term highlighting in results
  • ๐Ÿ“ฑ Responsive Design: Perfect adaptation for desktop and mobile devices
  • ๐Ÿ”„ Multi-source Support: Unified search across Jekyll pages and sequence databases
  • ๐Ÿš€ Easy Integration: 3-line code integration for basic functionality

๐ŸŽฌ Live Demo

๐ŸŒ View Live Demo

Try searching for:

  • ATP aptamer
  • thrombin
  • SELEX
  • binding affinity

๐Ÿ“ฆ Installation

Option 1: Download Release

# Download the latest release
wget https://github.com/OOAAHH/ribocentre-search-module/releases/latest/download/ribocentre_search_module_v2.0.zip

# Extract files
unzip ribocentre_search_module_v2.0.zip

Option 2: Clone Repository

git clone https://github.com/OOAAHH/ribocentre-search-module.git
cd ribocentre-search-module

Option 3: CDN (Coming Soon)

<!-- CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OOAAHH/[email protected]/css/search.css">

<!-- JavaScript -->
<script src="https://cdn.jsdelivr.net/gh/OOAAHH/[email protected]/js/search-utils.js"></script>
<script src="https://cdn.jsdelivr.net/gh/OOAAHH/[email protected]/js/search.js"></script>

๐Ÿš€ Quick Start

Basic Integration (3 lines of code!)

<!DOCTYPE html>
<html>
<head>
    <!-- 1. Include CSS -->
    <link rel="stylesheet" href="css/search.css">
</head>
<body>
    <!-- 2. Add search input -->
    <input type="text" id="mainSearch" placeholder="Search RNA aptamers...">
    
    <!-- 3. Include JavaScript -->
    <script src="js/search-utils.js"></script>
    <script src="js/search.js"></script>
    <script>
        document.addEventListener('DOMContentLoaded', () => {
            SearchModule.init();
        });
    </script>
</body>
</html>

Advanced Search Integration

<!-- Include advanced search module -->
<script src="js/advanced-search.js"></script>
<link rel="stylesheet" href="css/advanced-search.css">

<script>
    // Initialize advanced search
    const advancedSearch = new AdvancedSearchModule();
</script>

๐Ÿ“ Project Structure

ribocentre-search-module/
โ”œโ”€โ”€ ๐Ÿ“„ README.md                          # You are here
โ”œโ”€โ”€ ๐Ÿ“‹ search_module_documentation.md     # Complete technical documentation
โ”œโ”€โ”€ ๐Ÿ“ js/                               # Core JavaScript modules
โ”‚   โ”œโ”€โ”€ ๐Ÿ” search.js                     # Main search module
โ”‚   โ”œโ”€โ”€ ๐Ÿ› ๏ธ search-utils.js               # Search utilities
โ”‚   โ”œโ”€โ”€ โš™๏ธ advanced-search.js            # Advanced search features
โ”‚   โ””โ”€โ”€ ๐Ÿ  homepage-main.js              # Homepage search integration
โ”œโ”€โ”€ ๐Ÿ“ css/                              # Stylesheets
โ”‚   โ””โ”€โ”€ ๐ŸŽจ search.css                    # Search interface styles
โ”œโ”€โ”€ ๐Ÿ“ pages/                            # Page templates
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ advanced_search.html          # Advanced search page
โ”œโ”€โ”€ ๐Ÿ“ includes/                         # Reusable components
โ”‚   โ””โ”€โ”€ ๐Ÿงฉ search-box.html               # Search box component
โ”œโ”€โ”€ ๐Ÿ“ data/                             # Sample data files
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Š search.json                   # Search index data
โ”‚   โ””โ”€โ”€ ๐Ÿงฌ sequences_sample.json         # Sequence data sample
โ”œโ”€โ”€ ๐Ÿ“ docs/                             # Technical documentation
โ”‚   โ”œโ”€โ”€ ๐Ÿ“– search_functionality.txt      # Detailed functionality guide
โ”‚   โ””โ”€โ”€ ๐Ÿ”ง SEARCH_FIX_README.txt        # Search fixes documentation
โ””โ”€โ”€ ๐Ÿ“ examples/                         # Usage examples
    โ”œโ”€โ”€ ๐ŸŽฎ basic_search_demo.html        # Interactive demo
    โ””โ”€โ”€ ๐Ÿ“‹ integration_guide.md          # Integration guide

โš™๏ธ Configuration

// Configure search behavior
window.SEARCH_CONFIG = {
    disableHeroHeightFix: false,  // Disable page height fixing
    searchDelay: 300,             // Search delay in milliseconds
    minSearchLength: 2            // Minimum search character length
};

// Configure data sources
window.DASHBOARD_CONFIG = {
    dataPath: '/api/search.json', // Custom search data path
    baseurl: '/your-app'          // Application base URL
};

๐ŸŽฏ Use Cases

Field Application
๐Ÿงฌ Bioinformatics RNA/DNA sequence search, protein databases
๐Ÿ”ฌ Academic Research Literature search, paper databases
๐Ÿฅ Medical Research Drug databases, clinical data search
๐Ÿ“š Digital Libraries Document search, content management
๐Ÿ›๏ธ Museums Artifact catalogs, collection databases

๐Ÿ“Š Performance

  • โšก Response Time: <100ms average
  • ๐Ÿ“ˆ Scalability: 1000+ records real-time search
  • ๐Ÿ’พ Memory: Optimized memory usage with caching
  • ๐ŸŒ Compatibility: All modern browsers (95%+ coverage)

๐Ÿ”Œ API Reference

SearchModule Methods

// Initialize search module
SearchModule.init();

// Perform programmatic search
SearchModule.performSearchWithQuery('ATP aptamer');

// Get current search results
const results = SearchModule.allSearchResults;

// Close search results
SearchModule.closeSearchResults();

Events

// Listen to search events
document.addEventListener('searchStart', (event) => {
    console.log('Search started:', event.detail.query);
});

document.addEventListener('searchComplete', (event) => {
    console.log('Search completed:', event.detail.results);
});

๐Ÿงช Testing

# Run the demo
open examples/basic_search_demo.html

# Test different scenarios
# 1. Basic search: "ATP"
# 2. Complex search: "RNA aptamer thrombin"
# 3. Advanced filters: Year range, sequence length

๐Ÿ“– Documentation

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone the repository
git clone https://github.com/OOAAHH/ribocentre-search-module.git
cd ribocentre-search-module

# Start development server (if you have one)
# npm start  # or your preferred method

# Make your changes and test
open examples/basic_search_demo.html

Contribution Types

  • ๐Ÿ› Bug Reports: Report issues
  • โœจ Feature Requests: Suggest enhancements
  • ๐Ÿ“– Documentation: Improve docs and examples
  • ๐Ÿงช Testing: Add test cases and improve coverage
  • ๐ŸŒ Translations: Help translate to other languages

๐Ÿท๏ธ Versioning

We use SemVer for versioning. For available versions, see the tags on this repository.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ž Support

๐Ÿ™ Acknowledgments

  • ๐Ÿงฌ Ribocentre-Aptamer Team - Original project development
  • ๐Ÿ”ฌ Academic Community - Research and feedback
  • ๐Ÿ’ป Open Source Community - Inspiration and best practices

๐Ÿ“ˆ Project Stats

GitHub stars GitHub forks GitHub issues GitHub last commit

๐Ÿ”— Related Projects

๐Ÿ“Š Citation

If you use this search module in your research, please cite:

@software{ribocentre_search_module,
  author = {Ribocentre-Aptamer Team},
  title = {Ribocentre-Aptamer Search Module: Intelligent Search for Bioinformatics Databases},
  year = {2024},
  url = {https://github.com/OOAAHH/ribocentre-search-module},
  version = {2.0.0}
}

โญ If you find this project useful, please give it a star! โญ

Made with โค๏ธ by the Ribocentre-Aptamer Team

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published