Skip to content

Commit d2a7750

Browse files
authored
Merge pull request #44 from rust-bio/update_rust_htslib
closes #43
2 parents 133caff + ab57edb commit d2a7750

File tree

11 files changed

+75
-62
lines changed

11 files changed

+75
-62
lines changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ readme = "README.md"
1010

1111

1212
[dependencies]
13-
bio = "0.27"
13+
bio = "0.30"
1414
clap = { version = "2.31", features = ["yaml", "color", "suggestions"]}
1515
indicatif = "0.11"
1616
itertools = "0.6"
1717
log = "0.4.6"
1818
fern = "0.5.7"
19-
rust-htslib = "0.24"
19+
rust-htslib = "0.26"
2020
csv = "1.0.2"
2121
rustc-serialize = "0.3"
2222
quick-error = "1.2"

src/bam/call_consensus_reads/mod.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ mod pipeline;
44
use log::info;
55
use pipeline::CallConsensusRead;
66
use rust_htslib::bam;
7-
use rust_htslib::bam::{Header, Read};
7+
use rust_htslib::bam::{Format, Header, Read};
88
use std::error::Error;
99

1010
pub fn call_consensus_reads_from_paths(
@@ -16,7 +16,11 @@ pub fn call_consensus_reads_from_paths(
1616
info!("Reading input files:\n {}", bam_in);
1717
info!("Writing output to:\n {}", bam_out);
1818
let bam_reader = bam::Reader::from_path(bam_in)?;
19-
let bam_writer = bam::Writer::from_path(bam_out, &Header::from_template(bam_reader.header()))?;
19+
let bam_writer = bam::Writer::from_path(
20+
bam_out,
21+
&Header::from_template(bam_reader.header()),
22+
Format::BAM,
23+
)?;
2024
CallConsensusRead::new(bam_reader, bam_writer, seq_dist, verbose_read_names)
2125
.call_consensus_reads()
2226
}

src/bam/call_consensus_reads/pipeline.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ impl CallConsensusRead {
6565
Some(record_pair) => {
6666
//For right record save end position and duplicate group ID
6767
group_end_idx
68-
.entry(record.cigar_cached().unwrap().end_pos()? - 1)
68+
.entry(record.cigar_cached().unwrap().end_pos() - 1)
6969
.or_insert_with(HashSet::new)
7070
.insert(duplicate_id.integer());
7171
match record_pair {
@@ -86,7 +86,7 @@ impl CallConsensusRead {
8686
if !record.is_paired() || record.is_mate_unmapped() {
8787
//If right or single record save end position and duplicate group ID
8888
group_end_idx
89-
.entry(record.cigar_cached().unwrap().end_pos()? - 1)
89+
.entry(record.cigar_cached().unwrap().end_pos() - 1)
9090
.or_insert_with(HashSet::new)
9191
.insert(duplicate_id.integer());
9292
record_storage.insert(
@@ -314,7 +314,7 @@ pub fn calc_consensus_complete_groups(
314314
}
315315

316316
fn calc_overlap(l_rec: &bam::Record, r_rec: &bam::Record) -> Result<i32, Box<dyn Error>> {
317-
let l_end_pos = l_rec.cigar_cached().unwrap().end_pos()?;
317+
let l_end_pos = l_rec.cigar_cached().unwrap().end_pos();
318318
let r_start_pos = r_rec.pos();
319319
let l_softclips = count_softclips(l_rec.cigar_cached().unwrap().into_iter().rev())?;
320320
let r_softclips = count_softclips(r_rec.cigar_cached().unwrap().into_iter())?;

src/bcf/annotate_dgidb.rs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use itertools::Itertools;
22
use regex::Regex;
33
use reqwest;
44
use rust_htslib::bcf;
5-
use rust_htslib::bcf::Read;
5+
use rust_htslib::bcf::{Format, Read};
66
use serde::{Deserialize, Serialize};
77
use std::collections::{HashMap, HashSet};
88
use std::error::Error;
@@ -97,19 +97,16 @@ fn collect_genes(vcf_path: &str) -> Result<HashSet<String>, Box<dyn Error>> {
9797
Ok(total_genes)
9898
}
9999

100-
//TODO Remove split by ',' when updating to latest htslib release
101100
fn extract_genes<'a>(
102101
rec: &'a mut bcf::Record,
103102
) -> Result<Option<impl Iterator<Item = String> + 'a>, Box<dyn Error>> {
104103
let annotation = rec.info("ANN".as_bytes()).string()?;
105104
match annotation {
106-
Some(transcripts) => Ok(Some(transcripts[0].split(|c| *c == b',').map(
107-
|transcript| {
108-
str::from_utf8(transcript.split(|c| *c == b'|').nth(3).unwrap())
109-
.unwrap()
110-
.to_owned()
111-
},
112-
))),
105+
Some(transcripts) => Ok(Some(transcripts.into_iter().map(|transcript| {
106+
str::from_utf8(transcript.split(|c| *c == b'|').nth(3).unwrap())
107+
.unwrap()
108+
.to_owned()
109+
}))),
113110
None => Ok(None),
114111
}
115112
}
@@ -122,7 +119,7 @@ fn modify_vcf_entries(
122119
let mut reader = bcf::Reader::from_path(vcf_path)?;
123120
let mut header = bcf::header::Header::from_template(reader.header());
124121
header.push_record(format!("##INFO=<ID={},Number=.,Type=String,Description=\"Combination of gene, drug, interaction types extracted from dgiDB. Each combination is pipe-seperated annotated as GENE|DRUG|TYPE\">", field_name).as_bytes());
125-
let mut writer = bcf::Writer::from_stdout(&header, true, true)?;
122+
let mut writer = bcf::Writer::from_stdout(&header, true, Format::VCF)?;
126123
match gene_drug_interactions_opt {
127124
None => {
128125
for result in reader.records() {
@@ -137,6 +134,7 @@ fn modify_vcf_entries(
137134
writer.translate(&mut rec);
138135
let genes = extract_genes(&mut rec)?.map(|genes| genes.collect_vec());
139136
if let Some(mut genes) = genes {
137+
genes.sort();
140138
genes.dedup();
141139
let field_entries = build_dgidb_field(&gene_drug_interactions, genes)?;
142140
let field_entries: Vec<&[u8]> =

src/bcf/baf.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
use itertools::repeat_n;
99
use itertools::Itertools;
1010
use rust_htslib::bcf;
11-
use rust_htslib::bcf::Read;
12-
use rust_htslib::prelude::*;
11+
use rust_htslib::bcf::record::Numeric;
12+
use rust_htslib::bcf::{Format, Read};
1313
use std::error::Error;
1414
use std::f32;
1515

@@ -19,7 +19,7 @@ pub fn calculate_baf() -> Result<(), Box<dyn Error>> {
1919
let mut header = bcf::Header::from_template(reader.header());
2020
header.push_record(b"##FORMAT=<ID=BAF,Number=A,Type=Float,Description=\"b-allele frequency\">");
2121

22-
let mut writer = bcf::Writer::from_stdout(&header, false, false)?;
22+
let mut writer = bcf::Writer::from_stdout(&header, false, Format::BCF)?;
2323

2424
for record in reader.records() {
2525
let mut record = record?;

src/bcf/fix_iupac_alleles.rs

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,45 @@
11
use std::error::Error;
22

3-
use itertools::Itertools;
43
use bio::alphabets::dna::n_alphabet;
5-
use rust_htslib::bcf::{self, Read};
4+
use itertools::Itertools;
5+
use rust_htslib::bcf::{self, Format, Read};
66

77
pub fn fix_iupac_alleles() -> Result<(), Box<dyn Error>> {
88
let mut inbcf = bcf::Reader::from_stdin()?;
9-
let mut outbcf = bcf::Writer::from_stdout(&bcf::Header::from_template(inbcf.header()), false, false)?;
9+
let mut outbcf = bcf::Writer::from_stdout(
10+
&bcf::Header::from_template(inbcf.header()),
11+
false,
12+
Format::BCF,
13+
)?;
1014
let valid_alphabet = n_alphabet();
1115

1216
for res in inbcf.records() {
1317
let mut rec = res?;
1418

1519
let alleles = rec.alleles();
1620
if !alleles.iter().all(|allele| valid_alphabet.is_word(*allele)) {
17-
let fixed = alleles.into_iter().map(|allele| {
18-
let fixed = allele.into_iter().map(|base| {
19-
if valid_alphabet.is_word(&[*base]) {
20-
*base
21-
} else {
22-
b'N'
23-
}
24-
}).collect_vec();
25-
fixed
26-
}).collect_vec();
21+
let fixed = alleles
22+
.into_iter()
23+
.map(|allele| {
24+
let fixed = allele
25+
.into_iter()
26+
.map(|base| {
27+
if valid_alphabet.is_word(&[*base]) {
28+
*base
29+
} else {
30+
b'N'
31+
}
32+
})
33+
.collect_vec();
34+
fixed
35+
})
36+
.collect_vec();
2737

2838
rec.set_alleles(&fixed.iter().map(|allele| allele.as_slice()).collect_vec())?;
2939
}
30-
40+
3141
outbcf.write(&rec)?;
3242
}
3343

3444
Ok(())
35-
}
45+
}

src/bcf/match_variants.rs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use itertools::Itertools;
1313
use log::{info, warn};
1414
use quick_error::quick_error;
1515
use rust_htslib::bcf;
16-
use rust_htslib::bcf::Read;
16+
use rust_htslib::bcf::{Format, Read};
1717
use std::collections::{btree_map, BTreeMap, HashMap};
1818
use std::error::Error;
1919
use std::str;
@@ -29,12 +29,11 @@ impl VarIndex {
2929
let mut i = 0;
3030
let mut rec = reader.empty_record();
3131
loop {
32-
if let Err(e) = reader.read(&mut rec) {
33-
if e.is_eof() {
34-
break;
35-
}
36-
return Err(Box::new(e));
37-
}
32+
match reader.read(&mut rec) {
33+
Ok(true) => (),
34+
Ok(false) => break,
35+
Err(e) => return Err(Box::new(e)),
36+
};
3837
if let Some(rid) = rec.rid() {
3938
let chrom = reader.header().rid2name(rid)?;
4039
let recs = inner.entry(chrom.to_owned()).or_insert(BTreeMap::new());
@@ -74,18 +73,17 @@ pub fn match_variants(
7473
alternative allele separately). For indels, matching is fuzzy: distance of centres <= {}, difference of \
7574
lengths <= {}\">", max_dist, max_len_diff).as_bytes()
7675
);
77-
let mut outbcf = bcf::Writer::from_path(&"-", &header, false, false)?;
76+
let mut outbcf = bcf::Writer::from_path(&"-", &header, false, Format::BCF)?;
7877
let index = VarIndex::new(bcf::Reader::from_path(matchbcf)?, max_dist)?;
7978

8079
let mut rec = inbcf.empty_record();
8180
let mut i = 0;
8281
loop {
83-
if let Err(e) = inbcf.read(&mut rec) {
84-
if e.is_eof() {
85-
break;
86-
}
87-
return Err(Box::new(e));
88-
}
82+
match inbcf.read(&mut rec) {
83+
Ok(true) => (),
84+
Ok(false) => break,
85+
Err(e) => return Err(Box::new(e)),
86+
};
8987
outbcf.translate(&mut rec);
9088

9189
if let Some(rid) = rec.rid() {

src/bcf/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! Tools that work on VCF and BCF files.
22
pub mod annotate_dgidb;
33
pub mod baf;
4+
pub mod fix_iupac_alleles;
45
pub mod match_variants;
56
pub mod to_txt;
6-
pub mod fix_iupac_alleles;

src/bcf/to_txt.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,11 @@ pub fn to_txt(
108108
writer.newline()?;
109109
let mut rec = reader.empty_record();
110110
loop {
111-
if let Err(e) = reader.read(&mut rec) {
112-
if e.is_eof() {
113-
break;
114-
} else {
115-
return Err(Box::new(e));
116-
}
117-
}
118-
111+
match reader.read(&mut rec) {
112+
Ok(true) => (),
113+
Ok(false) => break,
114+
Err(e) => return Err(Box::new(e)),
115+
};
119116
let alleles = rec
120117
.alleles()
121118
.into_iter()

tests/expected/annotate_dgidb_test.vcf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,4 @@
6060
##INFO=<ID=dbNSFP_M_CAP_score,Number=.,Type=Float,Description="Field 'M-CAP_score' from dbNSFP">
6161
##INFO=<ID=dgiDB_drugs,Number=.,Type=String,Description="Combination of gene, drug, interaction types extracted from dgiDB. Each combination is pipe-seperated annotated as GENE|DRUG|TYPE">
6262
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT normal tumor
63-
8 27461737 . C G . . SVLEN=.;PROB_SOMATIC_NORMAL=18.3288;PROB_ABSENT=987.672;PROB_GERMLINE_HET=349.144;PROB_ARTIFACT=272.885;PROB_SOMATIC_TUMOR_MEDIUM=0.168458;PROB_SOMATIC_TUMOR_HIGH=16.3168;PROB_SOMATIC_TUMOR_LOW=59.5167;PROB_GERMLINE_HOM=5489.1;ANN=G|missense_variant|MODERATE|CHRNA2|ENSG00000120903|transcript|ENST00000240132.7|protein_coding|7/7|c.1437G>C|p.Lys479Asn|1601/1735|1437/1545|479/514||,G|missense_variant|MODERATE|CHRNA2|ENSG00000120903|transcript|ENST00000407991.2|protein_coding|7/7|c.1482G>C|p.Lys494Asn|2091/4067|1482/1590|494/529||,G|missense_variant|MODERATE|CHRNA2|ENSG00000120903|transcript|ENST00000520933.7|protein_coding|7/7|c.1416G>C|p.Lys472Asn|1858/2497|1416/1524|472/507||,G|3_prime_UTR_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000523695.5|nonsense_mediated_decay|7/7|c.*884G>C|||||2108|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000346049.9|protein_coding||c.*3228C>G|||||2351|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000397501.5|protein_coding||c.*3228C>G|||||2347|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000517339.5|protein_coding||c.*3228C>G|||||2351|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000522245.1|retained_intron||n.*3263C>G|||||3263|,G|downstream_gene_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000522008.1|retained_intron||n.*1891G>C|||||1891|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000420218.3|protein_coding||c.*3228C>G|||||2346|,G|downstream_gene_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000637241.1|nonsense_mediated_decay||c.*7916G>C|||||1654|,G|non_coding_transcript_exon_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000520600.1|retained_intron|2/2|n.307G>C||||||;dbNSFP_DEOGEN2_score=0.805964,.,.;dbNSFP_Ensembl_proteinid=ENSP00000385026,ENSP00000429616,ENSP00000240132;dbNSFP_Ensembl_transcriptid=ENST00000407991,ENST00000520933,ENST00000240132;dbNSFP_FATHMM_score=-0.7,.,-0.7;dbNSFP_LRT_score=0;dbNSFP_M_CAP_score=0.225545;dbNSFP_MPC_score=0.77049,.,.;dbNSFP_MVP_score=0.925048,0.925048,0.925048;dbNSFP_MetaLR_score=0.5717;dbNSFP_MetaSVM_score=0.1915;dbNSFP_MutPred_score=0.803;dbNSFP_MutationAssessor_score=3.385,.,.;dbNSFP_MutationTaster_score=0.999992,0.999992,0.999992;dbNSFP_PROVEAN_score=-4.7,.,-4.7;dbNSFP_Polyphen2_HDIV_score=0.972,.,.;dbNSFP_Polyphen2_HVAR_score=0.968,.,.;dbNSFP_PrimateAI_score=0.582399;dbNSFP_REVEL_score=0.629;dbNSFP_SIFT4G_score=0.011,0.01,0.01;dbNSFP_SIFT_score=0.001,.,0;dbNSFP_Uniprot_acc=Q15822,A0A0X1KG79,Q15822-2;dbNSFP_Uniprot_entry=ACHA2_HUMAN,A0A0X1KG79_HUMAN,ACHA2_HUMAN;dbNSFP_VEST4_score=0.431,0.426,0.641;dgiDB_drugs=CHRNA2|METOCURINE IODIDE|antagonist,CHRNA2|GALLAMINE TRIETHIODIDE|antagonist,CHRNA2|MECAMYLAMINE HYDROCHLORIDE|inhibitor,CHRNA2|PROCAINE|antagonist,CHRNA2|ATRACURIUM BESYLATE|inhibitor,CHRNA2|DOXACURIUM CHLORIDE|antagonist,CHRNA2|TUBOCURARINE|antagonist,CHRNA2|MIVACURIUM|antagonist,CHRNA2|DECAMETHONIUM|antagonist,CHRNA2|DECAMETHONIUM|partial agonist,CHRNA2|METOCURINE|antagonist,CHRNA2|PIPECURONIUM|antagonist,CHRNA2|EPIBATIDINE|agonist,CHRNA2|CP-601927|agonist,CHRNA2|HEXAMETHONIUM|channel blocker,CHRNA2|ATRACURIUM|.,CHRNA2|CISATRACURIUM BESYLATE|.,CHRNA2|DOXACURIUM|.,CHRNA2|CARBACHOL|antagonist,CHRNA2|ROCURONIUM|antagonist,CHRNA2|PANCURONIUM|.,CHRNA2|VECURONIUM|antagonist,CHRNA2|GANTACURIUM|.,CHRNA2|NICOTINE|.,CHRNA2|BIPERIDEN|.,CHRNA2|LEVALLORPHAN|antagonist,PTK2B|LEFLUNOMIDE|antagonist,PTK2B|GENISTEIN|.,PTK2B|CHEMBL509485|.,PTK2B|ALOISINE|inhibitor,PTK2B|CHEMBL458997|inhibitor,PTK2B|PF-562271|inhibitor,PTK2B|RUXOLITINIB PHOSPHATE|inhibitor,PTK2B|PIBOSEROD|inhibitor,PTK2B|DEFACTINIB|inhibitor,CHRNA2|METOCURINE IODIDE|antagonist,CHRNA2|GALLAMINE TRIETHIODIDE|antagonist,CHRNA2|MECAMYLAMINE HYDROCHLORIDE|inhibitor,CHRNA2|PROCAINE|antagonist,CHRNA2|ATRACURIUM BESYLATE|inhibitor,CHRNA2|DOXACURIUM CHLORIDE|antagonist,CHRNA2|TUBOCURARINE|antagonist,CHRNA2|MIVACURIUM|antagonist,CHRNA2|DECAMETHONIUM|antagonist,CHRNA2|DECAMETHONIUM|partial agonist,CHRNA2|METOCURINE|antagonist,CHRNA2|PIPECURONIUM|antagonist,CHRNA2|EPIBATIDINE|agonist,CHRNA2|CP-601927|agonist,CHRNA2|HEXAMETHONIUM|channel blocker,CHRNA2|ATRACURIUM|.,CHRNA2|CISATRACURIUM BESYLATE|.,CHRNA2|DOXACURIUM|.,CHRNA2|CARBACHOL|antagonist,CHRNA2|ROCURONIUM|antagonist,CHRNA2|PANCURONIUM|.,CHRNA2|VECURONIUM|antagonist,CHRNA2|GANTACURIUM|.,CHRNA2|NICOTINE|.,CHRNA2|BIPERIDEN|.,CHRNA2|LEVALLORPHAN|antagonist,PTK2B|LEFLUNOMIDE|antagonist,PTK2B|GENISTEIN|.,PTK2B|CHEMBL509485|.,PTK2B|ALOISINE|inhibitor,PTK2B|CHEMBL458997|inhibitor,PTK2B|PF-562271|inhibitor,PTK2B|RUXOLITINIB PHOSPHATE|inhibitor,PTK2B|PIBOSEROD|inhibitor,PTK2B|DEFACTINIB|inhibitor,CHRNA2|METOCURINE IODIDE|antagonist,CHRNA2|GALLAMINE TRIETHIODIDE|antagonist,CHRNA2|MECAMYLAMINE HYDROCHLORIDE|inhibitor,CHRNA2|PROCAINE|antagonist,CHRNA2|ATRACURIUM BESYLATE|inhibitor,CHRNA2|DOXACURIUM CHLORIDE|antagonist,CHRNA2|TUBOCURARINE|antagonist,CHRNA2|MIVACURIUM|antagonist,CHRNA2|DECAMETHONIUM|antagonist,CHRNA2|DECAMETHONIUM|partial agonist,CHRNA2|METOCURINE|antagonist,CHRNA2|PIPECURONIUM|antagonist,CHRNA2|EPIBATIDINE|agonist,CHRNA2|CP-601927|agonist,CHRNA2|HEXAMETHONIUM|channel blocker,CHRNA2|ATRACURIUM|.,CHRNA2|CISATRACURIUM BESYLATE|.,CHRNA2|DOXACURIUM|.,CHRNA2|CARBACHOL|antagonist,CHRNA2|ROCURONIUM|antagonist,CHRNA2|PANCURONIUM|.,CHRNA2|VECURONIUM|antagonist,CHRNA2|GANTACURIUM|.,CHRNA2|NICOTINE|.,CHRNA2|BIPERIDEN|.,CHRNA2|LEVALLORPHAN|antagonist DP:AF:OBS:SB 116:0:83N-33N+:. 145:0.227034:91N-23V-21N+10V+:.
63+
8 27461737 . C G . . SVLEN=.;PROB_SOMATIC_NORMAL=18.3288;PROB_ABSENT=987.672;PROB_GERMLINE_HET=349.144;PROB_ARTIFACT=272.885;PROB_SOMATIC_TUMOR_MEDIUM=0.168458;PROB_SOMATIC_TUMOR_HIGH=16.3168;PROB_SOMATIC_TUMOR_LOW=59.5167;PROB_GERMLINE_HOM=5489.1;ANN=G|missense_variant|MODERATE|CHRNA2|ENSG00000120903|transcript|ENST00000240132.7|protein_coding|7/7|c.1437G>C|p.Lys479Asn|1601/1735|1437/1545|479/514||,G|missense_variant|MODERATE|CHRNA2|ENSG00000120903|transcript|ENST00000407991.2|protein_coding|7/7|c.1482G>C|p.Lys494Asn|2091/4067|1482/1590|494/529||,G|missense_variant|MODERATE|CHRNA2|ENSG00000120903|transcript|ENST00000520933.7|protein_coding|7/7|c.1416G>C|p.Lys472Asn|1858/2497|1416/1524|472/507||,G|3_prime_UTR_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000523695.5|nonsense_mediated_decay|7/7|c.*884G>C|||||2108|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000346049.9|protein_coding||c.*3228C>G|||||2351|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000397501.5|protein_coding||c.*3228C>G|||||2347|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000517339.5|protein_coding||c.*3228C>G|||||2351|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000522245.1|retained_intron||n.*3263C>G|||||3263|,G|downstream_gene_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000522008.1|retained_intron||n.*1891G>C|||||1891|,G|downstream_gene_variant|MODIFIER|PTK2B|ENSG00000120899|transcript|ENST00000420218.3|protein_coding||c.*3228C>G|||||2346|,G|downstream_gene_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000637241.1|nonsense_mediated_decay||c.*7916G>C|||||1654|,G|non_coding_transcript_exon_variant|MODIFIER|CHRNA2|ENSG00000120903|transcript|ENST00000520600.1|retained_intron|2/2|n.307G>C||||||;dbNSFP_DEOGEN2_score=0.805964,.,.;dbNSFP_Ensembl_proteinid=ENSP00000385026,ENSP00000429616,ENSP00000240132;dbNSFP_Ensembl_transcriptid=ENST00000407991,ENST00000520933,ENST00000240132;dbNSFP_FATHMM_score=-0.7,.,-0.7;dbNSFP_LRT_score=0;dbNSFP_M_CAP_score=0.225545;dbNSFP_MPC_score=0.77049,.,.;dbNSFP_MVP_score=0.925048,0.925048,0.925048;dbNSFP_MetaLR_score=0.5717;dbNSFP_MetaSVM_score=0.1915;dbNSFP_MutPred_score=0.803;dbNSFP_MutationAssessor_score=3.385,.,.;dbNSFP_MutationTaster_score=0.999992,0.999992,0.999992;dbNSFP_PROVEAN_score=-4.7,.,-4.7;dbNSFP_Polyphen2_HDIV_score=0.972,.,.;dbNSFP_Polyphen2_HVAR_score=0.968,.,.;dbNSFP_PrimateAI_score=0.582399;dbNSFP_REVEL_score=0.629;dbNSFP_SIFT4G_score=0.011,0.01,0.01;dbNSFP_SIFT_score=0.001,.,0;dbNSFP_Uniprot_acc=Q15822,A0A0X1KG79,Q15822-2;dbNSFP_Uniprot_entry=ACHA2_HUMAN,A0A0X1KG79_HUMAN,ACHA2_HUMAN;dbNSFP_VEST4_score=0.431,0.426,0.641;dgiDB_drugs=CHRNA2|METOCURINE IODIDE|antagonist,CHRNA2|GALLAMINE TRIETHIODIDE|antagonist,CHRNA2|MECAMYLAMINE HYDROCHLORIDE|inhibitor,CHRNA2|PROCAINE|antagonist,CHRNA2|ATRACURIUM BESYLATE|inhibitor,CHRNA2|DOXACURIUM CHLORIDE|antagonist,CHRNA2|TUBOCURARINE|antagonist,CHRNA2|MIVACURIUM|antagonist,CHRNA2|DECAMETHONIUM|antagonist,CHRNA2|DECAMETHONIUM|partial agonist,CHRNA2|METOCURINE|antagonist,CHRNA2|PIPECURONIUM|antagonist,CHRNA2|EPIBATIDINE|agonist,CHRNA2|CP-601927|agonist,CHRNA2|HEXAMETHONIUM|channel blocker,CHRNA2|ATRACURIUM|.,CHRNA2|CISATRACURIUM BESYLATE|.,CHRNA2|DOXACURIUM|.,CHRNA2|CARBACHOL|antagonist,CHRNA2|ROCURONIUM|antagonist,CHRNA2|PANCURONIUM|.,CHRNA2|VECURONIUM|antagonist,CHRNA2|GANTACURIUM|.,CHRNA2|NICOTINE|.,CHRNA2|BIPERIDEN|.,CHRNA2|LEVALLORPHAN|antagonist,PTK2B|LEFLUNOMIDE|antagonist,PTK2B|GENISTEIN|.,PTK2B|CHEMBL509485|.,PTK2B|ALOISINE|inhibitor,PTK2B|CHEMBL458997|inhibitor,PTK2B|PF-562271|inhibitor,PTK2B|RUXOLITINIB PHOSPHATE|inhibitor,PTK2B|PIBOSEROD|inhibitor,PTK2B|DEFACTINIB|inhibitor DP:AF:OBS:SB 116:0:83N-33N+:. 145:0.227034:91N-23V-21N+10V+:.

0 commit comments

Comments
 (0)