Skip to content

MariaShalaginova/aninoacids

Repository files navigation

Требования к инструменту:

Инпуты ввода аминокислотных последовательностей должны принимать строки следующего формата:VLSPADKTNIKASWEKIGSHG.
Инпуты обязательны для заполнения, могут содержать только латинские буквы аминокислот (A, R, N, D, C, E, Q, G, H, I, L, K, M, F, P, S, T, W, Y, V) и символ -.
Инпуты должны иметь проверку на то, что длина введенных последовательностей в обоих полях одинаковая.
Сабмит по кнопке должен отображать под формой визуализацию выравнивания, представляющая из себя 2 строки, отрисованные друг под другом. Например, на вход введены АААААА и GGGGGG. Должно выглядеть так:

AAAAAA

GGGGGG

В верхней строке каждая буква должна быть окрашена фоном в свой цвет в соответствии со свойствами аминокислот color_scheme.png.
В нижней строке фоном должны быть выделены только буквы, отличающиеся от соответствующей по индексу буквы в строке выше.
Инструмент должен быть адаптивен и выглядеть прилично на минимальном разрешении до 320px при динамическом изменении ширины экрана.
Строки с аминокислотными последовательностями должны переноситься на другую строку при сужении экрана и продолжать размещаться друг под другом. Например, на вход введены АААААА и GGGGGG. Должно выглядеть так:

AAA

GGG

AAA

GGG

(пункт со звездочкой) На странице должен корректно работать встроенный поиск по части последовательности (при помощи cmd+F или ctrl+F).
(пункт со звездочкой) При выделении мышкой части последовательности она должна вставляться в буфер обмена и должно появляться всплывающее уведомление о том, что последовательность скопирована, пропадающее через секунду после появления.

npm i

npm run dev

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default tseslint.config({
  extends: [
    // Remove ...tseslint.configs.recommended and replace with this
    ...tseslint.configs.recommendedTypeChecked,
    // Alternatively, use this for stricter rules
    ...tseslint.configs.strictTypeChecked,
    // Optionally, add this for stylistic rules
    ...tseslint.configs.stylisticTypeChecked,
  ],
  languageOptions: {
    // other options...
    parserOptions: {
      project: ['./tsconfig.node.json', './tsconfig.app.json'],
      tsconfigRootDir: import.meta.dirname,
    },
  },
})

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config({
  plugins: {
    // Add the react-x and react-dom plugins
    'react-x': reactX,
    'react-dom': reactDom,
  },
  rules: {
    // other rules...
    // Enable its recommended typescript rules
    ...reactX.configs['recommended-typescript'].rules,
    ...reactDom.configs.recommended.rules,
  },
})

About

Инструмент визуализации выравнивания аминокислотных последовательностей

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors