Hi 👋 I’m Crow
Discord | corvus_ikshana |
---|---|
GitHub | https://github.com/biohacker0 |
I’m a software engineer and Bioinformatics Researcher.
About Me :
Skills :
JavaScript, TypeScript, Python , PostgreSQL, MongoDB , Material UI, React, Redux, NodeJS, Express.
AWS | Cloud Computing | CI/CD | AWS S3, Transcribe | Cloud-Front | Sockets
OOP | Git | Microservices | Frontend | Backend | Full-Stack
Projects :
Here are some of my recent projects::
CrowRedis (in-memory Data store) | Blog-1 | Blog-2
- A simple in-memory datastore like Redis to learn how it works internally and how databases are built.
- Custom Client for the server to communicate via sockets.
Basic Operations(Set GET DEL)
,Transactions (multi/exec
),Data Persistence(snapshots
,AOF
) ,Data Replication
,TTL
etc.
3d Mol | Blog | Link
- Upload PDB Files: Users can upload PDB files containing protein structures.
- Annotate Protein Segments: Users can annotate specific segments of the protein sequence by specifying start and end indexes along with color preferences.
- Visualize in 3D: The annotated protein segments are visualized in a 3D molecular structure using 3Dmol.js library.
- Interactive Display: The tool provides an interactive display of the protein sequence, highlighting annotated segments for easy identification.
Kanban Board | Blog | Link
- Draggable items: Users can drag elements with the class
task
.
- Droppable areas: These are defined by elements with the class
swim-lane
.
- Visual feedback: When an item is being dragged, it receives visual feedback by adding the class
is-dragging
.
- Dynamic positioning: When dropping an item, it is placed above the nearest item in the drop area.
- Draggable items: Users can drag elements with the class
Tic Tac Toe | Link
- Interactive gameplay: Players can click on the grid to place their marks (X or 0).
- State management: Utilizes React's
useState
hook to manage the game state and turn logic.
- Winner detection: Implements functions to check rows, columns, and diagonals for a winner.
- Visual feedback: Provides real-time updates on the game board with alerts for the winner.
Precision Video Editor | Link
- Video control: Users can play, pause, and seek through a video with a
custom slider
.
- Clip creation: Allows setting start and end times for video clips.
- Precision adjustment: Offers precise control over video playback time in seconds.
- Real-time updates: Displays current video time and updates as the video plays.
- Metadata handling: Loads and displays video metadata, such as duration, when the video is loaded.
- Video control: Users can play, pause, and seek through a video with a
Custom Pagination | Link
- Data fetching: Retrieves comments from an API and displays them.
- Pagination: Divides comments into pages, showing 10 comments per page.
- Select options:
Dynamically generates select options
to navigate through larger sets of pages.
- Button navigation: Provides buttons to navigate through pages within the selected range.
- State management: Utilizes React's
useState
anduseEffect
hooks to manage comments, pagination, and navigation state.
maCrow( A macro Recorder) | Blog
- A clean macro recorder to record your keyboard and mouse inputs , save them and replay whenever you want.
- Record: Capture mouse movements, left or right clicks, scrolls , hold & drag , double clicks, and keyboard inputs with multiple key press combo(hotkeys).
- Replay: Replay recorded actions to simulate mouse and keyboard behavior.
CrowGit (A version Control) | Blog
- build my own version control system in just 264 lines of Python code, featuring essential functions:
add
,commit
,branches
, andlogs
.
- Also developed cli commands for it with flags like the original git
- build my own version control system in just 264 lines of Python code, featuring essential functions:
FFTAudioBot
- A Discord bot utilizing the Fast Fourier Transform for real-time audio analysis and visualization.
- Implemented commands like !upload, !spectrum, !delete, and !alter, enabling users to process MP3 files and receive PNG visualizations.
`Video Clips Maker | YouTube`
- Video Uploading using NodeJS fs module with Scales for precision and controlling the timing bar.
- Used FFMPEG library to create video clips based on time stamps. This involved parsing the video file, extracting the desired frames, and then encoding the frames into a new video file.
Social Media Forum
- Developed a social media CRUD application using the MERN stack
- The single-page application includes user walls, profiles, and sign-up/login pages , retrieving data from a NodeJS back-end server
- Used Redux for state management with authentication using JWT Tokens and Data stored in Mongo DB database
Isomer Generator | Blog
- Developed a Python script utilizing the RDKit library to generate and visualize isomers of molecules in SMILES format, automating the process of isomer generation and IUPAC-like name assignment.
Molecular Docking Automation Scripts
- Developed a Python script utilizing the RDKit library to generate and visualize isomers of molecules in SMILES format, automating the process of isomer generation and IUPAC-like name assignment.
Bioinformatics/Biotechnology Work 🧬:
Bioinformatics Tools And Databases
PyMOL
|
Open Babel
|
AutoDock Tools
|
AutoDock Vina
|
RDKit
|Fasta
|BLAST
NCBI GenBank
|UniProt
|PDB
Biopython
|PubChem
|ChemSpider
Summery :
In university I took deep interest in biotech and bioinformatics after finding out that DNA serves as a complex biological database, complete with its programming language.
The striking resemblances between viruses and computer exploits made even more excited and had me read numerous papers on
arxiv.org.
DNA: The Cosmic Compressor - Unraveling the Singularity of Data Storage:
DNA's data compression prowess stands as a testament to nature's unparalleled mastery of information storage.
In essence, DNA represents a singularity of data compression, outperforming even the most advanced human-designed algorithms. It adeptly condenses the intricate blueprint of life into a minuscule package, pushing the boundaries of contemporary technological capabilities.
The Viral Intrusion: A Biological Cyberattack
Viruses, like computer exploits, employ cunning tactics to infiltrate and manipulate their host systems. The parallels between viruses and cyberattacks are uncanny:
Infection Strategies: So a virus is essentially a package of genetic code wrapped in a protective shell. Much like a malicious software exploit, it remains dormant until it finds a host cell. Once inside, it launches its attack, hijacking the host's resources
RNA as a Blueprint: Viruses use RNA as their programming language. It contains instructions that compel the host cell to replicate the virus. Think of it as a hacker sending a script to a compromised computer to execute specific tasks(buffer overflow).
Reverse Engineering: Viruses even have a form of "reverse engineering" akin to cyberattacks. They convert their RNA code into DNA, effectively integrating themselves into the host's genetic database. This is similar to malware that modifies system files to persistently infect a computer.
Projects & Academic Work 🧪:
Here are some of my recent projects and theoretical work:
Isomer Generation and Molecular Docking simulation | Blog :
I wrote a Python program to generate stereoisomers of compounds using the RDKit library and open-source docking software AutoDock Vina.
My primary focus was on Pantoprazole, a medication used to treat GERD (Gastroesophageal Reflux Disease), and I utilized its isomers to conduct molecular docking experiments on a proton pump inhibitor obtained from the PDB database
3d Mol | Blog | Link
- Upload PDB Files: Users can upload PDB files containing protein structures.
- Annotate Protein Segments: Users can annotate specific segments of the protein sequence by specifying start and end indexes along with color preferences.
- Visualize in 3D: The annotated protein segments are visualized in a 3D molecular structure using 3Dmol.js library.
- Interactive Display: The tool provides an interactive display of the protein sequence, highlighting annotated segments for easy identification.
Workings of RDKit library and EnumerateStereoisomers function | Blog-part-1 | Blog-2
I read the whole workings of EnumerateStereoisomers function, what’s the mechanism , what rules are followed while making these stereoisomers and went through the whole code line by line on GitHub and understood what each function and class did.
- Used the RDKit library to enumerate the stereoisomers of a variety of molecules..
- Used the EnumerateStereoisomers function to study the interactions between molecules and design new materials with specific properties.
- Understood the mechanism and code of the EnumerateStereoisomers function and tinkered with it to improve its performance
Molecular Docking of Pantoprazole & 1IWF Proton Pump using Autodock Vina | Blog-1 |Blog-2
I performed molecular docking of pantoprazole and the 1IWF proton pump using AutoDock Tools. The ligand and receptor were prepared using Open Babel, with water removed, hydrogen added, and partial charges assigned. I analyzed cavities on the 1IWF proton pump using PyMOL to determine the coordinates of the grid box. The grid box was finalized and molecular docking was performed, with results analyzed against existing published results
- Molecular docking analysis: A rigorous molecular docking analysis was performed to study the interaction between pantoprazole and the 1IWF proton pump. The best binding affinity was -5.8 kcal/mol, and the distance from the best mode was 0.000 Å.
- Ligand and receptor preparation: The ligand and receptor were prepared using AutoDock Tools and Open Babel, including the use of the "autogrid4" function to generate the grid box.
- Grid box optimization: The grid box was optimized to enhance the precision of the docking process.
- Comprehensive docking tests: A comprehensive suite of molecular docking tests was carried out, which encompassed the measurement of binding affinity, kcal values, and RMSD.
- Thorough comparative analysis: A meticulous comparative analysis was conducted, aligning the obtained results with existing published research.
Building your own Glucometer in University Lab from Scratch | Blog
So my mom has diabetes and I wanted to know how those glucometer in market with strips work.
I read articles, pdf’s and papers from arxiv.org on all the details, turns out, most of chemicals were in my university lab already, except for once
glucose oxidase
, and I asked my professor to order it for our lab, and she did.Then after trying and getting frustrated I was able to complete the whole circuit setup.
After all the research and playing with chemicals at my biotech lab in University, I wrote this detailed article on how the glucometer works, its principle, working.
In the Blog I have written detailed steps to make a glucometer at your university lab.
Automating Molecular Docking process via python scripts | Github
.I wrote scripts to automate the ligand, receptor preparation, generating isomers, converting those isomer to 3d molecules and grid coordinate approximation in multiple scripts
Features Stereoisomer Generation: Automatically generate stereoisomers of input molecules to explore different conformations.
3D Molecule Conversion: Convert 2D molecular structures to 3D structures for accurate docking simulations.
Image Generation: Create visual representations of molecular structures for analysis and visualization.
Ligand and Receptor Preparation: Automate the preparation of ligand and receptor structures, including format conversion and optimization.
Grid Coordinate Approximation: Generate grid coordinates for docking simulations, making it easy to set up AutoDock Vina configuration files.
Config File Generator: Automatically generate configuration files for AutoDock Vina with predefined or user-defined parameters
Blogs / Articles 📝
Hardware / Applied Physics 🧲
Building a RFID/NFC card cloner(READER) | Blog
I was becoming increasingly bored and disheartened upon discovering that I couldn't do much with intercepted radio waves. It turns out they are encrypted, and my intended algorithms for reading the data were not feasible..
Then I learned that most RFID systems are not encrypted, and I realized that I can not only read their data but also clone them., there is a whole library that handles the firmware and software side of it called : Proxmark3
So I thought of Building a NFC/RFID card reader/cloner ,
✍️ Thoughts & Perspective🕊️
Physics 📐:
Life, Death, and Entropy:
so we keep our human bodies entropy low by eating food and increasing the entropy of our surroundings.
so that would mean death is a sort of increase in entropy in our body.also , if universes entropy is always increasing then will it just crumble like the human body ,ehh 😦
pin diode as phase shifter and workings of discrete FFT
Was reading about use of pin diode as phase shifter and workings of FFT, quite fascinating.
You can intercept and read data of lots of radio waves signals.
if WIFI is open then ;)
But now most drones, wifi, cellular waves have strong encryption.
Bit sad, I was so interested :(.
Entropy in Data Compression
so they use entropy calculation in data compression also.
H(X) = -Σ [P(X = x) * log2(P(X = x))]
take a coin toss sample(HTHHTTHHHTTHTH)
P(H) = 8/15 ,P(T) = 7/15 , put in eqn.
we get-0.9981 bitsif entropy "H(x)" > 1 bit :good compression can be done ✌️
if H(x) close to 1 : 😰👎