Skip to content

Instantly share code, notes, and snippets.

View shenwei356's full-sized avatar
🎯
Focusing

Wei Shen shenwei356

🎯
Focusing
View GitHub Profile
@kbychkov
kbychkov / gh_pages.sh
Last active November 18, 2023 15:30
Working with gh-pages as an orphan branch
# Create `gh-pages` branch from scratch
cd <dir>
git init
git remote add origin <url>
git checkout --orphan gh-pages
git add .
git commit -m "build 1.0.0"
git push origin gh-pages
@clausecker
clausecker / harness.c
Last active August 4, 2020 16:00
8 bit positional popcount with AVX2 without too much code
#define _XOPEN_SOURCE 700
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
extern void pospopcnt_reg(int accum[8], const char *buf, size_t len);
extern void pospopcnt_mem(int accum[8], const char *buf, size_t len);
extern void
@clausecker
clausecker / mem.s
Created August 4, 2020 18:18
Vectorised positional popcount for Go
#include "textflag.h"
// func PospopcntMem(counts *[8]int32, buf []byte)
TEXT ·PospopcntMem(SB),NOSPLIT,$0-32
MOVQ counts+0(FP), DI
MOVQ buf_base+8(FP), SI // SI = &buf[0]
MOVQ buf_len+16(FP), CX // CX = len(buf)
SUBQ $32, CX // pre-subtract 32 bit from CX
JL scalar
@pmenzel
pmenzel / rotate_assembly.pl
Created June 18, 2022 14:44
Perl script for rotating a fasta sequence to start a specified gene search by BLAST
#!/usr/bin/env perl
#
# rotates and (if necessary reverse complements) an assembly of a circular genome
# so that it starts with the sequence having the best blast hit to a gene database,
# e.g. dnaA
#
# depends on blastn being installed
#
# Example usage:
# rotate_assembly.pl assembly.fasta dnaA.fa > rotated_assembly.fa
@apcamargo
apcamargo / sam2tsv.py
Created March 10, 2025 03:53
Converts alignments stored in the SAM format to a BLAST-like table
#!/usr/bin/env python
"""
This script processes SAM (Sequence Alignment/Map format) inputs from standard
input and extracts alignment information that is then provided in a tab-separated
table. The following fields are produced: query, target, query_length, query_start,
query_end, target_start, target_end, alignment_length, alignment_identity.
This script was designed for use with SAM files produced by minimap2. However,
it will work with any SAM data that: