Skip to content

Instantly share code, notes, and snippets.

@sashaphanes
Last active May 6, 2019 15:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save sashaphanes/6221043 to your computer and use it in GitHub Desktop.
Save sashaphanes/6221043 to your computer and use it in GitHub Desktop.
A simple example:$ perl extract.data.pl MAOA 1# this will attempt to find the gene MAOA in the genes_rows_metadata.csv and return the gene info. This is a good first step to ensure that the gene exists in the database.$ perl extract.data.pl MAOA 2# this will attempt to find the gene MAOA in the gene_matrix and return the RPKM values. The header …
# sample of genes_rows_metadata.csv:
# $ cat genes_rows_metadata.csv | head -n5
# row_num,gene_id,ensembl_gene_symbol,gene_symbol,entrez_id
# 1,66982,"ENSG00000000003","TSPAN6",7105
# 2,66983,"ENSG00000000005","TNMD",64102
# 3,66984,"ENSG00000000419","DPM1",8813
# 4,66985,"ENSG00000000457","SCYL3",57147
#!/usr/bin/perl
use warnings;
use strict;
my ($gene, $info, @info, $row, $data, @data, $opt);
$gene = $ARGV[0]; $opt = $ARGV[1];
$info = `cat genes_rows_metadata.csv |egrep -w $gene`;
chomp($info);
@info = split(",",$info);
$row = $info[0];
$info = join("\t",@info);
$data = `cat genes_matrix.csv |head -$row |tail -1`;
chomp($data);
@data = split(",",$data);
$data = join("\t",@data[1..$#data]);
if ($opt == 2 && $info[1] == $data[0]) {print "$info[3]\t$data\n";}
elsif ($opt == 1) {print "$info\t$data[0]\n";}
#using bash script for glutamatergic genes:
#!/bin/bash
#perl extract.data.pl GRIA1 1
#perl extract.data.pl GRIA2 1
#perl extract.data.pl GRIA3 1
#perl extract.data.pl GRIA4 1
#perl extract.data.pl GRIK1 1
#perl extract.data.pl GRIK2 1
#perl extract.data.pl GRIK3 1
#perl extract.data.pl GRIK4 1
#perl extract.data.pl GRIK5 1
#perl extract.data.pl GRIN1 1
#perl extract.data.pl GRIN2A 1
#perl extract.data.pl GRIN2B 1
#perl extract.data.pl GRIN2C 1
#perl extract.data.pl GRIN2D 1
#perl extract.data.pl GRIN3A 1
#perl extract.data.pl GRIN3B 1
#perl extract.data.pl GRM1 1
#perl extract.data.pl GRM2 1
#perl extract.data.pl GRM3 1
#perl extract.data.pl GRM4 1
#perl extract.data.pl GRM5 1
#perl extract.data.pl GRM7 1
#perl extract.data.pl GRM8 1
#perl extract.data.pl SLC1A3 1
#perl extract.data.pl SLC1A2 1
#perl extract.data.pl SLC1A1 1
#perl extract.data.pl SLC1A6 1
#perl extract.data.pl SLC1A7 1
#example storage in files:
#!/bin/bash
#perl extract.data.pl GRIA1 2 > GRIA1.txt
#perl extract.data.pl GRIA2 2 > GRIA2.txt
#perl extract.data.pl GRIA3 2 > GRIA3.txt
#perl extract.data.pl GRIA4 2 > GRIA4.txt
#perl extract.data.pl GRIK1 2 > GRIK1.txt
#perl extract.data.pl GRIK2 2 > GRIK2.txt
#perl extract.data.pl GRIK3 2 > GRIK3.txt
#perl extract.data.pl GRIK4 2 > GRIK4.txt
#perl extract.data.pl GRIK5 2 > GRIK5.txt
#perl extract.data.pl GRIN1 2 > GRIN1.txt
#perl extract.data.pl GRIN2A 2 > GRIN2A.txt
#perl extract.data.pl GRIN2B 2 > GRIN2B.txt
#perl extract.data.pl GRIN2C 2 > GRIN2C.txt
#perl extract.data.pl GRIN2D 2 > GRIN2D.txt
#perl extract.data.pl GRIN3A 2 > GRIN3A.txt
#perl extract.data.pl GRIN3B 2 > GRIN3B.txt
#perl extract.data.pl GRM1 2 > GRM1.txt
#perl extract.data.pl GRM2 2 > GRM2.txt
#perl extract.data.pl GRM3 2 > GRM3.txt
#perl extract.data.pl GRM4 2 > GRM4.txt
#perl extract.data.pl GRM5 2 > GRM5.txt
#perl extract.data.pl GRM7 2 > GRM7.txt
#perl extract.data.pl GRM8 2 > GRM8.txt
#perl extract.data.pl SLC1A3 2 > SLC1A3.txt
#perl extract.data.pl SLC1A2 2 > SLC1A2.txt
#perl extract.data.pl SLC1A1 2 > SLC1A1.txt
#perl extract.data.pl SLC1A6 2 > SLC1A6.txt
#perl extract.data.pl SLC1A7 2 > SLC1A7.txt
#follow with:
# $cat GRIA1.txt GRIA2.txt GRIA3.txt GRIA4.txt GRIK1.txt GRIK2.txt GRIK3.txt GRIK4.txt GRIK5.txt GRIN1.txt GRIN2A.txt GRIN2B.txt GRIN2C.txt GRIN2D.txt GRIN3A.txt GRIN3B.txt GRM1.txt GRM2.txt GRM3.txt GRM4.txt GRM5.txt GRM7.txt GRM8.txt SLC1A1.txt SLC1A2.txt SLC1A3.txt SLC1A6.txt SLC1A7.txt > all.genes.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment