Skip to content

Instantly share code, notes, and snippets.

View ipetrushin's full-sized avatar

Ivan Petrushin ipetrushin

View GitHub Profile
library(igraph)
library(msa)
library(parallelDist)
library(reshape2)
setwd("/scratch/ipetrushin-zea")
df <- read.delim("validated.tab")
df$name <- make.unique(df$name)
freqs <- oligonucleotideFrequency(DNAStringSet(df$fullseq), width = 6)
gc()
@ipetrushin
ipetrushin / tasks-komp-data-analysis.md
Last active January 24, 2024 00:48
Условия "Анализ данных и искусственный интеллект" (Компьютериада 2024)

Вашему вниманию предлагается три набора данных разной сложности. Можно решать несколько сразу, чтобы получить больше баллов (в сумме максимум 100). Для каждого из наборов решение представляет собой Python Notebook (Google Colab) с последовательной обработкой данных. Ключевые шаги обработки, анализа и визуализации должны сопровождаться пояснениями на русском языке. Выбор методов решения, используемых признаков для построения модели должен быть обоснован и описан.

  1. Классический датасет Ирисы (20 баллов) https://archive.ics.uci.edu/dataset/53/iris:
  • понимание задачи/данных (понимание того, какие методы для понижения размерности и обучения классификатора можно использовать): 4 балла
  • понижение размерности: 7 баллов
  • обучение классификатора: 7 баллов
  • оценка модели с использованием метрик (точность, полнота, F1-мера): 2 балла
@ipetrushin
ipetrushin / Main.kt
Created October 19, 2023 06:08
Using let operator to generate HTML
/*
Класс Message описывает сообщение электронной почты.
(1) Дополните класс двумя полями по смыслу на ваше усмотрение.
(2) Модифицируйте код функции toHTML() таким образом, чтобы строки с пустыми (null) полями не вставлялись в HTML код. Для этого удобно использовать операторы let/also/with.
(3) Дополните HTML код оформлениям: цвета, шрифты, отступы. Чтобы записать строку с HTML-кодом в файл используйте примеры https://www.tutorialkart.com/kotlin/write-content-to-file-in-kotlin/
Примеры использования этих операторов: https://www.digitalocean.com/community/tutorials/kotlin-let-run-also-apply-with
Документация: https://kotlinlang.org/docs/scope-functions.html
@ipetrushin
ipetrushin / set-server-description.md
Created June 20, 2023 07:49
Описание серверов Set и протокол взаимодействия

Цель работы: создать приложение для игры в Сет для работы с сервером.

Сервер уже написан и поддерживает функции регистрации, выдачи карт и подсчёта очков. Для запуска сервера рекомендуется использовать виртуальную машину (можно попросить ВМ у преподавателя)

Подробное описание протокола сервера https://github.com/Krushiler/com.krushiler.set-game-server/blob/master/Readme.md Правила игры и её онлайн-версия доступна: http://smart-games.org/ru/set/start/ Оценка за задание зависит от реализованной функциональности и работоспособности.

Готовые серверы на ваш выбор: https://github.com/vankad24/GameSetServer (автор Иван Донской)

@ipetrushin
ipetrushin / ccf-run-with-steps.sh
Last active June 16, 2023 02:18
Running CRISPRCasFinder with varying DR length from 10 to 55 bp; Python scripts to extract arrays, spacers and DRs statistics
DIR=/hpcws/ipetrushin-arab
FILE=$1
BASENAME=${FILE%%.*}
for n in {10..55}
do
MIN=$n
MAX=$n
echo $BASENAME with -minDR $MIN -maxDR $MAX
@ipetrushin
ipetrushin / connect.sh
Last active April 24, 2023 01:04
ClickHouse connect
#Установите сертификат:
sudo mkdir --parents /usr/local/share/ca-certificates/Yandex && \
sudo wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
--output-document /usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt && \
sudo chmod 655 /usr/local/share/ca-certificates/Yandex/YandexInternalRootCA.crt
#Подключите DEB-репозиторий ClickHouse:
sudo apt update && sudo apt install --yes apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
Число 12
Чем оно замечательно? Это число месяцев в году и число единиц в дюжине. Но что, в сущности, особенного в дюжине? Немногим известно, что 12 - старинный и едва не победивший соперник числа 10 в борьбе за почетный пост основания системы счисления. Культурнейший народ древнего Востока - вавилоняне и их предшественники, населявшие Двуречье, вели счет в двенадцатеричной системе счисления. И если бы не пересилившее влияние Индии, подарившей нам десятичную систему, мы, вероятно, унаследовали бы от Вавилона двенадцатеричную систему. Кое в чем мы и до сих пор платим дань этой системе, несмотря на победу десятичной. Наше пристрастие к дюжинам и гроссам*, наше деление суток на 2 дюжины часов деление часа на 5 дюжин минут, деление минуты на столько же секунд, деление круга на 30 дюжин градусов, наконец деление фута на 12 дюймов**, - не свидетельствует разве все это (и многое другое) о том, как велико в наши дни влияние этой древней системы?
* (Гросс - 12 дюжин. В коробке перьев - гросс, 144 штуки.)
* (Фут раве
@ipetrushin
ipetrushin / speech2text.py
Last active December 12, 2022 09:21
Yandex speech
import requests
FOLDER_ID = "b1gtf3dqupicap0o7l1v"
IAMToken = "" # см. в задании
auth_headers= { "Authorization": "Bearer " + IAMToken }
url = "https://stt.api.cloud.yandex.net/speech/v1/stt:recognize?folderId=b1gtf3dqupicap0o7l1v&lang=en-US"
# ?folderId=b1gtf3dqupicap0o7l1v&lang=en-US
@ipetrushin
ipetrushin / app.py
Created November 14, 2022 07:49
Upload Flask App
from flask import Flask, render_template
from flask import flash, request, redirect, url_for
import random, os
app = Flask(__name__)
# list of cat images
images = [ "https://www.memecreator.org/static/images/memes/5128017.jpg" ]
@app.route('/')
@ipetrushin
ipetrushin / count-genes.py
Created June 30, 2022 05:48
count genes in GenBank file
#!/usr/bin/env python
from Bio import SeqIO
import sys
import os
from collections import OrderedDict
gbk_file = sys.argv[1]
genes_list = ("porQ", "porV")