消费级基因检测结果自托管平台Rootara

#default

众所周知,全球最大的消费级基因检测公司23andme正在寻求破产。那么,将会有近1500万用户的数据可能无家可归。现存很多第三方平台可以导入23andme的数据进行二次解读,但大部分需要付费。免费托管的平台大多是与药企合作,用户可以选择自己授权数据给药企获得收益。任何的这些方案都避免不了数据存在于第三方服务器中。而用户本地电脑储存的TXT对用户来说是天书,无法解读。

因此,我在开发Rootara这个开源平台,可以自行部署于本地电脑中,自行托管23andme的数据,并对数据进行有限的解读。

同时,有能力的用户可以自行新建特征。

通过docker compose部署

实际测试中,服务在调用后端对数据进行注释时,需要至少1GB内存,因此建议2GB内存以上的机器进行部署。


services:
  # 后端服务
  backend:
    image: ghcr.io/pzweuj/rootara-backend:latest
    container_name: rootara-backend
    command: /bin/bash /app/init.sh
    volumes:
      - ./data:/data
    restart: unless-stopped

  # 前端服务
  frontend:
    image: ghcr.io/pzweuj/rootara:latest
    container_name: rootara-frontend
    ports:
      - "3000:3000"
    environment:
      - TZ=Asia/Shanghai                                         # Timezone setting
      - ADMIN_EMAIL=admin@rootara.app                            # Admin user email
      - ADMIN_PASSWORD=rootara123                                # Admin user password
      - JWT_SECRET=rootara_jwt_secret_2024_secure                # Secret key for JWT (更强的密钥)
      - ROOTARA_BACKEND_API_KEY=rootara_api_key_default_001      # API key for backend authentication
      - ROOTARA_BACKEND_URL=http://backend:8000                  # Backend service URL
      - NODE_ENV=production                                      # Production environment mode
      - NEXT_TELEMETRY_DISABLED=1                                # Disable Next.js telemetry
      - PORT=3000                                                # Explicit port setting
      - HOSTNAME=0.0.0.0                                         # Bind to all interfaces
    restart: unless-stopped
    depends_on:
      - backend
    networks:
      - default

networks:
  default:
    name: rootara

建议自行设定ADMIN_EMAIL、ADMIN_PASSWORD、JWT_SECRET、ROOTARA_BACKEND_API_KEY以及容器外部端口。不建议将这个服务暴露于公网。

祖源分析

ancestry

祖源分析未进行优化,所得的区域结果范围比较大。

Clinvar分析

clinvar

因为作者搞临床项目出身,所以硬是加了一个可能对用户更有帮助的Clinvar注释。